📄 duanyun-fu.c
字号:
// duanyun-fu.c 断云斧// Modified by Venus Oct.1997#include <ansi.h>inherit SKILL;mapping *action = ({([ "action" : "$N蓦地腾空跃起,双手紧握$w,对准$n的头顶,自上而下地砍了下去,只在半空中留下一团巨大的黑影", "damage": 300, "dodge" : 50, "damage_type" : "砍伤", "lvl" : 0, "skill_name" : "开天辟地"]),([ "action" : "$N突然发一声喊,冲前两步,手中$w由下而上反撩$n下三路,$n见到一道淡黄色的气影逼向自己,情知不妙,急忙招架", "damage": 325, "dodge" : 45, "damage_type" : "割伤", "lvl" : 10, "skill_name" : "气冲霄汉"]),([ "action" : "$N忽然虎吼一声,闪身斜向左前方冲出一步,身体微晃,手中$w在空中划出一道淡影,急速横扫$n的右肩,气势迫人", "damage": 350, "dodge" : 40, "damage_type" : "砍伤", "lvl" : 20, "skill_name" : "横扫千军"]),([ "action" : "$N突然抽身向右滚倒,随即跳起,就在跳起的一瞬间,已单臂握着$w砸向$n的左肋,出手既快且狠", "damage": 390, "dodge" : 35, "damage_type" : "砸伤", "lvl" : 30, "skill_name" : "以退为进"]),([ "action" : "$N双手横举$w,平扫$n前胸,招式未使老就已打住猝然变招,斧尖直撞$n的小腹,", "damage": 430, "dodge" : 40, "damage_type" : "内伤", "lvl" : 42, "skill_name" : "金斧撞钟"]),([ "action" : "$N不急不缓地转身微蹲,$n见$N露出破绽,急忙抢攻,却突然发现$N的身体已转过来,手中$w正迅猛地扫向自己的下盘", "damage": 480, "dodge" : 30, "parry" : 54, "damage_type" : "割伤", "lvl" : 55, "skill_name" : "回风转云"]),([ "action" : "$N身形微动,就在同一时间自上中下左右砍出五斧,$n见五把$w从不同的方位砍向自己,一时间竟不知该如何招架", "damage": 540, "dodge" : 25, "parry" : 66, "damage_type" : "砍伤", "lvl" : 68, "skill_name" : "五斧夺命"]),([ "action" : "$N前脚猛地往地上一顿,大地也微微一震,接着举起斧头在头顶急转数圈,$w就隐含风云之声平直而沉稳地袭向$n,$n无论向何处闪躲,总看见斧尖离自己不到一尺,不由大惊失色", "damage": 600, "parry" : 55, "dodge" : 65, "damage_type" : "砍伤", "lvl" : 80, "skill_name" : "一斧断云"])});int valid_enable(string usage) { return usage=="axe" || usage=="parry"; } int valid_learn(object me){ if ((int)me->query_skill("force", 1) < 20) return notify_fail("你的内功心法火候不够,无法学断云斧。\n"); if ((int)me->query("max_neili") < 150) return notify_fail("你的内力太弱,无法练断云斧。\n"); if (((int)me->query_skill("guiyuan-tunafa", 1)+100) < (int)me->query_skill("duanyun-fu", 1)) return notify_fail("你的本门内功太低了。\n"); if (((int)me->query_skill("shuishangpiao", 1)+100) < (int)me->query_skill("duanyun-fu", 1)) return notify_fail("你的本门轻功太低了。\n"); if (((int)me->query_skill("tiexue-hammer", 1)+100) < (int)me->query_skill("duanyun-fu", 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("duanyun-fu", 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") != "axe") return notify_fail("你使用的武器不对。\n"); if ((int)me->query("qi") < 30) if ((int)me->query("qi") < 50) return notify_fail("你的体力太低了。\n"); if ((int)me->query("neili") < 20) return notify_fail("你的内力不够练断云斧。\n"); if (((int)me->query_skill("guiyuan-tunafa", 1)+100) < (int)me->query_skill("duanyun-fu", 1)) return notify_fail("你的本门内功太低了。\n"); if (((int)me->query_skill("shuishangpiao", 1)+100) < (int)me->query_skill("duanyun-fu", 1)) return notify_fail("你的本门轻功太低了。\n"); if (((int)me->query_skill("tiexue-hammer", 1)+100) < (int)me->query_skill("duanyun-fu", 1)) return notify_fail("你的铁雪锤法太低了。\n"); me->receive_damage("qi", 25);return 1;}mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb){ int level, jiali, time,level2; object weapon; weapon = me->query_temp("weapon");level2= (int) me->query_skill("duanyun-fu",1); if (weapon){ if (random(5)==1 && me->query_skill("duanyun-fu",1)>100 && (string)weapon->query("skill_type") == "axe") { if (!victim->is_busy()) victim->start_busy(3); return HIR"$N狂舞大斧,$n无法近身,也无法进攻!!\n"NOR; } if( damage_bonus > 80 && random(level2)>60 && (string)weapon->query("skill_type") == "axe" && random(2)==0) { victim->receive_wound("qi", (random(damage_bonus)+150)); return HIB"$n被斧砍中$l要害,血贱了一地!!\n"NOR; }}}int ob_hit(object ob, object me, int damage){ object weapon = me->query_temp("weapon"); string msg,dodge_skill,*limbs; int i, j, level,level2, p, q; limbs = ob->query("limbs"); level = me->query_skill("duanyun-fu", 1);level2 = me->query_skill("duanyun-fu", 1);if (weapon){ if ( level2 > 100 && random(5)==1 && (string)weapon->query("skill_type") == "axe"){ msg = HIC"$n出招时,$N狂舞大斧,$n无法近身,也无法进攻!!\n"NOR; if (!ob->is_busy()) ob->start_busy(3); }}}string perform_action_file(string action){ return __DIR__"duanyun-fu/" + action;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -