hai.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 198 行
C
198 行
// hai.c 海公公#include <ansi.h>inherit NPC;string ask_for_zigong();string ask_for_jingong();int do_pretend ( string arg );void create(){ set_name("海公公", ({"hai gonggong", "hai", "gonggong"})); set("title", "东厂千户"); set("long", "他是东厂大太监海大富,乔装改扮成商人模样出京寻欢作乐,长得既像老头又像老太太。\n" ); set("gender", "无性"); set("rank_info/respect", "公公"); set("attitude", "heroism"); set("class", "eunach"); set("inquiry",([ "自宫" : (: ask_for_zigong :), "进宫" : (: ask_for_jingong :), "皇宫" : (: ask_for_jingong :), ])); set("age", 60); set("shen_type", -1); set("str", 25); set("int", 20); set("con", 20); set("dex", 25); set("max_qi", 500); set("max_jing", 100); set("neili", 500); set("max_neili", 500); set("jiali", 100); set("combat_exp", 75000); set("score", 5000); set("apply/attack", 30); set("apply/defense", 30); set_skill("force", 50); set_skill("unarmed", 50); set_skill("sword", 50); set_skill("dodge", 50); set_skill("parry", 50); set_skill("pixie-jian", 50); map_skill("dodge", "pixie-jian"); map_skill("sword", "pixie-jian"); setup(); set("chat_chance", 15); carry_object("/clone/weapon/changjian")->wield(); carry_object("/clone/misc/cloth")->wear(); carry_object("/d/city/obj/jiudai"); carry_object("/d/city2/obj/yaofen"); add_money("silver", 50);}void init(){ add_action("do_decide", "decide"); add_action("do_pretend", "pretend");}string ask_for_zigong(){ object me; me = this_player(); if( (string)me->query("gender")=="无性" ) return "你我同是阉人,何必开如此无聊的玩笑?\n"; if( (string)me->query("gender") == "女性" ) return "我虽已废,但一样可以给你这个小美人带来快乐,要不要试试?\n"; if ((int)me->query_str() > 28 ) return "这位好汉过于粗壮,自宫有碍观瞻,不妥,不妥。\n"; me->set_temp("pending/zigong", 1); return "自宫?这位公子相貌堂堂,何必... 我真希望能有你的那个。自宫之后,不可后悔,你若决心已定(decide),告诉我。\n";}string ask_for_jingong(){ object me; me = this_player(); if( (string)me->query("gender")=="无性" ) return("海公公笑吟吟地说道:您既已是公公了,自然可以进宫。\n"); if( (string)me->query("gender") == "男性" ) { me->set_temp("pending/zigong", 1); return("海公公笑吟吟地说道:并不是一定要自宫才可以进皇宫的;\n"+"不过,你若决心已定(decide),我就成全了你。\n"); } if( (string)me->query("gender")=="女性" ) return("海公公摇头道:不行的,你长得太丑了。\n"); }int do_decide(){ if( !this_player()->query_temp("pending/zigong") ) return 0; message_vision( "$N一咬牙,褪下中衣。(女玩家闭眼!)\n\n" "$n伸出长剑插到$N两腿之间,飞速一剜,……\n\n" "$N顿时惨叫一声昏了过去……\n\n", this_player(), this_object() ); command("chat 嗨……"); command("hehe"); this_player()->delete_temp("pending/zigong"); this_player()->delete_temp("pending/jingong"); this_player()->set("gender","无性"); this_player()->set("class", "eunach"); this_player()->set("combat_exp",this_player()->query("combat_exp")+1000); this_player()->unconcious(); return 1;}int accept_object(object me, object ob){ if( !me || environment(me) != environment() ) return 0; if ( !objectp(ob) ) return 0; if ( !present(ob, me) ) return notify_fail("你没有这件东西。"); if ( (string)ob->query("name") == "药粉") { write(HIC "海公公打开药包,伸出小指,用指甲挑了一点粉末,\n" +"就着酒泯了,仍是不住咳嗽。\n" NOR); if(objectp(present("xiao", environment(me)))) { command("say 奇怪,你怎么也有这种药。"); } else { command("smile "+ob->query("id")); if(me->query_temp("haspretend")) { command("say 多谢啦,小桂子,我现在好多了 !"); me->delete_temp("haspretend"); me->set("huanggong\\canenter", 1); } else command("say 奇怪,你怎么也有这种药。"); } } else { command("shake "); command("say 这种东西鬼才要 ! 老子宰了你 !"); remove_call_out("kill_ob"); call_out("kill_ob", 1, this_player()); } return 1;}int do_pretend ( string arg ){ object ob ; ob = this_player () ; if( !arg && arg!="guizi"&&arg!="xiao"&&arg!="xiao guizi") return notify_fail("\n你要装成谁?\n"); if(objectp(present("xiao", environment(ob)))){write(HIR "\n海公公大叫一声:你敢冒充小桂子,老子宰了你!\n" NOR);remove_call_out("kill_ob");call_out("kill_ob", 1, this_player());return 1;}if ( (string) ob -> query ("gender") == "男性"){ob->set_temp("haspretend",1);message_vision("\n$N装成了小桂子,$n没吭声。\n",this_player(),this_object());message_vision("\n海公公看了$N一眼,说“唉,是不是又该吃药了?”\n",this_player());return 1;}}void die(){ say("海公公挣扎着叹道:唉,老皇爷的事儿我没办成啊!\n"); message_vision("$N惨嚎一声,死了!\n", this_object()); ::die();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?