/
#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";}