回文章列表
作者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
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻