sui.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 83 行
C
83 行
// sui.c 太极剑法 [随]字决#include <ansi.h>#include <combat.h>void remove_effect(object me, int a_amount, int d_amount);inherit F_SSERVER;int perform(object me, object target){ object weapon; int skill,extra; string msg; if( !target ) target = offensive_target(me); if( !target || !target->is_character() || !me->is_fighting(target) ) return notify_fail("太极剑法「随」字诀只能在战斗中使用。\n"); if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你使用的武器不对。\n"); if( (int)me->query_skill("taiji-jian", 1) < 40 ) return notify_fail("你的太极剑法不够娴熟,不会使用「随」字诀。\n"); if (me->query_skill("taiji-shengong", 1)<40) return notify_fail("你的本门内功火候未到,!\n"); if( (int)me->query("neili") < 300 ) return notify_fail("你的内力不够。\n"); if( (int)me->query_temp("tjj_sui") ) return notify_fail("你已经在运功中了。\n"); skill = me->query_skill("taiji-jian"); extra = me->query_skill("taiji-jian",1) / 20; extra += me->query_skill("taiji-shengong",1) /20; me->add_temp("apply/attack", extra); me->add_temp("apply/damage", extra); if( (int)me->query_skill("taiji-jian", 1) > 50 ) { msg = HIC"$n看到剑光一闪,剑光随着$n的周身画了第一个圈!"NOR; COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg); msg = HIG"$n看到剑光一闪,剑光随着$n的周身画了第二个圈!"NOR; COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg); msg = HIY"$n看到剑光一闪,剑光随着$n的周身画了第三个圈!"NOR; COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg); } me->add_temp("apply/attack", -extra); me->add_temp("apply/damage", -extra); msg = HIB "随后$N使出太极剑法「随」字诀,剑圈逐渐缩小将周身护住。\n"NOR; message_combatd(msg, me, target); me->add_temp("apply/attack", -skill/4); me->add_temp("apply/dodge", skill/3); me->set_temp("tjj_sui", 1); me->start_call_out( (: call_other, __FILE__, "remove_effect", me, skill/4, skill/3 :), skill/4); me->add("neili", -200); if( me->is_fighting() ) me->start_busy(2); return 1;}void remove_effect(object me, int a_amount, int d_amount){ int skill; skill = me->query_skill("taiji-jian"); me->add_temp("apply/attack", skill/4); me->add_temp("apply/dodge", -skill/3); me->delete_temp("tjj_sui"); tell_object(me, HIY "你的随字决运行完毕,将内力收回丹田。\n");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?