//gold-blade.c
#include <combat.h>
#include <ansi.h>
void movedown(object me,object target,object weapon,int damage);
inherit SKILL;

mapping *action = ({
      ([      "action":         HIW"$N侧身横锄 ,一招"+HIC"「横云断峰”"HIW+" ,手持$w向$n$l横劈过去"NOR,
        "damage":       20,
        "dodge":        10,
        "parry":        -20,
        "damage_type":  "砍伤",
        ]),
   ([      "action":      HIW"$N翻身回力 ,手中$w斜引 ,一招"+HIR"「归雁啸长空”"HIW+",刀锋从半空中直泻而下"NOR,
        "damage":           30,
           "dodge":           20,
             "parry":          -30,
        "damage_type":  "劈伤"
          ]),
        ([         "action":         HIW"$N背转身子 ,一招"+HIB"「夜战八方”"HIW+",手中$w迅无伦比的砍向$n$l"NOR,
           "damage":      30,
           "dodge":          0,
            "parry":         -50,
             "force":          100,
        "damage_type":  "砍伤"
           ]),
        ([     "action":     HIW"$N使出"+HIM"「春云乍展”"HIW+",手中$w悄无声的划向$n$l  ,看似轻如柳絮 ,却是式中套式 ,招里藏招"NOR,
           "damage":          40,
        "dodge":        -30,
        "parry":        10,
     /* "post_action":          (: movedown :), */
                "damage_type": "割伤"
            ]),
        ([       "action":       HIW"$N脚尖一点 ,翩如飞鸟般的跃起一丈多高 , 使一招"+HIG"「天神倒挂”"HIW+",由上而下劈往$n的$l"NOR,
        "damage":    50,
        "dodge":        -50,
        "parry":        -20,
        "damage_type": "劈伤"
        ]),
     ([      "action":      HIW"$N微一吐劲 ,力贯刀锋 ,一招"+HIY"「劈石开山”"HIW+"往$n$l直劈而下"NOR,
        "damage":       50,
        "force":        100,
        "parry":        -30,
        "dodge":        -10,
        "damage_type": "劈伤"
        ]),
      ([      "action":      HIW"$N刀随身转 ,寒光闪处 ,一招"+HIC"「倒洒金钱”"HIW+",攻往$n$l"NOR,
        "damage":       60,
        "parry":        -20,
        "dodge":        0,
        "damage_type": "劈伤"
        ]),
        ([      "action":        HIW"$N气沉丹田 ,一招"+HIG"「气撼九重天”"HIW+",刀势笼罩八方 , $n顿感气息翻涌 ,胸口不畅"NOR,
        "damage":       70,
        "force":        300,
        "parry":        30,
        "dodge":        30,
        "damage_type":  "砍伤"
        ]),
        ([      "action":      HIW"$N手中$w一晃 ,一招"+HIR"「雪拥篮关”"HIW+",往$n$l直刺而去"NOR,
        "damage":       100,
        "force":        50,
        "parry":        -10,
        "dodge":        10,
        "damage_type":  "刺伤"
        ]),
        ([      "action":      HIW"$N移步测身 ,使出一招"+HIB"「游龙绕步”"HIW+",身行变化莫测 ,攻向$n$l"NOR,
        "damage":       150,
        "dodge":        -50,
        "parry":        -50,
        "damage_type":  "刺伤"
        ]),
});
int valid_learn(object me)
{
        object ob;
        if( (int)me->query("max_force") < 100)
                return notify_fail("你的内力不够，没有办法练紫金六阳刀法。\n");
        if( (string)me->query_skill_mapped("force")!= "sixforce")
                return notify_fail("紫金六阳刀法必须配合六阳心法才能练。\n");
        if( !(ob = me->query_temp("weapon"))
        ||      (string)ob->query("skill_type") != "blade")
                return notify_fail("你必须先找一把刀才能练刀法。\n");
                if((int)me->query("max_force")/10<(int)me->query_skill("gold-blade",1))
        return notify_fail("你的内力不够深厚 ,无法练此刀法。\n");
        return 1;
}

int valid_enable(string usage)
{
        return (usage=="blade")||(usage=="parry");
}

mapping query_action(object me, object weapon)
{
        return action[random(sizeof(action))];
}

void movedown(object me,object target, object weapon,int damage)
{
        if(random(3)>1)
               return;
        if(me->query("force")<20) return;
        me->add("force",-20);
          message_vision(
        HIG "$N使出「横扫六合” ,刀光四面铺开 ,把$n的整个身形笼罩在刀光之下 !\n"NOR,me,target);
        if (random(target->query("combat_exp"))<random(me->query("combat_exp")))
          {
                message_vision( GRN "结果$n气息一岔 ,登时动弹不得 !\n" NOR,me,target);
                target->start_busy(me->query_skill("gold-blade",1)/20);
          }
           else
                message_vision(   GRN "结果$n往后一跃 ,躲了过去。\n" NOR,me,target);
}
int practice_skill(object me)
{
        object weapon;

        if(me->query("max_force")/10<me->query_skill("gold-blade",1))
        return notify_fail("你内力不足 ,强自练习 ,只会受害。\n");
        if( !objectp(weapon = me->query_temp("weapon"))
        ||      (string)weapon->query("skill_type")!="blade")
        return notify_fail("你要有适合的武器才能练习紫金六阳刀法。\n");

        if((int)me->query("kee")<30)
                return notify_fail("气不够啰 ,修息一下再练吧。\n");
        me->receive_damage("kee",30);
        return 1;
}
string perform_action_file(string action)
{
        return CLASS_D("blademan")+"/gold-blade/"+action;
}
