cheng.c.99.6.27.1
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· 1 代码 · 共 282 行
1
282 行
// cheng.c 程药发
// honest create
#include <ansi.h>
inherit NPC;
void create()
{
set_name("程药发", ({ "cheng yaofa", "cheng" }));
set("title", "扬州知府");
set("gender", "男性");
set("age", 43);
set("str", 20);
set("dex", 20);
set("long", "他就是程药发,扬州现任知府。\n");
set("combat_exp", 30000);
set("shen_type", 0);
set("attitude", "heroism");
set_skill("unarmed", 50);
set_skill("force", 50);
set_skill("sword", 50);
set_skill("dodge", 50);
set_skill("parry", 50);
set_temp("apply/attack", 150);
set_temp("apply/defense", 150);
set_temp("apply/armor", 150);
set_temp("apply/damage", 150);
set("neili", 500);
set("max_neili", 500);
set("jiali", 10);
setup();
carry_object(__DIR__"obj/gangjian")->wield();
carry_object("/clone/misc/cloth")->wear();
}
void init()
{
::init();
add_action("do_chat", "chat");
add_action("do_chat","chat*");
add_action("do_jiehun","jiehun");
add_action("do_jiehun","marry");
add_action("do_lihun","lihun");
}
int do_chat()
{
object ob;
ob=this_player(1);
say(HIW "知府脸色一沉,喝道:“大堂之上,竟敢喧哗!”\n" NOR);
tell_object(ob, HIR "两边衙役冲上前来,不由分说,一阵大板打得你"
+"皮开肉绽,昏了过去。\n" NOR);
ob->unconcious();
return 0;
}
int do_lihun(string arg)
{
object me;
object ob;
object card;
object *inv;
int i;
me=this_player(1);
if(!arg) {
tell_object(me,"你要和谁离婚啊?\n");
return 1;
}
if( !objectp(ob = find_player(arg)))
{
tell_object(me,"此人这会不在。\n");
return 1;
}
say(me->query("name")+"想要和"+ob->query("name")+"离婚.\n");
if( me->query("couple/couple_id") !=arg )
{
say("知府疑惑的看了看"+me->query("name")+
"说:“有没搞错啊?”\n");
return 1;
}
if(!me->query("couple/have_couple"))
{
say("知府惊讶道:"+me->query("name")+
"“你没有伴侣,如何离婚?”\n");
return 1;
}
if(!present(arg,environment()))
{
say("知府摇摇头说:“"+ob->query("name")+"现在不在这里。”\n");
return 1;
}
if( ob->query("want_lihun")==me->query("id") )
{
say("知府叹息道:“你们真让本府失望。”\n");
inv=all_inventory(me);
for(i=0;i<sizeof(inv);i++)
{
if(inv[i]->query("id")=="jiehunzheng")
{
destruct(inv[i]);
}
}
inv=all_inventory(ob);
for(i=0;i<sizeof(inv);i++)
{
if(inv[i]->query("id")=="jiehunzheng")
{
destruct(inv[i]);
}
}
me->delete("couple");
me->delete("want_marry");
me->delete("want_lihun");
me->delete("marry_ok");
ob->delete("couple");
ob->delete("want_marry");
ob->delete("want_lihun");
ob->delete("marry_ok");
tell_object(me,"你的婚姻关系被解除了\n");
tell_object(ob,"你的婚姻关系被解除了\n");
message("shout", HIC "【官府通告】:" + HIB + "现今" + me->query("name") + "和"
+ob->query("name") + "婚姻关系解除!\n" NOR,users());
}
else
{
say("知府道:“"+me->query("name")+"你的想法我知道了"+
",不过还要问问"+ob->query("name")+"的意思。”\n");
me->set("want_lihun",arg);
return 1;
}
return 1;
}
int do_jiehun(string arg)
{
object me;
object ob;
object card;
me=this_player(1);
if ( me->query("gender")=="无性")
{ tell_object(me,"你乃无根之人如何结婚?\n");
return 1;}
if(!arg) {
tell_object(me,"你自己和自己结婚啊?\n");
return 1;
}
if( (string)me->query("class")=="bonze" )
{
tell_object(me,"哈哈!怎么,和尚也想开色戒了吗?\n");
return 1;
}
if( !objectp(ob = find_player(arg)))
{
tell_object(me,"你提的人目前不在这世界吧?\n");
return 1;
}
say(me->query("name")+"想要和"+ob->query("name")+"结婚.\n");
if(me->query("age") <16)
{
say("知府摇摇头,显然你没达到结婚年龄。\n");
return 1;
}
if(me->query("couple/couple_id")== arg )
{
say("知府疑惑的看了看"+me->query("name")+
"说:“你俩想二婚?”\n");
return 1;
}
if(me->query("id")== arg )
{
say("知府疑惑的看了看"+me->query("name")+
"说:“你是自恋狂啊?”\n");
return 1;
}
if(me->query("couple/have_couple"))
{
say(HIW "知府大怒,一拍桌子喝道:“"+me->query("name")+
"你已有伴侣,胆敢重婚!”\n" NOR);
say("两边衙役冲上前来,不由分说,一阵大板打得"+
me->query("name")+"皮开肉绽,昏了过去。\n");
me->unconcious();
return 1;
}
if(!present(arg,environment()))
{
say("知府摇摇头说:“"+ob->query("name")+"现在不在这里。”\n");
return 1;
}
if( ob->query("want_marry")== me->query("id") )
{
say("知府微笑道:“祝你们俩白头谐老,永无二心。”\n");
ob->set("couple/have_couple",1);
ob->set("couple/couple_id", me->query("id"));
ob->set("couple/couple_name", me->query("name"));
if (me->query("gender")=="男性")
{ ob->set("couple/couple_gender","老公");}
else
{ ob->set("couple/couple_gender","老婆");}
me->set("couple/have_couple",1);
me->set("couple/couple_id",ob->query("id"));
me->set("couple/couple_name",ob->query("name"));
if (ob->query("gender")=="男性")
{ me->set("couple/couple_gender","老公");}
else
{me->set("couple/couple_gender","老婆");}
card= clone_object(__DIR__"obj/marry_card");
card->set("name","你和"+arg+"的结婚证");
card->move(me);
card= clone_object(__DIR__"obj/marry_card");
card->set("name","你和"+me->query("id")+"的结婚证");
card->move(ob);
say("知府递给"+ob->query("name")+"和"+me->query("name")
+"一人一张结婚证书.\n");
me->delete("want_marry");
ob->delete("want_marry");
message("shout", HIC "【官府通告】:" + HIR + "恭喜" + me->query("name") + "和"
+ob->query("name") + "喜结连理!\n"+"\n"+
"
■ ■
■■■■■■■■■■■
■ ■
■■■■■■■■■■
■■■ ■■■
■ ■ ■ ■
■■■ ■■■
◆◆ ◆◆
■■■■■■■■■■
■■■ ■■■
■ ■ ■ ■
■■■ ■■■\n"
NOR,users());
return 1 ;
}
else
{
if( me->query("gender") == ob->query("gender") )
{
say ("知府被"+me->query("name")+
"气得口吐白沫昏了过去。喝道:“莫非你有断袖之癖?”\n");
return 1;
}
say("知府微笑道:“"+me->query("name")+",你的心意我知道了"+
",不过还要问问"+ob->query("name")+"的意思。”\n");
me->set("want_marry",arg);
return 1;
}
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?