📄 taiji.c
字号:
// 太极拳PFM// snowman#include <ansi.h>int check_fight(object me);int remove_effect(object me);int exert(object me){ if( !me->is_fighting() || !living(me)) return notify_fail("「太极」只能在战斗中的使用。\n"); if(objectp(me->query_temp("weapon")) ) return notify_fail("你必须空手才能运用「太极」!\n"); if(me->query_temp("taiji")) return notify_fail("「太极」之意绵绵不绝,你已经在发挥它的威力了。\n"); if((int)me->query_skill("taiji-quan", 1) < 100 ) return notify_fail("你的太极拳不够娴熟,还不能领会「太极」之诀窍。\n"); if (me->query_skill_prepared("cuff") != "taiji-quan" || me->query_skill_mapped("cuff") != "taiji-quan") return notify_fail("你必须使用太极拳来施展「太极」。\n"); if( (int)me->query("max_neili", 1) < 1200 ) return notify_fail("你的内力修为太弱,发挥不出「太极」的优势。\n"); if( (int)me->query("neili", 1) < 500 ) return notify_fail("你现在真气不够,发挥不出「太极」的威力。\n"); if(userp(me) && (int)me->query_skill("yinyun-ziqi", 1) < 100 ) return notify_fail("你的氤氲紫气等级不够高,发挥不出「太极」的威力。\n"); if(userp(me) && (int)me->query_skill("taoism", 1) < 100 ) return notify_fail("你对道学心法的领悟不够,发挥不出「太极」那圆转不断的真意。\n"); if(userp(me) && me->query_skill_mapped("force") != "yinyun-ziqi") return notify_fail("你的内功不对,根本不能发挥出「太极」的优势。\n"); if (userp(me) && me->query_skill_mapped("parry") != "taiji-quan") return notify_fail("太极拳的「太极」诀窍必须在激发招架的情况下才能使用。\n"); if(me->query("jiali")) return notify_fail("「太极」讲究用意不用力,太极圆转,无使断绝。你如此用力,是无法发挥出它的威力的。\n"); message_vision("$N缓缓移动,双手下垂,手背向外,手指微舒,两足分开平行,接着两臂慢慢提起至胸前,左臂半环,掌与面对成阴掌,右掌翻过成阳掌,但见$P双手圆转,每一招都含着太极式的阴阳变化,精微奥妙!\n",me); tell_object(me, CYN"\n你默运神功,双手自然挥动,与万物合一,将太极拳"RED"「拳意」"CYN"发挥得淋漓尽致!\n\n"NOR); me->start_busy(1); me->set_temp("taiji", 1); me->add_temp("apply/parry", me->query_skill("taiji-quan", 1)/3); check_fight(me); return 1;}int check_fight(object me){ object *enemy, target; int sz; if (!me || !me->query_temp("taiji")) return 0; if(me->is_ghost() || !living(me)){ me->add_temp("apply/parry", -me->query_skill("taiji-quan", 1)/3); me->delete_temp("taiji"); return 0; } enemy = me->query_enemy(); if( !enemy || !arrayp(enemy) ) remove_effect(me); sz = sizeof(enemy); if( sz > 4 ) sz = 4; if( sz > 0 ) target = enemy[random(sz)]; else remove_effect(me); if(!me->is_fighting()){ if(!me->query_temp("stopped")){ me->set_temp("stopped", 1); call_out("check_fight", 2, me); } else remove_effect(me); } else if (userp(me) && (me->query_skill_mapped("cuff") != "taiji-quan" || me->query_skill_mapped("parry") != "taiji-quan" || me->query_temp("weapon"))){ message_vision(HIY"$N使完一式太极拳,突然变招,竟然是完全不同的招数!\n"NOR,me); me->start_busy(1); me->add_temp("apply/parry", -me->query_skill("taiji-quan", 1)/3); me->delete_temp("taiji"); } else if( me->query("neili") <= 10 || !target || me->query("jiali")) remove_effect(me); else call_out("check_fight", 1, me); return 1;} int remove_effect(object me){ string msg; msg = "/kungfu/skill/taiji-quan"->query_skill_name(me->query_skill("taiji-quan", 1)); message_vision(CYN "\n$N使到"+msg+"而合太极,双手抱了个太极式的圆圈,神定气闲的站在当地。\n\n"NOR, me); me->add_temp("apply/parry", -me->query_skill("taiji-quan", 1)/3); me->delete_temp("taiji"); me->delete_temp("stopped"); remove_call_out("check_fight"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -