?? bangzhang.c
字號:
// bangzhang棒掌雙絕
#include <ansi.h>
#include <skill.h>
#include <weapon.h>
#include <combat.h>
inherit F_SSERVER;
int perform(object me, object target)
{
object weapon, ob;
string msg, string1;
int count,extra,damage;
if( !target ) target = offensive_target(me);
if (!objectp(weapon = me->query_temp("weapon"))
|| (string)weapon->query("skill_type") != "staff")
return notify_fail("你使用的武器不對。\n");
if(me->is_busy())
return notify_fail("你現在沒空!!\n");
if( (int)me->query("neili") < 2000 )
return notify_fail("你的內力不夠。\n");
if( !target
|| !target->is_character()
|| !me->is_fighting(target) )
return notify_fail("這門絕學只能對戰斗中的對手使用。\n");
if( (int)me->query("neili") < me->query("max_neili")/7+200 )
return notify_fail("你的內力不夠。\n");
if( !wizardp(me) &&(int)me->query_skill("xianglong-zhang", 1) < 500 )
return notify_fail("你的本門外功不夠!不能貫通使用!\n");
if( !wizardp(me) &&(int)me->query_skill("dagou-bang", 1) < 500 )
return notify_fail("你的本門外功不夠!不能貫通使用!\n");
if(!wizardp(me) && (int)me->query_skill("huntian-qigong", 1) < 500 )
return notify_fail("你的本門內功不夠高!不能貫通使用!\n");
if(!wizardp(me) && (int)me->query_skill("jiuyin-zhengong", 1) )
return notify_fail("你的雜學太多,無法對本門武功貫通使用!\n");
if (!wizardp(me) && !me->query("guard/flag"))
return notify_fail("你的江湖經驗還不夠,無法對本門武功貫通使用!\n");
if (!wizardp(me) && !me->query("guard/ok"))
return notify_fail("你還沒有通過華山論劍! 無法對本門武功貫通使用!\n");
if ( !wizardp(me) && me->query_skill_mapped("force") != "huntian-qigong")
return notify_fail("不使用本門內功,如何使用本門絕學!\n");
msg = HBWHT "$N貫通丐幫武學,使出了丐幫的絕學之精髓!\n" NOR;
me->add("neili", -me->query("max_neili")/7);
message_vision(msg, me, target);
extra = me->query_skill("xianglong-zhang",1);
msg = YEL "$N心中一急,沒頭沒腦的向前面打了出去,但正是打狗棒法的精要之所在!\n" NOR;
msg+= HIR"$N怒喝一聲,橫過"+ weapon->name()+HIG"一搭,借勢躍起,人未至,棒先到,凌虛下擊,連施三下殺手!\n" NOR;
message_vision(msg, me);
me->add_temp("apply/attack", (int)me->query_skill("dagou-bang",1));
me->add_temp("apply/damage", (int)me->query_skill("dagou-bang",1)/2);
msg = WHT "$N轉過"+ weapon->name()+HIG",刷刷刷連進三棒,棒法快捷無倫,都是打狗棒法中的殺招!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
target->receive_wound("qi",random((int)me->query_skill("dagou-bang",1)));
msg = HIC "$N突然飛出"+ weapon->name()+HIG",迎面劈向$n,這棒連戳三下,竟在霎時之間分點$p胸口三處大穴!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
target->receive_wound("qi",random((int)me->query_skill("dagou-bang",1)));
msg = RED "$N橫棒揮出,變守為攻,發揮出打狗棒法中的攻手,連進了三記殺招!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
target->receive_wound("qi",random((int)me->query_skill("dagou-bang",1)));
me->add_temp("apply/attack", - (int)me->query_skill("dagou-bang",1));
me->add_temp("apply/damage", - (int)me->query_skill("dagou-bang",1)/2);
me->add_temp("apply/strength", extra/3);
me->add_temp("apply/attack", extra);
me->add_temp("apply/damage", extra);
me->add("neili", -1000);
weapon->unequip();
msg = YEL "$N雙掌平平提到胸前,神色沉重的緩緩施出降龍十八掌的最后一招「"+HIY"亢"NOR+HIC"龍"NOR+HIW"無"NOR+HIR"悔"NOR+YEL"」一招八式推向$n!" NOR;
message_vision(msg, me, target);
msg = HIC "第一式!$N右掌一式「龍現于野」,勇猛無比地劈向$n!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
msg = HIR "第二式!$N雙掌施出一式「鴻龍在陸」,隱隱約約帶著掌風拍向$n!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
msg = HIB "第三式!$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);
msg = HIG "第五式!$N雙掌一式「雙龍戲水」一前一后按向$n的胸前!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
msg = HIM "第六式!$N身形轉動,使出「晴天六龍」向$n連打六下!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
msg = YEL "第七式!$N腳下一轉,突然欺到$n身前,一式「龍戰于野」直拍向$n面門" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
msg = HIW "第八式!$N突然飛起,雙掌居高臨下最后一式「龍嘯九天」全力拍向$n!" NOR;
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
me->add_temp("apply/strength", -extra/3);
me->add_temp("apply/attack", -extra);
me->add_temp("apply/damage", -extra);
if( random(me->query("combat_exp")) > target->query("combat_exp")/4
)
{
msg = HIR"你咬緊牙關,雙掌護身,心中默念降龍十八掌的口訣!"+HIY"亢"NOR+HIC"龍"NOR+HIW"無"NOR+HIR"悔!!"NOR+" ";
msg += RED"\n結果「轟」地一聲,$n全身氣血倒流,口中鮮血狂噴而出!\n"NOR;
target->receive_damage("qi",(int)me->query_skill("xianglong-zhang",1)*4);
target->receive_wound("qi",(int)me->query_skill("xianglong-zhang",1)*3);
target->receive_wound("jing", 10 + random(200));
if (!target->is_busy()) target->start_busy(3);
message_combatd(msg, me, target);
COMBAT_D->report_status(target);
}
me->start_busy(5);
return 1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -