ice.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 117 行
C
117 行
//COPY 自 XYJ 雪山冰刀,//天下程序本一家,你抄我抄大家抄,嘿嘿……//LUCAS :)#include <ansi.h> #include <weapon.h> inherit SWORD;int do_make(string);void create(){ set_name(HIW "冰柱" NOR, ({ "bing zhu", "bing", "ice" }) ); set_weight(5000); if (clonep()) set_default_object(__FILE__); else { set("unit", "柄"); set("long", "这是一片长长的冰柱,看起来晶莹剔透,锋锐无比,不知道能不能吃。\n"); set("unit", "片" ); set("value", 8); set("wield_msg", "$N「唰」的一声抽出一柄$n握在手中。\n"); set("unwield_msg", "$N小心将手中的$n放回怀中。\n"); set("material", "ice"); } init_sword(25); setup(); }void do_melt(){ if(this_object()) call_out("melt", 40+random(40));}void melt(){ object env; if(!this_object()) return; env=environment(this_object()); if( env->is_character() ) {//a player or a NPC. if( (int)env->query_skill("bingxue-xinfa", 1) < 20 ) { message_vision("$N觉得身上凉凉的,湿湿的,原来是冰柱化了。\n", env); destruct(this_object()); return; } } else if( (int)env->query_max_encumbrance() > 0 && !environment(env) ) {//a room. if( (string)env->query("outdoors") != "lingxiao" ) { tell_object(env,"冰柱终于化成了一滩水,流得到处都是。\n"); destruct(this_object()); return; } }}void init(){ remove_call_out("do_melt"); call_out("do_melt", 1); add_action("do_make", "make"); add_action("do_make", "zuo"); add_action("do_chi", "chi"); add_action("do_chi", "eat");}int do_make(string arg){ object ob, me; me = this_player(); if( !arg || (arg != "sword" && arg != "jian" ) ) return notify_fail("你要做什么?\n"); if( (int)me->query("neili") < 200 || (int)me->query_skill("bingxue-xinfa", 1) < 20 ) { message_vision("$N拿起冰柱捏来捏去,结果冰柱很快就化掉了。\n", me); destruct(this_object()); return 1; } ob=new("/d/lingxiao/obj/icesword"); ob->move(me); me->add("neili", -100); message_vision(HIW"$N拿起冰柱,暗运冰雪心法,只见冰柱透出一股清气,居然变成了一把剑!\n"NOR, me); destruct(this_object()); return 1;}int do_chi(string arg){ if( !this_object()->id(arg) ) return 0; if( this_player()->is_busy() ) return notify_fail("你上一个动作还没有完成。\n"); if(!arg) return notify_fail("你要吃什么?\n"); message_vision( "$N拿起冰柱使劲一咬,只听嘎哒!一声,牙甭了。\n" , this_player()); if( (int)this_player()->query("qixue") > 20 ) this_player()->add("qixue", -20); else this_player()->unconcious(); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?