📄 xuedao.c
字号:
// /kungfu/class/xueshan/xuedao.c 血刀老祖// by secret#include <ansi.h>inherit NPC;inherit F_MASTER;int ask_job();int ask_fail();void create(){ set_name("血刀老祖", ({ "xuedao laozu", "xue dao", "laozu" })); set("long",@LONG这喇嘛身着黄袍,年纪极老,尖头削耳,脸上都是皱纹。他就是血刀门第四代掌门。LONG ); set("title",HIR"血刀门第四代掌门"NOR); set("gender", "男性"); set("age", 85); set("attitude", "peaceful"); set("shen_type", -1); set("str", 30); set("int", 30); set("con", 30); set("dex", 30); set("max_qi", 5000); set("max_jing", 2000); set("neili", 12000); set("max_neili", 12000); set("jiali", 50); set("combat_exp", 1800000); set("score", 180000); set_skill("lamaism", 150); set_skill("literate", 80); set_skill("force", 180); set_skill("parry", 180); set_skill("blade", 180); set_skill("sword", 120); set_skill("dodge", 180); set_skill("longxiang", 180); set_skill("shenkong-xing", 180); set_skill("hand", 180); set_skill("dashou-yin", 180); set_skill("mingwang-jian", 120); set_skill("xue-dao", 200); map_skill("force", "longxiang"); map_skill("dodge", "shenkong-xing"); map_skill("hand", "dashou-yin"); map_skill("parry", "xue-dao"); map_skill("blade", "xue-dao"); map_skill("sword", "mingwang-jian"); set("chat_chance_combat", 90); set("chat_msg_combat", ({ (: perform_action, "blade.kuangdao" :), (: perform_action, "blade.shendao" :), (: perform_action, "blade.kuangdao" :), (: perform_action, "blade.shendao" :), (: perform_action, "dodge.tianmaxingkong" :), (: exert_function, "fumozhou" :), (: exert_function, "fumozhou" :), (: exert_function, "fanchang" :), }) ); set("inquiry", ([ "美女" : (: ask_job() :), "job" : (: ask_job() :), "失败" : (: ask_fail() :), ]) ); create_family("雪山寺", 4, "弟子"); set("class", "bonze"); setup(); carry_object("/d/xueshan/obj/y-jiasha")->wear(); carry_object("/d/xueshan/obj/xblade")->wield(); add_money("gold",2);}void attempt_apprentice(object ob){ if ((string)ob->query("gender") != "男性") { command("say 我不收女徒弟。\n"); return; } if ((string)ob->query("family/family_name") != "雪山寺") { command("say 这位" + RANK_D->query_respect(ob) + "既非本门弟子,还是请回吧!\n"); return; } if ((int)ob->query("shen") > -100000) { command("say 你是不是向着侠义道,连杀人都不会!\n"); return; } if ((int)ob->query_skill("longxiang", 1) < 60) { command("say 入我血刀门,修习龙象功法是首要的。\n"); return; } command("haha"); command("nod"); command("recruit " + ob->query("id")); ob->set("title", HIR "血刀门第五代弟子" NOR);}int ask_job(){ object me = this_player(); object ob; mapping quest; mapping skl; string *sname, place; int i, skill = 0; quest = (__DIR__"lagjob")->query_quest(); skl = me->query_skills(); if ( !skl ) { tell_object(me, "你去学一些本事先吧!\n"); return 1; } sname = sort_array( keys(skl), (: strcmp :) ); for(i=0; i<sizeof(skl); i++) if (skl[sname[i]] >= skill && sname[i] != "literate" && sname[i] != "taoism") skill = skl[sname[i]]; if (skill < 80) skill = 80; if( me->query("family/family_name") != "雪山寺") { message_vision("$N对着$n说道。你是哪里来的奸细?\n", this_object(), me); return 1; } if (me->query("combat_exp") < 100000) { command("say " + RANK_D->query_respect(me) + "找美女的事没那么容易,你还是练高经验再来吧"); return 1;} if ((int)me->query_condition("menpai_busy")) { message_vision("$N对着$n摇了摇头说:你办事不利,等会再来!\n", this_object(), me); return 1; } if (me->query("potential") < 200 || me->query("combat_exp") < 300) { command("say 你的潜能太少了.找不到什么好货!!"); return 1; } if (me->query("kill_xueshan") == 1) { command("kick " + me->query("id")); command("say 我不是给了你任务了吗?"); return 1; } else { command("nod" + me->query("id")); command("say " + RANK_D->query_respect(me) + "和我志同道合,嘿嘿嘿。"); command("say " + me->query("id") + " 听说在『" + quest["short"] + "』附近有个绝世美女,快去吧!\n" NOR); me->set("kill_xueshan", 1); me->set("quest/quest_type", "抢"); me->set("quest/quest", "绝世美女"); me->set("task_time", time() + 300); ob = new(__DIR__"meinv",1); ob->move(quest["place"]); ob->set_temp("owner/id",me->query("id")); ob->set("combat_exp", me->query("combat_exp")); ob->set("max_force", me->query("max_force")); ob->set("eff_kee", me->query("max_kee")); ob->set("max_kee", me->query("max_kee")); ob->set("kee", me->query("max_kee")); ob->set_skill("dodge", skill); ob->set_skill("force", skill); ob->set_skill("parry", skill); ob->set("force_factor", random(10)); return 1; } }int ask_fail(){ object me = this_player(); if (me->query("kill_xueshan") == 1) { command("pk1"); command("say 你害得我没有美女玩,坏我练功大事,扣你150点POT."); me->add("potential",-50); me->apply_condition("menpai_busy",10); call_out("delete", 1); return 1; }}int delete(){ this_player()->delete("kill_xueshan"); return 1;}int accept_object(object me, object obj){ object ob=this_object(); if(!me || environment(me) != environment()) return 0; if(!objectp(obj)) return 0; if(!present(obj, me)) return notify_fail("你没有这件东西。"); if(userp(obj)){ command("consider "+(string)me->query("id")); command("say 你拿个快死的人来骗我?"); return 0; } if(obj->query("id") == "meinu" && me->query("kill_xueshan") == 1) { command("nod "+(string)me->query("id")); command("say 嘿嘿.干得好!\n"); remove_call_out("destroying"); call_out("destroying", 5, obj, ob, me); return 1; } if(obj->query("money_id")) { command("pat " + me->query("id")); command("say 我要钱干什么?"); return 0; }// if(me->query("kill_xueshan") == 0 ){// command("hehe "+(string)me->query("id"));// command("say 不错啊,但这活我没叫你干啊。");// return 1;// } else return 0; }void destroying(object obj, object ob, object me){ object n_money; int kar, exp, pot; kar = random(me->query("kar")) * 15; exp = 600 + kar; pot = 300 + random(exp); if(obj) destruct(obj);// if(ob) destruct(ob); if(!ob) return; if(!me || environment(me) != environment()){ command("say 咦,人呢?"); return; } command("pat "+me->query("id")); message_vision(HIR"$N对$n说道:你这次做得极为出色!我就指点你两手吸阴补阳的奇功吧.\n"NOR,ob, me); message_vision(HIC "\n由于$N成功的抢回了美女,被奖励:\n" + chinese_number(exp / 2) + "点实战经验,\n" + chinese_number(pot / 2) + "点潜能,\n" + chinese_number(50) + "点评价作为答谢。\n" NOR, me); me->add("combat_exp", exp / 2); me->add("potential", pot / 2); me->add("score",50); me->add("shen",-200); me->delete("quest"); destruct(present("meinu",ob)); me->delete("kill_xueshan"); message_vision(HIM"$N说完就把美女关进了后面的山洞......\n"NOR,ob); return; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -