// xun-bu.c

#include <ansi.h>
#include <login.h>

inherit NPC;

void make_skill();
void checking(object ob);

void create()
{
        int iType;

        iType = random(3);

        if( iType == 1 ) 
                set_name("捕头", ({ "xun bu" }) );
        else if( iType == 2 )
                set_name("巡捕", ({ "xun bu" }) );
        else
                set_name("捕快", ({ "xun bu" }) );


        set("long", sprintf("这是一位%s。\n", name()));

        set("attitude", "heroism");
        set("age", random(20) + 20);

        set("str", 20 + random(11));            // 膂力         
        set("cps", 20 + random(11));            // 定力
        set("cor", 20 + random(11));            // 胆识         
        set("per", 20 + random(11));            // 容貌
        set("int", 20 + random(11));            // 悟性         
        set("con", 20 + random(11));            // 根骨
        set("spi", 20 + random(11));            // 灵性         
        set("kar", 20 + random(11));            // 福缘
/*
        set("chat_chance_combat", 15);
        set("chat_msg_combat", ({
                sprintf("%s喝道：今天不给点教训你，也不知道老子的厉害！\n", name()),
                sprintf("%s喝道：多管闲事，你活得不耐烦了吧！\n", name()),
                sprintf("%s喝道：呸！大爷的事也管，去死吧！\n", name()),
        }) );
*/
        set("chat_chance", 20);
        set("chat_msg", ({
                (: random_move :)
        }) );

        set("mana", 2000);      set("max_mana", 2000);
        set("atman", 2000);      set("max_atman", 2000);
        set("force", 2000);      set("max_force", 2000);  set("force_factor", 30);
        set("SEN", 0);

        set("combat_exp", random(1900) * 10000 + 1000000 );

        if( iType == 1 ) {
                set_skill("force", 150 + random(150) );
                set_skill("unarmed", 150 + random(150) );
                set_skill("blade", 150 + random(150) );
                set_skill("parry", 150 + random(150) );
                set_skill("dodge", 150 + random(150) );
                set_skill("move", 150 + random(150) );
                set_skill("hunyuan-force", 150 + random(150) );
                set_skill("ruyi-blade", 150 + random(150) );
                set_skill("taxue-steps", 150 + random(150) );
        }
        if( iType == 2 ) {
                set_skill("force", 100 + random(200) );
                set_skill("unarmed", 100 + random(200) );
                set_skill("blade", 100 + random(200) );
                set_skill("parry", 100 + random(200) );
                set_skill("dodge", 100 + random(200) );
                set_skill("move", 100 + random(200) );
                set_skill("hunyuan-force", 100 + random(200) );
                set_skill("ruyi-blade", 100 + random(200) );
                set_skill("taxue-steps", 100 + random(200) );
        }
        else {
                set_skill("force", 50 + random(200) );
                set_skill("unarmed", 50 + random(200) );
                set_skill("blade", 50 + random(200) );
                set_skill("parry", 50 + random(200) );
                set_skill("dodge", 50 + random(200) );
                set_skill("move", 50 + random(200) );
                set_skill("hunyuan-force", 50 + random(200) );
                set_skill("ruyi-blade", 50 + random(200) );
                set_skill("taxue-steps", 50 + random(200) );
        }

        map_skill("dodge", "taxue-steps");
        map_skill("move",  "taxue-steps");
        map_skill("force", "hunyuan-force");
        map_skill("blade", "ruyi-blade");
        map_skill("parry", "ruyi-blade");

        setup();

        carry_object("/obj/cloth/cloth")->wear();
        carry_object("/obj/weapon/blade")->wield();

        add_money("gold", 1);
}

void init()
{       
        object ob;

        ::init();
        if( interactive(ob = this_player()) && !is_fighting() ) {
                remove_call_out("checking");
                call_out("checking", 1, ob);
        }
}

void checking(object ob)
{
        object me;


        if ( !ob->query("kill_flag") ) return;
        command("say " + ob->name() + "，你杀了人，你死定了！！\n");
        set_leader(ob);

        command("kill " + ob->query("id") );
        return;
}
