dujing2.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 72 行
C
72 行
// dujing2.cinherit ITEM;void create(){ set_name("毒经下篇", ({ "jing", "book" })); set_weight(50); if( clonep() ) set_default_object(__FILE__); else { set("unit", "本"); set("long", "这是一本薄薄的小册,上面密密麻麻的记满了各种用毒的法门,可以用(kan)看一看。\n"); set("no_drop", "这样东西不能离开你。\n"); set("value", 0); set("material", "silk"); }}void init(){ add_action("do_read", "kan"); add_action("do_read", "see"); add_action("do_read", "du");// this_object()->set("created", 1); remove_call_out ("destroy_book"); call_out ("destroy_book", 28800); // 8 hours }void destroy_book(){ message_vision("一阵风吹来," + (string)this_object()->query("name") + "片片碎落,随风而去了。\n", environment(this_object())); destruct(this_object());}int do_read(string arg){ object me; int jing_cost, gain; me=this_player(); if( !arg||!( arg == "jing"||arg =="book")) return notify_fail("什么?\n"); if( me->is_busy() ) return notify_fail("你现在忙着呢,哪有可能静心研读...\n"); if( me->is_fighting() ) return notify_fail("现在才想到精研毒技,太晚了吧?\n"); if ((string)me->query("family/family_name")!="五毒教"){ remove_call_out ("destroy_book"); call_out ("destroy_book", 0); } if( (int)me->query_skill("poison",1)<150 ||(int)me->query("combat_exp")< 300000 ) return notify_fail("你看来看去,就是没明白这本书上写的都是啥。\n"); if( (int)me->query_skill("poison",1)>300 ) return notify_fail("你的毒技已经很有造诣,这本书不会让你长进多少。\n"); jing_cost = 35 + (20-(int)me->query("int")); if( (int)me->query("jing")<jing_cost ) return notify_fail("你现在头晕脑胀,该休息休息了。\n"); me->receive_damage("jing", jing_cost); gain = (int)me->query_skill("poison", 1)/4+(int)me->query_skill("literate",1)/2; me->improve_skill("poison", gain);if (random(2)==1) me->improve_skill("duji", gain); message_vision("$N拿着绢册仔细阅读,只觉上面所载的种种用毒害人的\n方法都是闻所未闻,看着看着禁不住出了一身冷汗!\n", me); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?