📄 wan.c
字号:
#include <ansi.h>#include <combat.h>#define QIAN "「" HIW "蛇影万道" NOR "」"inherit F_SSERVER;int perform(object me, object target){ object weapon; string msg; int ap, dp; int count; int i, attack_time; if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail(QIAN "只能对战斗中的对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你使用的武器不对,难以施展" QIAN "。\n"); if ((int)me->query_skill("jinshe-jian", 1) < 180) return notify_fail("你的金蛇剑法不够娴熟,难以施展" QIAN "。\n"); if (me->query("neili") < 260) return notify_fail("你的真气不够,难以施展" QIAN "。\n"); if (me->query_skill_mapped("sword") != "jinshe-jian") return notify_fail("你没有激发金蛇剑法,难以施展" QIAN "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIW "\n$N" HIW "一声长吟,手中" + weapon->name() + HIW "顿时化做无数条灵蛇," "从四面八方同时向$n" HIW "袭去。\n" NOR; message_vision(msg, me, target); ap = me->query_skill("sword"); dp = target->query_skill("dodge"); attack_time = 4; if (ap / 2 + random(ap * 2) > dp) { msg = HIR "结果$n" HIR "被$N" HIR "攻了个措手不及,$n" HIR "慌忙招架,心中叫苦。\n" NOR; count = ap / 5; attack_time += random(ap / 35); } else { msg = HIC "$n" HIC "见$N" HIC "这几剑招式凌厉,诡异" "无比,只得苦苦招架。\n" NOR; count = 0; } message_combatd(msg, me, target); if (attack_time > 6) attack_time = 6; me->add_temp("apply/attack", count); me->add_temp("apply/damage", count); me->add("neili", -attack_time * 30); me->start_busy(2); me->set_temp("jinshe-jian/lian", 1); for (i = 0; i < attack_time; i++) { if (! me->is_fighting(target)) break; if (! target->is_busy() && random(3) == 1) target->start_busy(2); COMBAT_D->do_attack(me, target, weapon, 0); } me->delete_temp("jinshe-jian/lian"); me->add_temp("apply/attack", -count); me->add_temp("apply/damage", -count); return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -