嘿嘿, 应该不行吧。。。不过,千手,我原本想加个perform,教合十。这个,总站没有接纳。。。或许,如果gill还在,可能会被采用吧!
post上来,分享分享。
#include <ansi.h>
inherit SSERVER;
int perform(object me, object target)
{
string msg;
int force,mana;
object obj = find_player(target);
if( !target ) target = offensive_target(me);
if( !target
|| !target->is_character()
|| target->is_corpse()
|| !obj
|| target==me)
return notify_fail("你要攻击谁?\n");
if (obj)
return notify_fail("不能对玩家施展「千手合十」!!!\n");
if(!me->is_fighting())
return notify_fail("你们没有在打架!\n");
if((int)me->query("force") < 1000 )
return notify_fail("你的内力不足!\n");
if( (int)me->query("mana") < 1000 )
return notify_fail("你的法力不足!\n");
if((int)me->query_skill("qianshou", 1) < 300)
return notify_fail("你的千手等级不够,不能使用这一招!\n");
me->delete("env/brief_message");
target->delete("env/brief_message");
msg = HIY"\n$N一个筋斗翻在半空, 凝聚全身功力, 身后千手以及双掌纷纷合十, 顿时间霞光四射。\n";
if (me->query_skill_mapped("spells")="buddhism" ||
me->query_skill_mapped("spells")="dao" ||
me->query_skill_mapped("spells")="taiyi" ||
me->query_skill_mapped("spells")="gouhunshu")
msg += HIY"金光"NOR;
else if (me->query_skill_mapped("spells")="seashengtong")
msg += HIC"寒光"NOR;
else if (me->query_skill_mapped("spells")="moonshentong")
msg += HIW"白光"NOR;
else if (me->query_skill_mapped("spells")="yaofa" ||
me->query_skill_mapped("spells")="dengxian-dafa")
msg += HIR"红光"NOR;
else
msg += "霞光";
msg += HIY"闪过之后, $N已经在$n身上当胸穿过!!\n"NOR;
message_vision(msg, me, target);
me->add("force", -1000);
me->add("mana", -1000);
force = me->query("force");
mana = me->query("mana");
target->receive_damage("kee",force); // damage from remaining force points. 1 force point = 1 kee damage
target->receive_damage("sen",mana); // damage from remaining mana points. 1 mana point = 1 sen damage
target->receive_damage("kee",1000); // 1 hand = 1 kee damage
target->receive_damage("sen",1000); // 1 hand = 1 sen damage
me->set("force", 0); // set force and mana to 0
me->set("mana", 0);
COMBAT_D->report_status(target);
COMBAT_D->report_status(me);
if( !target->is_fighting(me) ) {
if( living(target) ) {
if( userp(target) ) target->fight_ob(me);
else target->kill_ob(me);
}
}
me->start_busy(3);
return 1;
}