//PARSE WITH NORMAL TADS OPERATORS #pragma C- InCeiling: floatingItem, distantItem location = { return ( Me.location ); } noun = 'ceiling' sdesc = "ceiling" ldesc = "It sits above you.\n" ; InWalls: hard, floatingItem, fixeditem location = { return ( Me.location ); } noun = 'wall' 'walls' adjective = 'stone' sdesc = "wall" ldesc = "The walls are rough-hewn stone.\n" ; replace theFloor: beditem, floatingItem, earth noun = 'floor' 'ground' sdesc = "ground" ldesc = "It lies beneath you. " adesc = "the ground" statusPrep = "on" outOfPrep = "off of" location = { if (parserGetMe().location = self) return self.sitloc; else return parserGetMe().location; } locationOK = true // suppress warning about location being a method doSiton(actor) = { "Okay, %you're% now sitting on "; self.thedesc; ". "; self.sitloc := actor.location; actor.moveInto(self); } doLieon(actor) = { self.doSiton(actor); } ioPutOn(actor, dobj) = { dobj.doDrop(actor); } ioPutIn(actor, dobj) = { dobj.doDrop(actor); } ioThrowAt(actor, dobj) = { "Thrown. "; dobj.moveInto(actor.location); } ; Snuffverb: deepverb sdesc = "extinguish" verb = 'snuff' 'extinguish' 'quench' doAction = 'Snuff' ; Kickverb: deepverb sdesc = "kick" verb = 'kick' doAction = 'Kick' ; Swimverb: deepverb sdesc = "swim" verb = 'swim' action( actor ) = "Sadly you never learned how. There really isn’t much call for learning how to swim when you spend you’re entire life studying in the Keep.\n" ; compoundWord 'talk' 'to' 'talkto'; compoundWord 'speak' 'to' 'speakto'; talkVerb: deepverb verb = 'talkto' 'speakto' sdesc = "talk" doAction = 'TalkTo' ; compoundWord 'go' 'up' 'goup'; compoundWord 'climb' 'up' 'climbup'; modify climbVerb verb = 'climb' 'mount' 'ascend' 'goup' 'climbup' ; Oilverb: deepverb sdesc = "oil" verb = 'oil' 'lubricate' doAction = 'Oil' ; Liftverb: deepverb sdesc = "lift" verb = 'lift' doAction = 'Lift' ; replace scoreFormat: function(points, turns) //REPLACE SCORE IN LINUX INTERPRETERS THAT BYPASS ROOM.STATUSLINE { if ( Desc.list = [0 0 0 0] ) //MODIFIED STATUS LINE TO REPLACE SCORING SYSTEM return 'Apprehensive'; else { return MaesterSeer.word + MaesterWarrior.word + MaesterAlchemist.word + MaesterArtisan.word; } } infoverb: deepverb sdesc = "info" verb = 'info' 'information' 'about' action( actor ) = { "\tWelcome to The Erudition Chamber! Type Credits to find out who contributed to this game. \b\tEvery puzzle in this game has more than one solution. What’s more, there is no right, wrong, or even preferred solution. If it works then it works, no guilt, no illogical repercussions. There are, of course, consequences to your actions but they are only logical ones (e.g. if you burn a table to ashes you can no longer eat your dinner off it, or what have you). Save your game every now and then, in case you decide you would have liked to try that last puzzle a different way. \b\tThe scoring system has been replaced. You’ll notice there is a word or combination of words in the top right corner of your screen rather than a number; watch it for changes. \b\tFor those of you that like to know such things there are 6 main types of ending to this game and, if I counted right, 268 combinations that will get you to those endings. \b\tHave Fun.\n"; } ; creditverb: deepverb sdesc = "credits" verb = 'credit' 'credits' action( actor ) = { "\tThis game was written by Daniel T. Freas. I can be reached at erthwin@cox.net and I’d love to hear your comments when you finish playing!\b\t As usual the #TADS channel on ifMUD was an incredible help in getting some of the more difficult parts of this game off the ground. They have my thanks for putting up with my endless questions with more patience than anyone could reasonably expect.\b\t Most important of all was the time put in by Søren J. Løvborg and Christopher Martino who agreed to test the game for me. Their suggestions and bug reports served to make this game far better than it was the day I sent it to them to begin testing. Each found things I would never have noticed and gave a number of suggestions for improvements that served to polish this game to what it now is.\n"; } ; walkthroughverb: deepverb sdesc = "walkthrough" verb = 'walkthrough' action( actor ) = { "A walkthrough for this game does exist. The game is more enjoyable if you don’t use it, but hey - if you’re stuck you’re stuck. The walkthrough is called echints.txt and should be available at the same location you found this game.\n"; } ; modify basicMe ldesc = "Rough around the edges might be a nice way to put it. You’ve been running yourself ragged lately trying to keep up with all of your studies.\n" ; Vocab: thing noun = 'keep' 'himself' 'ferret' ; modify room statusLine = { if (systemInfo(__SYSINFO_SYSINFO) = true and systemInfo(__SYSINFO_HTML) = 1) { "The Erudition Chamber
<>
"; " "; self.statusRoot; ""; say(scoreFormat(global.score, global.turnsofar)); " "; ""; } else { self.statusRoot; self.dispParagraph; } } ; MagicWord: deepverb verb = 'xyzzy' sdesc = "xyzzy" action( actor ) = { "Nothing Happens.\n"; } ; PlughWord: deepverb verb = 'plugh' sdesc = "plugh" action( actor) = { "A hollow voice mutters, Why two?\n"; } ; flyword: deepverb verb = 'fly' sdesc = "fly" action( actor ) = { "You flap your arms with all your might but can’t manage to get off the ground.\n"; } ; singverb: deepverb verb = 'sing' sdesc = "sing" action( actor ) = { "Singing is not a skill that is generally taught to novices, best to stick to thinking your way through this.\n"; } ; compoundWord 'hello' 'sailor' 'hellosailor' ; sailorverb: deepverb verb = 'hellosailor' sdesc = "Hello Sailor!" action( actor ) = { "Nothing happens here.\n"; } ; feeVerb: deepverb said = nil sdesc = "fee" verb = 'fee' action(actor) = { if (self.said) self.fail; else { "Ok!"; fieVerb.tcount := global.turnsofar + 1; foeVerb.tcount := global.turnsofar + 2; fooVerb.tcount := global.turnsofar + 3; self.said := true; fieVerb.said := nil; foeVerb.said := nil; } } fail = { if (self.said) { "What's the matter, can't you read? Now you'd best start over. "; } else { "Nothing happens."; } self.reset; } reset = { fieVerb.tcount := -1; foeVerb.tcount := -1; fooVerb.tcount := -1; self.said := nil; fieVerb.said := nil; foeVerb.said := nil; } ; fieVerb: deepverb said = nil tcount = -1 sdesc = "fie" verb = 'fie' action(actor) = { if (self.tcount = global.turnsofar) { self.said := true; "Ok!"; } else feeVerb.fail; } ; foeVerb: deepverb said = nil tcount = -1 sdesc = "foe" verb = 'foe' action(actor) = { if (not fieVerb.said) feeVerb.fail; else if (self.tcount = global.turnsofar) { self.said := true; "Ok!"; } else feeVerb.fail; } ; fooVerb: deepverb tcount = -1 sdesc = "foo" verb = 'foo' action(actor) = { if (not foeVerb.said) feeVerb.fail; else if (self.tcount = global.turnsofar) { "You get a warm fuzzy feeling inside knowing that somewhere, somehow, you have just made a goose very happy.\n"; feeVerb.reset; } else feeVerb.fail; } ; fumVerb: deepverb sdesc = "fum" verb = 'fum' action(actor) = { feeVerb.fail; } ;