drink.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 87 行
C
87 行
// drink.c// by snowman@SJ 02/04/1999.#include <ansi.h>inherit F_CLEAN_UP;int main(object me, string arg){ object obj; if (me->is_busy() || me->is_fighting()) return notify_fail("你正忙着呢。\n"); if( (int)me->query("water") >= me->max_water_capacity() ) return notify_fail("你已经喝太多了,再也灌不下一滴水了。\n"); if (!environment(me)) return notify_fail("目前有问题。\n"); if (!me) return notify_fail("你断线了。\n"); if(!arg){ obj = environment(me); if(!obj->query("resource/water")) return notify_fail("这地方可没水。\n"); if((string)obj->query("drink_msg")) message_vision(obj->query("drink_msg"), me); else message_vision("$N捧起一些清水,慢慢喝了下去。\n", me); me->add("water", 20); if( obj->query("liquid/drink_func") ) return 1; return 1; } else if(!objectp(obj = present(arg, me)) ) return notify_fail("你身上没有这样东西。\n"); if(!obj->query("liquid") ) return notify_fail("看清楚点,这东西装有喝的吗?\n"); if(!obj->query("liquid/remaining") ) return notify_fail( obj->name() + (obj->query("liquid/name") ? "已经被喝得一滴也不剩了。\n":"是空的。\n")); me->add("water", 10+((int)obj->query("liquid/drunk_apply")?obj->query("liquid/drunk_apply"):20)); obj->set("value", 0); obj->add("liquid/remaining", -1); // if((int)obj->query("liquid/busy"))// me->start_busy(obj->query("liquid/busy")); if((string)obj->query("drink_msg")) message_vision(obj->query("drink_msg"), me, obj); else message_vision("$N拿起$n咕噜噜地喝了几口" + obj->query("liquid/name")+ "。\n", me, obj); if( !obj->query("liquid/remaining") ){ if((string)obj->query("finish_msg")) write(obj->query("finish_msg")); else write("你已经将" + obj->name() + "里的" + obj->query("liquid/name")+ "喝得一滴也不剩了。\n"); } if( obj->query("liquid/drink_func") ) return 1; if (!obj) return 1; switch(obj->query("liquid/type")) { case "alcohol": me->apply_condition("drunk",(int)me->query_condition("drunk")+ (int)obj->query("liquid/drunk_apply")); break; case "xx_poison": me->apply_condition("xx_poison",(int)me->query_condition("xx_poison")+ (int)obj->query("liquid/drunk_apply")); break; } return 1;}int help(object me){ write(@HELP指令格式 : drink [物品名称] 这个指令可以让你喝饮水。例: drink jiudai. drink. ( 如果你所在的地方有水源的话)。 HELP ); return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?