// An elixir of healing. // Drink this and you get some hits back, you lucky dog. // It doesn't leave a bottle behind because otherwise empty bottles tend // to clutter up memory. If you've got RAM to spare, then you might want // to make an empty bottle object to leave behind. Or maybe not. Who really // wants two dozen empty bottles? // Written by Mobydick, 11-20-92. // Remove this header and the fleas of a thousand camels will infest // your armpits. #include <mudlib.h> #define HEALING 15 inherit OBJECT ; void create() { set ("short", "an elixir of healing") ; set ("long", "This is a glowing potion. If you drink it you will become healthier.\n") ; set ("id", ({ "potion", "elixir" }) ) ; set ("mass", 50) ; set ("bulk", 20) ; } void init() { add_action ("drink", "drink") ; } int drink (string str) { int res, max ; if (!str || !id(str)) { notify_fail ("What would you like to drink?\n") ; return 0 ; } write ("You drink the elixir of healing.\n"+ "As you drink the last drop, the bottle vanishes in a puff of smoke!\n") ; res = this_player()->query("hit_points") ; max = this_player()->query("max_hp") ; res = res + HEALING ; if (res>max) res=max ; this_player()->set("hit_points", res) ; remove() ; return 1 ; }