inherit "/lib/std/room";
void init() {
    ::init();
    add_action("go_north", "north");
}
void create() {
    ::create();
    SetProperty("light", 2);
    SetProperty("indoors", 1);
    SetShort( "Horace's Adventurer's Supply Shop");
    SetLong(
            "Welcome to Horace's Adventurer's Supply Shop!\n"
            "Horace buys and sells goods created for and found "
            "by adventurer's when he is in.  The store opens out "
            "onto Boc La Road south.  There is a passage to the "
            "north guarded by a magic field.");
    SetItems(
            (["shop" : "You can buy and sell things here.",
             "passage" : "Horace keeps the things he has for sale back there.",
             "road" : "Boc La Road."]) );
    SetExits( 
            (["south"	: "/domains/Praxis/e_boc_la2"]) );
    SetProperty("no castle", 1);
}
void reset() {
    ::reset();
    if(!present("horace")) 
        new("/domains/Praxis/obj/mon/horace")->move(this_object());
}
int go_north() {
    if((string)this_player()->query_position() == "player" || 
            (string)this_player()->query_position() == "high mortal") {
        write("The magic of Horace stops you.");
        say(this_player()->query_cap_name()+" is stopped by the magic of Horace.",
                this_player());
        return 1;
    }
    write("You cannot be stopped by Horace's magic.");
    say(this_player()->query_cap_name()+" cannot be stopped by Horace's "+
            "magic.", this_player());
    this_player()->eventMoveLiving("/domains/Praxis/storage", "north");
    return 1;
}