[Plugh!] WARNING !!!!=Editing this file manually is not recommended and may corrupt your Plugh! project. Make a backup copy before attempting to manually edit this file. versionMajor=0 versionMinor=0 versionRevision=4 versionBuild=13 currentRoom=0 currentItem=5 currentActor=-268435457 currentMap=0 [maps] numMaps=1 0caption=beginning 0state=2 [objects] numObjects=6 0name=startroom 0mapNumber=0 0panelTop=107 0panelLeft=386 0numClasses=1 0class0=room 0sdesc=Foyer of the Opera House 0noun= 0numLdescLines=2 0ldesc0=You are standing in a spacious hall, splendidly decorated in red and gold, with glittering chandeliers 0ldesc1=overhead. The entrance from the street is to the north, and there are doorways south and west. 0adjective= 0aDesc= 0theDesc= 0pluralDesc= 0multiDesc= 0n=---- no exit ---- 0e=---- no exit ---- 0s=bar 0w=cloakroom 0ne=---- no exit ---- 0nw=---- no exit ---- 0se=---- no exit ---- 0sw=---- no exit ---- 0in=---- no exit ---- 0out=---- no exit ---- 0up=---- no exit ---- 0down=---- no exit ---- 0location= 0numCodeLines=7 0codeLine0=north = 0codeLine1={ 0codeLine2="You've only just arrived, and besides, the weather outside 0codeLine3=seems to be getting worse. "; 0codeLine4=return nil; 0codeLine5=} 0codeLine6=; 0numNotesLines=0 0propertyCount=0 1name=cloakroom 1mapNumber=0 1panelTop=107 1panelLeft=135 1numClasses=1 1class0=room 1sdesc=Cloakroom 1noun= 1numLdescLines=2 1ldesc0=The walls of this small room were clearly once lined with hooks, though now only one remains. The 1ldesc1=exit is a door to the east. 1adjective= 1aDesc= 1theDesc= 1pluralDesc= 1multiDesc= 1n=---- no exit ---- 1e=startroom 1s=---- no exit ---- 1w=---- no exit ---- 1ne=---- no exit ---- 1nw=---- no exit ---- 1se=---- no exit ---- 1sw=---- no exit ---- 1in=---- no exit ---- 1out=---- no exit ---- 1up=---- no exit ---- 1down=---- no exit ---- 1location= 1numCodeLines=0 1numNotesLines=0 1propertyCount=0 2name=bar 2mapNumber=0 2panelTop=232 2panelLeft=386 2numClasses=1 2class0=darkroom 2sdesc=Foyer bar 2noun= 2numLdescLines=2 2ldesc0=The bar, much rougher than you'd have guessed after the opulence of the foyer to the north, is 2ldesc1=completely empty. There seems to be some sort of message scrawled in the sawdust on the floor. 2adjective= 2aDesc= 2theDesc= 2pluralDesc= 2multiDesc= 2n=startroom 2e=---- no exit ---- 2s=---- no exit ---- 2w=---- no exit ---- 2ne=---- no exit ---- 2nw=---- no exit ---- 2se=---- no exit ---- 2sw=---- no exit ---- 2in=---- no exit ---- 2out=---- no exit ---- 2up=---- no exit ---- 2down=---- no exit ---- 2location= 2numCodeLines=30 2codeLine0=lightsOn = 2codeLine1={ 2codeLine2=if (not cloak.isIn(self)) return true; 2codeLine3=else return nil; 2codeLine4=} 2codeLine5= 2codeLine6= 2codeLine7= 2codeLine8=roomCheck(verb) = 2codeLine9={ 2codeLine10=if (not self.islit) 2codeLine11={ 2codeLine12=if (isclass(verb, travelVerb)) 2codeLine13={ 2codeLine14=if (verb <> nVerb) 2codeLine15={ 2codeLine16="Blundering around in the dark isn't a good idea!"; 2codeLine17=message.number += 2; 2codeLine18=return nil; 2codeLine19=} 2codeLine20=} 2codeLine21=else if (not isclass(verb, sysverb)) 2codeLine22={ 2codeLine23="In the dark? You could easily disturb something!"; 2codeLine24=message.number += 1; 2codeLine25=return nil; 2codeLine26=} 2codeLine27=} 2codeLine28=return true; 2codeLine29=} 2numNotesLines=0 2propertyCount=0 3name=hook 3mapNumber=0 3panelTop=0 3panelLeft=0 3numClasses=3 3class0=fixeditem 3class1=surface 3class2=item 3sdesc=brass hook 3noun=hook peg 3numLdescLines=0 3adjective=small brass 3aDesc= 3theDesc= 3pluralDesc= 3multiDesc= 3n=---- no exit ---- 3e=---- no exit ---- 3s=---- no exit ---- 3w=---- no exit ---- 3ne=---- no exit ---- 3nw=---- no exit ---- 3se=---- no exit ---- 3sw=---- no exit ---- 3in=---- no exit ---- 3out=---- no exit ---- 3up=---- no exit ---- 3down=---- no exit ---- 3location=cloakroom 3numCodeLines=9 3codeLine0=ldesc = 3codeLine1={ 3codeLine2="It's just a small brass hook, "; 3codeLine3= 3codeLine4=if (cloak.isIn(self)) 3codeLine5="with a cloak hanging on it. "; 3codeLine6=else 3codeLine7="screwed to the wall. "; 3codeLine8=} 3numNotesLines=0 3propertyCount=0 4name=cloak 4mapNumber=0 4panelTop=0 4panelLeft=0 4numClasses=1 4class0=clothingItem 4sdesc=velvet cloak 4noun=cloak 4numLdescLines=3 4ldesc0=A handsome cloak, of velvet trimmed with satin, and slightly spattered 4ldesc1=with raindrops. Its blackness is so deep that it almost seems to suck 4ldesc2=light from the room., 4adjective=handsome dark black velvet satin cloak 4aDesc= 4theDesc= 4pluralDesc= 4multiDesc= 4n=---- no exit ---- 4e=---- no exit ---- 4s=---- no exit ---- 4w=---- no exit ---- 4ne=---- no exit ---- 4nw=---- no exit ---- 4se=---- no exit ---- 4sw=---- no exit ---- 4in=---- no exit ---- 4out=---- no exit ---- 4up=---- no exit ---- 4down=---- no exit ---- 4location= 4numCodeLines=18 4codeLine0=isworn = true 4codeLine1=hooked = nil 4codeLine2=doPutOn(actor, iobj) = 4codeLine3={ 4codeLine4=if (iobj = hook and not hooked) 4codeLine5={ 4codeLine6=incscore(1); 4codeLine7=hooked := true; 4codeLine8=} 4codeLine9=pass doPutOn; 4codeLine10=} 4codeLine11=verDoDrop(actor) = 4codeLine12={ 4codeLine13=if (actor.location = cloakroom) 4codeLine14="Why put it on the floor when there's a perfectly good hook!"; 4codeLine15=else 4codeLine16="This isn't the best place to leave a smart cloak lying around."; 4codeLine17=} 4numNotesLines=0 4propertyCount=0 5name=message 5mapNumber=0 5panelTop=0 5panelLeft=0 5numClasses=2 5class0=fixeditem 5class1=readable 5sdesc=scrawled message 5noun=message sawdust floor dust 5numLdescLines=0 5adjective=saw 5aDesc= 5theDesc= 5pluralDesc= 5multiDesc= 5n=---- no exit ---- 5e=---- no exit ---- 5s=---- no exit ---- 5w=---- no exit ---- 5ne=---- no exit ---- 5nw=---- no exit ---- 5se=---- no exit ---- 5sw=---- no exit ---- 5in=---- no exit ---- 5out=---- no exit ---- 5up=---- no exit ---- 5down=---- no exit ---- 5location=bar 5numCodeLines=20 5codeLine0=number = 0 5codeLine1= 5codeLine2=ldesc = 5codeLine3={ 5codeLine4=if (self.number < 2) 5codeLine5={ 5codeLine6=incscore(1); 5codeLine7= 5codeLine8="The message, neatly marked in the sawdust, reads..."; 5codeLine9= 5codeLine10=endGame(true); // this function will print "you have won" and quit. 5codeLine11=} 5codeLine12=else 5codeLine13={ 5codeLine14="The message has been carelessly trampled, making it difficult to read. 5codeLine15=You can just distinguish the words..."; 5codeLine16= 5codeLine17=endGame(nil); // this function will print "you have lost" and quit. 5codeLine18=} 5codeLine19=} 5numNotesLines=0 5propertyCount=0 [passages] numPassages=2 0tag=49 0control1=startroom 0control2=bar 0arrowBegin=3 0arrowEnd=3 1tag=66 1control1=startroom 1control2=cloakroom 1arrowBegin=3 1arrowEnd=3 [mapConnectors] numMapConnectors=0 [global_code] numLines=57 0line= 1line= 2line= 3line= 4line= 5line=/* 6line=* Cloak of Darkness - a simple demonstration of Interactive Fiction 7line=* Based on the version for TADS written by Dan Shiovitz on 23Sep99 8line=* adapted from the version for Inform written by Roger Firth on 17Sep99 9line=*/ 10line= 11line=#include 12line=#include 13line= 14line=modify version 15line=sdesc = "\(Cloak of Darkness\)\n 16line=A basic IF demonstration." 17line=; 18line= 19line=modify global 20line=maxscore = 2 21line=; 22line= 23line=modify putVerb 24line=verb = 'hang' 25line=; 26line= 27line= 28line=replace init: function 29line={ 30line="\b\bHurrying through the rainswept November night, you're glad to see the 31line=bright lights of the Opera House. It's surprising that there aren't more 32line=people about but, hey, what do you expect in a cheap demo game...?\b\b"; 33line=version.sdesc; 34line="\b"; 35line= 36line=Me.location := startroom; 37line=Me.location.lookAround(true); 38line=Me.location.isseen := true; 39line=setdaemon(turncount, nil); 40line=scoreStatus(0,0); 41line=} 42line= 43line=endGame: function(won) 44line={ 45line="\b"; 46line=if (won) 47line="*** You have won ***"; 48line=else 49line="*** You have lost ***"; 50line="\b"; 51line= 52line=scoreRank(); 53line="[Hit any key to continue]\n"; 54line=inputkey(); 55line=quit(); 56line=} [design_notes] numLines=0 [classes] numClasses=0 [mapViewOptions] checkBox1=0 checkBox2=0 checkBox3=0 checkBox4=0 checkBox5=0 checkBox6=0 checkBox7=0 colour1=255 colour2=65280 colour3=65535 colour4=16711680 colour5=16711935 colour6=16776960 colour7=0 property1= property2= property3= property4= property5= property6= property7= ColourRoomOrContentsRadioIndex=1 showClassRadioIndex=1