#include "std.h" int gate_is_open; object gatekeeper,robe; #undef EXTRA_LONG #define EXTRA_LONG\ if (str == "gate" && gate_is_open == 1) {\ write("The gate is shimering black sinister.\n");\ return;\ }\ if (str == "gate" && gate_is_open ==0) {\ write("The gate looks compleatly dead.\n");\ return;\ } #undef EXTRA_INIT #define EXTRA_INIT\ add_action("enter"); add_verb("enter");\ add_action("open_gate"); add_verb("open");\ add_action("close_gate"); add_verb("close");\ #undef EXTRA_RESET #define EXTRA_RESET\ extra_reset(); extra_reset() { if (!gatekeeper || !living(gatekeeper)) { gatekeeper = clone_object("obj/monster"); call_other(gatekeeper, "set_name", "gatekeeper"); call_other(gatekeeper, "set_level",19); call_other(gatekeeper, "set_short", "The grayrobed Gatekeeper is here"); call_other(gatekeeper, "set_long","He looks VERY tough"); call_other(gatekeeper, "set_wc", 35); call_other(gatekeeper, "set_ac",2); call_other(gatekeeper, "set_hp",450); move_object(gatekeeper, this_object()); robe = clone_object("obj/armour"); call_other(robe, "set_name", "robe"); call_other(robe, "set_short","A grey robe"); call_other(robe, "set_value",1000); call_other(robe, "set_weight",2); call_other(robe, "set_ac",1); call_other(robe, "set_type","robe"); move_object(robe,gatekeeper); } } ONE_EXIT("players/kantele/hellgate_anteroom.c","south", "Hellgate", "You are at hellgate, the gate stands black and sinister to the north.\n" + "This is the place where gods expel people they don't want on earth.\n", 1) enter() { if (gate_is_open ==0) { write("the gate is closed\n"); return 1; } else { write("you get a tingeling feeling as you enter the gate.\n"); call_other(this_player(), "move_player", "X#players/kantele/hell1"); return 1; } } open_gate(str) { if(str && str =="gate") { if (call_other(this_player(), "query_level", 0) > 20) { gate_is_open =1; say(call_other(this_player(), "query_name") + " has opened the gate.\n"); write("You have opened the gate.\n"); return 1; } else { say(call_other(this_player(), "query_name") + " tries to open the gate. but fails.\n"); write("The power to open the gate don't belong to you.\n"); return 1; } } } close_gate(str) { if(str && str =="gate") { if (call_other(this_player(), "query_level", 0) > 20) { gate_is_open =0; say(call_other(this_player(), "query_name") + " has closed the gate.\n"); write("You have closed the gate.\n"); return 1; } else { say(call_other(this_player(), "query_name") + " tries to close the gate. but fails.\n"); write("The power to open the gate don't belong to you.\n"); return 1; } } } id(str) { if (str == "gate") return 1; }