📄 ruanhong-zhusuo.c
字号:
// ruanhong-zhusuo.c 软红蛛索// by Vin 2000#include <ansi.h>inherit SKILL;mapping *action = ({([ "action": "$N端坐不动,一式「天蛛盘丝」,手腕力抬,$w滚动飞舞,宛如灵蛇乱颤扫向$n", "force" : 98, "attack": 41, "dodge" : 5, "parry" : 15, "damage": 132, "lvl" : 0, "damage_type": "抽伤"]),([ "action": "$N一式「蛛丝马迹」,$w抖得笔直,“呲呲”破空声中向$n疾刺而去", "force" : 187, "attack": 48, "dodge" : -20, "parry" : 36, "damage": 147, "lvl" : 80, "damage_type": "刺伤"]),([ "action": "$N内劲到处,将$w抖动转成两个圆圈,一式「灵蛛夺食」,从半空中往$n缠下", "force" : 231, "attack": 65, "dodge" : -10, "parry" : 55, "damage": 193, "lvl" : 100, "damage_type": "抽伤"]),([ "action": "$N劲走螺旋,一式「蛛网织天」,$w在$n眼前连变数种招式,忽然从$l处倒卷上来", "force" : 263, "attack": 70, "dodge" : 5, "parry" : 60, "damage": 102, "lvl" : 120, "damage_type": "抽伤"]),([ "action": "$N一声高喝,使出「龙蛛捉蟒」,$w急速转动,鞭影纵横,似真似幻,绞向$n", "force" : 301, "attack": 77, "dodge" : 6, "parry" : 65, "damage": 121, "lvl" : 140, "damage_type": "抽伤"]),([ "action": "$N含胸拔背,一式「金蛛银索」,力道灵动威猛,劲力从四面八方向$n挤压出去", "force" : 331, "attack": 85, "dodge" : 12, "parry" : 70, "damage": 142, "lvl" : 160, "damage_type": "抽伤"]),([ "action":"$N力贯鞭梢,一招「天虹密布」,手中$w舞出满天鞭影,排山倒海般扫向$n全身", "force" : 373, "attack": 91, "dodge" : 17, "parry" : 75, "damage": 163, "lvl" : 180, "damage_type": "抽伤"]),([ "action":"$N力贯鞭梢,一招「天地蚕食」,手中$w舞出满天鞭影,排山倒海般扫向$n全身", "force" : 401, "attack": 98, "dodge" : 20, "parry" : 85, "damage": 289, "lvl" : 200, "damage_type": "抽伤"]),});int valid_enable(string usage) { return usage == "whip" || usage == "parry"; }int valid_learn(object me){ object weapon; if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "whip") return notify_fail("你必须先找一条鞭子才能练软红蛛索。\n"); if ((int)me->query("max_neili") < 1000) return notify_fail("你的内力不足,没有办法练软红蛛索,多练些内力再来吧。\n"); if ((int)me->query_skill("force") < 150) return notify_fail("你的内功火候太浅,没有办法练软红蛛索。\n"); if ((int)me->query_skill("whip", 1) < 100) return notify_fail("你的基本鞭法火候太浅,没有办法练软红蛛索。\n"); if ((int)me->query_skill("chilian-shenzhang", 1) < 150) return notify_fail("你的赤练神掌火候不够,无法学。\n"); if ((int)me->query_skill("jueqing-bian", 1) < 150) return notify_fail("你的绝情鞭法不够,无法学。\n"); if (((int)me->query_skill("whip", 1)+150) < (int)me->query_skill("ruanhong-zhusuo", 1)) return notify_fail("你的基本鞭法水平还不够,无法领会更高深的软红蛛索。\n"); return 1;}string query_skill_name(int level){ int i; for (i = sizeof(action)-1; i >= 0; i--) if(level >= action[i]["lvl"]) return action[i]["skill_name"];}mapping query_action(object me, object weapon){ int i, level; level = (int) me->query_skill("ruanhong-zhusuo",1); for(i = sizeof(action); i > 0; i--) if (level > action[i-1]["lvl"]) return action[NewRandom(i, 20, level/5)];}int practice_skill(object me){ object weapon; if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "whip") return notify_fail("你使用的武器不对。\n"); if ((int)me->query("qi") < 80) return notify_fail("你的体力不够练软红蛛索。\n"); if ((int)me->query("neili") < 90) return notify_fail("你的内力不够练软红蛛索。\n"); if ((int)me->query_skill("chilian-shenzhang", 1) < 150) return notify_fail("你的赤练神掌火候不够,无法学。\n"); if ((int)me->query_skill("jueqing-bian", 1) < 150) return notify_fail("你的绝情鞭法不够,无法学。\n"); me->receive_damage("qi", 75); me->add("neili", -85); return 1;}string perform_action_file(string action){ return __DIR__"ruanhong-zhusuo/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor){if (damage_bonus <10) damage_bonus=10; if( random(me->query_skill("ruanhong-zhusuo",1)) > 50 ) { victim->receive_wound("qi", damage_bonus/2); return HIM "$n身中巨毒,闷哼一声,身子晃了两晃!\n" NOR;} if (random(me->query_skill("ruanhong-zhusuo",1)) > 150 ) { switch( random(5) ) { case 0: victim->apply_condition("snake_poison", (me->query_skill("wudu-shengong"))/8 + victim->query_condition("snake_poison")); break; case 1: victim->apply_condition("zhizhu_poison", (me->query_skill("wudu-shengong"))/8 + victim->query_condition("zhizhu_poison")); break; case 2: victim->apply_condition("wugong_poison", (me->query_skill("wudu-shengong"))/8 + victim->query_condition("wugong_poison")); break; case 3: victim->apply_condition("xiezi_poison", (me->query_skill("wudu-shengong"))/8 + victim->query_condition("xiezi_poison")); break; case 4: victim->apply_condition("chanchu_poison", (me->query_skill("wudu-shengong"))/8 + victim->query_condition("chanchu_poison")); break; } return HIR "$n只觉得伤处一阵发麻,似乎中毒了。\n" NOR; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -