?? shendao.c
字號(hào):
// jixue.c 血刀經(jīng) [祭血神刀]// coded by emnil@sj 2/5/2000#include <ansi.h>#include <skill.h>#include <combat.h>#include <weapon.h>inherit F_SSERVER;void jixue(object me,object target,int times,int now); int perform(object me, object target){ object ob,weapon; string msg; int lvl,times,extra;extra = me->query_skill("xue-dao",1); if (!target ) target = offensive_target(me); if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "blade") return notify_fail(RED"裝備刀才能使用「祭血神刀」?\n"NOR); if (!target || !target->is_character() || !me->is_fighting(target) ) return notify_fail("「祭血神刀」只能對(duì)戰(zhàn)斗中的對(duì)手使用。\n"); if ((int)me->query_skill("xue-dao", 1) < 100 ) return notify_fail(WHT"你血刀刀法不夠嫻熟,使不出「祭血神刀」。\n"NOR); if ((int)me->query_skill("longxiang", 1) < 60 ) return notify_fail(RED"你龍象般若功火候不夠,使不出「祭血神刀」。\n"NOR); if ((int)me->query("max_neili") < 600) return notify_fail(RED"你內(nèi)力修為不足,無(wú)法運(yùn)足內(nèi)力。\n"NOR); if ((int)me->query("neili") < 600) { return notify_fail(HIC"你現(xiàn)在內(nèi)力不夠,沒(méi)能將「祭血神刀」使完!\n"NOR); } if( !me->is_fighting() ) return notify_fail("「祭血神刀」只能在戰(zhàn)斗中使用。\n"); if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "blade") return notify_fail("你使用的武器不對(duì)。\n"); if((int)me->query_skill("xue-dao",1) < 120) return notify_fail("你的刀法修為不夠, 目前不能使用「祭血神刀」! \n"); if(me->query_temp("xs/jixue")) return notify_fail("你正在使用「祭血神刀」! \n"); if((int)me->query_skill("longxiang",1) < 120) return notify_fail("你的龍象般若功修為不夠, 目前不能使用「祭血神刀」! \n"); if( me->query_skill_mapped("force") != "longxiang") return notify_fail("你現(xiàn)在所使用的內(nèi)功同「龍象般若功」向抵觸,不能使出「祭血神刀」的絕技!\n"); if( (int)me->query("max_neili") < 2000 ) return notify_fail("你的內(nèi)力修為不夠!\n"); if((int)me->query("neili")<500) return notify_fail("你的真氣不夠!\n"); ob = me->select_opponent(); lvl = me->query_skill("xue-dao",1); me->set_temp("xs/jixue",1); times = me->query("env/jixue"); if(times < 1) times = 1; if(times > lvl/40) times = lvl/40; if(times > 6) times = 6; me->add_temp("apply/attack", 80); me->add_temp("apply/damage", extra*3);msg = YEL "$N右手持刀向左肩一勒,一陣血珠濺滿刀面,緊接著右臂掄出,一片血光裹住刀影向$n當(dāng)頭劈落,\n"NOR;if (!target->is_busy()) target->start_busy(3);COMBAT_D->do_attack(me,target, weapon, TYPE_REGULAR,msg);COMBAT_D->do_attack(me,target, weapon, TYPE_REGULAR,msg);COMBAT_D->do_attack(me,target, weapon, TYPE_REGULAR,msg); me->add_temp("apply/attack", -80); me->add_temp("apply/damage", -extra*3); msg = HIR"\n$N臉色陡然一變,口中念念有詞,同時(shí)倒轉(zhuǎn)兵刃,不知道要做什么!\n\n"NOR; message_vision(msg, me); me->add("neili", -100);me->start_busy(2);// me->start_perform(10,"祭血神刀"); call_out("jixue",0,me,ob,times,0); return 1;}void jixue(object me,object target,int times,int now){ string msg,weaname; object weapon; int lvl,force,damage,attack,qi; if( !objectp(me) ) return; if( !objectp(target) || !me->is_fighting(target) || (now >= times) || (me->query("neili")<200) || (!objectp(weapon = me->query_temp("weapon"))) || ((string)weapon->query("skill_type")!="blade") ) { me->set_temp("xs/jixue",0); me->start_busy(1); if(living(me)) message_vision(HIC"\n$N慢慢收回內(nèi)勁,臉上也似乎有了血色。\n"NOR, me); return; } weapon = me->query_temp("weapon"); weaname = weapon->query("name"); lvl = me->query_skill("xue-dao",1); force = me->query_skill("longxiang",1); now++; if(now <= 1) msg = HIR"\n$N狂嘯一聲,以兵刃自砍手臂,頓時(shí)一飆鮮血飛濺在"NOR+weaname+HIR"之上,"NOR+weaname+HIR"隱隱泛出一層血色。"; else if(now <= 3) msg = HIR"\n$N狂嘯一聲,以兵刃自砍胸膛,頓時(shí)一腔鮮血飛濺在"+weaname+HIR"之上,"NOR+weaname+HIR"泛出一層血色!"; else msg = RED"\n$N狂嘯一聲,當(dāng)頭砍了自己一刀,頓時(shí)一股鮮血飛濺在"+weaname+RED"之上,"NOR+weaname+RED"整個(gè)變的通紅!!!"; attack = 7-now; damage = 8-now; if(me->query_temp("xs/longxiang")) { damage--; if(damage<2) damage=2; msg += "$N更把龍象內(nèi)勁附于兵刃之上!"; } msg += "\n"NOR; message_vision(msg, me); if(wizardp(me) ) tell_object(me,sprintf("damage:%d , attack:%d , qi:%d \n",force/damage,lvl/attack,-50*now)); me->add_temp("apply/damage", (force/damage+300)); me->add_temp("apply/attack", lvl/attack);if (!target->is_busy()) target->start_busy(3); COMBAT_D->do_attack(me, target, me->query_temp("weapon"), 0); COMBAT_D->do_attack(me, target, me->query_temp("weapon"), 0); COMBAT_D->do_attack(me, target, me->query_temp("weapon"), 0); me->add_temp("apply/damage", -(force/damage+300)); me->add_temp("apply/attack", -lvl/attack); if(me->query("qi") < (60*now)) qi = me->query("qi")-10; else qi = 60*now; if(qi<0) qi = 0; me->receive_damage("qi", qi/2); me->receive_wound("qi", qi/3); me->add("neili", -30*now); if(me->query("neili") < 0) me->set("neili",0); call_out("jixue",2+random(3),me,target,times,now);}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -