##################################################
#  Adventuron                                    #
##################################################

##################################################
#  Story Info                                    #
##################################################

story_info {
   story_name = The Hoppit
   story_version     = 1.0.0
   authors []        = Gareth Pitchford;
   language          = english
   copyright_message = (C) 1991, 2018 DTHS / G. Pitchford
   year_of_creation  = 2018
}

start_location = intro

##################################################
#  Setup                                         #
##################################################

setup {
   add_standard_vocab_set = true
   theme = hoppit
   intro_graphic = hoppit
}

##################################################
#  Themes                                        #
##################################################

themes[] {
  hoppit : theme {
   object_list_style = list
   exit_list_style = concise
   wait_graphic_alignment = right
   layout = SEP "adv_line_red" LG D O SEP "adv_line_red" 
   font                                = rustic
   
   colors {
      pen                       = #fff
      paper                     = #000
      inventory_header_pen      = #0ff
      inventory_item_pen        = #fff
      yousee_header_pen         = #ff0
      yousee_item_pen           = #0ff
      textbox_pen               = #ff0
   }
   
  }
}

##################################################
#  Locations                                     #
##################################################

locations [] {
   intro : location "" non_interactive="true" ;
   dungeon_window : location "You are standing in a [(6), 'familiar dungeon']. High above you on the wall is a [(6), 'window']. To the north, northeast and east lie further parts of the dungeon. [(5), 'Thoran the dwarf'] is here." graphic="dwarf_speccy_colour";
   dungeon_door : location "You are near a [(6), 'door'] in the dungeon wall. To the south, east and southeast is the rest of the dungeon. There is an elf here who answers to the name of [(5), 'Edmond.'] " graphic="elf_speccy_colour" ;
   dungeon_warg : location "This part of the dungeon is inhabited by a [(5), 'vicious Warg']. He growls at you as you enter. Safety lies to the west, south and southwest." graphic="warg_speccy_colour";
   dungeon_sand : location "In this section of the dungeon you are surrounded by small [(6), 'sand castles'] which are being built by the [(5), 'playtester'] who seems to have taken up residence here. You can go north, northwest or west." graphic="play_speccy_colour";
}

##################################################
#  Navigation                                    #
##################################################

navigation {

   from[], direction[], to[]= {
      dungeon_window, north, dungeon_door
      dungeon_window, northeast, dungeon_warg
      dungeon_sand, north, dungeon_warg
      dungeon_sand, northwest, dungeon_door
      dungeon_door, east, dungeon_warg
      dungeon_window, east, dungeon_sand
   }
   
}

##################################################
#  Objects                                       #
##################################################

objects[] {
   
   hintsheet : object "A hint sheet" ;
   ring : wearable "A small, golden ring";
   tape : object "A cassette tape" start_location="dungeon_warg";
   orb : object "A magical orb";
   music : object "A piece of music";
   chest : scenery "A large chest" conspicious="true" ;
   tights : object "A pair of tights";
   tights2 : object "A pair of laddered tights";
   tights3 : scenery "A pair of laddered tights, hanging from a nail" conspicious="true" ;
   key : object "A large, obvious key";
   crystal : object "An impressive but ultimately useless crystal";
   
}

##################################################
#  Vocabulary                                    #
##################################################

vocabulary {

   words[] {
      hintsheet : noun {aliases [] = hints, hint, helpsheet, sheet, paper;}
      ring : noun ;
      tape : noun {aliases [] = cassette, game;}
      orb : noun {aliases [] = tv, television;}
      music : noun {aliases [] = piece, score;}
      chest : noun;
      tights : noun {aliases [] = stockings, ladder;}
      key : noun ;
      crystal : noun ;
      thoran : noun {aliases [] = dwarf;}
      edmond : noun {aliases [] = elf;}
      warg : noun ;
      playtester : noun {aliases [] = gamer, tester;}
      sand : noun ;
      sandcastle : noun {aliases [] = sandcastles, castle, castles;}
      window : noun ;
      door : noun ;
      read : verb ;
      open : verb ;
      unlock : verb ;
      dig : verb ;
      say : verb {aliases [] = talk, speak;}
      watch : verb ;
      use : verb ;
      throw : verb ;
      smash : verb {aliases [] = break, hit, attack, kill;}
      }

}

##################################################
#  Integers                                      #
##################################################

integers {
   thoran : integer "0";
}
##################################################
#  Booleans                                      #
##################################################

booleans[] {
   
   got_ring : boolean "false";
   got_key : boolean "false";
   got_tape : boolean "false";
   hint_got : boolean "false";
   chest_found : boolean "false";
#   chest_open : boolean "false";
   tights_laddered : boolean "false";
   tights_thrown : boolean "false";
   orb_given : boolean "false";
   game_given : boolean "false";
   
}


##################################################
#  Event Handlers                                #
##################################################

event_handlers {
   
init {
      : print "[(6), 'The Hoppit'] (Adventuron Edition)";
      : print "[(5), 'By Gareth Pitchford']";
      : print "With thanks to [(3), 'The Spud']";
      : print "� 1991 / 2018 G Pitchford / DTHS";
      : press_any_key;  
}
   
t1_on_input[] {

## EXAMINE INVENTORY OBJECTS ##

: match "x hint;read hint"  {
   : if (is_present "hintsheet") {
      : print "It reads, \"You'll be alright if you take the pun involving [(6), 'Jim Morrison`s band'] the right way.\"";
      : done;}}

: match "x ring"  {
   : if (is_present "ring") {
      : print "It is made of gold and is magical. Mystical [(6), 'runes'] run along its surface.";
      : done;}}
      
: match "x runes;read runes"  {
   : if (is_present "ring") {
      : print "They roughly translate to, [(5), '\"Made in Hong Kong.\"']";
      : done;}}

: match "x tape"  {
   : if (is_present "tape") {
      : print "It's a tape of a computer game from that [(6), 'truly amazing software house']... Oh no, wait, it's not... it's just some tripe from [(5), 'Delbert the Hamster'].";
      : done;}}
      
: match "x orb"  {
   : if (is_present "orb") {
      : print "It allows the viewer to see events taking place many miles away. Yeah, it's basically [(6), 'television'] for elves.";
      : done;}}
      
: match "x music"  {
   : if (is_present "music") {
      : print "It's a sheet of [(6), 'Chopin music'] and is in the [(6), 'key of C Major.']";
      : done;}}
        

: match "x chest"  {
   : if (is_present "chest") {
      : print "Above the stomach... Apologies. it has a [(6), 'keyhole'] in its lid.";
      : done;}}
      
: match "x keyhole" {
   : if (is_present "chest") {
      : print "It's.. a hole... for a key... I'm really having to explain this to you?";
      : done;}}
      
: match "x tights"  {
   : if (is_present "tights") {
      : print "They are [(6), 'green adventuring tights'] that aren't really suitable for [(6), 'fat halflings'].";
      : done;}}

: match "x tights"  {
   : if (is_present "tights2") {
      : print "They are [(6), 'green adventuring tights'] that you've managed to [(6), 'ladder'].";
      : done;}}
      
: match "x tights"  {
   : if (is_present "tights3") {
      : print "The tights have a [(6), 'ladder'] in them and they are hanging from a nail, just below the [(6), 'window'].";
      : done;}}

: match "x crystal"  {
   : if (is_present "crystal") {
      : print "It's the crystal that you need to collect to exit the adventure and which you'll later use in the Mistress's TARDIT... well, you would do if you were playing the full [(6), 'Microfair Madness'] game!";
      : done;}}

## Dungeon Door & Edmond the Elf ##

: match "x door"  {
   : if (is_at "dungeon_door") {
      : print "Virtually everything in this game is [(6), 'a pun'], but not this door.";
      : done;}}
      
: match "open door" {
   : if (is_at "dungeon_door") {
      : print "The door is [(6), 'firmly locked']. It wouldn't be much of a dungeon if it wasn't. Besides, most people escape through the [(6), 'window'].";
      : done;}}
      
: match "unlock door" {
   : if (is_at "dungeon_door") {
      : print "It's a [(6), 'magical door']. You don't have a way of unlocking it.";
      : done;}}
      
: match "say mellon;speak friend"  {
   : if (is_at "dungeon_door") {
      : print "You'd have to be a bit of a [(6), 'mellon'] to think that that would work.";
      : done;}}
      
: match "say xyzzy;xyzzy _;say plugh;plugh _" {
   : if (is_at "dungeon_door") {
      : print "You chant a magic word, raise your hands aloft and there is a [(6), 'blinding flash of light']...";
      : press_any_key;
      : print "Edmond puts his [(6), 'camera'] away.\n [(5), '\"Sorry, I just had to take a photo of you doing that,\"'] he says, [(5), '\"You looked like such a pillock.\"']";
      : press_any_key;
      : redescribe;
      : done; }}
      
: match "x edmond"  {
   : if (is_at "dungeon_door") {
      : if (!(orb_given)) {
         : print "He's a [(6), 'bored'] looking elf.";
         : done; }
      : else {
         : print "He's totally [(6), 'engrossed'] watching a programme on the orb.";
         : done; }
         }}
         
: match "talk edmond" {
   : if (is_at "dungeon_door") {
      : print "[(5), '\"Go away, halfling!\"'] says Edmond, [(5), '\"I haven`t got any lunch for you!\"']";
      : done; }}
      
: match "get ring;x ring" {
   : if (is_at "dungeon_door" && (!(got_ring))) {
      : print "You grab the [(6), 'ring'] that you heard at the door!";
      : set_true "got_ring";
      : create "ring" target="inventory";
      : press_any_key;
      : redescribe;
      : done; }}
      
: match "wear ring" {
   : if (is_carried "ring") {
      : wear "ring";
      : print "It appears that this particular [(6), 'magic ring'] renders its user [(6), 'stupid']. As you are [(6), 'already stupid'] it renders you invisible to fellow stupid creatures. Like [(6), 'wargs']. Which is pretty convenient. And saves having to do some complicated coding.";
      : done; }}
      
: match "remove ring" {
   : if (is_worn "ring") {
      : print "It won't come off your [(6), 'fat'] finger.";
      : done; }}
      
: match "give orb" {
   : if (is_at "dungeon_door" && is_carried "orb") {
      : print "You hand the [(6), 'orb'] to Edmond. He thanks you, turns on the little orb and sits watching the [(6), 'National Elf Service News'].";
      : press_any_key;
      : print "Without even glancing up, he gives you a piece of sheet [(6), 'music']";
      : press_any_key;
      : set_true "orb_given";
      : create "music" target="inventory";
      : redescribe;
      : done; }}
      
: match "give crystal" {
   : if (is_at "dungeon_door" && is_carried "crystal") {
      : print "You probably [(6), 'shouldn`t'] just give the crystal away.";
      : done; }}
      
: match "give music" {
   : if (is_at "dungeon_door" && is_carried "music") {
      : print "It's [(6), 'impolite'] to give back a gift.";
      : done; }}
      
: match "give key" {
   : if (is_at "dungeon_door" && is_carried "key") {
      : print "It's [(6), 'impolite'] to give back a gift.";
      : done; }}
      
: match "give game" {
   : if (is_at "dungeon_door" && is_carried "tape") {
      : print "[(5), '\"No thanks,\"'] says Edmond. [(5), '\"I have a C64.\"'] \n Yeah, that figures.";
      : done; }}
      
: match "give helpsheet" {
   : if (is_at "dungeon_door" && is_carried "hintsheet") {
      : print "Edmond takes the [(6), 'hintsheet'] from you, [(6), 'holds it up to the light'] and hands it back to you. [(5), '\"Stand by the grey stone when the thrush knocks,\"'] he says, rather unhelpfully.";
      : done; }}
      
: match "give tights" {
   : if (is_at "dungeon_door" && is_carried "tights") {
      : print "[(5), '\"I don`t take fashion advice from halflings,\"'] says Edmond.";
      : done; }}
      
: match "get key;remove key" {
   : if (is_carried "music" && (!(got_key))) {
      : print "Cursing the author's [(6), 'stupid puns'], you remove the [(6), 'key'] from the sheet music.";
      : set_true "got_key";
      : create "key" target="inventory";
      : press_any_key;
      : redescribe;
      : done; }}
      
## Dungeon Sand & Playtester ##

: match "x sandcastles"  {
   : if (is_at "dungeon_sand") {
      : print "On closer examination you can see how much they suit their name. They're built entirely out of [(6), 'sand'] and they are made in the shape of [(6), 'castles.']";
      : done;}}
      
: match "x sand"  {
   : if (is_at "dungeon_sand") {
      : print "The goblins seem to have dumped almost a whole beach-load of [(6), 'sand'] in the dungeon. You have a [(6), 'sudden urge'] to join in the playtester's fun.";
      : done;}}
      
: match "x playtester"  {
   : if (is_at "dungeon_sand") {
      : print "The playtester doesn't seem [(6), 'particularly bothered'] about not being able to escape the adventure. The [(6), 'poor soul'] must love these types of games.";
      : done;}}

: match "talk playtester"  {
   : if (is_at "dungeon_sand") {
      : print "The playtester says, [(5), '\"Let me know if you find any bugs. I`ll add them to my report.\"']";
      : done;}}

: match "dig sand; make sandcastle" {
   : if (is_at "dungeon_sand") {
         : if (!(chest_found)) {
            : print "While attempting to damage the sandcastles as little as possible, you [(6), 'enthusiastically'] dig in the sand with your hands.";
            : press_any_key;
            : print "After a short amount of time, you discover something...";
            : create "chest";
            : set_true "chest_found";
            : press_any_key;
            : redescribe;
            : done; }
         : else {
            : print "You've already spent enough time [(6), 'faffing'] about in the sand.";
            : done;}}}
            
: match "open chest; unlock chest" {
   : if (is_at "dungeon_sand" && is_present "chest") {
      : if (is_present "key") {
         : print "You insert the large, obvious [(6), 'key'] into the pretty obvious [(6), 'keyhole'] and unlock the chest.";
         : press_any_key;
         : print "Inside the chest, you see some interesting items...";
         : press_any_key;
         : destroy "chest";
         : create "tights";
         : create "crystal";
         : redescribe;
         : done; }
      : else {
         : print "You [(6), 'don`t'] have a way of unlocking the chest.";
         : done;
       }}}
         
            
: match "give tape" {
   : if (is_at "dungeon_sand" && is_carried "tape") {
      : print "As playtesters are always after free games, the playtester is [(6), 'overjoyed'] and gives you [(6), 'an orb.']";
      : press_any_key;
      : print "He says, [(5), '\"I couldn`t get this to work but perhaps you`ll have more luck.\"']";
      : press_any_key;
      : destroy "tape";
      : create "orb" target="inventory";
      : redescribe;
      : done;}}
      
: match "give orb" {
   : if (is_at "dungeon_sand" && is_carried "orb") {
      : print "[(5), '\"Didn`t I just give you that?\"'] says the playtester. [(5),'\"Are you just going around randomly giving objects to people?\"']";
      : done;}}
      
: match "give hintsheet" {
   : if (is_at "dungeon_sand" && is_carried "hintsheet") {
      : print "[(5), '\"Didn`t I just give you that?\"'] says the playtester. [(5),'\"Are you just going around randomly giving objects to people?\"']";
      : done;}}
      
: match "give tights" {
   : if (is_at "dungeon_sand" && is_carried "tights") {
      : print "[(5), '\"I`d just put holes in those if I tried to wear them,\"'] says the playtester.";
      : done;}}
 
: match "give crystal" {
   : if (is_at "dungeon_sand" && is_carried "crystal") {
      : print "If you gave it to him then you'd [(6), 'never'] get it back.";
      : done; }}
      
: match "give music" {
   : if (is_at "dungeon_sand" && is_carried "music") {
      : print "[(5), '\"I wouldn`t know what to do with that\"'] says the playtester. [(5), '\"Knowing the author and his silly puns, it`s probably for Chopin wood.\"']";
      : done;}}
      
: match "give key" {
   : if (is_at "dungeon_sand" && is_carried "key") {
      : print "[(5), '\"Ooh, I wonder what that unlocks,\"'] says the playtester.";
      : done; }}
      
: match "give crystal" {
   : if (is_at "dungeon_sand" && is_carried "crystal") {
      : print "[(5), '\"No thanks,\"'] says the playtester.";
      : done; }}
      
: match "watch orb;use orb" {
   : if (is_carried "orb") {
      : print "You [(6), 'can`t'] get the orb to work. Perhaps you're not [(6), 'magical'] enough.";
      : done; }}

## Dungeon Window and Thoran the Dwarf ##

: match "x window"  {
   : if (is_at "dungeon_window") {
      : print "The [(6), 'window'] is set in the wall some [(6), 'two feet'] above your standing height. If you weren't such a [(6), 'short-arse'] you'd be climbing out of it by now. There is a [(6), 'nail'] just below the window.";
      : done;}}
      
: match "x nail"  {
   : if (is_at "dungeon_window") {
      : print "It's either a result of a [(6), 'dodgy'] bit of building by the goblins or it's been [(6), 'left there'] by the programmer for some reason";
      : done;}}
      
: match "get nail"  {
   : if (is_at "dungeon_window") {
      : print "I [(6), 'wouldn`t'] spend time trying to work out how to get the nail. It's use will become apparent with time. Or when you [(6), 'cheat'] and look up the solution to the game on the Internet.";
      : done;}}
      
: match "x thoran"  {
   : if (is_at "dungeon_window") {
      : print "He's just your average [(6), 'demented'] dwarf.";
      : done;}}
      
: match "talk thoran" {
   : if (is_at "dungeon_window" ) {
      : print "You say to Thoran, [(5), '\"Carry me.\"']";
      : press_any_key;
      : print "[(5), '\"No chance,\"'] says Thoran, [(5), '\"I`d give myself a bleedin` `ernia.\"']";
      : done;}}
      
: match "give music" {
   : if (is_at "dungeon_window" && is_carried "music") {
      : print "[(5), '\"Urgh,\"'] says Thoran. [(5), '\"I don`t like classical music, it`s almost as bad as troll rock.\"']";
      : done;}}
      
: match "give orb" {
   : if (is_at "dungeon_window" && is_carried "orb") {
      : print "[(5), '\"Nah,\"'] says Thoran. [(5), '\"I`ve never been one for staring at elvish balls.\"']";
      : done;}}
      
: match "give key" {
   : if (is_at "dungeon_door" && is_carried "key") {
      : print "[(5), '\"That was Thrain`s key,\"'] says Thoran. [(5), '\"Oh no, my mistake, Thrain`s was a lot smaller and curiouser.\"']";
      : done; }}
      
: match "give tights" {
   : if (is_at "dungeon_window" && is_carried "tights") {
      : print "[(5), '\"No thanks,\"'] says Thoran. [(5), '\"They wouldn`t fit me. I`d hate to think what would happen to them if I tried to put them on. Have you tried it?\"']";
      : done;}}
      
: match "give game" {
   : if (is_at "dungeon_window" && is_carried "tape") {
      : print "[(5), '\"No way,\"'] says Thoran. [(5), '\"You`d have to be pretty sad to waste your time playing an old school adventure game!\"']";
      : done;}}
      
: match "give hintsheet" {
   : if (is_at "dungeon_window" && is_carried "hintsheet") {
      : print "[(5), '\"I`ll give you a hint\"'] says Thoran. [(5), '\"Leave me alone!\"']";
      : done;}}
      
: match "wear tights" {
   : if (is_carried "tights") {
      : print "You try to pull the tights over your [(6), 'fat halfling legs'] and manage to [(6), 'ladder'] them.";
      : swap o1="tights" o2="tights2";
      : done;}}
      
: match "wear tights" {
   : if (is_carried "tights2") {
      : print "You can't. There's a [(6), 'ladder'] in them.";
      : done;}}
      
: match "give tights" {
   : if (is_carried "tights2") {
      : print "Nobody would want a pair of [(6), 'laddered'] tights.";
      : done;}}
      
: match "throw tights" {
   : if (is_at "dungeon_window" && is_carried "tights2") {
      : print "You lob the tights towards the [(6), 'open dungeon window'] but miss and they catch on the [(6), 'nail.']";
      : destroy "tights2";
      : create "tights3";
      : press_any_key;
      : redescribe;
      : done; }
    }
    
: match "throw tights" {
   : if (is_carried "tights") {
      : print "I'm not 100% sure what you hope to achieve by chucking a pair of [(6), 'smelly tights'] around the place. Maybe that's something you might do later.";
      : done; }}
      
: match "get tights" {
   : if (is_present "tights3") {
      : print "They're best left where they are.";
      : done;}}
      
: match "climb tights;climb ladder" {
   : if (is_present "tights3" && (!(is_carried "crystal"))) {
      : print "Erm... don't forget the crystal.";
      : done;}}
      
: match "climb tights;climb ladder" {
   : if (is_present "tights3" && is_carried "crystal") {
      : print "With a quick goodbye finger-wave to Thoran, you ascend up the ladder and squeeze your body through the goblin's dungeon's window...";
      : press_any_key;
      : print "Let's hope you get further before you're recaptured by the [(6), 'vicious goblin'] this time...";
      : press_any_key;
      : clear_screen;
      : print "[(6), 'Congratulations...'] You have completed 'The Hoppit' mini-adventure.";
      : press_any_key;
      : print "Why not try the full [(5), 'Microfair Madness'] adventure game?";
      : press_any_key;
      : print "(Apart from the obvious reasons)";
      : press_any_key;
      : end_game;
      : done;}}
      
## Dungeon Warg ##

: match "x warg"  {
   : if (is_at "dungeon_warg") {
      : print "The [(6), 'warg'] is a snarling, furious beast. You wouldn't want to get on its [(6), 'bad side']. Or its [(6), 'good side']. Or [(6), 'anywhere'] close, really.";
      : done;}}

: match "get tape" {
   : if (is_at "dungeon_warg" && (!(is_worn "ring")) && (!(got_tape))) {
      : print "As you go to reach for the tape the Warg [(6), 'snarls'] and [(6), 'inches closer'] to you. Perhaps you should leave the cassette there for now?";
      : done;}}
      
: match "get tape" {
   : if (is_at "dungeon_warg" && (is_worn "ring") && (!(got_tape))) {
      : print "Thanks to the [(6), 'magical ring'] the Warg does not notice you picking up the [(6), 'cassette tape.']";
      : destroy "tape";
      : create "tape" target="inventory";
      : set_true "got_tape";
      : press_any_key;
      : redescribe;
      : done;}}
      
: match "give _" {
   : if (is_at "dungeon_warg") {
      : print "The only [(6), 'thing'] you're going to give the Warg, is an [(6), 'excuse'] to eat you.";
      : done;}}

}

t2_on_redescribed [] {
   : always {
      : if (is_at "dungeon_door" && (!(got_ring)) && chance "40") {
         : print "[(4), 'You hear a ring at the door.']";}
   }
}

t3_on_tick [] {
   : always {
      : if (is_at "intro") {
      : print "[(5), 'The Hoppit']";
      : print "[(6), 'Congratulations!'] You are about to play the [(6), 'least sophisticated'] game program yet devised for any microcomputer.";
      : press_any_key;
      : print "Actually, this is a browser-based recreation of one of the [(5), 'Microfair Madness'] mini-games, lovingly coded and expanded upon using [(6), 'Adventuron'].";
      : press_any_key;
      : print "Your task is to escape the famous [(6), 'Goblin`s Dungeon.']";
      : press_any_key;
      : print "Getting out is [(5), 'easy']...";
      : press_any_key;
      : print "...but reclaiming the [(6), 'ten minutes'] you've wasted of your life playing this game will be [(6), 'nigh on impossible!']";
      : press_any_key;
      : print "[(5), 'Enjoy!']";
      : press_any_key;
      : goto "dungeon_window";
      : redescribe;
      : done;
      }}
   : always {
      : if (is_at "dungeon_sand" && (!(hint_got))) {
         : press_any_key;
         : print "The playtester sees you. [(5), '\"Another adventurer!\"'] he exclaims.";
         : press_any_key;
         : print "He explains that he was hired to playtest this [(6), 'mini adventure'] for [(6), 'Delbert'] but nobody gave him a [(6), 'solution'] so he hasn't been able to get out.";
         : press_any_key;
         : print "[(5), '\"This is all they gave me,\"'] he hands you a [(6), 'piece of paper.']";
         : press_any_key;
         : set_true "hint_got";
         : create "hintsheet" target="inventory";
         : redescribe;
         : done; }}

   : always {
      : if (is_at "dungeon_window") {
         : increment "thoran";
         : if (thoran == 2) {
            : print "[(4), 'Thoran sits down and sings about gold, but gets bored and switches to the latest song by Megadeth instead. He likes all kinds of metal.']"; }
         : if (thoran == 4) {
            : print "[(4), 'Thoran starts singing, \"If you go down to the woods today (you`re sure to see bulbous eyes)\"']"; }
         : if (thoran == 6) {
            : print "[(4), 'Thoran sings, \"Wish they`d let me in so I could find out what`s behind that green door!\"']"; }
         : if (thoran == 8) {
            : print "[(4), '\"She came in through the dungeon window,\" sings Thoran, \"Attracted by a small, curious key....\"']"; }
         : if (thoran == 10) {
            : print "[(4), 'Thoran says, \"I`m thinking of reforming my band, Orc`s Manoeuvres in the Dark.\"']";
            : set_integer var="thoran" value="0";
      }}
      
}
}
}


##################################################
#  Strings                                       #
##################################################

strings[] {
   
}

##################################################
#  System Messages                               #
##################################################

system_messages {

   ask_new_game                                   = Would you like to start a new game?
   ask_quit                                       = Do you wish to quit the game?
   be_more_specific                               = Be more specific ...\s
   cannot_carry_any_more                          = You cannot carry any more items.
   cant_take                                      = You can't take it.
   concise_exit_list_header                       = Exits :\s
   empty_inventory                                = Nothing
   i_cant_do_that                                 = I can't seem to do that.
   inventory_list_header                          = You are carrying:
   inventory_list_header_verbose                  = You are carrying
   it_is_dark                                     = It is dark. You can't see a thing.
   list_object_end_text                           = .
   list_object_final_separator                    = \sand\s
   list_object_separator                          = ,\s
   must_remove_first                              = Try taking it off first.
   not_carried                                    = You can't ${verb} something you are not carrying.
   not_present                                    = That's not necessary.
   object_list_header                             = You can also see:
   object_list_header_verbose                     = You can also see 
   ok                                             = OK
   on_drop                                        = You chuck that on the floor.
   on_get                                         = You stuff that into your roomy pockets.
   on_remove                                      = You take it off.
   on_wear                                        = You put that on.
   post_quit                                      = You have quit the game
   prior_prompt                                   = What Now?
   prompt                                         = >
   there_are_no_obvious_exits                     = There are no obvious exits.
   unknown_noun                                   = I don't understand "${noun}".
   unknown_verb                                   = I don't understand how to "${verb}".
   verbose_exit_list_additional_exits_are_located = Additional exits are located
   verbose_exit_list_from_here_you_can_go         = From here you can go
   verbose_exit_list_last_sep                     = and\s
   verbose_exit_list_sep                          = ,\s
   verbose_exit_list_to_the                       = to the
   verbose_exit_list_you_can_also_go              = You can also go
   worn_suffix                                    = \s(worn)
   you_already_wear                               = You are already wearing that.
   you_are_already_carrying                       = You are already carrying it.
   you_cant_go_that_direction                     = You cannot go in that direction.
   you_cant_wear                                  = You can't wear that.
   you_dont_wear                                  = You are not wearing that.
   you_see_nothing_special                        = You see nothing special.
   
}

##################################################
#  Assets                                        #
##################################################

assets {
   
   graphics {
      dwarf_speccy_colour : base64_png "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";
      
      play_speccy_colour : base64_png "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";
      
      warg_speccy_colour : base64_png "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";
      
      elf_speccy_colour : base64_png "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";
      
      hoppit : base64_png "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";
   }
}