// counterattack.c

#include <ansi.h>

inherit SSERVER;

int perform(object me, object target)
{
	string msg;

	if( !target ) target = offensive_target(me);

	if( !target
	||	!target->is_character()
	||	!me->is_fighting(target) )
		return notify_fail("ou԰ϥΡC\n");

	if( target->is_busy() )
		return notify_fail(target->name() + "ثeUvMxaT\n");

	msg = CYN "$NϥXʤsCkuʡvrZMsƭӵۥZ$nաM";

	me->start_busy(1);
	if( random(me->query("combat_exp")) > (int)target->query("combat_exp")/2 ) {
		msg += "G$pQ$PFӱ⤣ΡT\n" NOR;
		target->start_busy( (int)me->query_skill("fonxansword") / 20 + 2);
	} else {
		msg += "iO$pݯ}F$PϡMèSWC\n" NOR;
	}
	message_vision(msg, me, target);

	return 1;
}
