#include "std.h"
int helped;
object solar, shackles, bag, money;
#undef EXTRA_MOVE1
#define EXTRA_MOVE1\
if (call_other("players/kantele/guard_room","query_gate1")) {\
write("The celldoor is closed.\n");\
return 1;\
}
#undef EXTRA_LONG
#define EXTRA_LONG\
if (call_other("players/kantele/guard_room","query_gate1")) {\
write("A heavy steel celldoor leads north, the door is closed.\n");\
}\
if (!call_other("players/kantele/guard_room","query_gate1")) {\
write("A heavy steel celldoor leads north, the door is open.\n");\
}\
if (str == "celldoor" || str == "door") {\
if (call_other("players/kantele/guard_room","query_gate1")) {\
write("The celldoor is closed.\n");\
return 1;\
}\
write("The celldoor is open.\n");\
return 1;\
}
#undef EXTRA_INIT
#define EXTRA_INIT add_action("open_shackles"); add_verb("open");
open_shackles(str) {
if (str && str !="shackles" || !str || helped ==0 || !(solar)) {
return 0;
} else {
write("Ok\n");
helped =0;
write("The Solar thanks you.\n");
write("The Solar gives you a bag.\n");
destruct(solar);
write("The Solar disapears in a puff of smoke !\n");
bag = clone_object("obj/bag");
money = clone_object("obj/money");
call_other(money, "set_money", random(2500));
move_object(money, bag);
move_object(bag,this_player());
return 1;
}
}
#undef EXTRA_RESET
#define EXTRA_RESET\
extra_reset();
extra_reset() {
helped =1;
if (!solar || !living(solar)) {
solar = clone_object("obj/monster");
call_other(solar, "set_name", "solar");
call_other(solar, "set_level",19);
call_other(solar, "set_short","A beautiful Solar is here");
call_other(solar, "set_al", 300);
call_other(solar, "set_wc",30);
call_other(solar, "set_ac",3);
call_other(solar, "set_chance",30);
call_other(solar, "set_spell_mess1",
"The Solar throws a fireball");
call_other(solar, "set_spell_mess2",
"You are hit by a fireball");
call_other(solar, "set_spell_dam",40);
move_object(solar, this_object());
shackles = clone_object("players/kantele/shackles");
move_object(shackles, solar);
}
}
ONE_EXIT("players/kantele/dungeon_corridor.c","north",
"A small dirty cell",
"In a small dirty cell.\n",0)
id(str) {
return str == "celldoor" || str == "door" || str == "shackles";}