?? lingboweibu.c
字號:
// lingboweibu.c 凌波微步#include <ansi.h>inherit SKILL;#include "/kungfu/skill/eff_msg.h";string *dodge_msg = ({ HIR"$n足下一個踉蹌,乘勢向左斜出半步,恰符合了凌波微步中「忽焉縱體」的步子,閃了開來。\n"NOR , HIC"$n使出「流風回雪」歪歪斜斜退了幾步,似乎不成章法,卻在間不容緩的空隙中躲過了$N的攻勢。\n"NOR, HIB"$N的招式明明可以把$n圍住,不知怎的,$n一式「輕云蔽月」,又如鬼魅般的跨出了圈外\n"NOR, HIW"$n一式「以遨以嬉」,瞻之在前,忽焉在后,$N招式的落點和$n身子間總有厘毫之差。\n"NOR, HIY"$n身形閃處,突然轉向,使出了「神光離合」,$N加緊攻勢,竟無法碰到$n一片衣角。\n"NOR, HIC"$n大喝一聲,使出「乍陰還陽」,左足向右踏出,不料踏實之時,身子已在西北角上。\n"NOR, HIG"$n一式「飄忽若神」,側身斜進,搶步“既濟”,立閃“未濟”,閃得幾閃,已欺到$N的身后。\n"NOR, HIG"$n一式「體迅飛梟」,似乎自管自地踏步,毫不理會,每一步都踏在別人意想不到的所在。\n"NOR, RED"但是$n身形飄忽,輕輕一縱,早已避開。\n"NOR, YEL"$n身隨意轉,倏地往一旁挪開了三尺,避過了這一招。\n"NOR, GRN"可是$n側身一讓,$N這一招撲了個空。\n"NOR, HIG"卻見$n足不點地,往旁竄開數尺,躲了開去。\n"NOR, HIW"$n身形微晃,有驚無險地避開了$N這一招。\n"NOR});int valid_enable(string usage) { return (usage == "dodge") || (usage == "move") || (usage == "parry"); }int valid_learn(object me){ if ((int)me->query_skill("literate", 1) < 100) return notify_fail("你的知識不夠,無法領會凌波微步。\n"); if( me->query("family/family_name") != "逍遙派"){ if ((int)me->query("int") < 30) return notify_fail("你的悟性不夠,無法領會凌波微步。\n");} return 1;}string query_dodge_msg(string limb){ return dodge_msg[random(sizeof(dodge_msg))];}int practice_skill(object me){if( (int)me->query("jing") < 60 ) return notify_fail("你的體力太差了,不能練凌波微步。\n");if( (int)me->query("qi") < 60 ) return notify_fail("你的體力太差了,不能練凌波微步。\n"); me->receive_damage("jing", 40); me->receive_damage("qi", 40);if( (int)me->query("qi") < 40 )return notify_fail("你的體力太差了,不能練凌波微步。\n"); me->receive_damage("qi", 30); return 1;}string perform_action_file(string action){ return __DIR__"lingboweibu/" + action;}int ob_hit(object ob, object me, int damage){ object wp1; string msg; int p,j,skill, neili, neili1; wp1 = ob->query_temp("weapon"); skill = me->query_skill("lingboweibu", 1); neili = me->query("neili"); neili1 = ob->query("neili");if (damage <10){damage=10; }if (me->query_skill("beiming-shengong",1) <100){ me->delete_temp("lingboweibu"); return 1;} if(me->query_temp("lingboweibu")){ me->delete_temp("lingboweibu"); return 1; } if(skill > random(ob->query_skill("dodge", 1)) && me->query("combat_exp") > ob->query("combat_exp")/2 && me->query_skill_mapped("dodge") == "lingboweibu" && neili > 400 && skill > 150) { me->add_temp("lingboweibu", 1); msg = HIG"$N不見有任何動作,只是身子一晃一轉,蹴的一下轉到$n的背后。\n"NOR; tell_object(ob, HIR "你只覺眼前一花,不見了對手的身影!\n" NOR); if(neili >= neili1+random(neili1)+damage){ msg += HIR"$n一招打空,急忙收力,力道反打了回來。\n"NOR,// if (damage < 10) damage=10; ob->receive_damage("qi", damage); p = ob->query("qi")*100/ob->query("max_qi"); msg += damage_msg(damage/2, "震傷"); msg += "( $n"+eff_status_msg(p)+" )\n"; j = -(damage*3); ob->start_busy(1); } else if(neili >= random(neili1)+damage){ msg += HIG"\n結果$n的力道被你躲開了!\n"NOR, j = -(damage*2+skill*2); } else if(neili < random(neili1)+damage && neili*2 > random(neili1)+damage){ msg += HIC"\n結果$n的力道被躲過了一半!\n"NOR, j = damage/2; } else{ msg += HIB"\n結果$N只躲過了$n的一小半力道!\n"NOR, j = damage/2+random(damage/2); } message_vision(msg, me, ob); return j; } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -