shoujuan2.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 82 行
C
82 行
// bandage.c#include <ansi.h>inherit ITEM;inherit F_EQUIP;void create(){ set_name(WHT"白手绢"NOR, ({ "bai shoujuan", "piece", "shoujuan"}) ); set_weight(200); if( clonep() ) set_default_object(__FILE__); else { set("unit", "方"); set("material", "cloth"); set("long", "这是一方雪白的手绢,上面有些字: 跟着手绢上的图案走,你就可以走出大戈壁。。。\n"); set("armor_type", "bandage"); set("armor_prop/attack", -10); set("armor_prop/defense", -10); set("armor_prop/unarmed", -10); set("no_get",1); set("no_drop",1); }}void init(){ add_action("do_bandage", "bandage");}int wear() { return 0; }int do_bandage(string arg){ object ob; if( (int)query("blood_soaked") >= 2 ) return notify_fail( name() + "已经被鲜血浸透,不能再用了。\n"); if( query("equipped") ) return notify_fail( name() + "已经裹在你的伤口上了,如果你要用来包扎别人,请你先把它除下来。\n"); if( !arg ) ob = this_player(); else { ob = present(arg, environment(this_player())); if( !ob || !userp(ob)) return notify_fail("你要替谁裹伤?\n"); } if( this_player()->is_fighting() || ob->is_fighting() ) return notify_fail("战斗中不能裹伤。\n"); if( (int)ob->query("eff_qi") == (int)ob->query("max_qi") ) return notify_fail( (ob==this_player()? "你" : ob->name()) + "并没有受到任何外伤。\n"); if( ob->query_temp("armor/bandage") ) return notify_fail( ob->name() + "身上的伤已经裹著其他东西了。\n"); if( !move(ob) ) return 0; if( ob==this_player() ) message_vision("$N用" + name() + "替自己裹伤。\n", this_player()); else message_vision("$N用" + name() + "替$n裹伤。\n", this_player(), ob); ::wear(); ob->apply_condition("bandaged", 40); add("blood_soaked", 1); return 1;}void remove(string euid){ ::remove(euid); if( query("equipped") && environment() ) environment()->apply_condition("bandaged", 0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?