nianzijue.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 34 行

C
34
字号
// counterattack.c
#include <ansi.h>
inherit F_SSERVER;
int perform(object me, object target)
{
	string msg;
	object weapon;
	if( !target ) target = offensive_target(me);
	if( !target
	||	!target->is_character()
	||	!me->is_fighting(target) )
		return notify_fail("[粘字诀]只能对战斗中的对手使用。\n");

	if( target->is_busy() )
		return notify_fail(target->name() + "目前正自顾不暇,放胆攻击吧!\n");
        if (!objectp(weapon = me->query_temp("weapon"))
                || (string)weapon->query("skill_type") != "sword")
                        return notify_fail("你使用的武器不对。\n");
	if( (int)me->query("neili") < 500  ) 
		return notify_fail("你的内力不够。\n");
        me->add("neili",-200);
	msg = CYN "$N使出三才剑法中的「粘」字诀,企图减缓$n的攻势,";
	me->start_busy(1);
	if( random(me->query("combat_exp")) > (int)target->query("combat_exp")/2 ) {
		msg += "结果$p被$P攻了个措手不及!\n" NOR;
		target->start_busy( (int)me->query_skill("three-sword") / 50 + 2);
	} else {
		msg += "可是$p看破了$P的企图,并没有上当。\n" NOR;
	}
	message_vision(msg, me, target);

	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?