inherit "room/room"; inherit "players/jubal/secur"; #define LOAD ({"/players/jubal/workroom"}) reset(arg) { int i; /* load workrooms */ for(i=0;iping(); set_light(1); short_desc = "Jubal's Castle Object"; no_castle_flag = 0; if (secur!="on" && secur!="off") secur="off"; long_desc = "Jubal's Castle Object\nSecurity is "+secur+"\n"; dest_dir = ({ "room/church", "church", "room/post", "mail", "room/adv_inner", "inner", "players/jubal/castle/entrance", "castle", "room/mount_top2", "yard", "players/jubal/sim/sim", "sim", }); } init() { ::init(); do_secur("room/void"); } query_where(room,player) { string tmp,nameis; object ob; int i; if(player==this_player()) nameis="You are"; else nameis="$name is"; if(sscanf(room,"players/jubal/hell%s",tmp)) return nameis+" in Hell"; if(player->query_real_name()=="jubal") { ob=filter_array(users(),"same_env",this_object(),player); if(!ob || sizeof(ob)==0) return nameis; tmp=nameis+" chatting with: "; for(i=sizeof(ob)-1;i>=0;i--) { if(ob[i]!=this_player()) tmp+=ob[i]->query_name(); else tmp+="You"; if(i>1) tmp+=", "; else if(i==1) tmp+=" and "; } return tmp; } if(room=="players/jubal/workroom") return nameis+" hanging out in Jubal's Workroom"; if(room=="players/jubal/room/sim") return nameis+" in the SimArena"; if(sscanf(room,"players/jubal/monopoly%s",tmp)) if(present("__mobj",player)) return nameis+" playing Monopoly"; else return nameis+" on the Monopoly board"; if(!find_player("jubal")) return nameis+" hoping Jubal won't show up"; return nameis+" lost in Jubal's area"; } same_env(ob,me) { return (environment(ob)==environment(me) && ob!=me); }