作者giant70.bbs@ptt.cc (劉伯溫) 看板: mud
標題[心得] 亂世群雄技能 tens-leg
時間批踢踢實業 (2008/08/31 Sun 14:11:51)
#include <ansi.h>
inherit SKILL;
mapping *actions=({
([
"action" : HIW"$N身形一變,全力使出一招"HIY"『"HIC"雪刀天下"HIY"』"HIW",刀勁直衝雲霄,射向$n!"NOR,
"damage_type" : "刀傷"
]),
([
"action" : HIW"$N身形一變,全力使出一招"HIY"『"HIG"追風斧影"HIY"』"HIW",斧勁直衝雲霄,射向$n!"NOR,
"damage_type" : "斧傷"
]),
(["action" :
HIW"$N身形一變,全力使出一招"HIY"『"CYN"閃電雷鞭"HIY"』"HIW",鞭勁直衝雲霄,射向$n!"NOR,
"damage_type" : "鞭傷"
]),
(["action" :
HIW"$N身形一變,全力使出一招"HIY"『"HIM"劍意無盡"HIY"』"HIW",劍勁直衝雲霄,射向$n!"NOR,
"post_action" : (:call_other,__FILE__,"add_action":),
"damage_type" : "劍傷"
]),
(["action" : HIW"$N身形一變,全力使出一招"HIY"『"WHT"掌中霸氣"HIY"』"HIW",掌勁直衝雲霄,射向$n!"NOR,
"damage_type" : "掌傷"
]),
(["action" : HIW"$N身形一變,全力使出一招"HIY"『"HIB"泣鬼神槍"HIY"』"HIW",槍勁直衝雲霄,射向$n!"NOR,
"post_action" : (:call_other,__FILE__,"moveon":),
"damage_type" : "槍傷"
]),
(["action" : HIW"$N身形一變,全力使出一招"HIY"『"HIC"百禪玄杖"HIY"』"HIW",杖勁直衝雲霄,射向$n!"NOR,
"damage_type" : "杖傷"
]),
(["action" : HIW"$N身形一變,全力使出一招"HIY"『"HIR"逆風順腿"HIY"』"HIW",腿勁直衝雲霄,射向$n!"NOR,
"damage_type" : "腿傷"
]),
(["action" :
HIW"$N身形一變,全力使出一招"HIY"『"HIM"八爪章魚"HIY"』"HIW",爪勁直衝雲霄,射向$n!"NOR,
"post_action" : (:call_other,__FILE__,"flysword":),
"damage_type" : "爪傷"
]),
(["action" :
HIW"$N身形一變,全力使出一招"HIY"『"HIG"神風戰鎚"HIY"』"HIW",鎚勁直衝雲霄,射向$n!"NOR,
"post_action" : (:call_other,__FILE__,"stunman":),
"damage_type" : "鎚傷"
]),
});
void add_action(object me,object victim,object weapon,int damage)
{
string *limb=victim->query("limbs");
if (userp(me))
{
if (me->query("water")<20)
{
return;
}
if (me->query("food")<20)
{
return;
}
}
damage = me->query_skill("tens-leg")/20 + random(20);
if(me->query("force_factor"))
damage += random(me->query("force_factor"))*2;
if(random(victim->query_skill("dodge")*3+victim->query_skill("parry")*3)
< me->query_skill("leg"))
{
message_vision(HIY"\n
只見$N的身形一變,"HIG"\n\n
腿招快速的踢出,"HIR"\n\n
接著殺招就此出現!"HIW"\n\n
無敵"HIM"‧"HIC"神風腿\n\n"NOR ,me,victim);
victim->receive_damage("kee",damage);
COMBAT_D->report_status(victim);
message_vision("\n",me);
me->add("food",-1);
me->add("water",-1);
me->improve_skill("tens-leg",random(3));
me->improve_skill("leg",random(3));
}
}
void moveon(object me, object victim, object weapon, int damage)
{
int i;
int time = random (2) + 1 ; //連擊1-2次
if (userp(me))
{
if (me->query("water")<20)
{
message_vision(HIR"$N"HIR"的飲水不夠!無法施展。\n"NOR,me,victim);
return;
}
if (me->query("food")<20)
{
message_vision(HIR"$N"HIR"的食物不夠!無法施展。\n"NOR,me,victim);
return;
}
}
if( !me->query_temp("moveon_attack"))
{
me->set_temp("moveon_attack",1);
for(i=0;i<=time;i++)
COMBAT_D->do_attack(me, victim, me->query_temp("weapon"));
victim->receive_damage("kee",80);
}
me->delete_temp("moveon_attack");
}
int flysword(object me, object victim, object weapon, int damage)
{
int lose,i,j,pow,time,tenpow;
j = 0;
time = 0;
if (userp(me))
{
if (me->query("water")<20)
{
return 1;
}
if (me->query("food")<20)
{
return 1;
}
}
if (me->query("kee")>me->query("max_kee")/2)
return notify_fail("");
if (me->query("combat_exp")<500000)
return notify_fail("");
time = (int)(me->query("cor")/30);
if (time>5) time=5; //最多10下
lose = random ( me->query_skill("tens-leg", 1)/40 + 3 );
tenpow = ((int)me->query_skill("tens-leg",1)+(this_player()->query("MKS")/1000));
pow = me->query_skill("tens-leg")/10;
message_vision(HIY"\n 【 十、"HIB" 方 、"HIC" 旋 、"HIW" 風 、"HIG" 腿 】\n\n"NOR,me, victim);
for(j =1;j <= time ;j++)
{
pow = random(tenpow/5);
if (me->query("force") < 100) break;
message_vision(HIR"$n被"HIC"十方旋風腿"HIR"打中,腿勁往$n"HIR"踢去,受到嚴重的傷害!!!"NOR"\n"NOR , me, victim );
victim->receive_damage("kee",pow);
COMBAT_D->report_status(victim);
message_vision("避過了這強烈的腿擊",me);
me->add("force",-500);
me->add("food",-1);
me->add("water",-1);
if (j%5==0) COMBAT_D->report_status(victim);
}
me->improve_skill("tens-leg",random(4));
me->improve_skill("leg",random(4));
return 1;
}
int valid_enable(string usage)
{
return (usage=="leg") || (usage=="parry");
}
mapping query_action(object me,object weapon)
{
mapping act = actions[random(sizeof(actions))];
if(!act["apply_force"])
act["apply_force"]=50+random(50);
if(!act["apply_damage"])
act["apply_damage"]=50+random(50);
if(!act["parry"])
act["parry"]=random(50)-40;
if(!act["dodge"])
act["dodge"]=random(40)-20;
return act;
}
int query_deffecult()
{
return 20;
}
int practice_skill(object me)
{
return notify_fail(HIY"十方"HIB"俱"HIM"滅"NOR"只能從運用(perform)中增加熟練度。\n");
}
int valid_learn(object me)
{
return notify_fail(HIY"十方"HIB"俱"HIM"滅"NOR"只能從運用(perform)中增加熟練度。\n");
}
string color()
{
return HIY"十方"HIB"俱"HIM"滅"NOR;
}
mixed hit_ob(object me)
{
me->improve_skill("tens-leg",random(1));
}
string perform_action_file(string action)
{
return CLASS_D("windcloud") + "/tens-leg/" + action;
}
void skill_improved(object me)
{
if (me->query_skill("tens-leg",1)>=600)
{ message_vision(HIC"$N雖然勤練"HIY"十方"HIB"俱"HIM"滅"NOR",但是人之天賦有限,$N的"HIY"十方"HIB"俱"HIM"滅"HIW"無法再有長進!"NOR"\n",me);
me->set_skill("tens-leg",600);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.31.141.177