📄 jiuyang-shengong.c
字号:
// jiuyang-shengong.c 九阳神功// cleansword// Modified by Venus Oct.1997#include <ansi.h>#include <combat.h>inherit FORCE;string check() { return "force"; }int valid_enable(string usage) { return usage == "force"; }int valid_learn(object me){ int lvl = (int)me->query_skill("jiuyang-shengong", 1); if ((int)me->query_skill("force", 1) < 10) return notify_fail("你的基本内功火候还不够,还不能学习九阳神功。\n"); if ( me->query_skill("bahuang-gong",1) || me->query_skill("beiming-shengong",1) || me->query_skill("bibo-shengong",1) || me->query_skill("hamagong",1) || me->query_skill("huagong-dafa",1) || me->query_skill("huntian-qigong",1) || me->query_skill("hunyuan-yiqi",1) || me->query_skill("kuihua-xinfa",1) || me->query_skill("kurong-changong",1) || me->query_skill("linji-zhuang",1) || me->query_skill("longxiang",1) || me->query_skill("shenlong-xinfa",1) || me->query_skill("taiji-shengong",1) || me->query_skill("xiantian-qigong",1) || me->query_skill("xiaowuxiang",1) || me->query_skill("yijinjing",1) || me->query_skill("yunv-xinfa",1) || me->query_skill("yunlong-shengong",1) ||me->query_skill("bingxue-xinfa",1)||me->query_skill("wudu-shengong",1)||me->query_skill("shenyuan-gong",1) ||me->query_skill("huashan-neigong",1) ||me->query_skill("zixia-shengong",1) ||me->query_skill("xuantian-wuji",1) ||me->query_skill("shayi-xinfa",1)||me->query_skill("biyun-xinfa",1)||me->query_skill("guiyuan-tunafa",1) ) return notify_fail("你不先散了别派内功,怎能学九阳神功?!\n"); return 1;}int practice_skill(object me){ return notify_fail("九阳神功只能用学(learn)的来增加熟练度。\n");}string exert_function_file(string func){ return __DIR__"jiuyang-shengong/" + func;}mixed ob_hit(object me, object victim, int damage, int damage_bonus, int factor){ object weapon1 = me->query_temp("weapon"); object weapon2 = victim->query_temp("weapon"); int ap, dp; string result; ap = (int)me->query("combat_exp",1)+(int)victim->query_skill("parry",1); dp = victim->query("combat_exp",1); if (objectp(weapon1)) dp += victim->query_skill("dodge");if (random(me->query_skill("jiuyang-shengong",1)) > 120&& me->query("neili") < me->query("max_neili")&& me->query_skill_mapped("force") == "jiuyang-shengong"){message_vision(HIR"$N运起九阳神功,全身内力源源不断的涌出!\n"NOR,me, victim);me->add("neili",random(me->query_skill("jiuyang-shengong",1))+100);}if (random(me->query_skill("jiuyang-shengong",1)) > 120&& me->query("qi") < me->query("max_qi")&& me->query_skill_mapped("force") == "jiuyang-shengong"){message_vision(RED"$N运起九阳神功,身上的伤好了很多!\n"NOR,me, victim);me->add("qi",random(me->query_skill("jiuyang-shengong",1))+180);if (me->query("eff_qi") < me->query("max_qi"))me->add("eff_qi",random(me->query_skill("jiuyang-shengong",1))+180);}if (random(me->query_skill("qiankun-danuoyi",1)) > 120&& me->is_busy()&& me->query_skill_mapped("force") == "jiuyang-shengong"&& random(2)==0){message_vision(HIC"$N暗运乾坤大挪移,本来忙乱的动作快了起来!\n"NOR,me, victim);me->start_busy(1);} if ( random(ap) > dp/3 && me->query("jiuyangok") && (int)me->query_temp("shield") && me->query_skill_mapped("force") == "jiuyang-shengong" ) { if ( objectp(weapon1)) { if (damage + damage_bonus > 0) { damage_bonus=-damage/3; result = HIM"$n身子一侧,将$N兵刃上的力道卸去大半。\n"NOR; } else { result = MAG"$n身子一侧,将$N兵刃上的力道卸去大半。\n"NOR; damage_bonus=-damage/3; } } else if(!objectp(weapon1)){ if (damage + damage_bonus > 0) { damage_bonus=-damage/2; result = HIG"$n九阳神功自然而然发出抗力,将$N的力道一挡。\n"NOR; } else { result = MAG"$n九阳神功自然而然发出抗力,将$N的力道一挡。\n"NOR; damage_bonus=-damage/2; } } }if (result) message_vision(result,me,victim); return damage;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -