Frame 1
if (this.getBytesLoaded() >= this.getBytesTotal()) {
gotoAndPlay ("titleScreen");
}
Frame 17
gotoAndPlay ("loadLoop");
Frame 26
stop();
scanlines_mc.gotoAndStop("none");
Frame 45
scanlines_mc.gotoAndStop("none");
Frame 59
stop();
Game.init(_root);
Frame 67
scanlines_mc.gotoAndStop("dead");
Frame 240
stop();
Frame 252
Game.setScanlines("full");
Symbol 25 MovieClip Frame 18
stop();
Symbol 27 MovieClip [itemHolder_mc] Frame 15
stop();
Symbol 33 MovieClip Frame 6
stop();
Symbol 38 MovieClip Frame 1
stop();
Symbol 41 MovieClip [flaskGame_mc] Frame 1
stop();
Symbol 49 MovieClip [winner_mc] Frame 486
var tw = new TextWriter(endgame_mc.output, endgame_mc, 3);
tw.set(Game.getWinText());
Game.setScanlines("end");
Symbol 49 MovieClip [winner_mc] Frame 687
var dt = new DissolveTransition(ending_mc, 20, 5);
dt.startIn();
stop();
Symbol 52 MovieClip Frame 1
scanlines_holder_mc.lineStyle(1, 0, 100);
var i = 0;
while (i < 404) {
scanlines_holder_mc.moveTo(-1, i);
scanlines_holder_mc.lineTo(551, i);
i = i + 2;
}
Symbol 52 MovieClip Frame 2
stop();
Symbol 247 MovieClip [__Packages.TextWriter] Frame 0
class TextWriter
{
var lettersPerFrame, on_fmt, off_fmt, _mc, _txt, bgColor, frameCounter, done;
function TextWriter (p_txt, p_mc, pLettersPerFrame, pBackgroundColor) {
lettersPerFrame = pLettersPerFrame;
on_fmt = new TextFormat();
off_fmt = new TextFormat();
_mc = p_mc;
_txt = p_txt;
if (pBackgroundColor == undefined) {
bgColor = 0;
} else {
bgColor = pBackgroundColor;
}
off_fmt.color = bgColor;
on_fmt.color = 16760576 /* 0xFFBF00 */;
}
function set(newVal) {
var thisTextWriter = this;
_txt.setNewTextFormat(off_fmt);
_txt.text = newVal;
frameCounter = 0;
_mc.onEnterFrame = function () {
thisTextWriter.update();
};
done = false;
}
function update() {
frameCounter++;
_txt.setTextFormat(0, frameCounter * lettersPerFrame, on_fmt);
if ((frameCounter * lettersPerFrame) >= _txt.text.length) {
delete _mc.onEnterFrame;
Game.doneTextWriting();
done = true;
}
}
function skipToEnd() {
_txt.setTextFormat(0, _txt.text.length, on_fmt);
delete _mc.onEnterFrame;
done = true;
Game.doneTextWriting();
}
}
Symbol 248 MovieClip [__Packages.Game] Frame 0
class Game
{
static var _mc, photo_mc, output_mc, input_mc, tw, tp, dead, continuePlease, curRoomName, curRoom, inputMode, responses, waitForEnter, dontHideItemThisTurn, responseIndex, dt, keyListener, flaskGm, scrapbookMode, acceptInput, waitForEnterCallback, item_mc;
function Game () {
}
static function init(p_mc) {
_mc = p_mc;
photo_mc = _mc.photo_mc;
output_mc = _mc.output_mc;
input_mc = _mc.input_mc;
tw = new TextWriter(output_mc.output, output_mc, 3);
tp = new TextParser();
dead = false;
SoundFX.init();
playingFlaskGame = false;
if (continuePlease == true) {
GameState.clear();
SaveGame.load(0);
continuePlease = false;
curRoomName = LocalData.load("save0", "currentRoom").toString();
} else {
GameState.clear();
curRoomName = "spikes";
}
setAcceptInput(false);
setScanlines("gameplay");
createRoomObject();
doneFadingRoomOut();
_mc.youAreHere_txt.text = curRoom.getName();
output(curRoom.r);
inputMode = "free";
responses = new Array();
waitForEnter = false;
initKeyboardInput();
updateScoreString();
SaveGame.save(0);
}
static function createRoomObject(roomname) {
delete curRoom;
if (roomname != undefined) {
curRoomName = roomname;
}
switch (curRoomName) {
case "spikes" :
curRoom = new Room_spikes();
break;
case "crossroads" :
curRoom = new Room_crossroads();
break;
case "sanctum" :
curRoom = new Room_sanctum();
break;
case "monastery_outside" :
curRoom = new Room_monastery_outside();
break;
case "monastery_inside" :
curRoom = new Room_monastery_inside();
break;
case "cauldron" :
curRoom = new Room_cauldron();
break;
case "overlook" :
curRoom = new Room_overlook();
break;
case "empty" :
curRoom = new Room_empty();
break;
case "bridge" :
curRoom = new Room_bridge();
break;
case "hag" :
curRoom = new Room_hag();
break;
case "pub" :
curRoom = new Room_pub();
break;
case "sandwich" :
curRoom = new Room_sandwich();
break;
case "tavern" :
curRoom = new Room_tavern();
break;
case "woods" :
curRoom = new Room_woods();
break;
case "street" :
curRoom = new Room_street();
break;
case "clearing" :
curRoom = new Room_clearing();
break;
case "sanctum_revenge" :
curRoom = new Room_sanctum_revenge();
break;
}
}
static function output(text) {
tw.set(text);
}
static function inputSubmitted() {
dontHideItemThisTurn = false;
var _local1 = curRoom.getName();
addCycleResponse(input_mc.input.text);
responseIndex = responses.length;
tp.set(input_mc.input.text);
setAcceptInput(false);
trace("inputSubmitted(): curRoom.r = " + curRoom.r);
input_mc.input.text = "";
curRoom.r = "";
curRoom.parse();
curRoom.postParse();
hideItem();
if (!playingFlaskGame) {
tw.set(curRoom.r);
}
}
static function newRoom(roomname) {
trace("Game::newRoom " + roomname);
dontHideItemThisTurn = true;
createRoomObject(roomname);
_mc.youAreHere_txt.text = curRoom.getName();
dt.startOut(doneFadingRoomOut);
SaveGame.save(0);
}
static function woodsFade() {
dt.startOut(doneFadingRoomOut);
}
static function doneFadingRoomOut() {
trace("Game::doneFadingRoomOut()");
photo_mc.attachMovie("room_" + curRoomName, "roomPhoto_mc", 1);
curRoom.hideItems();
centerPhoto();
delete dt;
dt = new DissolveTransition(photo_mc, 6, 200);
dt.startIn();
dontHideItemThisTurn = false;
hideItem();
}
static function doneFadingRoomIn() {
trace("doneFadingRoomIn()");
curRoom.displayItems();
}
static function clearPicture() {
photo_mc.roomPhoto_mc.removeMovieClip();
}
static function showVoip() {
clearPicture();
photo_mc.attachMovie("voip_mc", "roomPhoto_mc", 1);
delete dt;
dt = new DissolveTransition(photo_mc, 6, 200);
dt.startIn();
}
static function showMutton() {
clearPicture();
photo_mc.attachMovie("mutton_mc", "roomPhoto_mc", 1);
delete dt;
dt = new DissolveTransition(photo_mc, 6, 200);
dt.startIn();
}
static function addCycleResponse(strToAdd) {
if (strToAdd == newline) {
return(undefined);
}
if (strToAdd == "") {
return(undefined);
}
responses.push(strToAdd);
if (responses.length > 30) {
responses.splice(0, 1);
}
}
static function cycleResponses(up) {
trace("Game::cycleResponses()");
if (up) {
responseIndex--;
} else {
responseIndex++;
}
if (responseIndex >= responses.length) {
input_mc.input.text = "";
responseIndex = responses.length;
return(undefined);
}
if (responseIndex < 0) {
responseIndex = 0;
}
input_mc.input.text = responses[responseIndex];
}
static function initKeyboardInput() {
Key.removeListener(keyListener);
keyListener = new Object();
keyListener.onKeyDown = function () {
Game.keyPressed();
};
Key.addListener(keyListener);
}
static function keyPressed() {
var _local1 = String.fromCharCode(Key.getAscii());
var _local2 = Key.getCode();
if ((_local2 == 13) && (playingFlaskGame)) {
flaskGm.enterPressed();
return(undefined);
}
if (scrapbookMode && (_local2 == 13)) {
inputSubmitted();
return(undefined);
}
if (inputMode == "kigalonian") {
if ((((((_local1 == "1") || (_local1 == "2")) || (_local1 == "3")) || (_local1 == "4")) || (_local1 == "5")) || (_local1 == "6")) {
input_mc.input.text = _local1;
inputSubmitted();
}
return(undefined);
}
if (_local2 == 13) {
if (!tw.done) {
_local1 = "";
tw.skipToEnd();
} else if (waitForEnter) {
_local1 = "";
input_mc.input.text = "";
curRoom.r = "";
waitForEnter = false;
trace(("Game::keyPressed() before " + curRoom.r) + " = r");
if (dead) {
postDead();
} else {
curRoom.pressEnterCallback();
}
trace(("Game::keyPressed() after " + curRoom.r) + " = r");
tw.set(curRoom.r);
} else if (acceptInput) {
if (input_mc.input.text == "") {
_local1 = "";
} else if (input_mc.input.text.length > 0) {
inputSubmitted();
}
}
}
if ((_local2 == 38) && (acceptInput)) {
cycleResponses(true);
}
if ((_local2 == 40) && (acceptInput)) {
cycleResponses(false);
}
if (((_local2 == 8) || (_local2 == 46)) || (_local2 == 37)) {
input_mc.input.text = input_mc.input.text.slice(0, input_mc.input.text.length - 1);
return(undefined);
}
if (acceptInput) {
input_mc.input.text = input_mc.input.text + _local1;
}
}
static function centerPhoto() {
photo_mc._x = (STAGE_WIDTH / 2) - (photo_mc._width / 2);
}
static function setAcceptInput(val) {
if (scrapbookMode) {
val = false;
}
if (inputMode == "yn") {
input_mc.question_txt.text = "Yes or no:";
} else if (inputMode == "talk") {
input_mc.question_txt.text = "What wouldst thou say?";
} else if (inputMode == "kigalonian") {
input_mc.question_txt.text = "To which one will thou talk?";
} else {
input_mc.question_txt.text = "What wouldst thou deau?";
}
acceptInput = val;
input_mc._visible = val;
}
static function setScrapbookMode(val) {
scrapbookMode = val;
if (val) {
inputMode = "talk";
} else {
inputMode = "free";
}
}
static function doneTextWriting() {
if ((!waitForEnter) && (!dead)) {
setAcceptInput(true);
}
}
static function die() {
trace("Game::die(): You dead!");
_mc.youAreHere_txt.text = "Thy Dungeonheaven";
dead = true;
addPause(postDead);
photo_mc.roomPhoto_mc.counter = 0;
photo_mc.roomPhoto_mc.onEnterFrame = function () {
Game.photo_mc.roomPhoto_mc.counter++;
if (Game.photo_mc.roomPhoto_mc.counter == 12) {
Game.photo_mc._alpha = Game.photo_mc._alpha - 10;
Game.photo_mc.roomPhoto_mc.counter = 0;
if (Game.photo_mc._alpha <= 0) {
delete Game.photo_mc.roomPhoto_mc.onEnterFrame;
}
}
};
}
static function postDead() {
trace("post Dead called!");
_mc.gotoAndPlay("gameOver");
setScanlines("full");
SoundFX.stopAll();
}
static function addPause(callback) {
trace("Game:: addPause called");
waitForEnter = true;
waitForEnterCallback = callback;
curRoom.put("\n[PRESS ENTER]");
}
static function photoAlbumMode() {
}
static function pickNewDoorLocation() {
var _local1;
do {
switch (Math.floor(Math.random() * 4)) {
case 0 :
_local1 = "clearing";
break;
case 1 :
_local1 = "woods";
break;
case 2 :
_local1 = "overlook";
break;
case 3 :
_local1 = "crossroads";
}
} while (_local1 == GameState.dungeonLocation);
GameState.dungeonLocation = _local1;
trace("Game::pickNewDoorLocation: " + GameState.dungeonLocation);
}
static function showItem(itemName) {
dontHideItemThisTurn = true;
item_mc = photo_mc.attachMovie("itemHolder_mc", "itemHolder_mc", 5);
item_mc.itemActual_mc.attachMovie("item_" + itemName, "itemAttach_mc", 1);
}
static function hideItem() {
if (dontHideItemThisTurn) {
return(undefined);
}
item_mc.removeMovieClip();
}
static function updateScoreString() {
_mc.score_txt.text = ("Score: " + GameState.score) + "/38";
}
static function scorePoints(num) {
GameState.score = GameState.score + num;
switch (num) {
case 3 :
SoundFX.play("happy.wav");
break;
case 2 :
SoundFX.play("happy_2pt.wav");
break;
case 1 :
SoundFX.play("happy_1pt.wav");
break;
default :
SoundFX.play("happy.wav");
}
updateScoreString();
}
static function flaskGameStart() {
_mc.gotoAndStop("flaskGame");
flaskGm = new FlaskGame(_mc.flaskAttach_mc);
playingFlaskGame = true;
}
static function getWinText() {
var _local1 = "The sanctum begins to rattle and hum. The walls open up to reveal...THY NEW DUNGEONHOUSE! A live-in dungeon full of mazes, scrolls, keys, and maybe even a dagger! Ye cans't believe it. Ye has thine own dungeon! ";
_local1 = _local1 + "This thing'll keep thee busy for years! Ye grows to a ripe old age and ye flask becomes thy favorite drinking vessel. Ye hast several failed romances o'er the years but the maidens always make thee choose between them and ye flask. ";
_local1 = _local1 + "Tis hardly a choice at all. Congratulations! Thou art truly...THY DUNGEONMAN!\n";
_local1 = _local1 + (("Score: " + GameState.score) + " out of a possible 38 points.");
return(_local1);
}
static function setScanlines(frameLabel) {
_mc.scanlines_mc.gotoAndStop(frameLabel);
}
static var STAGE_WIDTH = 550;
static var playingFlaskGame = false;
}
Symbol 249 MovieClip [__Packages.Room] Frame 0
class Room
{
var synonyms, r, pressEnterCallbackFunc;
function Room () {
synonyms = new Array();
r = "";
look();
}
function parse() {
r = "";
}
function superClassParse() {
var _local2 = Game.tp;
trace("Room:superClassParse = " + _local2.is("look"));
if (_local2.is("look")) {
look();
return(true);
}
if (_local2.isStart("kill") && (_local2.contains("bird"))) {
if (GameState.inv.hasBird) {
put("Ye can't take anymore and try to silence the bird forever. As it pecks out the first eye ye thinks to yeself, \"This is not going well.\" Things continue in similar, gruesome fashion until thou art seriously pecked through. Thou art dead. Try better next time.");
Game.die();
} else if (GameState.takenBird) {
put("Thy bird has taken off for greener pastures.");
} else {
put("There is no bird here. Try one of the other rooms, like one with the word BIRD in the description.");
}
return(true);
}
if (_local2.isLookAt("bird")) {
if (GameState.inv.hasBird) {
put("Ol Picky has found a never-ending feast of corn in thy ear. Truly an ugly bird. And the sounds it doth make! Ye can taketh the morbling. It's the ganching that really cheeses thee off.");
Game.showItem("bird");
} else if (GameState.takenBird) {
put("Thou sort of misses that old bird. The corn in thy ear is starting to build up.");
} else {
put("There is no bird here. Try one of the other rooms, like one with the word BIRD in the description.");
}
return(true);
}
if (GameState.inv.hasBlood) {
if ((((_local2.isStart("put") || (_local2.isStart("pour"))) || (_local2.isStart("use"))) && (_local2.contains("ketchup"))) && (_local2.contains("head") || (_local2.contains("self")))) {
if (GameState.bloodOnSelf) {
put("Done that already. Think up something new to type.");
} else {
put("Ye taps the bottle and twists the cap, dumping the thick ketchup all o'er thy head. Perhaps twill help dread thy hair like ye wanted in middle dungeonschool.");
GameState.bloodOnSelf = true;
Game.scorePoints(2);
}
return(true);
}
if (_local2.isStart("use") && (_local2.isEnd("ketchup"))) {
if (GameState.bloodOnSelf) {
put("Thy fake ketchup is spent already.");
} else {
put("How dost thou wish to use the fake ketchup?");
}
return(true);
}
if (_local2.isLookAt("ketchup")) {
put("Thou starts to feel woozy, but then thou realizes the ketchup is fake.");
Game.showItem("blood");
return(true);
}
if ((_local2.isStart("eat") || (_local2.isStart("drink"))) && (_local2.isEnd("ketchup"))) {
put("Bad idea. It doesn't kill you right now or anything. But that stuff art full of cholesterol and leads to a fairly unhealthy death much later in life.");
put("Translation: do something else with the ketchup. Thou art dead. Thanks, but no thanks.");
Game.die();
return(true);
}
}
if (GameState.inv.hasMap) {
if (_local2.isLookAt("map") || (_local2.isStart("read") && (_local2.isEnd("map")))) {
Game.showItem("map");
put("The crusty map contains filthy directions for traversing the woods to an old hag's house. Like most things in thy inventory, it smells.");
return(true);
}
}
if (_local2.isLookAt("stein") && (GameState.inv.hasStein)) {
put("Looketh like a Franken Brand stein.");
Game.showItem("stein");
return(true);
}
if (GameState.inv.hasGlove) {
if (_local2.isLookAt("glove")) {
Game.showItem("glove");
put("Boy art thou ever gonna get ye some flask with this thing!");
return(true);
}
if (((_local2.isStart("use") || (_local2.isStart("wear"))) || (_local2.isStart("put on"))) && (_local2.isEnd("glove"))) {
if (GameState.wearingGlove) {
put("Thou art already wearing it. Wear it down.");
} else {
put("Ye slips the unfortunately moist flask getting glove onto thy hand. Tis a perfect fit! That flask won't know what getted it!");
GameState.wearingGlove = true;
Game.scorePoints(1);
}
return(true);
}
if (_local2.isStart("put") && (_local2.isEnd("glove on"))) {
if (GameState.wearingGlove) {
put("Thou art already wearing it. Wear it down.");
} else {
put("Ye slips the unfortunately moist flask getting glove onto thy hand. Tis a perfect fit! That flask won't know what getted it!");
GameState.wearingGlove = true;
}
return(true);
}
if (_local2.isStart("remove") && (_local2.isEnd("glove"))) {
if (GameState.wearingGlove) {
put("Naw, it makes ye feel tough. Not Kigalonian tough, but tough nonetheless.");
} else {
put("Thou haventh eventh puth ith on yeth!");
}
return(true);
}
}
if (GameState.inv.hasCoins) {
if (_local2.isLookAt("coins")) {
Game.showItem("coins");
put("It's all about the ... who the heck is that on these coins?");
return(true);
}
}
if (GameState.inv.takenCoins) {
if (_local2.isLookAt("coins")) {
put("Gosh you miss those coins.");
return(true);
}
}
if (GameState.inv.hasCorn) {
if (_local2.isLookAt("corn")) {
Game.showItem("corn");
put("It's... wait for it... an earful.");
return(true);
}
}
if (((_local2.is("look bread") || (_local2.is("get bread"))) || (_local2.is("talk breadman"))) || (_local2.is("use bread"))) {
put("Thou art very good at the Instruction Screen. In fact, ye wins. Now start playing Thy Dungeonman 3 again.");
return(true);
}
return(false);
}
function look() {
r = "hi";
}
function keyPressed(num) {
}
function displayItems() {
}
function hideItems() {
}
function put(stuff) {
if (r.length > 0) {
r = r + " ";
}
r = r + stuff;
}
function postParse() {
}
function getName() {
return("");
}
function pressEnterCallback() {
pressEnterCallbackFunc();
}
function parseDungeonDoor(roomName) {
var _local2 = Game.tp;
if (_local2.isLookAt("door")) {
if (GameState.dungeonLocation == roomName) {
put("Tis a dungeon door, thou art sure of it! Ye can almost hear that flask laughing at thee from within.");
} else {
put("Nope. Not hear.");
}
return(true);
}
if ((GameState.dungeonLocation == roomName) && (_local2.isTake("door"))) {
put("The village idiot could do better than thee.");
return(true);
}
if ((GameState.dungeonLocation == roomName) && ((_local2.isStart("open") || (_local2.isEnd("door"))) || (_local2.isStart("go in") || (_local2.isEnd("dungeon"))))) {
Game.newRoom("sanctum_revenge");
return(true);
}
return(false);
}
function postQuit() {
getURL ("http://www.videlectrix.com");
}
function undoCounter() {
}
}
Symbol 250 MovieClip [__Packages.TextParser] Frame 0
class TextParser
{
var str, synonyms;
function TextParser () {
str = "";
buildSynonyms();
}
function set(pStr) {
str = pStr;
chopOut("the");
chopOut("an");
chopOut("a");
trim();
str = str.toLowerCase();
trace(("TextParser::set(): str=\"" + str) + "\"");
}
function chopOut(killStr) {
var _local3 = str.split(" the ");
str = "";
var _local2 = 0;
while (_local2 < _local3.length) {
str = str + (_local3[_local2] + " ");
_local2++;
}
}
function trim() {
while (str.charAt(0) == " ") {
str = str.slice(1);
}
while (str.charAt(str.length - 1) == " ") {
str = str.slice(0, -1);
}
}
function buildSynonyms() {
synonyms = new Array();
synonyms.push(new Array("stuff", "things", "junk", "items"));
synonyms.push(new Array("go in", "enter"));
synonyms.push(new Array("attack", "kill", "assault", "maul", "punch", "kick"));
synonyms.push(new Array("talk", "speak", "converse"));
synonyms.push(new Array("go", "walk", "travel", "run"));
synonyms.push(new Array("take", "get", "acquire", "grab"));
synonyms.push(new Array("give", "offer", "gift"));
synonyms.push(new Array("door", "doorway"));
synonyms.push(new Array("inv", "inventory", "stuff"));
synonyms.push(new Array("blood", "catsup", "ketchup", "condiment"));
synonyms.push(new Array("glove", "gauntlet"));
synonyms.push(new Array("gold", "coin", "coins", "money"));
synonyms.push(new Array("remove", "take off", "drop"));
synonyms.push(new Array("floor", "ground", "earth"));
synonyms.push(new Array("store", "shoppe", "building", "joint"));
}
function isStart(testStr) {
var _local3 = getSynonyms(testStr);
var _local2 = 0;
while (_local2 < _local3.length) {
if (str.slice(0, _local3[_local2].length) == _local3[_local2]) {
return(true);
}
_local2++;
}
return(false);
}
function isEnd(testStr) {
var _local3 = getSynonyms(testStr);
var _local2 = 0;
while (_local2 < _local3.length) {
if (str.slice(-_local3[_local2].length) == _local3[_local2]) {
return(true);
}
_local2++;
}
return(false);
}
function isLookAt(testStr) {
return(isStart("look") && (isEnd(testStr)));
}
function isTake(testStr) {
return(isStart("take") && (isEnd(testStr)));
}
function contains(testStr) {
var _local3 = getSynonyms(testStr);
var _local2 = 0;
while (_local2 < _local3.length) {
if (str.split(_local3[_local2]).length > 1) {
return(true);
}
_local2++;
}
return(false);
}
function is(testStr) {
var _local3 = getSynonyms(testStr);
var _local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] == str) {
return(true);
}
_local2++;
}
return(false);
}
function isGo(dir) {
return((((str == dir) || (str == dir.charAt(0))) || (isStart("go") && (isEnd(dir)))) || (isStart("go") && (isEnd(" " + dir.charAt(0)))));
}
function getSynonyms(testString) {
var _local3 = 0;
while (_local3 < Game.curRoom.synonyms.length) {
var _local2 = 0;
while (_local2 < Game.curRoom.synonyms[_local3].length) {
if (Game.curRoom.synonyms[_local3][_local2] == testString) {
return(Game.curRoom.synonyms[_local3]);
}
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < synonyms.length) {
var _local2 = 0;
while (_local2 < synonyms[_local3].length) {
if (synonyms[_local3][_local2] == testString) {
return(synonyms[_local3]);
}
_local2++;
}
_local3++;
}
return(new Array(testString));
}
}
Symbol 251 MovieClip [__Packages.GameState] Frame 0
class GameState
{
static var inv, tiedWithRopes, takenDongrel, takenBone, takenBird, takenCorn, takenCoins, takenStein, givenStein, escapedMonk, trollKilled, askedBarkeep, takenBlood, bloodOnSelf, wallsJammed, woodsLost, wearingGlove, dungeonLocation, dungeonDoorOpen, shoppeGuyAlterted, warpingOutOfDungeon, startingSeconds, spikeCounter, boilCountdown, woodsCounter, hag1answer, hag2answer, hag3answer, kigAttrib1, kigAttrib2, score;
function GameState () {
}
static function clear() {
inv = new Object();
tiedWithRopes = true;
takenDongrel = false;
takenBone = false;
takenBird = false;
takenCorn = false;
takenCoins = false;
takenStein = false;
givenStein = false;
escapedMonk = false;
trollKilled = false;
askedBarkeep = false;
takenBlood = false;
bloodOnSelf = false;
wallsJammed = false;
woodsLost = false;
wearingGlove = false;
dungeonLocation = "clearing";
dungeonDoorOpen = false;
shoppeGuyAlterted = false;
warpingOutOfDungeon = false;
var _local1 = new Date();
startingSeconds = Math.floor(_local1.getTime() / 1000);
spikeCounter = 0;
boilCountdown = 7;
woodsCounter = 0;
hag1answer = undefined;
hag2answer = undefined;
hag3answer = undefined;
kigAttrib1 = -1;
kigAttrib2 = -1;
inv.hasBird = false;
inv.hasBone = false;
inv.hasCorn = false;
inv.hasStein = false;
inv.hasBlood = false;
inv.hasCoins = false;
inv.hasMap = false;
inv.hasGlove = false;
score = 0;
}
static function getInvString() {
var _local1 = "";
if (inv.hasBird) {
_local1 = _local1 + "a dumb bird, ";
}
if (inv.hasBone) {
_local1 = _local1 + "a big ol' bone, ";
}
if (inv.hasCorn) {
_local1 = _local1 + "some corn, ";
}
if (inv.hasStein) {
_local1 = _local1 + "a stein, ";
}
if (inv.hasBlood) {
_local1 = _local1 + "fake ketchup, ";
}
if (inv.hasCoins) {
_local1 = _local1 + "sweet coins, ";
}
if (inv.hasMap) {
_local1 = _local1 + "woods map, ";
}
if (inv.hasGlove) {
_local1 = _local1 + "flask-grabbing glove, ";
}
if (_local1 == "") {
_local1 = "Nothing but streets and roads.";
} else {
_local1 = "Ye has: " + _local1;
var _local2 = Math.floor(Math.random() * 4);
switch (_local2) {
case 0 :
_local1 = _local1 + "and an unbearable lightness of being.";
break;
case 1 :
_local1 = _local1 + "and years of emotional baggage.";
break;
case 2 :
_local1 = _local1 + "and some stories for your grandkids.";
break;
case 3 :
_local1 = _local1 + "and that smug expression on thy face.";
}
}
trace("GameState.getInvString " + _local1);
return(_local1);
}
static function traceVal() {
trace("GameState::traceVal()------------");
for (var _local1 in GameState) {
trace((("traceVal ," + _local1) + ",") + GameState[_local1]);
}
}
static function getAllObjects() {
var _local1 = new Object();
for (var _local2 in GameState) {
_local1[_local2] = GameState[_local2];
}
return(_local1);
}
}
Symbol 252 MovieClip [__Packages.SaveGame] Frame 0
class SaveGame
{
function SaveGame () {
}
static function save(num) {
for (var _local2 in GameState) {
if ((_local2 != "inv") && (typeof(GameState[_local2]) != "function")) {
trace((((("SaveGame::save " + num) + ",") + _local2) + ",") + GameState[_local2]);
LocalData.save("save" + num, _local2, GameState[_local2]);
}
}
LocalData.save("save" + num, "currentRoom", Game.curRoomName);
trace((("SaveGame::save roomname" + Game.curRoomName) + ",") + LocalData.load("save" + num, "currentRoom").toString());
for (var _local2 in GameState.inv) {
trace((((("SaveGame::save inv " + num) + ",") + _local2) + ",") + GameState.inv[_local2]);
LocalData.save("inv" + num, _local2, GameState.inv[_local2]);
}
if (GameState.dungeonDoorOpen != LocalData.load("save" + num, "dungeonDoorOpen")) {
return(false);
}
return(true);
}
static function load(num) {
if (LocalData.load("save" + num, "dungeonLocation") == undefined) {
trace(LocalData.load("save0", "dungeonLocation") + " = awesome");
return(false);
}
GameState.clear();
var _local3 = GameState.getAllObjects();
for (var _local4 in _local3) {
if ((_local4 != "inv") && (typeof(_local3[_local4]) != "function")) {
var _local1 = LocalData.load("save" + num, _local4);
if (!isNaN(_local1)) {
GameState[_local4] = Number(_local1);
} else {
GameState[_local4] = _local1;
}
trace((((("SaveGame::load prop!!!!!!!!!!! " + num) + ",") + _local4) + ",") + GameState[_local4]);
}
}
for (var _local4 in GameState.inv) {
var _local1 = LocalData.load("inv" + num, _local4);
if (_local1 == "false") {
GameState.inv[_local4] = false;
} else if (_local1 == "true") {
GameState.inv[_local4] = true;
} else {
GameState.inv[_local4] = _local1;
}
trace((((("SaveGame::load inv " + num) + ",") + _local4) + ",") + GameState.inv[_local4]);
}
if (Game.continuePlease) {
Game.curRoomName = LocalData.load("save" + num, "currentRoom").toString();
} else {
Game.newRoom(LocalData.load("save" + num, "currentRoom").toString());
}
GameState.traceVal();
Game.updateScoreString();
return(true);
}
}
Symbol 253 MovieClip [__Packages.LocalData] Frame 0
class LocalData
{
function LocalData () {
}
static function save(record, field, value, path) {
var _local1;
if (path == undefined) {
_local1 = Object(SharedObject.getLocal(record));
} else {
_local1 = Object(SharedObject.getLocal(record, path));
}
_local1.data[field] = value;
_local1.flush();
}
static function load(record, field, path) {
if (path == undefined) {
return(Object(SharedObject.getLocal(record)).data[field]);
}
return(Object(SharedObject.getLocal(record, path)).data[field]);
}
}
Symbol 254 MovieClip [__Packages.DissolveTransition] Frame 0
class DissolveTransition
{
var _mc, spf, pixelSize, xdim, ydim, mask_mc, pixelCount, pixelArray, clipArray, itemInCounter, callback;
function DissolveTransition (p_mc, pPixelSize, squaresPerFrames) {
_mc = p_mc;
spf = squaresPerFrames;
pixelSize = pPixelSize;
xdim = Math.ceil(_mc._width / pixelSize);
ydim = Math.ceil(_mc._height / pixelSize);
}
function startIn() {
mask_mc.removeMovieClip();
_mc.setMask(null);
mask_mc._visible = false;
var thisDissolveTransition = this;
var _local7 = 0;
pixelCount = 0;
for (var _local8 in _mc) {
var _local6 = _mc[_local8].getDepth();
if ((_local6 != undefined) && (_local6 > _local7)) {
_local7 = _local6 + 1;
}
}
mask_mc = _mc.createEmptyMovieClip("mask_mc", _local7);
mask_mc.onEnterFrame = function () {
thisDissolveTransition.updateIn();
};
_mc.setMask(mask_mc);
pixelArray = new Array();
clipArray = new Array();
var _local3 = 0;
while (_local3 < xdim) {
clipArray[_local3] = new Array();
var _local2 = 0;
while (_local2 < ydim) {
pixelArray.push(_local3 + (_local2 * xdim));
_local2++;
}
_local3++;
}
var _local9 = new Array();
var _local4 = 0;
while (_local4 < pixelArray.length) {
var _local5 = Math.floor(Math.random() * pixelArray.length);
var _local6 = pixelArray[_local4];
pixelArray[_local4] = pixelArray[_local5];
pixelArray[_local5] = _local6;
_local4++;
}
itemInCounter = 12;
}
function updateIn() {
var _local3 = 0;
while (_local3 < spf) {
if (pixelArray.length == 0) {
if (itemInCounter == 12) {
_mc.setMask(null);
mask_mc._visible = false;
}
itemInCounter--;
if (itemInCounter == 0) {
mask_mc.removeMovieClip();
Game.doneFadingRoomIn();
delete _mc.onEnterFrame;
}
return(undefined);
}
var _local2 = pixelArray.pop();
var _local5 = _local2 % xdim;
var _local4 = Math.floor(_local2 / xdim);
drawClipAt(_local5, _local4);
_local3++;
}
}
function startOut(pCallback) {
callback = pCallback;
SoundFX.diskDrive();
mask_mc.removeMovieClip();
_mc.setMask(null);
mask_mc._visible = false;
var thisDissolveTransition = this;
var _local7 = 0;
pixelCount = 0;
for (var _local8 in _mc) {
var _local6 = _mc[_local8].getDepth();
if ((_local6 != undefined) && (_local6 > _local7)) {
_local7 = _local6 + 1;
}
}
mask_mc = _mc.createEmptyMovieClip("mask_mc", _local7);
mask_mc.onEnterFrame = function () {
thisDissolveTransition.updateOut();
};
_mc.setMask(mask_mc);
var _local9 = 0;
pixelArray = new Array();
clipArray = new Array();
var _local3 = 0;
while (_local3 < xdim) {
clipArray[_local3] = new Array();
var _local2 = 0;
while (_local2 < ydim) {
drawClipAt(_local3, _local2);
pixelArray.push(_local3 + (_local2 * xdim));
_local2++;
}
_local3++;
}
var _local10 = new Array();
var _local4 = 0;
while (_local4 < pixelArray.length) {
var _local5 = Math.floor(Math.random() * pixelArray.length);
var _local6 = pixelArray[_local4];
pixelArray[_local4] = pixelArray[_local5];
pixelArray[_local5] = _local6;
_local4++;
}
}
function updateOut() {
var _local3 = 0;
while (_local3 < spf) {
if (pixelArray.length == 0) {
_mc.setMask(null);
mask_mc.removeMovieClip();
delete _mc.onEnterFrame;
callback();
return(undefined);
}
var _local2 = pixelArray.pop();
clipArray[_local2 % xdim][Math.floor(_local2 / xdim)].removeMovieClip();
_local3++;
}
}
function drawClipAt(x, y) {
clipArray[x][y] = mask_mc.createEmptyMovieClip("newclp", x + (y * xdim));
clipArray[x][y].beginFill(16711935, 100);
clipArray[x][y].moveTo(x * pixelSize, y * pixelSize);
clipArray[x][y].lineTo((x * pixelSize) + pixelSize, y * pixelSize);
clipArray[x][y].lineTo((x * pixelSize) + pixelSize, (y * pixelSize) + pixelSize);
clipArray[x][y].lineTo(x * pixelSize, (y * pixelSize) + pixelSize);
clipArray[x][y].lineTo(x * pixelSize, y * pixelSize);
clipArray[x][y].endFill();
}
}
Symbol 255 MovieClip [__Packages.SoundFX] Frame 0
class SoundFX
{
static var _mc, sounds;
function SoundFX () {
}
static function init(p_mc) {
_mc = p_mc;
sounds = new Object();
makeSoundObj("monastery.wav");
makeSoundObj("danger2.wav");
makeSoundObj("happy.wav");
makeSoundObj("happy_1pt.wav");
makeSoundObj("happy_2pt.wav");
makeSoundObj("diskdrive.wav");
}
static function play(soundName) {
stopAll();
sounds[soundName].start();
}
static function makeSoundObj(soundName) {
sounds[soundName] = new Sound(_mc);
sounds[soundName].attachSound(soundName);
}
static function stopAll() {
for (var _local1 in sounds) {
sounds[_local1].stop();
}
}
static function diskDrive() {
sounds["diskdrive.wav"].stop();
sounds["diskdrive.wav"].start();
}
}
Symbol 256 MovieClip [__Packages.FlaskGame] Frame 0
class FlaskGame
{
var _mc, pausing, homeY, round, nextPosCounter, delays, messages, won, output_mc, tw;
function FlaskGame (p_mc) {
_mc = p_mc.attachMovie("flaskGame_mc", "flaskGame_mc", 1);
Game.setScanlines("flask");
var thisGame = this;
_mc.onEnterFrame = function () {
thisGame.update();
};
pausing = false;
homeY = _mc.glove_mc._y;
round = 1;
nextPosCounter = 10;
delays = new Array(15, 10, 6);
messages = new Array();
messages.push("Ye grabs the flask but thou art so nervous ye drops it again! Now thou art trembling even more!");
messages.push("Ye grabs the flask a second time but thou art so nervous ye drops it again! Now thou art trembling worse than ever!");
messages.push("Thou hast done it!! Ye wert finally able to GET YE FLASK! [HIT ENTER]");
won = false;
moveGlove();
output_mc = p_mc._parent.output2_mc;
trace("output_mc: " + output_mc._name);
tw = new TextWriter(output_mc.output, output_mc, 3);
tw.set("GRASP THAT FLASK! \nTap enter at the right time to win ARCADE SEQUENCE!");
trace("output_mc: " + output_mc.output.text);
}
function update() {
if (_mc.glove_mc._y < homeY) {
_mc.glove_mc._y++;
}
nextPosCounter--;
if (nextPosCounter < 0) {
trace("FlaskGame::update() nextPosCounter" + nextPosCounter);
if (pausing) {
} else {
_mc.glove_mc._y = homeY;
moveGlove();
nextPosCounter = delays[round - 1];
}
}
}
function enterPressed() {
if ((!won) && (!pausing)) {
trace("FlaskGame::enterPressed()" + gloveFlaskGrabbable());
if (gloveFlaskGrabbable()) {
_mc.glove_mc._x = 196;
_mc.glove_mc._y = 8;
_mc.gloveMask_mc.gotoAndStop(1);
nextPosCounter = 50;
tw.set(messages[round - 1]);
Game.scorePoints(round);
round++;
_mc._txt.text = "LEVEL " + round;
if (round == 4) {
_mc._txt.text = "WIN!";
_mc.gloveMask_mc.gotoAndStop(1);
endGame();
} else {
_mc.glove_mc.gotoAndPlay("closed");
}
} else {
_mc.glove_mc.gotoAndPlay("closed");
}
} else if (won) {
_mc._parent._parent.gotoAndStop("endGame");
SoundFX.stopAll();
_mc._parent.attachMovie("winner_mc", "winner_mc", 1);
}
}
function endGame() {
trace("endGame");
_mc.glove_mc.gotoAndStop("closed");
_mc.glove_mc._x = 196;
_mc.glove_mc._y = 8;
won = true;
delete _mc.onEnterFrame;
}
function moveGlove() {
_mc.gloveMask_mc.gotoAndPlay(2);
var _local2 = Math.floor(Math.random() * 10);
if (_local2 == 0) {
_mc.glove_mc._x = 220;
} else if (_local2 < 5) {
_mc.glove_mc._x = (Math.random() * 60) + 4;
} else {
_mc.glove_mc._x = (Math.random() * 60) + 270;
}
}
function gloveFlaskGrabbable() {
return(_mc.glove_mc._x == 220);
}
}
Symbol 257 MovieClip [__Packages.Room_spikes] Frame 0
class Room_spikes extends Room
{
var synonyms, put, superClassParse;
function Room_spikes () {
super();
GameState.spikeCounter = 0;
if (!GameState.wallsJammed) {
SoundFX.play("danger2.wav");
}
synonyms.push(new Array("ropes", "rope", "twine", "binding", "string"));
synonyms.push(new Array("skeleton", "skull"));
synonyms.push(new Array("claws", "claw"));
}
function getName() {
return("Yon Dungeon");
}
function undoCounter() {
if (!GameState.wallsJammed) {
GameState.spikeCounter--;
}
}
function parse() {
var _local2 = Game.tp;
if (!GameState.wallsJammed) {
GameState.spikeCounter++;
}
if ((GameState.spikeCounter >= 12) && (!GameState.wallsJammed)) {
put("The spikey walls draw so nearer that there is no more room for you betwixt them. Thy POKE! Thy SQUISH! Thy DEADGEONMAN. Thou art dead. Hurry up next time!");
Game.die();
return(undefined);
}
if (_local2.isTake("claws")) {
if (GameState.tiedWithRopes) {
GameState.tiedWithRopes = false;
put("Now thou art using thy dungeonsmarts! You shimmy all up on the dead dongrel and its razor sharp claws slice through the ties that bind. Thou art free!");
Game.scorePoints(1);
} else {
put("I like thous't spirit. Try everything a couple of times... it just might work. Except: No.");
}
return(undefined);
}
if (_local2.isLookAt("claws")) {
put("Wicked sharp. Good thing he or she is dead.");
return(undefined);
}
if (((_local2.isStart("cut") && (_local2.contains("ropes"))) || (_local2.isStart("use"))) && ((_local2.isEnd("dongrel") || (_local2.isEnd("skeleton"))) || (_local2.isEnd("claws")))) {
if (GameState.tiedWithRopes) {
GameState.tiedWithRopes = false;
put("Now thou art using thy dungeonsmarts! You shimmy all up on the dead dongrel and its razor sharp claws slice through the ties that bind. Thou art free!");
Game.scorePoints(1);
} else {
put("I like thous't spirit. Try everything a couple of times... it just might work. Except: No.");
}
return(undefined);
}
if (_local2.isLookAt("dongrel") || (_local2.isLookAt("skeleton"))) {
put("Tis quite dead, though its claws still look wicked sharp.");
return(undefined);
}
if (_local2.isLookAt("bone")) {
if (!GameState.inv.hasBone) {
if (GameState.takenBone) {
put("The bone bravely gave its life to stop the walls from getting ye.");
} else {
put("A sturdy leg bone layeth upon the dungeon floor.");
}
} else {
Game.showItem("bone");
put("Thouist holding a sturdy leg bone.");
}
return(undefined);
}
if (_local2.isLookAt("floor")) {
if (!GameState.inv.hasBone) {
if (GameState.takenBone) {
put("On the floor standeth a hawt Dungeonman.");
} else {
put("A sturdy leg bone layeth upon the dungeon floor.");
}
} else {
put("On the floor standeth a Dungeonman.");
}
return(undefined);
}
if (_local2.isTake("ropes")) {
if (GameState.tiedWithRopes) {
put("Nuh-uh. They gots YOU.");
} else {
put("They's is too frayed. You join the fray.");
}
return(undefined);
}
if (_local2.isLookAt("ropes")) {
put("The ropes art stout and scratchy, just like ye likes thy ale.");
return(undefined);
}
if (_local2.isLookAt("chain")) {
put("Tis definitely of the non-gettable variety.");
return(undefined);
}
if (_local2.isTake("chain")) {
put("No good. Ye thinks it's merely a lookable chain, not a gettable one.");
return(undefined);
}
if (_local2.isTake("spikes")) {
put("Nay. They gonna get THEE!");
return(undefined);
}
if (_local2.isStart("talk") && (_local2.isEnd("dongrel") || (_local2.isEnd("skeleton")))) {
if (!GameState.wallsJammed) {
GameState.spikeCounter = GameState.spikeCounter + 3;
}
put("Ye decide to waste time talking to the dead dongrel skeleton. Good one.");
return(undefined);
}
if (_local2.isTake("dongrel") || (_local2.isTake("skeleton"))) {
if (!GameState.wallsJammed) {
put("Tis chained to the ceiling. But it may aid you yet!");
} else {
put("Tis chained to the ceiling. It already aided you good.");
}
return(undefined);
}
if ((_local2.isStart("stop") || (_local2.isStart("jam"))) && (_local2.contains("walls") || (_local2.contains("spikes")))) {
if (GameState.tiedWithRopes) {
put("That's why thou art tied up. So ye couldn't stop the walls.");
} else if (_local2.contains("bone")) {
if (GameState.inv.hasBone) {
jamWalls();
} else {
put("You no has!");
}
} else {
put("With thy own body, right? That's gonna happen anyway.");
}
return(undefined);
}
if (_local2.isStart("jam") && (_local2.isEnd("bone"))) {
if (GameState.tiedWithRopes) {
put("That's why thou art tied up. So ye couldn't stop the walls.");
} else if (_local2.contains("bone")) {
if (GameState.inv.hasBone) {
jamWalls();
} else {
put("You no has!");
}
} else {
put("With thy own body, right? That's gonna happen anyway.");
}
return(undefined);
}
if (_local2.isLookAt("walls") || (_local2.isLookAt("spikes"))) {
if (!GameState.wallsJammed) {
put("They draw nearer and the spikes appear extra pointy. Ye wonders whose job it is to sharpen them.");
} else {
put("Stupid mean ol walls. Never again, ye swears.");
}
return(undefined);
}
if (_local2.isTake("bone")) {
if (GameState.tiedWithRopes) {
put("Thou wouldst, if thou weren'st tiedst upst.");
return(undefined);
}
if (GameState.wallsJammed) {
put("That would severely unstuck the walls and severely stuck-stuck thy face. Bad idea.");
return(undefined);
}
if (!GameState.inv.hasBone) {
put("Bone grasped!");
Game.scorePoints(2);
GameState.inv.hasBone = true;
GameState.takenBone = true;
Game.photo_mc.roomPhoto_mc.bone_mc._visible = false;
} else {
put("Thou done grasped it already!");
}
return(undefined);
}
if (((_local2.isStart("use") || (_local2.isStart("throw"))) || (_local2.isStart("drop"))) && (_local2.contains("bone"))) {
if (!GameState.inv.hasBone) {
put("You no has!");
} else {
jamWalls();
}
return(undefined);
}
if (_local2.isGo("north") || ((_local2.isStart("open") || (_local2.isStart("use"))) && (_local2.isEnd("door")))) {
if (GameState.wallsJammed) {
Game.newRoom("sanctum");
} else {
put("That's not an option right now. How did thou even know about that?");
}
return(undefined);
}
if (((_local2.isStart("cut") && (_local2.contains("ropes"))) || (_local2.isStart("use"))) && ((_local2.isEnd("walls") || (_local2.isEnd("spikes"))) || (_local2.isEnd("spike")))) {
if (GameState.tiedWithRopes) {
put("Thou wouldst be severely dead by the time they drew near enough. Maybe there's something else sharp around here... ");
} else {
put("Think of something new.");
}
return(undefined);
}
if (_local2.isStart("cut") && (_local2.contains("ropes"))) {
if (GameState.tiedWithRopes) {
put("Good idea! How?");
} else {
put("I like it, I like it. One more time, then?");
}
return(undefined);
}
if (_local2.isStart("use claws") && (_local2.contains("ropes"))) {
if (GameState.tiedWithRopes) {
GameState.tiedWithRopes = false;
put("Now thou art using thy dungeonsmarts! You shimmy all up on the dead dongrel and its razor sharp claws slice through the ties that bind. Thou art free!");
Game.scorePoints(1);
} else {
put("I like thous't spirit. Try everything a couple of times... it just might work. Except: No.");
}
}
if (_local2.isLookAt("door")) {
if (GameState.wallsJammed) {
put("Tis quite open. All the which to make the going through much easier.");
} else {
put("There ist no door! As far as thee knows.");
}
return(undefined);
}
if (_local2.is("leave")) {
if (GameState.wallsJammed) {
Game.newRoom("sanctum");
} else {
put("No can do, friend. Thou art missing a little thing I like to call \"a way out\".");
}
return(undefined);
}
if ((_local2.isGo("west") || (_local2.isGo("east"))) || (_local2.isGo("south"))) {
put("The walls in this room are totally cramping thy style.");
return(undefined);
}
trace("Room_spikes parse");
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function jamWalls() {
Game.scorePoints(3);
put("Ye waits until the spiked walls draw dangerously close then thou jammeth the sturdy bone in their collective craw! The walls shudder and quay and finally withdraw! A stone door opens to the NORTH! Exclamations!");
GameState.inv.hasBone = false;
GameState.wallsJammed = true;
displayItems();
}
function postParse() {
if ((((GameState.spikeCounter % 3) == 0) && (!GameState.wallsJammed)) && (!Game.dead)) {
put("Note to thyself: The spikey walls draw nearer.");
}
}
function displayItems() {
trace("Room_woods::displayItems");
if (!GameState.takenBone) {
Game.photo_mc.roomPhoto_mc.bone_mc._visible = true;
}
if (GameState.wallsJammed) {
Game.photo_mc.roomPhoto_mc.spikes_mc._visible = false;
Game.photo_mc.roomPhoto_mc.door_mc._visible = true;
} else {
Game.photo_mc.roomPhoto_mc.spikes_mc._visible = true;
Game.photo_mc.roomPhoto_mc.door_mc._visible = false;
}
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.bone_mc._visible = false;
Game.photo_mc.roomPhoto_mc.spikes_mc._visible = false;
Game.photo_mc.roomPhoto_mc.door_mc._visible = false;
}
function look() {
put("Ye find yeself in yon dungeon.");
if (GameState.tiedWithRopes) {
put("Thou art tied up with ropes.");
}
if (GameState.wallsJammed) {
put("The spiked walls of the dungeon are jammed open with a big ol' bone. A stone door layeth open to the NORTH.");
} else {
put("The spiked walls of the dungeon closeth in on thee.");
}
if (!GameState.takenDongrel) {
put("A dongrel skeleton with sharp CLAWS hangs next to you.");
}
if (!GameState.takenBone) {
put("A BONE layeth upon the ground.");
}
if (!GameState.wallsJammed) {
put("Obvious exits are nowheres!");
}
}
}
Symbol 258 MovieClip [__Packages.DontUnderstand] Frame 0
class DontUnderstand
{
function DontUnderstand () {
}
static function parse(rm) {
var _local2 = Game.tp;
if (_local2.is("save")) {
rm.undoCounter();
rm.put("Sorry to break out of character, but please specify a game slot to save to (1-5). Ex.: \"save 1\".");
return(undefined);
}
if (_local2.is("save 1")) {
rm.undoCounter();
if (SaveGame.save(1)) {
rm.put("Saved it on down. Type \"load 1\" to get it back.");
} else {
rm.put("Error saving game from autosave. Your Flash player security settings may be prohibiting save data. Right-click, choose settings and change the amount of 'Local Storage' and try again.");
}
return(undefined);
}
if (_local2.is("save 2")) {
rm.undoCounter();
if (SaveGame.save(2)) {
rm.put("Saved it on down. Type \"load 2\" to get it back.");
} else {
rm.put("Error saving game from autosave. Your Flash player security settings may be prohibiting save data. Right-click, choose settings and change the amount of 'Local Storage' and try again.");
}
return(undefined);
}
if (_local2.is("save 3")) {
rm.undoCounter();
if (SaveGame.save(3)) {
rm.put("Saved it on down. Type \"load 3\" to get it back.");
} else {
rm.put("Error saving game from autosave. Your Flash player security settings may be prohibiting save data. Right-click, choose settings and change the amount of 'Local Storage' and try again.");
}
return(undefined);
}
if (_local2.is("save 4")) {
rm.undoCounter();
if (SaveGame.save(4)) {
rm.put("Saved it on down. Type \"load 4\" to get it back.");
} else {
rm.put("Error saving game from autosave. Your Flash player security settings may be prohibiting save data. Right-click, choose settings and change the amount of 'Local Storage' and try again.");
}
return(undefined);
}
if (_local2.is("save 5")) {
rm.undoCounter();
if (SaveGame.save(5)) {
rm.put("Saved it on down. Type \"load 5\" to get it back.");
} else {
rm.put("Error saving game from autosave. Your Flash player security settings may be prohibiting save data. Right-click, choose settings and change the amount of 'Local Storage' and try again.");
}
return(undefined);
}
if (_local2.is("load")) {
rm.undoCounter();
rm.put("Sorry to break out of character, but please specify a game slot to load from (1-5). Ex.: \"save 1\". Also, you can try \"load auto\" to load the last autosave.");
return(undefined);
}
if (_local2.is("load auto")) {
if (SaveGame.load(0)) {
rm.put("Loaded a game from autosave.");
} else {
rm.put("Error loading game from autosave.");
}
return(undefined);
}
if (_local2.is("load 1")) {
if (SaveGame.load(1)) {
rm.put("Loaded a game from slot 1");
} else {
rm.put("Error loading game from slot 1. Sure you got one?");
}
return(undefined);
}
if (_local2.is("load 2")) {
if (SaveGame.load(2)) {
rm.put("Loaded a game from slot 2");
} else {
rm.put("Error loading game from slot 2. Sure you got one?");
}
return(undefined);
}
if (_local2.is("load 3")) {
if (SaveGame.load(3)) {
rm.put("Loaded a game from slot 3");
} else {
rm.put("Error loading game from slot 3. Sure you got one?");
}
return(undefined);
}
if (_local2.is("load 4")) {
if (SaveGame.load(4)) {
rm.put("Loaded a game from slot 4");
} else {
rm.put("Error loading game from slot 4. Sure you got one?");
}
return(undefined);
}
if (_local2.is("load 5")) {
if (SaveGame.load(5)) {
rm.put("Loaded a game from slot 5");
} else {
rm.put("Error loading game from slot 5. Sure you got one?");
}
return(undefined);
}
if (_local2.is("inventory")) {
rm.put(GameState.getInvString());
return(undefined);
}
if (_local2.isGo("north")) {
rm.put("Thou can't go that way. I guess your copy of \"Lonely Dungeon: Westerburg\" is out-of-date.");
return(undefined);
}
if (_local2.isGo("south")) {
rm.put("No puedo hacerlo. Lo siento, Dungeonhombre.");
return(undefined);
}
if (_local2.isGo("east")) {
rm.put("Go east, eh? Thou're killing me. Thou can't go east. Try again some other time.");
return(undefined);
}
if (_local2.isGo("west")) {
rm.put("Aren't you the king of wishful thinking. Too bad there are no exits in that direction, because I've heard life is peaceful there.");
return(undefined);
}
if (_local2.is("logout")) {
rm.put("Connection closed.");
return(undefined);
}
if (_local2.is("pwd")) {
rm.put("Wastes of Time/Dumb Games/Dungeonman 3/" + Game.curRoom.getName());
return(undefined);
}
if (_local2.is("bye")) {
rm.put("Exiting Windows 3.1");
return(undefined);
}
if (_local2.is("give up")) {
rm.put("Hey, man. Be cool: stay in school.");
return(undefined);
}
if (_local2.is("quit")) {
rm.put("Um, if you say so. Don't expect your money back though.");
rm.pressEnterCallbackFunc = rm.postQuit;
Game.addPause();
return(undefined);
}
if (_local2.isEnd("love you")) {
rm.put("And I will always love thou.");
return(undefined);
}
if (_local2.is("i love this game")) {
rm.put("Dungeonmaster action: it's fan tastic.");
return(undefined);
}
if (_local2.isTake("flask")) {
rm.put("Ho, ho. Aren't thee witty? Twere it that simple we wouldn't have bothered making this game.");
return(undefined);
}
if (_local2.is("hang out")) {
rm.put("You've always been a procrastinator - hey you got a birthmark when you were nine. Zing! Seriously though, game over. You not really dead but you lack the focus required to complete thy mission.");
rm.put("Try one of those online chatty games.");
Game.die();
return(undefined);
}
if (_local2.is("i'm outta here")) {
rm.put("Agreed. Pick a direction or something.");
return(undefined);
}
if (_local2.is("play game")) {
rm.put("One step ahead of you.");
return(undefined);
}
if (_local2.is("trace")) {
for (var _local3 in GameState) {
trace(("TRACE: " + _local3) + GameState[_local3]);
}
for (var _local3 in GameState.inv) {
trace(("TRACE: inv " + _local3) + GameState.inv[_local3]);
}
return(undefined);
}
switch (Math.floor(Math.random() * 8)) {
case 0 :
rm.put("Say who, dungeonbabbler?");
break;
case 1 :
rm.put(("'" + _local2.str) + "' is not recognized as an internal or external command, operable program or batch file.");
break;
case 2 :
rm.put("I don't understand you. I cannot understand you. I don't understand the things you say. I can't understand a single word.");
break;
case 3 :
rm.put("Thou're not very goodst at thist gamest.");
break;
case 4 :
rm.put("Make the bad typing go away, Mommy.");
break;
case 5 :
rm.put("Sorry. Thy Dungeonman parser is english only. Spanish and Idiot not spake here.");
break;
case 6 :
rm.put("Huh?");
break;
case 7 :
rm.put("Say what now?");
break;
}
}
}
Symbol 259 MovieClip [__Packages.Room_crossroads] Frame 0
class Room_crossroads extends Room
{
var synonyms, put, parseDungeonDoor, superClassParse, pressEnterCallbackFunc;
function Room_crossroads () {
super();
synonyms.push(new Array("crossroads", "roads", "crossroad", "road"));
synonyms.push(new Array("bushes", "bush", "tree", "trees", "flora"));
synonyms.push(new Array("grass", "weeds"));
}
function getName() {
return("Crossroads");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isLookAt("crossroads")) {
look();
return(undefined);
}
if (_local2.isLookAt("sign") || (_local2.isStart("read"))) {
put("It sayeth the village of Westerberg lies to the east. Goest figure.");
return(undefined);
}
if (_local2.isTake("sign")) {
put("Tis too large and too pointy. Oh, and no.");
return(undefined);
}
if (_local2.isTake("grass")) {
put(("Yon crossroads are grassy, but not '" + _local2.str) + "' grassy.");
return(undefined);
}
if (_local2.isLookAt("bushes")) {
put("Haven't ye ever heard of window dressing?");
return(undefined);
}
if (_local2.isGo("north")) {
Game.newRoom("monastery_outside");
return(undefined);
}
if (_local2.isGo("east")) {
Game.newRoom("overlook");
return(undefined);
}
if (_local2.isGo("west")) {
Game.newRoom("woods");
return(undefined);
}
if (_local2.isGo("south")) {
Game.newRoom("bridge");
return(undefined);
}
if (parseDungeonDoor("crossroads")) {
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function look() {
if (GameState.warpingOutOfDungeon) {
if (GameState.takenBird) {
put("Oh right, this again. Thy dungeon vanishes and deposits thee back at the crossroads. Perhaps ye needs something to help ye get ye flask. Ye. ");
} else {
put("The entire dungeon, flask included, vanishes around thee. Suddenly, thou art above ground, under a black and orange sky. Thou wert so close! Ye must find that dungeon at all costs and claim ye flask! \n[PRESS ENTER]");
}
GameState.warpingOutOfDungeon = false;
pressEnterCallbackFunc = look;
Game.addPause();
return(undefined);
}
if (GameState.dungeonLocation == "crossroads") {
put("A fresh dungeon DOOR layeth in the ground.");
}
put("Ye find yeself at a grassy crossroads. Ye see a wooden SIGN. Paths lead NORTH, SOUTH, EAST, and WEST.");
}
function displayItems() {
if (GameState.dungeonLocation == "crossroads") {
Game.photo_mc.roomPhoto_mc.door_mc._visible = true;
}
if (GameState.dungeonDoorOpen) {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("open");
} else {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("closed");
}
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.door_mc._visible = false;
}
}
Symbol 260 MovieClip [__Packages.Room_sanctum] Frame 0
class Room_sanctum extends Room
{
var synonyms, spikeCounter, put, pressEnterCallbackFunc, superClassParse, r;
function Room_sanctum () {
super();
synonyms.push(new Array("pedastal", "pedastel", "pedastle", "pedestle"));
synonyms.push(new Array("column", "columns", "pillar", "pillars"));
spikeCounter = 0;
}
function getName() {
return("Some Sanctum");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isGo("south")) {
Game.newRoom("spikes");
return(undefined);
}
if (_local2.isLookAt("sanctum")) {
put("Thou can'tst decide whether tis an \"inny\" or an \"outey\" sanctum.");
return(undefined);
}
if ((_local2.isLookAt("pedastal") || (_local2.isLookAt("pedastel"))) || (_local2.isLookAt("pedastle"))) {
put("An extremely boring stone pedestal that bores you to look upon it.");
return(undefined);
}
if ((_local2.isTake("pedastal") || (_local2.isTake("pedastel"))) || (_local2.isTake("pedastle"))) {
put("Naw, man.");
return(undefined);
}
if (_local2.isLookAt("flask")) {
put("Tis the elusive flask ye have been searching for thy whole dungeonlife!");
GameState.warpingOutOfDungeon = true;
return(undefined);
}
if (_local2.isLookAt("column")) {
put("Ugh, Roman. Ye HATES Roman columns. Thou art an Ionic dungeonman through and threau.");
GameState.warpingOutOfDungeon = true;
return(undefined);
}
if (_local2.isTake("flask")) {
var _local3 = new Date();
GameState.startingSeconds = Math.floor(_local3.getTime() / 1000);
put("This tis it! After years of searching and hundreds of dungeons, thou art finally going to get ye flask! Ye reaches out thy trembling hand and...");
pressEnterCallbackFunc = postFlask;
Game.addPause();
return(undefined);
}
trace("Room_sanctum parse");
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function postFlask() {
trace("postFlask called " + r);
Game.dt.startOut(Game.showVoip);
put("VOIP!!");
pressEnterCallbackFunc = postVoip;
Game.addPause();
}
function postVoip() {
trace("postVoip called");
Game.newRoom("crossroads");
}
function look() {
put("Thou art in a large sanctum. Atop a pedastal ye see a FLASK.");
}
}
Symbol 261 MovieClip [__Packages.Room_monastery_outside] Frame 0
class Room_monastery_outside extends Room
{
var synonyms, put, superClassParse;
function Room_monastery_outside () {
super();
synonyms.push(new Array("monastery", "monestary", "monastary", "church", "chapel", "steeple", "building", "house"));
synonyms.push(new Array("rock", "stone", "rocks", "stones", "pebbles"));
}
function getName() {
return("Monastery outside");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isLookAt("monastery")) {
put("Tis monastic as all get out. The words \"Fatmonk Monastery\" are hewn into the stone.");
return(undefined);
}
if (_local2.isTake("bird")) {
if (GameState.takenBird) {
put("Thou've already had the bird as a shoulder ornament. Be cool.");
} else {
put("The hungry whiner bird nearly pecks off a knuckle. Perhaps if ye made friends with it...");
}
return(undefined);
}
if (_local2.isStart("make friends")) {
if (GameState.takenBird) {
put("Thou can't think of a better friend than an old corn-ear-nibbler.");
} else {
put("Bribery is the sincerest form of flattery. Or something like that.");
}
return(undefined);
}
if ((_local2.isStart("talk") && (_local2.contains("bird"))) || (_local2.isStart("morble") || (_local2.isStart("ganch")))) {
put("Thy morbling is a bit rusty. And ye hasn't ganched since thou wert a pimple-faced dungeonteen.");
return(undefined);
}
if (_local2.isStart("kill") && (_local2.contains("bird"))) {
put("Ye can't take anymore and try to silence the bird forever. As it pecks out the first eye ye thinks to yeself, \"This is not going well.\" Things continue in similar, gruesome fashion until thou art seriously pecked through. Thou art dead. Try better next time.");
Game.die();
return(undefined);
}
if (_local2.isLookAt("crossroads")) {
put("They are to the south. No points for asking.");
return(undefined);
}
if (_local2.isLookAt("tree")) {
put("Well, it's a tree. Elm, deciduous, mid-growth forest. Thou takest a core sample and count the rings to discover it to be 32 years old. My lord thou art a nerd.");
return(undefined);
}
if (_local2.isLookAt("rock")) {
put("Just part of the photo we digitized.");
return(undefined);
}
if (_local2.isLookAt("bird")) {
if (!GameState.takenBird) {
put("Truly an ugly bird. And the sounds it doth make! Ye can taketh the morbling. It's the ganching that really cheeses thee off.");
return(undefined);
}
}
if (_local2.isGo("south")) {
Game.newRoom("crossroads");
return(undefined);
}
if (_local2.isGo("north") || (_local2.isStart("open") && (_local2.isEnd("door")))) {
Game.newRoom("monastery_inside");
return(undefined);
}
if (((_local2.isStart("use") || (_local2.isStart("give"))) && (_local2.contains("corn"))) || (_local2.isStart("feed"))) {
if (_local2.contains("bird")) {
if (!GameState.inv.hasBird) {
if (GameState.inv.hasCorn) {
put("Ye holds out a handful of corn. The bird stops its whining and hops into your hand. Ye've made a new friend! He rides quietly on thy shoulder and nibbles corn out of thy ear. Why ye put corn in thy ear we'll never know.");
Game.scorePoints(2);
GameState.takenBird = true;
GameState.inv.hasBird = true;
Game.photo_mc.roomPhoto_mc.bird_mc._visible = false;
} else {
put("A way to a bird's heart is through its stomach. Unfortunately, the way to giving corn is having corn in the first place.");
}
} else {
put("Ye repeats the same commands over and over again until thee gets really boring. Oh, wait: already too late.");
}
} else if (GameState.inv.hasCorn) {
put("Thou givest the corn to thyself. Thanks, thyself!");
} else {
put("A way to a bird's heart is through its stomach. Unfortunately, the way to giving corn is having corn in the first place.");
}
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function displayItems() {
if (GameState.takenBird) {
Game.photo_mc.roomPhoto_mc.bird_mc._visible = false;
} else {
Game.photo_mc.roomPhoto_mc.bird_mc._visible = true;
}
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.bird_mc._visible = false;
}
function look() {
put("Thou art outside a small monastery.");
if (!GameState.takenBird) {
put("An annoying whiner BIRD sits nearby, morbling and ganching.");
}
put("The crossroads lie SOUTH and the entrance to the monastery is NORTH.");
}
}
Symbol 262 MovieClip [__Packages.Room_monastery_inside] Frame 0
class Room_monastery_inside extends Room
{
var synonyms, put, pressEnterCallbackFunc, superClassParse;
function Room_monastery_inside () {
super();
synonyms.push(new Array("monastery", "church", "chapel", "steeple", "building", "house"));
synonyms.push(new Array("stein", "stien", "mug", "cup", "beer", "drink"));
synonyms.push(new Array("cauldron", "caldron", "pot"));
synonyms.push(new Array("ham", "meat", "food"));
synonyms.push(new Array("monk", "friar", "dude", "guy", "man", "fatty", "fatman", "gordo", "mound"));
SoundFX.play("monastery.wav");
}
function getName() {
return("Monastery interior");
}
function parse() {
var _local2 = Game.tp;
hideItems();
if (_local2.isGo("south")) {
Game.newRoom("monastery_outside");
return(undefined);
}
if (_local2.isLookAt("stein")) {
put("Looketh like a Franken Brand stein.");
return(undefined);
}
if (_local2.isLookAt("cauldron")) {
put("Tis full of a cold broth.");
return(undefined);
}
if (_local2.isLookAt("monk")) {
put("He could be a nice man.");
return(undefined);
}
if (_local2.isLookAt("table")) {
put("Ye suspects the table may also serve as the friar's bed and *shudder* chamber pot.");
return(undefined);
}
if (_local2.isLookAt("window")) {
put("Tis pointy at the top, and wide at the neath, just like ye likes thy swords!");
return(undefined);
}
if (_local2.isLookAt("ham")) {
put("Tis one of those pineapple upside-down hams.");
return(undefined);
}
if (_local2.isTake("ham")) {
put("A good way to lose a finger, forsooth! Ye decides to leaveth the ham alone.");
return(undefined);
}
if (_local2.isLookAt("broth")) {
put("Looks a little bland. Could maybe use some meat.");
return(undefined);
}
if (_local2.isTake("cauldron") || (_local2.isTake("broth"))) {
put("Nay. Ye suspects it might actually be the monk's laundry. Ye further suspects that won't stop him from eating it.");
return(undefined);
}
if (_local2.isStart("talk") && (_local2.isEnd("monk"))) {
var _local3 = new Date();
Game.photo_mc.roomPhoto_mc.matt_mc._visible = true;
var _local4 = Math.floor(_local3.getTime() / 1000) - GameState.startingSeconds;
put(("\"Oh! I didn't see thee come in! Welcome to Fatmonk Monastery. I am Fat, Fat Friar.\" You ask tubbs if he has seen a rogue dungeon roaming about. \"There used to be a dungeon on a nearby screen, but that up and disappeared about " + _local4) + " seconds ago.\"");
return(undefined);
}
if (_local2.isTake("stein")) {
Game.dt.startOut(Game.showMutton);
Game.scorePoints(1);
put("You snatch up the stein. Suddenly, the mound o' monk clubs thee over the head with a mutton chop! Ye always thought ye would look good with mutton chops. Everything goes black as pitch...");
GameState.takenStein = true;
GameState.inv.hasStein = true;
pressEnterCallbackFunc = postKnockout;
Game.addPause();
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function postKnockout() {
put("Thou awaketh. Now thou art inside the large cauldron.");
Game.newRoom("cauldron");
}
function postReturn() {
put("We can only assume that thou dead and that thou needed more salt. Way to go.");
LocalData.save("save0", "currentRoom", "monastery_outside");
Game.die();
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.matt_mc._visible = false;
}
function look() {
if (GameState.escapedMonk) {
put("Wow, thou art a glutton for punishment. Speaking of gluttons, ol' Fatmonk McMunchalot clubs thee over the head yet again.\nPRESS ENTER");
pressEnterCallbackFunc = postReturn;
Game.addPause();
} else {
put("The monastery is small and cramped. A large cauldron layeth in the center of the room. A group of robed monks eat at a small table.");
put("Oh wait. Just one, really fat MONK eats at a small table. Upon the table is a STEIN. The exit tis back SOUTH.");
if (!GameState.takenStein) {
put("Upon the table is a STEIN.");
}
put("The exit tis back SOUTH.");
}
}
}
Symbol 263 MovieClip [__Packages.Room_cauldron] Frame 0
class Room_cauldron extends Room
{
var pressEnterCallbackFunc, synonyms, put, superClassParse, firstTime;
function Room_cauldron () {
super();
pressEnterCallbackFunc = postIntro;
Game.addPause();
synonyms.push(new Array("monastery", "church", "chapel", "steeple", "building", "house"));
synonyms.push(new Array("stein", "stien", "mug", "cup"));
synonyms.push(new Array("cauldron", "caldron", "pot"));
synonyms.push(new Array("monk", "friar", "dude", "guy", "man", "fatty", "fatman", "gordo", "mound"));
synonyms.push(new Array("potatoes", "carrots", "vegetables", "chunks", "food", "potato", "carrot", "stew", "broth"));
SoundFX.play("danger2.wav");
}
function undoCounter() {
GameState.boilCountdown++;
}
function getName() {
return("Crock pot, Inner Monastery");
}
function parse() {
var _local2 = Game.tp;
trace("Boil countdown: " + GameState.boilCountdown);
GameState.boilCountdown--;
if (GameState.boilCountdown == 0) {
put("The pot begins to bubble. Thy first instinct is to excuse thyself and apologize. Then thou noticeth a peculiar, being-cooked sensation and the distinct odor of mincemudge. At any rate, thou art stew and Fat, Fat Friar gets a little bit closer to being Fat, Fat, Fat Friar thanks to thee. Thou art dead. Next time, Try Hard 2: Try Harder.");
Game.die();
}
if (_local2.isStart("talk") && (_local2.isEnd("monk"))) {
put("He's done talking. Now he's biting and spitting again.");
return(undefined);
}
if (_local2.isStart("eat") && (_local2.isEnd("stew"))) {
put("Not bad. Tastes like when thou eats the skin off thy lips.");
return(undefined);
}
if (_local2.isLookAt("window")) {
put("Ye wouldn't fit through it. Wasn't there another way out of this room before?");
return(undefined);
}
if ((_local2.is("get out of cauldron") || (_local2.is("get out"))) || (_local2.is("leave cauldron"))) {
put("Okay, but which direction wouldst thou go?");
return(undefined);
}
if ((_local2.is("get out of pot") || (_local2.is("get out"))) || (_local2.is("leave pot"))) {
put("Okay, but which direction wouldst thou go?");
return(undefined);
}
if (_local2.is("leave")) {
put("Okay, but which direction wouldst thou go?");
return(undefined);
}
if (((_local2.isStart("go out") || (_local2.isStart("climb out"))) || (_local2.isStart("jump out"))) && (_local2.isEnd("cauldron"))) {
put("Okay, but which direction wouldst thou go?");
return(undefined);
}
if ((((_local2.isStart("go out") || (_local2.isStart("climb out"))) || (_local2.isStart("use"))) || (_local2.isStart("jump out"))) && (_local2.isEnd("window"))) {
put("Twasn't there a door 'round here somewheres?");
return(undefined);
}
if (_local2.isLookAt("monk")) {
put("Yuck. Just... yuck. This guy turned out to be a total jerk.");
return(undefined);
}
if (_local2.isLookAt("knife")) {
put("Looks ready to slather ye with butter.");
return(undefined);
}
if (_local2.isLookAt("spoon")) {
put("Never has a spoon looked so menacing.");
return(undefined);
}
if (_local2.isTake("spoon") || (_local2.isTake("knife"))) {
put("Twould be like removing the sword from the stone. 'Whoso pulleth out the utensils of this meaty palm is rightwise king born of England and privy to my secret recipe for cupcakes.'");
return(undefined);
}
if (_local2.isLookAt("cauldron")) {
put("It's much roomier in here than it looked.");
return(undefined);
}
if (_local2.isGo("south")) {
put("Ye hops out of the pot and headeth south through the doorway. Ye made it! \"Go south!\" Who woulda thought? Thou're never going back there again.");
GameState.escapedMonk = true;
pressEnterCallbackFunc = postCauldron;
Game.addPause();
Game.scorePoints(3);
return(undefined);
}
if (_local2.isStart("stand")) {
put("Great idea, but thou art already standing. What thou needsth is a way to go SOUTH.");
return(undefined);
}
if (_local2.isStart("sit")) {
put("Thou might drown. Drowing in broth might not be as bad as drowning in other stuff, but thou could never really sample more than one to know for sure.");
return(undefined);
}
if (_local2.isStart("kill") && (_local2.contains("monk"))) {
put("No time for rough housing! Thou needs to finds a way outta here post haste!");
return(undefined);
}
if (_local2.isTake("potatoes") || (_local2.isTake("pot"))) {
put("What does thou want with stew supplies? Currently, THOU ART stew!");
return(undefined);
}
if (_local2.isLookAt("potatoes") || (_local2.isLookAt("pot"))) {
put("What does thou want with stew supplies? Currently, THOU ART stew!");
return(undefined);
}
if ((_local2.isStart("give") || (_local2.isStart("use"))) && (_local2.contains("bird"))) {
if (GameState.inv.hasBird) {
put("\"Ye call THAT foodstuffs?\" scoffs Father Posterior");
return(undefined);
}
}
if ((_local2.isStart("give") || (_local2.isStart("use"))) && (_local2.contains("corn"))) {
if (GameState.inv.hasCorn) {
put("\"Ye call THAT foodstuffs?\" scoffs Father Posterior");
return(undefined);
}
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function look() {
if (firstTime == undefined) {
put("Thou awaketh. Now thou art inside the large cauldron. Tis full of progreffively warmer and warmer broth. Fat, Fat Friar is slicing carrots and potatoes into the stew by biting off chunks and spitting them out. Oh, and ye also has the stein. Apparently, that wasn't why he knocked you out. The exit tis back SOUTH.\n[PRESS ENTER]");
firstTime = false;
} else {
put("Thou art inside the large cauldron. Tis full of progreffively warmer and warmer broth. Fat, Fat Friar is slicing carrots and potatoes into the stew by biting off chunks and spitting them out.");
}
}
function postIntro() {
put("\"Please understand, tis nothing personal,\" says Lord Round Mound, \"Foodstuffs art scarce these days and thou aren't.\" Um, wasn't this guy just eating an entire glazed ham?");
}
function postCauldron() {
Game.newRoom("monastery_outside");
}
}
Symbol 264 MovieClip [__Packages.Room_overlook] Frame 0
class Room_overlook extends Room
{
var synonyms, put, pressEnterCallbackFunc, parseDungeonDoor, superClassParse;
function Room_overlook () {
super();
synonyms.push(new Array("cart", "wagon", "wheelbarrow"));
synonyms.push(new Array("guy", "dude", "person", "man", "vcd"));
synonyms.push(new Array("village", "westerberg", "westerburg", "town", "buildings"));
synonyms.push(new Array("steal", "nab", "pilfer", "swipe"));
synonyms.push(new Array("corn", "vegetable", "vegetables"));
}
function getName() {
return("Overlook");
}
function parse() {
var _local2 = Game.tp;
Game.photo_mc.roomPhoto_mc.matt_mc._visible = false;
if (_local2.isGo("east")) {
Game.newRoom("street");
return(undefined);
}
if (_local2.isGo("west")) {
Game.newRoom("crossroads");
return(undefined);
}
if (_local2.isLookAt("cart")) {
put("The cart is full of corn. Tis a cornful cart.");
return(undefined);
}
if (_local2.isLookAt("guy")) {
put("The vegetable cart dude looks like the type 'twoud follow around traveling minstrels, sleeping in his cart and selling rotten vegetables to teenagers for gas money...er, kerosene money.");
Game.photo_mc.roomPhoto_mc.matt_mc._visible = true;
return(undefined);
}
if (_local2.isLookAt("cartcorn")) {
put("The corn is piled high upon the cart. Tis some good lookin' cartcorn.");
return(undefined);
}
if (_local2.isLookAt("corn")) {
if (!GameState.inv.hasCorn) {
put("The corn is piled high upon the cart. Tis some good lookin' cartcorn.");
return(undefined);
}
}
if (_local2.isLookAt("overlook")) {
put("Did ye really just type that?");
return(undefined);
}
if (_local2.isLookAt("village")) {
put("That art one big village! At least 4 or 5 screens big!");
return(undefined);
}
if (_local2.isTake("corn")) {
if (GameState.inv.hasCorn) {
put("Thou has already corn. Don't be a cornhoarder.");
} else {
put("\"Hey man,\" sayeth the vegetable cart dude, \"if that plague of locusts hadn't screwed up the harvest forthwith, I'd totally hook thee up. As it stands, I gotta charge ye an unspecified amount of gold coins.\"");
}
return(undefined);
}
if (_local2.isStart("steal") && (_local2.isEnd("corn"))) {
if (GameState.inv.hasCorn) {
put("Thou has already corn. Don't be a cacher in the corn.");
} else {
put("Thou gives a furtive glance left and right, so as to not reveal thy intentions. Thou art so darn shifty that thou reveals thy intentions. Ye art totally busted.");
pressEnterCallbackFunc = postSteal;
Game.addPause();
}
return(undefined);
}
if (_local2.isStart("talk") && (_local2.isEnd("man"))) {
Game.photo_mc.roomPhoto_mc.matt_mc._visible = true;
put("Ye asks if he hath seen thy dungeon in his travels. \"Yeah, I think I met that dungeon. One of those intense, crush-ye-with-spikes types, right? Last I saw it was");
switch (GameState.dungeonLocation) {
case "clearing" :
put("a couple screens south of the crossroads.\"");
break;
case "woods" :
put("by the entrance to those freaky woods, man.\"");
break;
case "overlook" :
put("um, sitting right there.\"");
break;
case "crossroads" :
put("o'er at the crossroads.\"");
}
return(undefined);
}
if ((_local2.isStart("buy") && (_local2.contains("corn"))) || ((_local2.isStart("use") || (_local2.isStart("give"))) && (_local2.contains("coins")))) {
if (GameState.inv.hasCorn) {
put("Thou has already corn, and less so some gold coins. Try something not as dumb.");
} else if (!GameState.inv.hasCoins) {
put("\"Sorry, Dungeon Joe. This cart accepts organic, cruelty-free gold coins only. You got?\"");
} else {
GameState.inv.hasCorn = true;
GameState.inv.hasCoins = false;
Game.scorePoints(2);
put("Ye handeth the bag of coins to the veggie cart dude. He hands ye a handful of dried corn in return. Commerce at work. \"Here you go,\" says the VCD,");
var _local3 = new Array("Think flatly, act locally.", "Magick happens.", "Visualize whirled peas.", "Subvert the dominant paradigm.", "Kill your scrolls.");
var _local4 = Math.floor(Math.random() * _local3.length);
put(("\"" + _local3[_local4]) + "\"");
}
return(undefined);
}
if (parseDungeonDoor("overlook")) {
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function postSteal() {
put("Thoust are dragged off by security subject to the eye-for-an-eye, corn-for-a-corn punishment system, the details of which we needn't discuss. Trust us: you dead. Corn is not a source of moral fibre.");
Game.die();
}
function look() {
put("Ye standeth at an overlook which, surprise, overlooks the village of Westerburg. There is a vegetable CART here complete with vegetable cart MAN");
put("and vegetable cart vegetable: CORN.");
put("A village lies to the EAST and a crossroads to the WEST.");
if (GameState.dungeonLocation == "overlook") {
put("A fresh dungeon DOOR layeth in the ground.");
}
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.matt_mc._visible = false;
Game.photo_mc.roomPhoto_mc.door_mc._visible = false;
}
function displayItems() {
if (GameState.dungeonLocation == "overlook") {
Game.photo_mc.roomPhoto_mc.door_mc._visible = true;
}
if (GameState.dungeonDoorOpen) {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("open");
} else {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("closed");
}
}
}
Symbol 265 MovieClip [__Packages.Room_empty] Frame 0
class Room_empty extends Room
{
var synonyms, put, superClassParse;
function Room_empty () {
super();
synonyms.push(new Array("capital letters", "letters", "words", "hints"));
synonyms.push(new Array("flyer", "paper", "note"));
}
function getName() {
return("Just an empty street");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isLookAt("letters")) {
put("I think those capital letters are meant to draw your attention to important objects.");
return(undefined);
}
if (_local2.isLookAt("objects")) {
put("There are no objects here. Except thou. And thou're sick of being treated like one.");
return(undefined);
}
if (_local2.isLookAt("person")) {
put("There is no PERSON here. Ok, well technically thou art here, so I lied. Otherwise, empty, though.");
return(undefined);
}
if (_local2.isLookAt("flyer")) {
put("Seriously, there is no FLYER here. 'Tis an empty street. It's almost like this is just here to make the game world seem bigger.");
return(undefined);
}
if (_local2.isStart("read") && (_local2.isEnd("flyer"))) {
put("Um, you imagine a flyer is really there, and it says \"Wanted Dung on man [sic, hopefully] to make tons of gold and resque some peeples.\" Thy imagination is a lousy speller, what can I say?");
return(undefined);
}
if (_local2.isGo("east")) {
put("No, no, no. No exits to the EAST. I'm going to have to ask thee to stop playing now.");
return(undefined);
}
if (_local2.isGo("west")) {
Game.newRoom("sandwich");
return(undefined);
}
if (_local2.isLookAt("east")) {
put("Thou notices a distinct lack of an exit to the EAST.");
return(undefined);
}
if (_local2.isLookAt("ground")) {
put("It is utterly FLYERless and relatively PERSONless.");
return(undefined);
}
if (_local2.isLookAt("shoppe") || (_local2.isLookAt("west"))) {
put("Thou aren't close enough to see the DETAILS, just that it is the sammich shoppe. Really, this room is not doing much for ye.");
return(undefined);
}
if (_local2.isLookAt("details")) {
put("Thou whip out a copy of thy favorite Dungeonmen's magazine and evision thyself with rock-hard tasty abs.");
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function look() {
put("Check it out. This street is totally empty and does not continue EAST. There is no PERSON here, nor is there a FLYER on the GROUND.");
put("The sammich SHOPPE is to the WEST. Some words are in CAPITAL LETTERS.");
}
}
Symbol 266 MovieClip [__Packages.Room_bridge] Frame 0
class Room_bridge extends Room
{
var synonyms, put, pressEnterCallbackFunc, superClassParse;
function Room_bridge () {
super();
synonyms.push(new Array("stream", "brook", "river", "water"));
synonyms.push(new Array("kill", "push"));
synonyms.push(new Array("jump in", "swim", "dive"));
if (!GameState.trollKilled) {
SoundFX.play("danger2.wav");
}
}
function getName() {
return("Bridge which looks troll-friendly");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isGo("north")) {
Game.newRoom("crossroads");
return(undefined);
}
if (_local2.isGo("south") || ((_local2.isStart("cross") || (_local2.isStart("use"))) && (_local2.isEnd("bridge")))) {
if (GameState.trollKilled) {
Game.newRoom("clearing");
} else {
put("The troll gets all up in thy business. \"No one pass!\" he says, \"I Skull kracka! Kracka you skull!\" Until he's gone, thou art not going SOUTH.");
}
return(undefined);
}
if (_local2.isLookAt("bridge")) {
put("A stone bridge. These art notorious for their knife fights.");
return(undefined);
}
if (_local2.isStart("jump off") && (_local2.isEnd("bridge"))) {
put("We're not at that point yet. Ye don't suck THAT badly at this game.");
return(undefined);
}
if (_local2.isStart("swim") && (_local2.isEnd("water"))) {
put("Naw. That stream's so lazy, it prolly wouldn't even float thee.");
return(undefined);
}
if (_local2.isTake("water")) {
put("Ye cannot. T'wouldn't do anything for thee anyway, tis too lazy.");
return(undefined);
}
if ((!GameState.trollKilled) && (_local2.isLookAt("bone"))) {
put("Perfectly poised to pummel or pound a person pinto the pground.");
return(undefined);
}
if (_local2.isStart("talk") && (_local2.isEnd("troll"))) {
if (GameState.trollKilled) {
put("Tain't here.");
} else if (GameState.inv.hasBird) {
put("\"Get bird away from me! No ganching No ganching!\" screeches the troll. Jeez! What a ganchaphobe.");
} else {
put("Ye starts to ask the troll about thy dungeon but thy voice cracks embarrassingly instead. \"ARGH!\" hollers the troll,");
put("\"Stop that ganching!! You no pass!\" Guess he really doesn't like ganching.");
}
return(undefined);
}
if ((((!GameState.trollKilled) && (_local2.isStart("kill"))) && (_local2.contains("troll"))) && (!_local2.contains("bird"))) {
put("\"What the heck,\" ye thinks to yeself. \"I can take this guy\"");
pressEnterCallbackFunc = postTrollAttack;
Game.addPause();
return(undefined);
}
if (_local2.isLookAt("stream")) {
put("Tis the laziest stream thou hast ever seen! Get a job!");
return(undefined);
}
if (_local2.isStart("ganch")) {
if (!GameState.inv.hasBird) {
put("Ye can't do it when thou art trying. If only ye could get someone else to ganch for thee.");
} else {
put("Thy winged friend swoops from thy shoulder and dives at the troll, pecking and ganching at his hideous wig. \"AGH! My style!\" cries the troll and throws himself into the stream, drowning instantly.");
GameState.inv.hasBird = false;
GameState.inv.hasCorn = false;
GameState.trollKilled = true;
pressEnterCallbackFunc = postTrollKill;
Game.addPause();
Game.scorePoints(2);
}
return(undefined);
}
if (((GameState.inv.hasBird && ((_local2.isStart("use") || (_local2.isStart("throw"))) || (_local2.isStart("give")))) && (_local2.isEnd("bird"))) || (GameState.inv.hasBird && ((((_local2.isStart("kill") || (_local2.isStart("use"))) || (_local2.isStart("give"))) && (_local2.contains("troll"))) && (_local2.contains("bird"))))) {
put("Thy winged friend swoops from thy shoulder and dives at the troll, pecking and ganching at his hideous wig. \"AGH! My style!\" cries the troll and throws himself into the stream, drowning instantly.");
GameState.inv.hasBird = false;
GameState.inv.hasCorn = false;
GameState.trollKilled = true;
pressEnterCallbackFunc = postTrollKill;
Game.addPause();
Game.scorePoints(2);
return(undefined);
}
if (_local2.isLookAt("troll")) {
if (!GameState.trollKilled) {
put("The snarling troll looks like it can't wait to pummel whosoever would cross its path.");
} else {
put("Tain't here.");
}
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function postTrollKill() {
put("Guess the stream wasn't as lazy as ye thought. The bird gives thee a wink and flies off into the black sky. The way SOUTH is clear!");
displayItems();
}
function postTrollAttack() {
put("Wow were thou wrong. The troll pummels you with his bone and gores you with his tusk. As thou bleeds slowly to death thou considereth a good portmanteau for 'pummel' and 'gore'. 'Gummel'?");
Game.die();
}
function displayItems() {
if (!GameState.trollKilled) {
Game.photo_mc.roomPhoto_mc.troll_mc._visible = true;
} else {
Game.photo_mc.roomPhoto_mc.troll_mc._visible = false;
}
Game.photo_mc.roomPhoto_mc.river_mc._visible = !Game.photo_mc.roomPhoto_mc.troll_mc._visible;
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.troll_mc._visible = false;
Game.photo_mc.roomPhoto_mc.river_mc._visible = false;
}
function look() {
put("A stone bridge arches over a lazy stream.");
if (GameState.trollKilled) {
put("A clearing lies over the bridge to the SOUTH.");
} else {
put("A hideous TROLL blocks thy way SOUTH.");
}
put("The crossroads lie back NORTH.");
}
}
Symbol 267 MovieClip [__Packages.Room_hag] Frame 0
class Room_hag extends Room
{
var synonyms, specialYesNoMode, specialScrapbookMode, photoAlbumMode, put, pressEnterCallbackFunc, currentPhoto, superClassParse, currentQuestion, firstTime;
function Room_hag () {
super();
synonyms.push(new Array("hag", "witch", "lady", "woman", "chic"));
synonyms.push(new Array("scrapbook", "book", "handbook", "album", "photos"));
synonyms.push(new Array("frog", "rabbit", "toad", "animal", "amphibian", "lizard", "creature"));
synonyms.push(new Array("eyeball", "eye"));
synonyms.push(new Array("mug", "cup", "glass", "stein", "drink", "coffee"));
synonyms.push(new Array("controller", "paddle", "joystick", "n64", "joystik", "joypad", "gamepad", "dprint", "nintendo", "64", "game", "console"));
synonyms.push(new Array("woods", "trees", "tree"));
synonyms.push(new Array("1", "one"));
synonyms.push(new Array("2", "two"));
synonyms.push(new Array("3", "three"));
synonyms.push(new Array("4", "four"));
synonyms.push(new Array("wensleydire", "a", "frog", "1"));
synonyms.push(new Array("rottenscab", "b", "eyeball", "2"));
synonyms.push(new Array("blood area", "c", "controller", "3"));
synonyms.push(new Array("zork", "d", "mug", "4"));
specialYesNoMode = false;
specialScrapbookMode = false;
photoAlbumMode = false;
if (!GameState.inv.hasGlove) {
SoundFX.play("danger2.wav");
}
}
function getName() {
return("Hag's clearing");
}
function parse() {
var _local2 = Game.tp;
Game.photo_mc.roomPhoto_mc.ryan_mc._visible = false;
if (specialScrapbookMode) {
parseScrapBook();
return(undefined);
}
if (photoAlbumMode) {
advancePhotoAlbumMode();
return(undefined);
}
if (specialYesNoMode) {
if (_local2.contains("yes") || (_local2.is("y"))) {
specialScrapbookMode = true;
specialYesNoMode = false;
Game.scorePoints(1);
put("\"Very well. If ye answers questions three, then I'll know thou art me precious Cramforth.\"");
pressEnterCallbackFunc = askFirstQuestion;
Game.addPause();
Game.inputMode = "talk";
return(undefined);
}
if (_local2.contains("no") || (_local2.is("n"))) {
put("\"Then I'll never know for sure,\" sniffs the hag. You Dungeonheartbreaker.");
specialYesNoMode = false;
Game.inputMode = "free";
return(undefined);
}
put("Just answer the hag 'yes' or 'no'. Please?");
return(undefined);
}
if (_local2.isGo("east") || (_local2.isStart("leave"))) {
Game.newRoom("woods");
return(undefined);
}
if (_local2.isLookAt("stump")) {
put("The Hag hast a pretty fresh sitting stump, ye have to admit.");
return(undefined);
}
if (_local2.isLookAt("woods")) {
put("Thickly thuckled ain't the half of it.");
return(undefined);
}
if (_local2.isLookAt("hag")) {
if (GameState.inv.hasGlove) {
put("She looks much happier now, despite what those graphics tell thee.");
} else {
put("Her beard doth rival thine own. Ye swears she keeps mumbling something about a dungeon.");
}
return(undefined);
}
if (_local2.isStart("talk") && (_local2.isEnd("hag"))) {
Game.photo_mc.roomPhoto_mc.ryan_mc._visible = true;
if (GameState.inv.hasGlove) {
put("\"Ye go show that dungeon who's lord, Cramforth! You da lord!\"");
} else if (!GameState.bloodOnSelf) {
put("\"Away with ye,\" she shrieks, \"I speaketh only to me dead husband who died of a bloody head!\" She becomes abruptly silent and goes back to her landbeforetiming. A bloody head, eh?");
} else {
put("\"AHH! Can it really be ye, Cramforth?\" the hag asks. \"If it be, then ye wouldn't mind answering a few personal questions bout us to prove it,");
put("would ye?\" GULP! Art thou ready to answer the hag's personal questions?");
Game.inputMode = "yn";
specialYesNoMode = true;
}
return(undefined);
}
if (_local2.isTake("scrapbook")) {
put("I wouldn't risk taking yon scrapbook. A quick LOOK couldn't hurt though.");
return(undefined);
}
if (_local2.isTake("hag")) {
put("No.");
return(undefined);
}
if (_local2.isLookAt("scrapbook") || (_local2.isStart("open") && (_local2.isEnd("scrapbook")))) {
put("Hoping the hag won't bite off several of thy dungeonfingers, ye picks up the scrapbook and flip through the etchings inside. [Press ENTER to TURN PAGE]");
generateAnswers();
photoAlbumMode = true;
currentPhoto = 0;
Game.setScrapbookMode(true);
Game.photo_mc.attachMovie("scrapbook_cover", "scrapbook_mc", 2);
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function parseScrapBook() {
var _local2 = Game.tp;
Game.photo_mc.roomPhoto_mc.ryan_mc._visible = true;
if (currentQuestion == 3) {
if (_local2.is(GameState[("hag" + currentQuestion) + "answer"])) {
put("\"Cramforth! Tis really ye!\" mistaking thee for her dead husband. Ye suffer several prickly kisses from the hag which leave the odor of rat liqueur on thy face. \"No wonder ye died of a bloody head");
put("ye forgot thy FLASK GETTING GLOVE before ye set out to vanquish that rogue dungeon.\"");
Game.scorePoints(3);
pressEnterCallbackFunc = getGlovePart2;
Game.addPause();
Game.inputMode = "free";
GameState.inv.hasGlove = true;
specialScrapbookMode = false;
return(undefined);
}
put("\"IMPOSTER!!\" screams Hagatha Christie and leaps at you with jagged claws. At first, ye thinks she's just pouring ketchup all o'er ye.");
put("But then ye're like, oh right, that's my blood. Thou art dead. Next time maybe use the NOTES section we provided at the back of the manual.");
Game.inputMode = "free";
Game.die();
return(undefined);
}
if ((_local2.is(GameState[("hag" + currentQuestion) + "answer"].toLowerCase()) || (_local2.is("an " + GameState[("hag" + currentQuestion) + "answer"].toLowerCase()))) || (_local2.is("a " + GameState[("hag" + currentQuestion) + "answer"].toLowerCase()))) {
if (currentQuestion == 1) {
askSecondQuestion();
} else if (currentQuestion == 2) {
askThirdQuestion();
}
} else {
put("\"IMPOSTER!!\" screams Hagatha Christie and leaps at you with jagged claws. At first, ye thinks she's just pouring ketchup all o'er ye.");
put("But then ye're like, oh right, that's my blood. Thou art dead. Next time maybe use the NOTES section we provided at the back of the manual.");
Game.inputMode = "free";
Game.die();
}
}
function getGlovePart2() {
put("\"Perhaps ye can still defeat that dungeon, even in thy new hotter, spectral form.\" Um, eww. \"Here!\" she says and hands ye a wicked FLASK GETTING GLOVE!");
}
function askFirstQuestion() {
generateAnswers();
put("Where didst we geaux on our honeymoon? A: Wensleydire, B: Rottenscab, C: Blood Area, or D:Zork?");
currentQuestion = 1;
}
function askSecondQuestion() {
put("What did ye get me for me 114th birthday? A: Toad, B: Eyeball, C: N64 Paddle, or D: Commemorative mug?");
currentQuestion = 2;
}
function askThirdQuestion() {
put("How many wee hags didst we have together? 1, 2, 3 or 4?");
currentQuestion = 3;
}
function generateAnswers() {
if (GameState.hag1answer == undefined) {
var _local1 = new Array("Wensleydire", "Rottenscab", "Blood Area", "Zork");
GameState.hag1answer = _local1[Math.floor(Math.random() * _local1.length)];
_local1 = new Array("a", "b", "c", "d");
GameState.hag2answer = _local1[Math.floor(Math.random() * _local1.length)];
_local1 = new Array("1", "2", "3", "4");
GameState.hag3answer = _local1[Math.floor(Math.random() * _local1.length)];
trace("GameState.hag3answer " + GameState.hag3answer);
}
}
function advancePhotoAlbumMode() {
currentPhoto++;
if (currentPhoto == 4) {
Game.setScrapbookMode(false);
photoAlbumMode = false;
Game.photo_mc.scrapbook_mc.removeMovieClip();
Game.photo_mc.roomPhoto_mc._visible = true;
put("Ye closeth the scrapbook and return it to its indention in the ground. Neverthee mind what the graphic looks like. It's closed.");
} else if (currentPhoto == 3) {
Game.photo_mc.attachMovie("scrapbook_portrait", "scrapbook_mc", 2);
Game.photo_mc.roomPhoto_mc._visible = false;
switch (GameState.hag3answer) {
case "1" :
Game.photo_mc.scrapbook_mc.kid2._visible = false;
Game.photo_mc.scrapbook_mc.kid3._visible = false;
Game.photo_mc.scrapbook_mc.kid4._visible = false;
break;
case "2" :
Game.photo_mc.scrapbook_mc.kid3._visible = false;
Game.photo_mc.scrapbook_mc.kid4._visible = false;
break;
case "3" :
Game.photo_mc.scrapbook_mc.kid4._visible = false;
}
put("[Press ENTER to TURN PAGE]");
} else if (currentPhoto == 2) {
Game.photo_mc.attachMovie("scrapbook_birthday", "scrapbook_mc", 2);
Game.photo_mc.roomPhoto_mc._visible = false;
Game.photo_mc.scrapbook_mc.presents_mc.gotoAndPlay(GameState.hag2answer);
put("[Press ENTER to TURN PAGE]");
} else if (currentPhoto == 1) {
Game.photo_mc.attachMovie("scrapbook_honeymoon", "scrapbook_mc", 2);
Game.photo_mc.roomPhoto_mc._visible = false;
Game.photo_mc.scrapbook_mc.places_mc.gotoAndPlay(GameState.hag1answer);
put("[Press ENTER to TURN PAGE]");
}
}
function look() {
if (firstTime == undefined) {
put("Using Kigalonian's doodoomap, ye traverse the woods and arrive in a small, hag-strewn grove.");
firstTime = false;
}
put("An ancient HAG sits on a stump, ferngullying to herself. A SCRAPBOOK sits on the ground nearby. Thy friend the log is back EAST.");
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.ryan_mc._visible = false;
}
}
Symbol 268 MovieClip [__Packages.Room_pub] Frame 0
class Room_pub extends Room
{
var synonyms, put, superClassParse, pressEnterCallbackFunc;
function Room_pub () {
super();
synonyms.push(new Array("guy", "dude", "cleaner", "man", "bartender", "barkeep", "keep", "barman"));
synonyms.push(new Array("keg", "barrel", "jug"));
synonyms.push(new Array("bottles", "bottle", "containers", "glasses", "shelves"));
synonyms.push(new Array("ask for", "order", "buy", "get"));
synonyms.push(new Array("drink", "mead", "ale", "beer", "bier", "swill"));
}
function getName() {
return("Pub");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isGo("north") || (_local2.isStart("leave"))) {
Game.newRoom("street");
return(undefined);
}
if (_local2.isLookAt("door")) {
put("It's not stopping thee from heading to yon street, to the NORTH");
return(undefined);
}
if (_local2.isLookAt("guy")) {
put("Looks like a goode enough barkeep. Just not a very goode customerkeep.");
return(undefined);
}
if (_local2.isLookAt("keg")) {
put("Ye hopes tis full of Mead Ice. Ye loves that stuffe.");
return(undefined);
}
if (_local2.isLookAt("bottles")) {
put("All empties. Looks like the Recyckling Mage hasn't cometh yet this week.");
return(undefined);
}
if (_local2.isLookAt("beard")) {
put("Puts thine to shame.");
return(undefined);
}
if (_local2.isLookAt("bar")) {
put("Two guys walk into it, a cooper and a blacksmith...");
return(undefined);
}
if (_local2.isTake("bottles")) {
put("To drink here, what ye needs is an empty stein. Not an empty bottle.");
return(undefined);
}
if (_local2.isTake("keg")) {
put("The barkeep tis bald, not blind. He would surely see thee stealing his bier. Or his beard for that matter. Don't steal his beard.");
return(undefined);
}
if (GameState.givenStein && (_local2.isTake("stein"))) {
put("The stein has served its purpose. Besides, thou art allowed only one drink whilst on thy dungeonduty.");
return(undefined);
}
if (GameState.givenStein && (_local2.isLookAt("stein"))) {
put("Thou'll never forget thy old sidekick, Steiny.");
return(undefined);
}
if (_local2.isTake("beard")) {
put("Okay, Text Adventure Gamer of the Year. Ye yanks on the barkeep's whiskers and tear out a small tuft of beard. He, in turn, uses a rusty iron hook to yank on thy innards and tear out a small tuft of thy innards.");
put("Tis grody. Thou art dead, but ye had to see this one coming down the Main Thoroughfare. Try, Thy again.");
Game.die();
return(undefined);
}
if (_local2.isStart("steal") && (_local2.isEnd("beard"))) {
put("Ye waits until the barkeep tisn't looking and swipes his beard from off his face! He, in turn, swipes thy guts from out thy abdomen with a rusty hook! Fair enough trade, right? Thou art dead now, though. So maybe twasn't so fair. Die less next time, huh?");
Game.die();
return(undefined);
}
if (_local2.isStart("steal") && (_local2.isEnd("beer"))) {
put("Ye gives into thy obsession with stealing things in this game and the barkeep answers by stealing thy guts from thy abdomen with a rusty hook! Ouch man. Thou art dead. Try and keep the dying to a minimum next time, 'kay?");
Game.die();
return(undefined);
}
if (_local2.isStart("talk") && (_local2.isEnd("man"))) {
if (!GameState.givenStein) {
put("\"All me old customers stole all me steins and since drink cross the street at yon tavern. If ye've got yer own, ye can drink for free!\"");
} else {
getADrink();
}
return(undefined);
}
if (_local2.isStart("kill") && (_local2.isEnd("man"))) {
put("Thy attempts at killing the barkeep are met with his more successful attempts at killing thee with a rusty hook. Thou art dead. If ye wanted to quit playing this game so bad, ye can just QUIT, ye know?");
Game.die();
return(undefined);
}
if (_local2.isStart("order mead ice") || (_local2.isTake("mead ice"))) {
put("\"I don't serve that pig swill 'ere!\" sayeth the barkeep, \"Nu'n but badger swill fer me customers.\"");
return(undefined);
}
if ((_local2.isStart("order") && (_local2.isEnd("drink"))) || (_local2.isTake("drink"))) {
if ((!GameState.askedBarkeep) && (!GameState.givenStein)) {
put("\"All me old customers stole all me steins and since drink cross the street at yon tavern. If ye've got yer own, ye can drink for free!\"");
GameState.askedBarkeep = true;
} else if (GameState.inv.hasStein) {
getADrink();
} else if (GameState.givenStein) {
getADrink();
} else {
put("Thou doesn't have a stein to give the ill-equipped barkeep.");
}
return(undefined);
}
if ((_local2.isStart("use") || (_local2.isStart("give"))) && (_local2.isEnd("stein"))) {
if (GameState.inv.hasStein) {
getADrink();
} else if (GameState.givenStein) {
getADrink();
} else {
put("Thou doesn't have a stein to give the ill-equipped barkeep.");
}
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function getADrink() {
if (GameState.givenStein) {
put("\"Like I says,\" says the barkeep, \"I'd talk ter Kigalonian in the tavern cross the street. E's got");
put(Kigalonian.getKigAttrib().a);
put("and");
put(Kigalonian.getKigAttrib().b + ".");
put("He can help ye.\"");
} else {
put("\"Coming right up.\" The barkeep draws a disgusting looking liquid from that barrel. Thou art sure it is mongrel pee. As you quaff furtively off-camera, you ask the barkeep if he's seen any good dungeons lately.");
GameState.inv.hasStein = false;
GameState.givenStein = true;
Game.scorePoints(1);
displayItems();
Kigalonian.assignKigalonian();
pressEnterCallbackFunc = postDrink;
Game.addPause();
}
}
function postDrink() {
put("He looks around shiftily even though the pub is empty then says, \"Gotta watch what yer say round ere's, love.");
put("If I were ye, I'd talk ter Kigalonian in the tavern cross the street. E's got");
put(Kigalonian.getKigAttrib().a);
put("and");
put(Kigalonian.getKigAttrib().b + ".");
put("He can help ye.\" Did he just call you \"love\"?");
}
function displayItems() {
trace("Room_woods::displayItems");
if ((!GameState.inv.hasStein) && (GameState.givenStein)) {
Game.photo_mc.roomPhoto_mc.mug_mc._visible = true;
} else {
Game.photo_mc.roomPhoto_mc.mug_mc._visible = false;
}
}
function hideItems() {
trace("Room_woods::hideItems");
Game.photo_mc.roomPhoto_mc.mug_mc._visible = false;
}
function look() {
put("The pub is empty save for a barkeep behind the bar. The door to yon street tis NORTH.");
}
function keyPressed(num) {
}
}
Symbol 269 MovieClip [__Packages.Kigalonian] Frame 0
class Kigalonian
{
static var names;
function Kigalonian () {
}
static function pick() {
define();
var _local3 = Math.floor(Math.random() * names.length);
var _local2;
var _local1 = false;
while (!_local1) {
_local2 = Math.floor(Math.random() * names.length);
if (_local3 == _local2) {
_local1 = false;
} else if (((((_local3 == 1) && ((_local2 == 2) || (_local2 == 3))) || ((_local3 == 2) && (((_local2 == 1) || (_local2 == 3)) || (_local2 == 4)))) || ((_local3 == 3) && (((_local2 == 1) || (_local2 == 2)) || (_local2 == 4)))) || ((_local3 == 4) && ((_local2 == 2) || (_local2 == 3)))) {
_local1 = false;
} else {
_local1 = true;
}
}
return({a:_local3, b:_local2});
}
static function assignKigalonian() {
var _local1 = pick();
GameState.kigAttrib1 = _local1.a;
GameState.kigAttrib2 = _local1.b;
}
static function getOther() {
var _local1;
do {
_local1 = pick();
} while (((_local1.a == GameState.kigAttrib1) && (_local1.b == GameState.kigAttrib2)) || ((_local1.b == GameState.kigAttrib1) && (_local1.a == GameState.kigAttrib2)));
return(_local1);
}
static function define() {
names = new Array("a handlebar moustache", "a frenchie-type beard", "a chinstrap beard", "a full beard", "mutton chops", "an eyepatch", "a hunchback", "a scar");
}
static function getKigAttrib() {
define();
return({a:names[GameState.kigAttrib1], b:names[GameState.kigAttrib2]});
}
}
Symbol 270 MovieClip [__Packages.Room_sandwich] Frame 0
class Room_sandwich extends Room
{
var synonyms, put, superClassParse;
function Room_sandwich () {
super();
synonyms.push(new Array("sign", "signage", "poster", "info"));
synonyms.push(new Array("shop", "shoppe", "store"));
synonyms.push(new Array("window", "glass"));
synonyms.push(new Array("break", "smash"));
synonyms.push(new Array("guy", "dude", "person", "cleaner", "man", "dcd", "dcg"));
}
function getName() {
return("Outside the sammich shoppe");
}
function parse() {
var _local2 = Game.tp;
Game.photo_mc.roomPhoto_mc.me_mc._visible = false;
if (_local2.isGo("east")) {
Game.newRoom("empty");
return(undefined);
}
if (_local2.isGo("west")) {
Game.newRoom("street");
return(undefined);
}
if (_local2.contains("wensleydire")) {
put("If only, my friend. If only.");
return(undefined);
}
if (_local2.isLookAt("sign")) {
put("It says \"Ye Olde Sandwich Shoppe\", and in smaller letters, \"Closed Todays.\"");
return(undefined);
}
if (_local2.isLookAt("shop")) {
look();
return(undefined);
}
if (_local2.isLookAt("sidewalk")) {
put("Other villages marvel at the advanced sidewalkery of Westerberg.");
return(undefined);
}
if (_local2.isLookAt("barrel")) {
put("A very small barrel. Maybe made by a small man. A mini cooper if thou will.");
return(undefined);
}
if (_local2.isTake("barrel")) {
put("You pull at the small barrel but it remains firmly stuck to the background graphic.");
return(undefined);
}
if (_local2.isTake("sign")) {
put("It is rotating on the pole too quickly to grab.");
return(undefined);
}
if (_local2.contains("pole")) {
put("It's not that kind of game. Sorry.");
return(undefined);
}
if (_local2.isTake("pole")) {
put("It's not that kind of game. Sorry.");
return(undefined);
}
if (_local2.isLookAt("door") || (_local2.isStart("open") && (_local2.isEnd("door")))) {
put("It's one of the more closed and locked doors thou hast seen lately. Scores a 10 on the closed and locked meter. A+ for closedness.");
return(undefined);
}
if (_local2.isLookAt("window")) {
put("Looks like a typical poultry joint. There is a DISGRUNTLED CLEANING GUY by the CONDIMENT BAR.");
return(undefined);
}
if (((_local2.isStart("go") || (_local2.isStart("climb through"))) || (_local2.isStart("use"))) && (_local2.isEnd("window"))) {
put("Thou doesn't fit or there is glass or something like that.");
return(undefined);
}
if (_local2.isStart("break") && (_local2.isEnd("window"))) {
put("If there was glass in the window, and we're not saying there is, it is made of unbreakable combs. Clear unbreakable combs.");
return(undefined);
}
if (_local2.isStart("open") && (_local2.isEnd("window"))) {
put("It's the kind that doesn't ever open, like at your old 9-to-5'er in the castle.");
return(undefined);
}
if (_local2.isLookAt("bar")) {
put("It's got some CONDIMENTS on it.");
return(undefined);
}
if (_local2.isLookAt("condiments")) {
put("There is some turkey leg grease, and some BLOOD.");
return(undefined);
}
if (_local2.isLookAt("grease")) {
put("Thou preferest Turkey Whip.");
return(undefined);
}
if (_local2.isLookAt("blood")) {
put("It looks alarmingly like ketchup.");
return(undefined);
}
if (_local2.isLookAt("guy")) {
put("The DISGRUNTLED CLEANING GUY is neither gruntled nor cleaning at the present time.");
if (!GameState.shoppeGuyAlterted) {
put("He doesn't see thou, either.");
}
return(undefined);
}
if (_local2.isStart("take")) {
put("Naw man, thou can't reach through solid matter. Thou can't even spell \"solid matter\".");
return(undefined);
}
if (_local2.isStart("go") || (_local2.isStart("enter") && (_local2.isEnd("store") || (_local2.isEnd("door"))))) {
put("It's closed. Door's locked. No.");
return(undefined);
}
if (_local2.isStart("knock")) {
Game.photo_mc.roomPhoto_mc.me_mc._visible = true;
put("He sidles on over. \"Sorry, mate.\" He says. \"We're closed Todays.\" Thou checks thy dayrunner and it is indeed Today. \"But if ye knows exactly what ye wants, just ASK FOR it.\"");
put("He saddles on back to the CONDIMENT BAR.");
GameState.shoppeGuyAlterted = true;
return(undefined);
}
if (_local2.isLookAt("dayrunner")) {
put("It's Today. Right on the nose. Tracy's baby shower is Tuesday, 4:30 - don't forget!");
return(undefined);
}
if (GameState.shoppeGuyAlterted) {
if (_local2.isStart("talk") || (_local2.isEnd("guy"))) {
Game.photo_mc.roomPhoto_mc.me_mc._visible = true;
put("He sidles on over. \"Sorry, mate.\" He says. \"Still closed. But if ye knows exactly what ye wants, just ASK FOR it.\"");
put("He saddles on back to the CONDIMENT BAR.");
return(undefined);
}
if (_local2.isStart("ask for") && (_local2.isEnd("blood"))) {
if (GameState.takenBlood) {
put("He already gave that to thou and quite frankly we'd all be best off minimizing interactions with this clown.");
} else {
Game.scorePoints(3);
GameState.takenBlood = true;
GameState.inv.hasBlood = true;
Game.photo_mc.roomPhoto_mc.me_mc._visible = true;
put("\"Well, all right mate.\" He opens the door, hands you some fake ketchup and closes the door, and slipples back to the bar.");
}
return(undefined);
}
if (_local2.isStart("ask for") && (_local2.isEnd("grease"))) {
Game.photo_mc.roomPhoto_mc.me_mc._visible = true;
put("\"Can't give you that mate.\" Why does this idiot keep calling thou \"mate?\"");
return(undefined);
}
if (_local2.isStart("ask for") && (_local2.isEnd("whip"))) {
Game.photo_mc.roomPhoto_mc.me_mc._visible = true;
put("\"My favorite, too, Mate.\"");
return(undefined);
}
if (_local2.isStart("ask for")) {
Game.photo_mc.roomPhoto_mc.me_mc._visible = true;
put("He slides on over. \"Sorry, mate. Kitchen is closed. Otherwise I'd hook you, no foolin. The condiment bar is open, but, I mean whats a condiment without a rancid poultry sandwich to cover up?\" He sibbles on back to the bar.");
return(undefined);
}
} else {
if (_local2.isStart("talk") || (_local2.isEnd("guy"))) {
put("I don't think ol' Disgruntor the Cleaninator knows thou're out here yet. Might have to knock to get his attention.");
return(undefined);
}
if (_local2.isStart("ask for")) {
put("I don't think ol' Disgruntor the Cleaninator knows thou're out here yet. Might have to knock to get his attention.");
return(undefined);
}
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function look() {
put("Thou art standing in front of a Poultry Sandwich Shoppe. You believe you've seen one of these in Wensleydire. Must be a chain. There is a big ol' SIGN atop a pole, a WINDOW, and exits WEST and EAST.");
}
function displayItems() {
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.me_mc._visible = false;
}
}
Symbol 271 MovieClip [__Packages.Room_tavern] Frame 0
class Room_tavern extends Room
{
var synonyms, toughMode, put, rightChoice, superClassParse, r, pressEnterCallbackFunc;
function Room_tavern () {
super();
synonyms.push(new Array("ask for", "order", "buy"));
synonyms.push(new Array("kiga", "kigalonian"));
synonyms.push(new Array("drink", "beer", "mead", "ale"));
synonyms.push(new Array("toughs", "jerks", "men", "man", "dudes", "guys", "people", "fellows", "lady", "girl", "woman", "women", "ladies", "girls"));
toughMode = false;
}
function getName() {
return("Non-pub tavern");
}
function parse() {
var _local4 = Game.tp;
if (toughMode) {
keyPressed(new Number(_local4.str));
return(undefined);
}
if (_local4.isStart("go") && (_local4.isEnd("stairs") || (_local4.isEnd("staircase")))) {
put("They're just for show! Jeez. Maybe these graphics were a bad idea after all.");
return(undefined);
}
if (_local4.isGo("south") || (_local4.isStart("leave"))) {
Game.newRoom("street");
return(undefined);
}
if (_local4.isLookAt("bar")) {
put("Ye can hardly see it through all the burlap and filth.");
return(undefined);
}
if ((_local4.isStart("order") && (_local4.isEnd("drink"))) || (_local4.isTake("drink"))) {
put("What dost thou think this is, a pub?");
return(undefined);
}
if (_local4.isLookAt("toughs")) {
put("Unsavory looking fellows, the lot of them. That sounded medieval, right?");
return(undefined);
}
if ((_local4.isStart("talk") || (_local4.isStart("look"))) && (_local4.isEnd("pirate"))) {
put("Tisn't a pirate. Tis clearly a swashbuckler and he wants nothing to do with thee.");
return(undefined);
}
if ((_local4.isStart("talk") || (_local4.isStart("look"))) && (_local4.isEnd("swashbuckler"))) {
put("Twouldn't if I were ye. Unless ye wants thy swash severely buckled.");
return(undefined);
}
if (_local4.is("buckle swash")) {
put("Yikes! Ye've been walking around with thy swash unbuckled for the entire game!");
return(undefined);
}
if (_local4.isLookAt("stairs") || (_local4.isLookAt("shelves"))) {
put("They're just for show! Jeez. Maybe these graphics were a bad idea after all.");
return(undefined);
}
if (_local4.contains("listen")) {
put("Thou triest thy best to overhear some bawdy conversation, but all ye hears is 'dubloons', 'pantaloons' and 'balloons'.");
return(undefined);
}
if (_local4.isStart("talk") && (_local4.isEnd("toughs"))) {
if (!GameState.inv.hasMap) {
put("Unless thou hast someone specific to TALK TO, I wouldn't waste me time. Er, ye time.");
} else {
put("Thou art done in here. And a map covered in human waste is probably the best yer gonna get outta this crowd.");
}
return(undefined);
}
if ((_local4.isStart("talk") || (_local4.isStart("ask"))) && (_local4.contains("kiga"))) {
if (!GameState.inv.hasMap) {
put("All the toughs at the bar turn around and glare at ye. Apparently, Kigalonian tis a popular name round these parts. Better pick the right one to talk to.");
toughMode = true;
Game.photo_mc.attachMovie("kigalonian", "kigalonian", 2);
Game.photo_mc.roomPhoto_mc._visible = false;
Game._mc.currentLocale_mc._visible = false;
Game.setScanlines("kigalonian");
if (!GameState.givenStein) {
rightChoice = -1;
} else {
rightChoice = Math.floor(Math.random() * 6);
}
trace("Room_tavern: Kigalonian seq. rightChoice " + rightChoice);
var _local2 = 0;
while (_local2 < 6) {
var _local3 = 0;
while (_local3 < 8) {
Game.photo_mc.kigalonian["gribb" + _local2]["trait" + _local3]._visible = false;
_local3++;
}
if (_local2 == rightChoice) {
Game.photo_mc.kigalonian["gribb" + _local2]["trait" + GameState.kigAttrib1]._visible = true;
Game.photo_mc.kigalonian["gribb" + _local2]["trait" + GameState.kigAttrib2]._visible = true;
} else {
var _local5 = Kigalonian.getOther();
Game.photo_mc.kigalonian["gribb" + _local2]["trait" + _local5.a]._visible = true;
Game.photo_mc.kigalonian["gribb" + _local2]["trait" + _local5.b]._visible = true;
}
_local2++;
}
Game.inputMode = "kigalonian";
} else {
put("Thou art done in here. And a map covered in human waste is probably the best yer gonna get outta this crowd.");
}
return(undefined);
}
if (_local4.isLookAt("kigalonian")) {
put("All these toughs have thy backs turned to ye and thou aren't sure which one is Kigalonian.");
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function keyPressed(num) {
toughMode = false;
r = "";
num = num - 1;
trace((("num " + num) + " rightChoice ") + rightChoice);
if (num == rightChoice) {
put("Ye ask the tough if he knows of a place round here where a fella can get a nice dungeon.");
put("He smiles, \"I see ol' Pub Barkeep sent ye, eh?\" The pub's barkeep's name is Pub Barkeep?");
pressEnterCallbackFunc = postRightKigalonian;
Game.addPause();
toughMode = false;
Game.inputMode = "free";
Game.tw.set(r);
} else {
put("Ye asks this gruff tough how he likes his dungeons. Hmm. Hmmmmmmmm. Yeah, he kills you.");
put("Either ye got the wrong guy, or the barkeep at the pub tis a real jerk. Thou art dead. Be better at this game next time.");
Game.inputMode = "free";
Game.die();
Game.tw.set(r);
}
}
function postRightKigalonian() {
put("Kigalonian continues, \"Well, if it be dungeons yer lookin for, ye should seek out the old hag what lives in the woods west of the crossroads. But yer'll need a MAP. Ere, take mine.\"");
Game.scorePoints(3);
GameState.inv.hasMap = true;
pressEnterCallbackFunc = postKigalonian2;
Game.addPause();
}
function postKigalonian2() {
put("\"I jus been usin it ter clean me chamber pot anyway.\" Ye reluctantly taketh the map. Kiga, as you've just started calling him, goes back to his bawdy conversation.");
Game.photo_mc.kigalonian.removeMovieClip();
Game.setScanlines("gameplay");
Game.photo_mc.roomPhoto_mc._visible = true;
Game._mc.currentLocale_mc._visible = true;
}
function look() {
put("The tavern tis jumpin. All manner of TOUGHS, street and otherwise, fill the dimly lit room, restricting thy access to the bar. The exit lies SOUTH.");
}
}
Symbol 272 MovieClip [__Packages.Room_woods] Frame 0
class Room_woods extends Room
{
var put, pressEnterCallbackFunc, parseDungeonDoor, superClassParse;
function Room_woods () {
super();
Game.photo_mc.roomPhoto_mc.log_mc._visible = false;
GameState.woodsCounter = 0;
}
function getName() {
return("Thickly thuckled woods");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isGo("east")) {
GameState.woodsLost = false;
Game.newRoom("crossroads");
return(undefined);
}
if ((_local2.isGo("north") || (_local2.isGo("south"))) || (_local2.isGo("west"))) {
if (!GameState.inv.hasMap) {
GameState.woodsLost = true;
GameState.woodsCounter++;
if (GameState.woodsCounter >= 3) {
put("Isolation and hunger drive you into madness as you go further and further into the woods. Thou feel a sharp pain as thou feel someone eating thy leg. Thou realisest it is thee. You dead.");
put("Too bad. Town was just to the EAST this whole stupid time.");
Game.die();
} else {
Game.woodsFade();
look();
}
} else {
put("Now that ye has the MAP of the woods, ye handily navigate the woods into the next plot element.");
pressEnterCallbackFunc = postMap;
Game.addPause();
}
return(undefined);
}
if (_local2.isLookAt("inside log") || (_local2.isLookAt("inside"))) {
if (GameState.takenCoins) {
put("There isn't really anything left in the log except some dank log insides.");
} else {
put("Some dolt left their gold coins in here. Doesn't anyone bury jars in the backyard anymore?");
}
return(undefined);
}
if (_local2.isTake("insides") || (_local2.isTake("dank"))) {
if (GameState.takenCoins) {
put("Dost thou really think thou art gonna \"use dank log insides\" later on in this game?");
return(undefined);
}
}
if (_local2.isTake("coins")) {
if (GameState.takenCoins) {
put("Already did that. Looking for a loophole in the game, eh?");
} else {
put("OMG! Some totally undeserved gold. You pocket that lewt forthright!");
Game.scorePoints(2);
GameState.takenCoins = true;
GameState.inv.hasCoins = true;
}
return(undefined);
}
if (_local2.isTake("log")) {
put("Thou can't pick it up. Painful memories of finishing last in the Worlds Strongest Dungeonman contest are dredged up. Thou can't believe what mean cheaterheads Magnus and Junko are.");
return(undefined);
}
if (_local2.isLookAt("coins") && (!GameState.takenCoins)) {
put("Who leaves money just lying around in bushes, logs and tall grasses?");
return(undefined);
}
if (_local2.isLookAt("woods")) {
put("Thickly thuckled. If thou doesn't has a map, though is likely to get crazy lost. Or crazy and lost.");
return(undefined);
}
if (_local2.isLookAt("log")) {
put("'Tis all hollowed out like in a kid's story or something. T'would be awesome if there were something INSIDE LOG");
return(undefined);
}
if (parseDungeonDoor("woods")) {
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function postMap() {
Game.newRoom("hag");
}
function displayItems() {
trace("Room_woods::displayItems");
Game.photo_mc.roomPhoto_mc.log_mc._visible = true;
if (GameState.dungeonLocation == "woods") {
Game.photo_mc.roomPhoto_mc.door_mc._visible = true;
}
if (GameState.dungeonDoorOpen) {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("open");
} else {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("closed");
}
}
function hideItems() {
trace("Room_woods::hideItems");
Game.photo_mc.roomPhoto_mc.log_mc._visible = false;
Game.photo_mc.roomPhoto_mc.door_mc._visible = false;
}
function look() {
if (!GameState.woodsLost) {
put("Wow. Not to freak thee out or anything but these are some seriously creepy, thickly thuckled woods. Yikes. There is a LOG all lying about. The crossroads lie EAST.");
} else {
switch (GameState.woodsCounter) {
case 0 :
put("Gosh. Ye must be lost. Ye swears ye has seen the same dumb LOG before.");
break;
case 1 :
put("It's starting to get dark. And scary. And I think that LOG is following you.");
break;
case 2 :
put("Seriously, dungeonguy. We needs out of here. Even the LOG is freaking.");
}
put("The safety of the crossroads beckons to the EAST");
}
if (GameState.inv.hasMap) {
put("An overgrown path lies WEST.");
}
if (GameState.dungeonLocation == "woods") {
put("A fresh dungeon DOOR layeth in the ground.");
}
}
}
Symbol 273 MovieClip [__Packages.Room_street] Frame 0
class Room_street extends Room
{
var put, superClassParse;
function Room_street () {
super();
}
function getName() {
return("Streets of Westerberg");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isGo("east")) {
Game.newRoom("sandwich");
return(undefined);
}
if (_local2.isGo("west")) {
Game.newRoom("overlook");
return(undefined);
}
if (_local2.isGo("north")) {
Game.newRoom("tavern");
return(undefined);
}
if (_local2.isGo("south")) {
Game.newRoom("pub");
return(undefined);
}
if (_local2.isLookAt("pub") || (_local2.isLookAt("south"))) {
put("Looks inviting.");
return(undefined);
}
if (_local2.isLookAt("tavern") || (_local2.isLookAt("north"))) {
put("Looks enticing.");
return(undefined);
}
if (_local2.isLookAt("westerberg") || (_local2.isLookAt("buildings"))) {
put("Awesome. Better than Filthdowne, even.");
return(undefined);
}
if (_local2.isLookAt("shoppe") || (_local2.isLookAt("east"))) {
put("Looks delightful.");
return(undefined);
}
if (_local2.isLookAt("overlook") || (_local2.isLookAt("west"))) {
put("Meh.");
return(undefined);
}
if (_local2.isLookAt("town") || (_local2.isLookAt("village"))) {
look();
return(undefined);
}
if ((((((_local2.isLookAt("church") || (_local2.isLookAt("tower"))) || (_local2.isLookAt("steeple"))) || (_local2.isLookAt("tower"))) || (_local2.isLookAt("lighthouse"))) || (_local2.isLookAt("window"))) || (_local2.isLookAt("cottage"))) {
put("Ah, Westerberg! The sights, the sounds, the meatsmell! Ye hath finally made it!");
return(undefined);
}
if (_local2.isLookAt("meatsmell")) {
put("Tis a grayish brown cloud.");
return(undefined);
}
if (_local2.isTake("meatsmell")) {
put("Ye wish. If ye could bottle that stuff, ye could retire from dungeonmannery forever!");
return(undefined);
}
if (_local2.isStart("retire")) {
put("Fine. See thou later. You has no job and you die of starvation, hunger, malnutrition or something dull like that. Good riddance");
Game.die();
return(undefined);
}
if (_local2.isStart("bottle") || (_local2.isEnd("meatsmell"))) {
put("Stop. Just stop.");
return(undefined);
}
if (_local2.isStart("listen") || (_local2.isEnd("music"))) {
put("Sounds like the Peasant's Quest theme.");
return(undefined);
}
if (_local2.isTake("music")) {
put("I hate thee.");
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function look() {
put("Ye stands in the midst of the village of Westerberg. Music and meatsmell assail thy senses.");
put("A tavern lies to the NORTH, a pub to the SOUTH, and a sandwich shoppe to thy EAST. The overlook tis back WEST.");
}
}
Symbol 274 MovieClip [__Packages.Room_clearing] Frame 0
class Room_clearing extends Room
{
var synonyms, put, parseDungeonDoor, superClassParse;
function Room_clearing () {
super();
synonyms.push(new Array("mountain", "mountains", "hill", "hills", "background"));
synonyms.push(new Array("skull", "skulls", "bone", "bones", "skeleton"));
synonyms.push(new Array("tree", "trees", "bushes", "bush", "flora"));
}
function getName() {
return("Just some clearing");
}
function parse() {
var _local2 = Game.tp;
if (_local2.isGo("north")) {
Game.newRoom("bridge");
return(undefined);
}
if (_local2.isLookAt("skull")) {
if (GameState.dungeonLocation == "clearing") {
put("Obviously, this dungeon means business!");
} else {
put("Honk shoo.");
}
return(undefined);
}
if (_local2.isLookAt("mountain")) {
put("The great Orange and Lighter Shade of Orange Mountains spread out before thee. Truly a majestic and decidedly orange sight.");
return(undefined);
}
if (_local2.isLookAt("clearing")) {
look();
return(undefined);
}
if (_local2.isLookAt("tree")) {
put("They seem a bit too thinly thuckled for thy tastes.");
return(undefined);
}
if (_local2.isTake("skull")) {
put("Gross. No.");
return(undefined);
}
if (parseDungeonDoor("clearing")) {
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function look() {
if (GameState.dungeonLocation == "clearing") {
put("A clearing opens up before thee. Before ye lies what is unmistakably a DUNGEON DOOR. Skulls litter the ground. The troll bridge lies to the NORTH.");
} else {
put("A boring clearing opens up before thee. Boring skulls boringly litter the boring ground. The boring troll bridge lies to the boring NORTH.");
}
}
function hideItems() {
Game.photo_mc.roomPhoto_mc.door_mc._visible = false;
}
function displayItems() {
if (GameState.dungeonLocation == "clearing") {
Game.photo_mc.roomPhoto_mc.door_mc._visible = true;
}
if (GameState.dungeonDoorOpen) {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("open");
} else {
Game.photo_mc.roomPhoto_mc.door_mc.gotoAndStop("closed");
}
}
}
Symbol 275 MovieClip [__Packages.Room_sanctum_revenge] Frame 0
class Room_sanctum_revenge extends Room
{
var synonyms, put, pressEnterCallbackFunc, superClassParse, r, firstTime;
function Room_sanctum_revenge () {
super();
synonyms.push(new Array("pedastal", "pedastel", "pedastle", "pedestle"));
Game.pickNewDoorLocation();
}
function getName() {
return("Some Sanctum");
}
function parse() {
var _local2 = Game.tp;
if ((((_local2.isGo("south") || (_local2.isGo("north"))) || (_local2.isGo("east"))) || (_local2.isGo("west"))) || (_local2.is("leave"))) {
put("What part of \"There art no going back now.\" was confusing? Oh, all of it thou sayeth?");
return(undefined);
}
if (_local2.isLookAt("sanctum")) {
put("Thou can'tst decide whether tis an \"inny\" or an \"outey\" sanctum.");
return(undefined);
}
if (_local2.isLookAt("pedastal")) {
put("An extremely boring stone pedestal that bores you to look upon it.");
return(undefined);
}
if (_local2.isTake("pedastal")) {
put("Naw, man.");
return(undefined);
}
if (_local2.isLookAt("flask")) {
put("Tis the elusive flask ye have been searching for thy whole dungeonlife!");
return(undefined);
}
if (_local2.isTake("flask")) {
var _local3 = new Date();
GameState.startingSeconds = Math.floor(_local3.getTime() / 1000);
put("This tis it! After years of searching and hundreds of dungeons, thou art finally going to get ye flask! Ye reaches out thy trembling hand and...");
pressEnterCallbackFunc = postFlask;
Game.addPause();
return(undefined);
}
if (superClassParse()) {
return(undefined);
}
DontUnderstand.parse(this);
}
function postFlask() {
trace("postFlask called " + r);
if (GameState.wearingGlove) {
flaskMiniGameStart();
} else {
GameState.warpingOutOfDungeon = true;
Game.dt.startOut(Game.showVoip);
put("VOIP!!");
pressEnterCallbackFunc = postVoip;
Game.addPause();
}
}
function flaskMiniGameStart() {
trace("flaskMiniGameStart!");
Game.flaskGameStart();
}
function postVoip() {
trace("postVoip called");
GameState.warpingOutOfDungeon = true;
Game.newRoom("crossroads");
}
function look() {
if (firstTime == undefined) {
put("Ye throw open the dungeon doors and cautiously descend the stairs. The doors SLAM behind thee. There art no going back now.");
firstTime = false;
}
put("Thou art in a large, familiar sanctum. Atop a pedastal ye see a FLASK.");
}
}
Symbol 104 MovieClip Frame 1
stop();
Symbol 166 MovieClip Frame 1
stop();
Symbol 180 MovieClip Frame 1
stop();
Symbol 227 MovieClip Frame 1
_parent.scanlines_mc.gotoAndStop("none");
Symbol 227 MovieClip Frame 147
var tw = new TextWriter(line1_txt, this, 3);
tw.set("Ye find yeself in yon dungeon.");
Symbol 227 MovieClip Frame 192
delete tw;
tw = new TextWriter(line2_txt, this, 3);
tw.set("Thou art surrounded by...");
Symbol 227 MovieClip Frame 262
_parent.scanlines_mc.gotoAndStop("intro");
Symbol 227 MovieClip Frame 321
var dt = new DissolveTransition(mike_title_mc, 20, 10);
dt.startIn();
_parent.scanlines_mc.gotoAndStop("full");
Symbol 229 Button
on (release, keyPress "<Enter>") {
gotoAndStop ("instruct");
}
Symbol 230 Button
on (release, keyPress "<Enter>") {
gotoAndStop ("gameStart");
}
Symbol 246 Button
on (release, keyPress "c") {
gotoAndPlay ("gameStart");
Game.continuePlease = true;
}
on (keyPress "r") {
gotoAndPlay ("gameStart");
}