#include <lib.h> int go_east(); inherit LIB_ROOM; void init() { ::init(); add_action("become", "become"); add_action("preview","preview"); } void create() { ::create(); SetProperty("light", 2); SetProperty("indoors", 1); SetProperty("no castle", 1); SetShort( "Entry to the Hall of Monks"); SetLong( "Candles illuminate the chambers of the monastery. " "The monks who run the monastery keep home here " "and initiate new believers into way of monks. " "A passage to the east is filled with a shimmering light. " "<preview> will tell you about becoming a monk."); SetItems( (["candles" : "They are all over the monastery.", "candle" : "It burns brightly and helps light the room.", "monk" : "She is wandering about peacefully.", "passage" : "You sense that only monks may pass that way."]) ); SetExits( (["down" : "/domains/Praxis/stairs"]) ); AddExit("east","/domains/Praxis/monk_hall",(:go_east:)); } int preview() { if((string)this_player()->query_class() != "explorer") { message("info", "This is not for you.", this_player()); return 1; } say(this_player()->query_cap_name()+" seeks to learn about the monks.", this_player()); message("info", "Welcome, explorer!", this_player()); message("info", "Monks make up people of many different beliefs of " "great faith, but they are all united in their belief in a single " "deity of Goodness and will devote themselves to Holy War to fight " "evil wherever it might be. They are nearly fanatical about their " "beliefs. To become a monk, type <become monk>,", this_player()); return 1; } int become(string str) { if(!str) { notify_fail("Become what?\n"); return 0; } if(str != "monk") { notify_fail("You cannot become that here.\n"); return 0; } if((string)this_player()->query_class() != "explorer") { message("my_action", "You are much too old to start learning our ways now!", this_player()); return 1; } message("my_action", "The Grand Lord High Priestess initiates you into the class of monks.", this_player()); message("other_action", this_player()->query_cap_name()+" becomes a monk.", this_object(), ({ this_player() })); this_player()->SetClass("monk"); this_player()->setenv("TITLE", "$N the novice monk"); this_player()->init_skills("monk"); this_player()->setenv("start", "/domains/Praxis/monk_hall"); return 1; } int go_east() { if(creatorp(this_player())){ write("Mighty immortals are always welcome into the humble monastary."); return 1; } else if((string)this_player()->query_class() != "monk") { write("You cannot penetrate the force field that blocks the passage."); say(this_player()->query_cap_name()+" tries to get into the monk's sanctuary, but fails.", this_player()); return 0; } return 1; }