#include "std.h" int shieldi; object james; #undef EXTRA_MOVE1 #define EXTRA_MOVE1\ if (call_other(this_player(), "query_level", 0) < 20) {\ if (james && present(james, this_object())) {\ write("James bars your way !\n");\ write("James says: Can you please leave, Sir !\n");\ return 1;\ }\ } #undef EXTRA_MOVE3 #define EXTRA_MOVE3\ if (call_other(this_player(), "query_level", 0) < 20) {\ if (james && present(james, this_object())) {\ write("James bars your way !\n");\ write("James says: Can you please leave, Sir !\n");\ return 1;\ }\ } #undef EXTRA_MOVE4 #define EXTRA_MOVE4\ if (call_other(this_player(), "query_level", 0) < 20) {\ if (james && present(james, this_object())) {\ write("James bars your way !\n");\ write("James says: Can you please leave, Sir !\n");\ return 1;\ }\ } #undef EXTRA_RESET #define EXTRA_RESET\ if (!james || !living(james)) {\ shield = 0;\ james = clone_object("obj/monster");\ call_other(james, "set_name", "james");\ call_other(james, "set_level", 12);\ call_other(james, "set_al", 12);\ call_other(james, "set_short", "James the butler is here");\ call_other(james, "set_wc", 10);\ call_other(james, "set_alias","butler");\ call_other(james, "add_money", random(1000));\ move_object(james, this_object());\ } #undef EXTRA_INIT #define EXTRA_INIT add_action("get_shield"); add_verb("pry"); object shield; FOUR_EXIT("players/kantele/stairway","south", "players/kantele/hall", "north", "players/kantele/dining_room","west", "players/kantele/living_room","east", "The inner hall", "You are in the inner hall, the walls are lined with shields\n" + "It looks like the shields are loot from some sort of campaign.\n",1) get_shield(arg) { if (arg != "of shield") { write("pry of what ?\n"); } else { if (!present("shield", this_player()) && shieldi < 5) { shieldi = shieldi +1; write("you pry off a shield.\n"); shield = clone_object("obj/armour"); call_other(shield, "set_ac",1); call_other(shield, "set_name", "shield"); call_other(shield, "set_alias", "small shield"); call_other(shield, "set_value", 70); call_other(shield, "set_short", "A small metal shield"); call_other(shield, "set_weight",4); call_other(shield, "set_type", "shield"); move_object(shield, this_player()); return 1; } else { write("the shields are fastened to hard.\n"); return 1; } } }