"") { $newestname = $newestplayer; } else { $newestname = ""; } } } $basetext = array( "`@`c`b%s Square`b`cThe village of %s hustles and bustles. No one really notices that you're standing there. ". "You see various shops and businesses along main street. There is a curious looking rock to one side. ". "On every side the village is surrounded by deep dark forest.`n`n",$vname,$vname ); $origtexts = array( "text"=>$basetext, "clock"=>"The clock on the inn reads `^%s`@.`n", "title"=>array("%s Square", $vname), "talk"=>"`n`%`@Nearby some villagers talk:`n", "sayline"=>"says", "newest"=>$newtext, "newestplayer"=>$newestname, "newestid"=>$newestplayer, "gatenav"=>"City Gates", "fightnav"=>"Blades Boulevard", "marketnav"=>"Market Street", "tavernnav"=>"Tavern Street", "infonav"=>"Info", "othernav"=>"Other", "section"=>"village", "innname"=>$iname, "stablename"=>"Merick's Stables", "mercenarycamp"=>"Mercenary Camp", "armorshop"=>"Pegasus Armor", "weaponshop"=>"MightyE's Weaponry" ); $schemas = array( "text"=>"village", "clock"=>"village", "title"=>"village", "talk"=>"village", "sayline"=>"village", "newest"=>"village", "newestplayer"=>"village", "newestid"=>"village", "gatenav"=>"village", "fightnav"=>"village", "marketnav"=>"village", "tavernnav"=>"village", "infonav"=>"village", "othernav"=>"village", "section"=>"village", "innname"=>"village", "stablename"=>"village", "mercenarycamp"=>"village", "armorshop"=>"village", "weaponshop"=>"village" ); // Now store the schemas $origtexts['schemas'] = $schemas; // don't hook on to this text for your standard modules please, use "village" // instead. // This hook is specifically to allow modules that do other villages to create // ambience. $texts = modulehook("villagetext",$origtexts); //and now a special hook for the village $texts = modulehook("villagetext-{$session['user']['location']}",$texts); $schemas = $texts['schemas']; tlschema($schemas['title']); page_header($texts['title']); tlschema(); addcommentary(); $skipvillagedesc = handle_event("village"); checkday(); if ($session['user']['slaydragon'] == 1) { $session['user']['slaydragon'] = 0; } if ($session['user']['alive']){ }else{ redirect("shades.php"); } if (getsetting("automaster",1) && $session['user']['seenmaster']!=1){ //masters hunt down truant students $level = $session['user']['level']+1; $dks = $session['user']['dragonkills']; $expreqd = exp_for_next_level($level, $dks); if ($session['user']['experience']>$expreqd && $session['user']['level']<15){ redirect("train.php?op=autochallenge"); } } $op = httpget('op'); $com = httpget('comscroll'); $refresh = httpget("refresh"); $commenting = httpget("commenting"); $comment = httppost('insertcommentary'); // Don't give people a chance at a special event if they are just browsing // the commentary (or talking) or dealing with any of the hooks in the village. if (!$op && $com=="" && !$comment && !$refresh && !$commenting) { // The '1' should really be sysadmin customizable. if (module_events("village", getsetting("villagechance", 0)) != 0) { if (checknavs()) { page_footer(); } else { // Reset the special for good. $session['user']['specialinc'] = ""; $session['user']['specialmisc'] = ""; $skipvillagedesc=true; $op = ""; httpset("op", ""); } } } tlschema($schemas['gatenav']); addnav($texts['gatenav']); tlschema(); addnav("F?Forest","forest.php"); if (getsetting("pvp",1)){ addnav("S?Slay Other Players","pvp.php"); } addnav("Q?`%Quit`0 to the fields","login.php?op=logout",true); if (getsetting("enablecompanions",true)) { tlschema($schemas['mercenarycamp']); addnav($texts['mercenarycamp'], "mercenarycamp.php"); tlschema(); } tlschema($schemas['fightnav']); addnav($texts['fightnav']); tlschema(); addnav("u?Bluspring's Warrior Training","train.php"); if (@file_exists("lodge.php")) { addnav("J?JCP's Hunter Lodge","lodge.php"); } tlschema($schemas['marketnav']); addnav($texts['marketnav']); tlschema(); tlschema($schemas['weaponshop']); addnav("W?".$texts['weaponshop'],"weapons.php"); tlschema(); tlschema($schemas['armorshop']); addnav("A?".$texts['armorshop'],"armor.php"); tlschema(); addnav("B?Ye Olde Bank","bank.php"); addnav("Z?Ze Gypsy Tent","gypsy.php"); if (getsetting("betaperplayer", 1) == 1 && @file_exists("pavilion.php")) { addnav("E?Eye-catching Pavilion","pavilion.php"); } tlschema($schemas['tavernnav']); addnav($texts['tavernnav']); tlschema(); tlschema($schemas['innname']); addnav("I?".$texts['innname']."`0","inn.php",true); tlschema(); tlschema($schemas['stablename']); addnav("M?".$texts['stablename']."`0","stables.php"); tlschema(); addnav("G?The Gardens", "gardens.php"); addnav("R?Curious Looking Rock", "rock.php"); if (getsetting("allowclans",1)) addnav("C?Clan Halls","clan.php"); tlschema($schemas['infonav']); addnav($texts['infonav']); tlschema(); addnav("??F.A.Q. (newbies start here)", "petition.php?op=faq",false,true); addnav("N?Daily News","news.php"); addnav("L?List Warriors","list.php"); addnav("o?Hall o' Fame","hof.php"); tlschema($schemas['othernav']); addnav($texts['othernav']); tlschema(); addnav("P?Preferences","prefs.php"); if (!file_exists("lodge.php")) { addnav("Refer a Friend", "referral.php"); } tlschema('nav'); addnav("Superuser"); if ($session['user']['superuser'] & SU_EDIT_COMMENTS){ addnav(",?Comment Moderation","moderate.php"); } if ($session['user']['superuser']&~SU_DOESNT_GIVE_GROTTO){ addnav("X?`bSuperuser Grotto`b","superuser.php"); } if ($session['user']['superuser'] & SU_INFINITE_DAYS){ addnav("/?New Day","newday.php"); } tlschema(); //let users try to cheat, we protect against this and will know if they try. addnav("","superuser.php"); addnav("","user.php"); addnav("","taunt.php"); addnav("","creatures.php"); addnav("","configuration.php"); addnav("","badword.php"); addnav("","armoreditor.php"); addnav("","bios.php"); addnav("","badword.php"); addnav("","donators.php"); addnav("","referers.php"); addnav("","retitle.php"); addnav("","stats.php"); addnav("","viewpetition.php"); addnav("","weaponeditor.php"); if (!$skipvillagedesc) { modulehook("collapse{", array("name"=>"villagedesc-".$session['user']['location'])); tlschema($schemas['text']); output($texts['text']); tlschema(); modulehook("}collapse"); modulehook("collapse{", array("name"=>"villageclock-".$session['user']['location'])); tlschema($schemas['clock']); output($texts['clock'],getgametime()); tlschema(); modulehook("}collapse"); modulehook("village-desc",$texts); //support for a special village-only hook modulehook("village-desc-{$session['user']['location']}",$texts); if ($texts['newestplayer'] > "" && $texts['newest']) { modulehook("collapse{", array("name"=>"villagenewest-".$session['user']['location'])); tlschema($schemas['newest']); output($texts['newest'], $texts['newestplayer']); tlschema(); $id = $texts['newestid']; if ($session['user']['superuser'] & SU_EDIT_USERS && $id) { $edit = translate_inline("Edit"); rawoutput(" [$edit]"); addnav("","user.php?op=edit&userid=$id"); } output_notl("`n"); modulehook("}collapse"); } } modulehook("village",$texts); //special hook for all villages... saves queries... modulehook("village-{$session['user']['location']}",$texts); if ($skipvillagedesc) output("`n"); $args = modulehook("blockcommentarea", array("section"=>$texts['section'])); if (!isset($args['block']) || $args['block'] != 'yes') { tlschema($schemas['talk']); output($texts['talk']); tlschema(); commentdisplay("",$texts['section'],"Speak",25,$texts['sayline'], $schemas['sayline']); } module_display_events("village", "village.php"); page_footer(); ?>