/* The base object for the pools that are in /domains/Standard/center * Beek - 090194 */ #include <lib.h> inherit LIB_ITEM; string adjective; string destination; void create() { ::create(); SetKeyName("pool"); SetShort("an empty pool"); SetId( ({ "pool", "empty pool" }) ); SetLong( "Somehow, this pool is completely empty." ); SetPreventGet("Interesting concept."); } void init() { add_action("wade", "wade"); } int wade(string str) { string which; if (!str || !sscanf(str, "in %s", which)) return notify_fail("Wade in what?\n"); if (which == "pool") return notify_fail("Wade in which pool?\n"); if (!id(which)) return notify_fail("You can't wade in " + which + ".\n"); if (!destination) { write("Tough to do with an empty pool.\n"); tell_room(this_object(), this_player()->GetName()+" tries to wade in an empty pool.\n", this_player()); return 1; } write("You slowly wade deeper and deeper into the pool. Suddenly, the bottom disappears and you find yourself falling ....\n\n\n\n"); destination->pool_enter(); this_player()->eventMoveLiving(destination, "#$N wades into the " + adjective + " pool, and disappears below the surface."); return 1; } void set_adjective(string adj) { adjective = adj; SetKeyName(adj+" pool"); SetId( ({ "pool", adj + " pool" }) ); SetShort( "a " + adj + " pool" ); } void set_destination(string dest) { destination = dest; } string GetLong(string unused) { write("As you look at the " + adjective + " pool, an image forms on the surface ...\n"); this_player()->move(destination); this_player()->eventDescribeEnvironment(0); this_player()->eventMove(environment()); return "\nbut then the image fades.\n\nDespite the obvious hallucinogenic effects of the pool, it looks like it would be safe to 'wade' in it.\n"; }