biguqing.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 163 行

C
163
字号
//Npc 比古清十郎
//diabio(青云)2003.3.1
#include <ansi.h>
inherit NPC;
int ask_tianxiang();
inherit F_MASTER;
void create()
{
        set_name("比古清十郎", ({ "biguqing shilang", "shilang" }));
        set("long", "他就是绯村剑心的师傅。 \n");
        set("title", HIR"飞天御剑流"HIY"当代掌门人"NOR);
        set("gender", "男性");
        set("age", 40);
        set("attitude","peaceful");
        set("str", 50);
        set("dex", 50);
        set("con", 50);
        set("int", 50);
        set("per", 50);
        set("per",23);
        set("tianyu_1",1);
        set("jing", 20000);
        set("eff_jing", 20000);
        set("max_jing", 20000);        
        set("qi", 20000);
        set("eff_qi", 20000);
        set("max_qi", 20000);
        set("max_jingli", 20000);
        set("neili", 40000);
        set("max_neili", 40000);
        set("max_jingqi",1000);
        set("combat_exp", 5000000);
        set_skill("dodge",300);
        set_skill("cuff",300);
        set_skill("unarmed",300);
        set_skill("parry",300);
        set_skill("blade",320);
         set_skill("feitian-yujianliu",350);
         set_skill("wuxing-dun",300);
        set_skill("shayi",300);
         set_skill("aikido",300);
         set_skill("shayi-xinfa",300);
        set_skill("shiren-jianfa",300);
        set_skill("shiren-quanfa",300);
        set_skill("force",300);
set_skill("huoxinliu-jianfa",300);

        set_skill("literate",250);
        map_skill("blade", "feitian-yujianliu");
        map_skill("force", "shayi-xinfa");
              map_skill("unarmed", "aikido");
        map_skill("dodge", "wuxing-dun");
        map_skill("parry", "shiren-jianfa");
        create_family("飞天御剑流", 5, "传人");
         set("chat_chance_combat", 90);
        set("chat_msg_combat", ({
                (: perform_action, "dodge.break" :),
                (: perform_action, "unarmed.qin" :),
                (: perform_action, "unarmed.niu" :),
                (: perform_action, "unarmed.yaozhan" :),
                (: perform_action, "blade.chaodao" :),
                (: perform_action, "blade.tianxiang" :),
                (: perform_action, "blade.longlianda" :),
                (: perform_action, "blade.suodi" :),
                (: perform_action, "blade.jiu" :),
                (: perform_action, "unarmed.sanchong" :),
        }));
              set("inquiry", ([
           "飞天御剑流":     "自战国时代开始以流传了三百年的武功。",
           "天翔龙闪": (:ask_tianxiang:),
           "绯村剑心":   "他是我那不孝徒儿。"]) );
        setup();
        carry_object("/clone/misc/cloth")->wear();
        carry_object(__DIR__"obj/wushidao")->wield();
}

void attempt_apprentice(object ob)
{
        if(ob->query("family/family_name")!="飞天御剑流")
        {
                command("say 非我派弟子不能学我功夫。\n");
          return 0;
        }
        if(ob->query("combat_exp")<1000000)
        {
                 command("say 你的实战经练不够,我不能传授你功夫。\n");
            return 0;
        }
       	if ((int)ob->query_skill("huoxinliu-jianfa", 1) < 200) {
		command("say 你的活心流剑法太低了,还未能领悟活心二字如何学习我的武功呢。"); 
		command("say " + RANK_D->query_respect(ob) + 
			"你还是把活心流剑法先提高了在来吧?");
		return;
        }
	if ((int)ob->query_skill("shayi-xinfa", 1) < 200) {
		command("say 你的杀意心法太低,恐怕控制不了杀意。"); 
		command("say " + RANK_D->query_respect(ob) + 
			"你还是把杀意心法先提高了在来吧?");
		return;
	}
	if ((int)ob->query_skill("aikido", 1) < 200) {
		command("say 你的空手道太低。"); 
		command("say " + RANK_D->query_respect(ob) + 
			"你还是把空手道先提高了在来吧?");
		return;
	}
	if ((int)ob->query_skill("wuxing-dun", 1) < 200) {
		command("say 你的五行遁太低。"); 
		command("say " + RANK_D->query_respect(ob) + 
			"你还是把五行遁先提高了在来吧?");
		return;
	}
    if ((int)ob->query_skill("shayi", 1) < 200)
    {
        command("say 剑法之道在于杀意。");
        command("say " + RANK_D->query_respect(ob) +
            "你的杀意太低了?");
        return;
    }
	command("recruit " + ob->query("id"));
	ob->set("title",HIR"【飞天御剑流】"HIR"传人"NOR);
       ob->set("class", "yujianliu");
}
int ask_tianxiang()
{
    object ob;
    ob = this_player();

    tell_object(ob,"比古清十郎说道:天降龙闪乃最高剑决,如要学会需和我以命相拼才行,你如想清楚了就跟我来陶窑!\n"); 
      command("go south");
      command("go west");
   command("sigh");
   return 1;
}
void kill_ob(object me)
{
if(!this_player())
{
::kill_ob(me);
return;
}
 if(this_player()->query("family/family_name")=="飞天御剑流")
{
	command("say 你可要小心了,拿出你必生功力来杀我。\n");
       this_player()->set("feitian/bigu",1);
	::kill_ob(me);
}
}
               
void die()
{
        object ob, me, corpse;
        
        ob = this_object();
        me = query_temp("last_damage_from");
if (me && me->query("family/family_name")=="飞天御剑流")
{ 
        message_vision("\n$N道:“你不必难过,飞天御剑流代代传人都是如此,如要学会最高剑决掌门就需陪上性命,你不必太难过。\n", this_object());
me->set("feitian/tianxiang",1);
message_vision("\n在生死一线中你体会到了天翔龙闪的精髓。\n", this_object());
}
::die();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?