diff --git a/xtrn/lord2/arris.ref b/xtrn/lord2/arris.ref
new file mode 100644
index 0000000000000000000000000000000000000000..b0ca51a11f3b26c060ba8f36df84ab30edf800eb
--- /dev/null
+++ b/xtrn/lord2/arris.ref
@@ -0,0 +1,1051 @@
+;ArrisVille & friends ref file
+@#castle
+;Corin's castle
+@do moveback
+@busy
+@offmap
+@show
+`r0`c  `%`r1  The Royal Palace  `r0
+
+  `2The Arrisville castle is a picturesque stone monument that pays
+  homage to perseverance.  Even though his mother and father have been
+  missing for nearly a year, `0Prince Corin`2 has kept this city strong.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Ask for an audience with Corin
+Leave
+@if responce is 1 then do
+  @begin
+  @if `p07 < -50 then do
+   @begin
+  @show
+`\`\  `2The prince refuses to grant you an audience.  Apparently he's heard
+  of you.
+`\`k
+   @drawmap
+   @update
+   @closescript
+   @end
+  @do `v01 is 1
+  @show
+`\`\  `2The prince agrees to see you.
+`\`k
+@label ca1
+@do `v01 is 1
+@show
+`r0`c  `%`r1  Audience With The Prince `r0
+
+  `0"And how can I help you today, `n`0?" `2the prince asks.
+
+@do write
+`x`x
+@choice
+Tell me of rumors you've heard
+Conduct business with Corin
++`t17 4 -`t17 5 I must ask a favor of you, dear prince.
++`t17 5 -`t17 6 Prince.. I am back.
+>`i72 0 I have the Gryphon Moon!
+End the audience
+@if responce is 5 then do
+  @begin
+  @show
+`\`\  `0"Incredible work!" `2the prince compliments you warmly.
+
+`k
+  @do goto ca1
+  @end
+@if responce is 4 then do
+ @begin
+@show
+`\`\  `0"What happened over there?!" `2Corin demands.
+
+  `$"Terrible things....  I barely escaped with my life.  But I did not
+  accomplish what I came do to, so I must ask yet another boon of you..."
+
+`k  `2A few days later you are dropped off at the `4Dragon Tooth Clan's`2
+  headquarters.
+
+`k
+@do `i67 is 1
+@do map is 705
+@do x is 29
+@do y is 11
+@loadmap &map
+@drawmap
+@update
+@closescript
+
+ @end
+
+@if responce is 3 then do
+  @begin
+  @show
+`\`\  `0"Anything!  I have heard of your efforts to stop the Dragon Tooth Clan."`2
+  the prince tells you excitedly.
+
+`k  `$"Can one of your great ships take me to our enemies lair?  You know the
+  island of which I speak, don't you."
+
+`k  `0"Yes, yes I do." `2Corin tells you somberly.  `0"You may leave tommorow,
+  for now, you must rest."
+
+`k`c  `r1  `%Goodnight  `r0
+`\  `2Palace servants take you to a most wonderful room - ornamental rugs
+  cover much of the floors and walls, many of which contain scenes of men
+  doing battle with dragons and other beasts.
+
+  Your bed is large and soft.  The silk sheets feel like clouds against your
+  skin... clouds.. this seems to follow you into your dreams.
+
+`k`c  `r1  `%All aboard!  `r0
+
+  `2After a huge breakfast the prince accompanies you to the docks.
+
+`k  `0"I wish you great success in whatever it is you must do.  I would that
+  you would take this gift, `n`0."
+
+`k  `%THE PRINCE GIVES YOU A DISGUISE!
+
+`k  `2The crew is quiet during the journey.  The silence is unnerving.
+
+`k  You finally arrive.
+
+`k
+@do `i67 is 1
+@bitset `t17 5 1
+@do map is 705
+@do x is 29
+@do y is 11
+@loadmap &map
+@drawmap
+@update
+@closescript
+  @end
+
+@if responce is 1 then do
+  @begin
+  @if bitcheck `t17 7 1 then do
+    @begin
+  @show
+`\`\  `2Corin's face becomes earnest.  `0"Things are much better now.  You have
+  done this country a great service by taking the `%Gryphon Moon`0.  If you
+  ever need anything, let me know."
+`\`k
+  @do goto ca1
+    @end
+
+  @show
+`\`\  `2Corin's face becomes earnest.  `0"To be honest, there is much unrest.
+  The people are afraid... afraid of the `4Dragon Tooth Clan`0 and the threats
+  they make.  I have refused to pay the tribute they demand and many fear they
+  will retaliate soon."
+`\`k
+  @do goto ca1
+  @end
+
+  @if responce is 2 then do
+    @begin
+    @do `p20 is 6
+    @run getquest in quest.ref
+    @end
+
+  @end
+
+@drawmap
+@update
+
+@#ghost
+;The ghost quest, that haunts the .... :)
+@if bitcheck `t14 4 0 then do
+  @begin
+@if `i61 > 0 then do
+  @begin
+  @drawmap
+  @update
+  @closescript
+  @end
+@busy
+@show
+`r0`c  `%`r1  A Ghostly Image  `r0
+
+  `3Walking down the halls of the inn you begin to hear a quiet moaning.
+  You look around but see nothing.  The sound seems to be coming from a
+  wall!  You move closer to hear more, the moaning seems to be getting
+  louder.  Suddenly you notice a light, but not from a candle, it seems
+  to be a brilliant blue.
+
+  A transparent blue body floats out from the wall, it's a man with a
+  dismal look on his face moaning loudly.  You're both scared an
+  exhilarated at the same time.  `%Who is this Ghost?`3
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Attempt to talk to it
+Fight it
+Run
+@if response is 1 then do
+  @begin
+  @do `i61 is 1
+  @show
+`\`\  `%You fight back your fear and reach out towards the apparition.
+  As you do so the figure stops its moaning and looks to you.
+  `$"Who .. who are you?"  `%you ask.
+  `%"A person .. like yourself,"  `3he replies.  `%"I too quested for the
+  Red Dragon, back when we were sure of his existance.  I believed I had
+  found my way to one of his lairs.  Here in this land, in the northeast
+  a cave in the water.  I went in hoping to find the beast, but was betrayed
+  by a companion."
+
+  `%"You may right my death though. `3Take this and find the cave, honor my
+  body..."
+
+  `%His image fades and lying where he was is a small silver ring.
+`\`k
+  @end
+@if response is 2 then do
+  @begin
+  @pauseoff
+  @do `p07 - 1
+  @show
+`\`\  `%Your instincts take over as you pull out your s&weapon.  The ghost
+  seems instantly aware of you.  It speaks ...
+  `3"Beware the path you choose warrior, it may not be as easy as you may
+  think ..."  `%and like that he's gone.
+
+  `bYOUR ALIGNMENT GOES DOWN BY ONE!`b
+`\`k
+  @end
+@end
+@drawmap
+@update
+
+@#sh1
+;Sosen house 1 person
+@do moveback
+@busy
+@do `v01 is 1
+@show
+`r0`c  `r1  `%Talking to Basil  `r0
+
+  `2A slightly evil looking man encourages you to sit.
+
+@do write
+`x`x
+@choice
+Gossip
+Conduct business with Basil
+Leave
+@if responce is 2 then do
+  @begin
+  @do `p20 is 5
+  @run getquest in quest.ref
+  @end
+
+@if responce is 1 then do
+  @begin
+   @do `p21 random 3 1
+   @if `p21 is 1 then do
+     @begin
+     @show
+`\`\  `0"Well.. I believe the Dragon Cult is telling the truth.  The Dragon
+  is alive and well and serves them.  You would do well to respect them."
+`\`k
+     @end
+
+   @if `p21 is 2 then do
+     @begin
+     @show
+`\`\  `0"The Koshi people will kill you if you get too close.  Stay away from
+  where they live.  Me?  Of course I don't know where that is..."
+`\`k
+     @end
+
+   @if `p21 is 3 then do
+     @begin
+     @show
+`\`\  `0"This town is small.  There ain't much business around here.. but I
+  have a few customers.. What do I sell? Don't EVER ask me that again!"
+`\`k
+     @end
+
+  @do goto sh1
+  @end
+
+@drawmap
+@update
+
+@#kosign
+;Sosen house 1 person
+@do moveback
+@do saybar
+`0Sign: `2<--- Koshi mountains.  Stay away from these sick people!
+
+@#sh2
+;Sosen house 2 person
+@do moveback
+@do saybar
+`0Matt Longsword: `2We Dragon Tooth members like to drink blood.  Do you?
+
+@#sh3
+;Sosen house 3 person
+@do moveback
+@do saybar
+`0Wise Child: There is a music shop west of Arrisville..`2My house `bsucks`2.  
+
+@#sosstore
+@do moveback
+@offmap
+@busy
+@show
+`r0`c                      `r1  Sosen Village General Store  `r0
+
+
+
+
+@buymanager
+26
+32
+33
+58
+59
+60
+40
+5
+@drawmap
+@update
+
+@#STORE
+;The ArrisVille Store
+@do moveback
+@offmap
+@busy
+@show
+`r0`c                           `r1  ArrisVille Store  `r0
+
+
+
+
+@buymanager
+58
+59
+60
+@drawmap
+@update
+
+@#inn
+;The ArrisVille (tm) Inn
+@do `v01 is 1
+@offmap
+@do moveback
+@show
+`r0`c  `%`r1  ArrisVille Inn  `r0
+
+  `2The towered Inn looks very nice -  A refreshing change from what you're
+  used to in your travels.
+
+  A well dressed man looks up from the front desk.
+
+  `0"Good day s&sir, how may I help you?"`2
+  
+  You are holding `$$&money`2.
+
+@do write
+`x`x
+@choice
+Get a room (`$$100`%)
+Leave
+@if response is 1 then do
+  @begin
+  @if money < 100 then do
+    @begin
+    @show
+`\`\`2  You are short on cash.  It's okay, someday you'll be able to stay
+  here...
+
+`k
+    @drawmap
+    @update
+    @closescript
+    @end
+   @show
+`\`\  `2You give the man the cash.  He leads you inside...
+`\`k
+   @do money - 100
+   @do x is 21
+   @do y is 13  
+   @do map is 450
+   @loadmap 450
+   @drawmap
+   @update
+   @closescript
+  @end
+
+@drawmap
+@update
+
+
+@#seth
+;talking to seth (gosh, he rules!)
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `r1  `%The Music Shop  `r0
+
+  `2The man looks up.  Somehow he looks so familiar..
+
+  `0"What can I help you with, friend?" `2he asks.
+
+@do write
+`x`x
+@choice
+Do I know you?
+-`t14 1 >`i07 0 Can you fix my flute?
++`t14 1 -`t14 2 >`i07 0 Can you teach me how to play my flute?
+Leave
+@if responce is 3 then do
+  @begin
+  @show
+`\`\  `2The man agrees.  Half an hour later you have mastered TWO songs!
+
+`k
+  @bitset `t14 2 1
+  @end
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `0"Hey there... look at this.  Can you fix it?  I've tried blowing it
+  and it don't work so hot," `2you ask.
+
+  `2The man studies your flute for sometime.  He suddenly looks at you.
+  `0"Where did you find this?!!"
+
+`k  `2You tell him.  He explains that there are only two of them in the
+  world - and he owns the other one.  The Trondhiem Flutes each contain
+  special powers.  If you know how to play them correctly...
+
+  `$"So are you gonna fix it, sir?"
+
+`k  `2The man laughs.  `0"It isn't broken!  You just didn't know how to play
+  it!"
+
+`k
+  @bitset `t14 1 1
+  @do goto seth
+  @end
+
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `0"No, no I don't think so.  I moved from Greentree a few years ago."
+
+  `$"But I come from Stonebrook!  That is right next to you!!!" `2you exclaim.
+
+  `0"Oh yeah?  Woah."  `2After a moment or so of uncomfortable silence you
+  decide to move on.
+
+`k
+  @do goto seth
+  @end
+
+
+
+@drawmap
+@update
+
+@#sethsign
+@do moveback
+@do saybar
+`0Sign: `2<---- The Music Shop
+
+@#heal
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `r1  ArrisVille Master Healing  `r0
+
+`2  Master looks you over for wounds.
+
+@do write
+`x`x
+@if `p02 < `p03 then do
+ @begin
+@do `p20 is `p03
+@do `p20 - `p02
+@do `p20 / 2
+
+
+ @show
+`0"You don't look so good, friend!  I'll fix ya up for `$`p20`0 gold, k?"
+
+@do write
+`x`x
+@choice
+Heal yourself for `$$`p20`%. (you have `$$&money`%)
+Limp on out.
+@show
+`\
+@if response is 1 then do begin
+ @begin
+ @if money < `p20 then do
+  @begin
+  @show
+  `0"Sorry old s&boy, we don't do charity work here."
+
+ @do write
+`x`x
+ @choice
+Well come on!  How am I supposed to make money when I can barely walk?
+Buddy, how 'bout a little compassion for once in your life freak!
+How 'bout some of your 'special' pills then?
+Yes sir.
+@show
+
+
+@if response is 4 then do
+ @begin
+ @show
+  `0"That's a good lad, now get along with you!" `2 he laughs.
+
+`k
+ @end
+
+@if response is 1 then do
+ @begin
+ @show
+  `0"Damn it, s&boy, be a s&man for once in your life!"`2 he yells.
+
+`k
+ @end
+@if response is 2 then do
+ @begin
+ @show
+  `0"I cannot respect a man who doesn't work," `2Master informs you.
+
+`k
+ @end
+@if response is 3 then do
+ @begin
+ @do `p02 = 1
+ @show
+  `0"Sure.  Take like uh.. these." `2 he snickers.
+
+  `2You gulp down the weird black pills
+
+  `4HIT POINTS GO DOWN TO 1.
+
+`k
+ @end
+
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do money - `p20
+@do `p21 = `p03
+@do `p21 - `p02
+@do `p02 = `p03
+@show
+  `2You feel much better as `0`p21`2 hitpoints are restored.
+
+`k
+  @end
+  @drawmap
+  @update
+  @closescript
+@end
+
+@show
+`0"You have no ailments, come back later!" `2says Master.
+
+`k
+@drawmap
+@update
+
+@#bank
+@do `v01 is 1
+@offmap
+@do moveback
+@label bankstart
+@show
+`r0`c  `r1  `%5th Bank Of ArrisVille  `r0
+
+`2  A young clerk eyes you nervously.
+
+@if bank more 0 then do
+ @begin
+ @show
+`2  You are holding `$$&money`2, your account is at `$$&bank`2.
+
+ @end
+
+@if bank is 0 then do
+ @begin
+ @show
+`2  You currently don't have an account with them.
+
+ @end
+
+@do write
+`x`x
+@choice
+>&bank 0 Make a deposit.
+>&bank 0 Make a withdrawal.
+=&bank 0 Apply for an account here.
+Leave
+@if response is 3 then do
+  @begin
+  @do `v01 is 1
+  @show
+
+
+  `2The nervous boy asks you to sit down.
+
+  `0"Your full name s&sir?"
+  @do `s01 is NIL
+  @do write
+`x`x
+  @do readstring 30 `s01
+  @show
+
+
+  `0"Your current residence?"
+
+  @do write
+`x`x
+  @do readstring 50 `s01
+
+  @show
+
+
+  `0"Your net income yearly?"
+
+  @do write
+`x`x
+  @do readnum 10
+  @if `v40 less 20 then do
+  @begin
+  @show
+
+  @end
+
+  @if `v40 more 19 then do
+   @begin
+   @show
+
+
+  `2You giggle to yourself `0-`2 how will they know you just totally lied on
+  that last questions?!??  You only made `b19`2 gold pieces last year!
+  @end
+  @label bankagain
+  @show
+
+  `0"How much would you like to open your account with?" `2(you have `$$&money`2)
+
+  @do write
+`x`x
+  @do readnum 10 money
+  @if `v40 is 0 then do
+   @begin
+   @show
+
+
+  `2You decide you really don't want to open an account with this
+  branch.
+
+`k
+  @do goto bankstart
+  @end
+
+  @if `v40 > money then do
+   @begin
+   @show
+
+
+`2  You don't have this much!  Try again.
+   @do goto bankagain
+   @end
+
+  @if `v40 < 50 then do
+  @begin
+  @if money < 50 then do
+   @begin
+  @show
+
+  `2The clerk eyes your shabby clothing distastefully - as if he knew
+  this part was coming.
+
+  `0"I'm sorry s&sir, we do require `$$50 `2to open an account.  And could
+  you please leave the pen on your way out." `2he asks haughtily.
+
+`k  `2You carefully return the pen.  `$"I'll be back someday.  And you WILL
+  open an account for me then," `2you vow seriously.
+
+  `0"Of course you will, s&sir.  Please exit now, remember, the sign does
+  say no loitering.  And this means you." `2he says as he points to the
+  door.
+
+`k
+@drawmap
+@update
+@closescript
+   @end
+
+  @show
+
+
+  `0"S&Sir, `$$50 `0is required to open a new account!"
+  @do goto bankagain
+  @end
+  @do money - `v40
+  @do bank + `v40
+  @show
+
+
+  `0"Very good S&sir!  Your new account has been opened!"
+
+`k
+  @do goto bank
+  @end
+
+
+@if response is 1 then do
+  @begin
+  @do write
+`\
+  @label deposit
+  @do write
+`\  `0"Deposit how much, s&sir?"`\`\`x`x
+  @do readnum 10 money
+  @if `v40 more money then do
+  @begin
+  @show
+`\`\  `2Maybe you left the money in your other pants?  'cuz it sure ain't here.
+  @do goto deposit
+  @end
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, this isn't happening and you aren't here.
+  @do goto withdraw
+  @end
+
+  @do money - `v40
+  @do bank + `v40
+  @do goto bankstart
+
+  @end
+
+@if response is 2 then do
+  @begin
+  @do write
+`\
+  @label withdraw
+  @do write
+`\  `0"Withdraw how much, s&sir?"`\`\`x`x
+  @do `p21 is bank
+  @do `p21 - 1
+  @if `p21 < 0 then `p21 is 0
+  @do readnum 10 `p21
+  @if `v40 more bank then do
+  @begin
+  @show
+`\`\  `2You kind of don't have that much in your account.  Nice bookeeping!
+  @do goto withdraw
+  @end
+
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, I don't think so.
+  @do goto withdraw
+  @end
+
+  @if `v40 is bank then do
+   @begin
+   @show
+
+
+  `0"But s&sir!  This will close your account with us, are you sure you wish
+  to do that?" `2the clerk chokes.
+
+  @do write
+`x`x
+  @do `v01 is 1
+  @choice
+Ok, nevermind then.
+Yeah.  Get my damn money.
+@if response is 1 then goto bank
+
+   @end
+
+  @do money + `v40
+  @do bank - `v40
+  @do goto bankstart
+  @end
+
+
+
+@drawmap
+@update
+
+
+@#bank2
+@do `v01 is 1
+@offmap
+@do moveback
+@label bankstart
+@show
+`r0`c  `r1 `%4th Bank Of Sosen `r0
+
+`2  A young clerk eyes you nervously.
+
+@if bank more 0 then do
+ @begin
+ @show
+`2  You are holding `$$&money`2, your account is at `$$&bank`2.
+
+ @end
+
+@if bank is 0 then do
+ @begin
+ @show
+`2  You currently don't have an account with them.
+
+ @end
+
+@do write
+`x`x
+@choice
+>&bank 0 Make a deposit.
+>&bank 0 Make a withdrawal.
+=&bank 0 Apply for an account here.
+Leave
+@if response is 3 then do
+  @begin
+  @do `v01 is 1
+  @show
+
+
+  `2The nervous boy asks you to sit down.
+
+  `0"Your full name s&sir?"
+  @do `s01 is NIL
+  @do write
+`x`x
+  @do readstring 30 `s01
+  @show
+
+
+  `0"Your current residence?"
+
+  @do write
+`x`x
+  @do readstring 50 `s01
+
+  @show
+
+
+  `0"Your net income yearly?"
+
+  @do write
+`x`x
+  @do readnum 10
+  @if `v40 less 20 then do
+  @begin
+  @show
+
+  @end
+
+  @if `v40 more 19 then do
+   @begin
+   @show
+
+
+  `2You giggle to yourself `0-`2 how will they know you just totally lied on
+  that last questions?!??  You only made `b19`2 gold pieces last year!
+  @end
+  @label bankagain
+  @show
+
+  `0"How much would you like to open your account with?" `2(you have `$$&money`2)
+
+  @do write
+`x`x
+  @do readnum 10 money
+  @if `v40 is 0 then do
+   @begin
+   @show
+
+
+  `2You decide you really don't want to open an account with this
+  branch.
+
+`k
+  @do goto bankstart
+  @end
+
+  @if `v40 > money then do
+   @begin
+   @show
+
+
+`2  You don't have this much!  Try again.
+   @do goto bankagain
+   @end
+
+  @if `v40 < 50 then do
+  @begin
+  @if money < 50 then do
+   @begin
+  @show
+
+  `2The clerk eyes your shabby clothing distastefully - as if he knew
+  this part was coming.
+
+  `0"I'm sorry s&sir, we do require `$$50 `2to open an account.  And could
+  you please leave the pen on your way out." `2he asks haughtily.
+
+`k  `2You carefully return the pen.  `$"I'll be back someday.  And you WILL
+  open an account for me then," `2you vow seriously.
+
+  `0"Of course you will, s&sir.  Please exit now, remember, the sign does
+  say no loitering.  And this means you." `2he says as he points to the
+  door.
+
+`k
+@drawmap
+@update
+@closescript
+   @end
+
+  @show
+
+
+  `0"S&Sir, `$$50 `0is required to open a new account!"
+  @do goto bankagain
+  @end
+  @do money - `v40
+  @do bank + `v40
+  @show
+
+
+  `0"Very good S&sir!  Your new account has been opened!"
+
+`k
+  @do goto bank
+  @end
+
+
+@if response is 1 then do
+  @begin
+  @do write
+`\
+  @label deposit
+  @do write
+`\  `0"Deposit how much, s&sir?"`\`\`x`x
+  @do readnum 10 money
+  @if `v40 more money then do
+  @begin
+  @show
+`\`\  `2Maybe you left the money in your other pants?  'cuz it sure ain't here.
+  @do goto deposit
+  @end
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, this isn't happening and you aren't here.
+  @do goto withdraw
+  @end
+
+  @do money - `v40
+  @do bank + `v40
+  @do goto bankstart
+
+  @end
+
+@if response is 2 then do
+  @begin
+  @do write
+`\
+  @label withdraw
+  @do write
+`\  `0"Withdraw how much, s&sir?"`\`\`x`x
+  @do `p21 is bank
+  @do `p21 - 1
+  @if `p21 < 0 then `p21 is 0
+  @do readnum 10 `p21
+  @if `v40 more bank then do
+  @begin
+  @show
+`\`\  `2You kind of don't have that much in your account.  Nice bookeeping!
+  @do goto withdraw
+  @end
+
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, I don't think so.
+  @do goto withdraw
+  @end
+
+  @if `v40 is bank then do
+   @begin
+   @show
+
+
+  `0"But s&sir!  This will close your account with us, are you sure you wish
+  to do that?" `2the clerk chokes.
+
+  @do write
+`x`x
+  @do `v01 is 1
+  @choice
+Ok, nevermind then.
+Yeah.  Get my damn money.
+@if response is 1 then goto bank
+
+   @end
+
+  @do money + `v40
+  @do bank - `v40
+  @do goto bankstart
+  @end
+
+
+
+@drawmap
+@update
+
+@#TRAV
+;Travel ticket place in ArrisVille
+@do moveback
+@offmap
+@busy
+@show
+`r0`c                           `r1  ArrisVille Travel  `r0
+
+
+
+
+@buymanager
+27
+32
+33
+@drawmap
+@update
+
+
+@#LSTORE
+;Store in the Sosen Village
+@OFFMAP
+@DO MOVEBACK
+
+
+@#nomore
diff --git a/xtrn/lord2/boat.ref b/xtrn/lord2/boat.ref
new file mode 100644
index 0000000000000000000000000000000000000000..be04fc05914fd684bdd0c3f99260f6725968e5cb
--- /dev/null
+++ b/xtrn/lord2/boat.ref
@@ -0,0 +1,115 @@
+;Ref for all boating stuff  (Go Gilligan!)
+
+@#BSIGN
+;A stock message outline
+@DO SAYBAR
+`2You're on a boat!!!
+@DO MOVEBACK
+
+@#BOAT
+;The actual travel boat
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1  Looks like a chartering ship  `r0
+
+  `2A small man with a checkboard greets you `0"Tickets please..."
+                      
+@DO WRITE
+`x`x
+@CHOICE
+I was just looking around actually
+>`i26 0 Show him your ticket to ArrisVille
+>`i27 0 Show him your ticket to Sosen Village
+>`i33 0 Show him your ticket to FlagCity
+>`i32 0 Show him your ticket to PortTown
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `$"Just admiring your nice ship here,"`2 you say.
+`\`k  `0"How nice, please leave" `2he snaps.
+`\`k
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+;ticket to ArrisVille
+@IF RESPONSE IS 2 THEN DO
+;ticket to Arrisville
+@Begin
+@do `i26 - 1
+@do `p13 is 3
+@Show
+`\`\  `0"Allrighty then, let's go!" `2The man replies.
+`\`k
+@loadmap 444
+@do map is 444
+@do x is 66
+@do y is 19
+@DRAWMAP
+@DO SAYBAR
+`2Welcome to Arrisville.
+@UPDATE
+@CLOSESCRIPT
+
+
+
+@End
+;ticket to Sosen Village
+@IF RESPONSE IS 3 THEN DO
+@Begin
+@do `i27 - 1
+@do `p13 is 3
+@Show
+`\`\  `0"Allrighty then, let's go!" `2The man replies.
+`\`k
+@loadmap 536
+@do map is 536
+@do x is 40
+@do y is 18
+@DRAWMAP
+@DO SAYBAR
+`2Welcome to Sosen Village.
+@UPDATE
+@CLOSESCRIPT
+@End
+;ticket to FlagCity
+@IF RESPONSE IS 4 THEN DO
+@Begin
+@do `i33 - 1
+@do `p13 is 2
+@Show
+`\`\  `0"Allrighty then, let's go!" `2The man replies.
+`\`k
+@loadmap 71
+@do map is 71
+@do x is 38
+@do y is 14
+@DRAWMAP
+@DO SAYBAR
+`2Welcome to FlagCity.
+@UPDATE
+@CLOSESCRIPT
+@End
+;ticket to PortTown
+@IF RESPONSE IS 5 THEN DO
+@Begin
+@do `i32 - 1
+@do `p13 is 1
+@Show
+`\`\  `0"PortTown?  Good choice, let's go!" `2The man replies.
+`\`k
+@loadmap 152
+@do map is 152
+@do x is 38
+@do y is 2
+@DRAWMAP
+@DO SAYBAR
+`2Welcome to PortTown.
+@UPDATE
+@CLOSESCRIPT
+@End
+
+
+@#nomore
diff --git a/xtrn/lord2/bone.ref b/xtrn/lord2/bone.ref
new file mode 100644
index 0000000000000000000000000000000000000000..0a1c3c70b8a12d44a90a6d42c66cf4da2442fb78
--- /dev/null
+++ b/xtrn/lord2/bone.ref
@@ -0,0 +1,1455 @@
+;Ref for the Big Bad BoneTown (tm)  (Go Jester!)
+
+@#MAN1
+;A stock message outline
+@DO SAYBAR
+`0Dad:  `2I finally did it.  I brought my boy to the Bonetown Arena!
+@DO MOVEBACK
+
+@#HOT
+;A stock message outline
+@DO SAYBAR
+`0Rich Woman:  `2I'm hot, I can feel it!
+@DO MOVEBACK
+
+
+@#haha
+;A stock message outline
+@DO SAYBAR
+`0Jesse:  Haha!  There is nothing here, sucka!
+@DO MOVEBACK
+
+@#MAN2
+;A stock message outline
+@DO SAYBAR
+`0Boy:  `2Are you one of the Arena Warriors?  Wow!
+@DO MOVEBACK
+
+@#GUM
+;On a chair in the bar
+@DO SAYBAR
+`2Yuck, seems to be gum stuck to this chair.
+
+@#STRUT
+;Your moves in the funhouse
+@DO SAYBAR
+`2You strut your stuff on the dance floor!
+
+@#MOVES
+;People in the funhouse
+@DO SAYBAR
+`0"Those are some killer moves you got there."
+@DO MOVEBACK
+
+@#PEE
+;Area in the bar
+@DO SAYBAR
+`2Uhhh, something over here smells like urine.
+
+@#BSIGN
+;A stock message outline
+@DO SAYBAR
+`2You're on a boat!!!
+@DO MOVEBACK
+
+@#RUBBLE
+;Message for the crumbled house in BoneTown
+@DO SAYBAR
+`2A rock slide totally demolished this house.
+@DO MOVEBACK
+
+@#DOG
+;Message for a house in bonetown
+@DO SAYBAR
+`2A really BIG Chihuahua guards the entrance.
+@DO MOVEBACK
+
+@#NOENTER
+;Message for another house in BoneTown
+@DO SAYBAR
+`2This place looks boarded up real tight.
+@DO MOVEBACK
+
+@#SACK
+;Message for inside the abandoned house
+@DO SAYBAR
+`2Looks like this place has been ransacked by the locals...
+
+@#USED
+;Message for the toilet in the house
+@DO SAYBAR
+`2Woah!
+@DO MOVEBACK
+
+@#JOHN
+;Happy guy in the house
+@if `v06 is 1 then do
+  @begin
+  @DO MOVEBACK
+  @DO SAYBAR
+`0"That was a great experience ... "
+  @closescript
+  @end
+@DO SAYBAR
+`0"That was the best sex I've ever had."
+@DO MOVEBACK
+
+@#BED
+;Bed in the house
+@if `v06 is 1 then do
+  @begin
+  @DO MOVEBACK
+  @DO SAYBAR
+`2Looks like a nice bed.
+  @closescript
+  @end
+@DO SAYBAR
+`2You gotta pay to hop on that bed.
+@DO MOVEBACK
+
+@#MA
+;The in charge lady at that one house.
+  @IF &lasty is 10 then do
+   @BEGIN
+   @DO SAYBAR
+`2The Hefty old lady winks as you pass by.
+   @CLOSESCRIPT
+   @END
+@IF `v06 is 1 then do
+  @begin
+  @DO MOVEBACK
+  @DO SAYBAR
+`2She looks like she doesn't want you to go upstairs.
+  @closescript
+  @end
+@IF &sex is 1 then do
+@BEGIN
+  @DO MOVEBACK
+  @label baby
+  @do `v01 is 1
+  @SHOW
+`r0`c  `r1`%  Good 'ol Ma  `r0
+
+`2  The woman at the stairs smiles at you.  She seems to be in charge of the
+  establishment here.  She's pretty old and kinda hefty.
+  `0"Hey there sir, interested in a good time.  Our girl doesn't say no ... if
+  you have the money that is.  What do ya say sonny ?"`2
+
+@do write
+`x`x
+@CHOICE
+Ask about the girl
+>&money 99 Take a ride (`$$100`%)
+Leave
+@if response is 1 then do
+ @begin
+ @show
+`\`\  `0"Kelley's a good girl ... or a bad one, depending on what you want.
+  Sure just about everyone's had a ride on her, but hey can you blame em?
+  After all we don't force you to use protection like that pesky place across
+  the way.  Who says sex is dangerous?  Ha."
+`\`k
+ @do goto baby
+ @end
+@if response is 2 then do
+ @begin
+ @do money - 100
+ @show
+`\`\  `0"You wont be sorry my boy, and get ready for one nice ride.  Oh and
+  if you're interested later ..." `2she winks as you walk up the stairs.
+`\`k
+ @do y - 2
+ @drawmap
+ @update
+ @end
+  @drawmap
+  @update
+  @CLOSESCRIPT
+@END
+@DO SAYBAR
+`0"Hey Deary, interested in a job?"
+@DO MOVEBACK
+
+@#WHORE
+;Kelley upstair in the house
+@DO MOVEBACK
+@do `p20 random 5 1
+ @if `p20 is 5 then do
+ @begin
+@SHOW
+`r0`c  `r1`%  Hot Baby  `r0
+
+`2  That's quite a nice rack on that girl.  And just enough meat for a man to
+  sink his own into.  Her nice long black hair shimmers in the light.
+  `0"Hello," `2she says.  Her teeth could use a little work but, payers can't
+  be choosers.
+  `0"What would you like to try today?"
+`\`k`2  The drool from your open mouth shows that you are in no condition to
+  dictate much.  She gladly dictates for you. `l. `l. `l. `l.
+`\`k  You get very worked up during the process, she even seems to be enjoying
+  it.  She might not be faking!  Suddenly your foot slips and your grasp on
+  the bedpost fails!  That window's open ... oh no!
+`\`k  
+ @do x is 38
+ @do y is 6
+ @do `p34 + 1
+  @do `p20 random 5 1
+  @if `p20 is 1 then do
+    @begin
+    ;ha ha, user caught vd
+    @do `p12 is 1
+    @end
+ @drawmap
+ @update
+ @do saybar
+`bThere's an 20 percent chance you just caught something.
+ @closescript
+ @end
+@SHOW
+`r0`c  `r1`%  Hot Baby  `r0
+
+`2  That's quite a nice rack on that girl.  And just enough meat for a man to
+  sink his own into.  Her nice long black hair shimmers in the light.
+  `0"Hello," `2she says.  Her teeth could use a little work but, payers can't
+  be choosers.
+  `0"What would you like to try today?"
+`\`k`2  The drool from your open mouth shows that you are in no condition to
+  dictate much.  She gladly dictates for you.
+`\`k  Five minutes later `0(need to exercise huh?)`2 you get up very satisfied.
+`\`k  `bTHERE'S AN 20 PERCENT CHANCE YOU JUST GOT SOMETHING!!`2
+`\`k
+@do y + 3
+@do `p34 + 1
+  @do `p20 is random 5 1
+  @if `p20 is 1 then do
+    @begin
+    ;ha ha, user caught vd
+    @do `p12 is 1
+    @end
+@drawmap
+@update
+
+@#DEFEAT
+;Losing at the Arena
+@do `p02 is 5
+@bitset `t12 7 1
+@show
+`r0`c  `r1`%  You lost  `r0
+
+`2  The hulking Gladiator stands over you.  You can hear the crowd booing your
+  defeat in the background.  Better luck tommorow...
+`\`k
+@drawmap
+@update
+
+@#RUN
+;Running at the Arena
+@bitset `t12 7 1
+@show
+`r0`c  `r1`%  Only one thing to do!  `r0
+
+`2  You turn your back to your enemy and bolt.  You scramble over the Arena
+  wall!
+
+  `0"Coward, Coward!" `2the audience chants in unison.
+
+  Crap.. Looks like you better not show your face around here again today...
+`\`k
+@drawmap
+@update
+
+@#WIN
+;Winning at the Arena
+@show
+`r0`c  `r1`%  VICTORY IS YOURS THIS DAY  `r0
+
+`2  The entire arena roars in approval as you behead poor `0`e`2.
+
+  `2You have done well - dare you attempt another battle?
+`\`k
+@drawmap
+@update
+
+
+@#ARENA
+;The battling arena in BoneTown.
+@DO MOVEBACK
+@busy
+@label beat
+@do `v01 is 1
+@show
+`r0`c  `r1`%  The Gladiator Arena  `r0
+
+`2  The area is surrounded by plebeian onlookers who cheer as a fight proceeds
+  in the middle.  You could've guessed the people of BoneTown would choose
+  this kind of entertainment.  A man in dark robes who seems to be the
+  organizer of it approaches you.
+
+`0  "You look like a prosperous warrior, would you care to take a chance?"
+
+@do write
+`x`x
+@CHOICE
+Ask about the rules
+Do Battle
+Leave
+@if response is 3 then do
+  @begin
+         @if bitcheck `t12 7 1 then do
+           @begin
+  @show
+`\`\  `0"Haha! Go practice with your father, kid!"
+`\  `$"But my dad is dead!" `2you cry, as a salty tear rolls down your cheek.
+
+  You flee the laughing Arena.
+`\`k
+  @drawmap
+  @update
+  @closescript
+
+           @end
+  @show
+`\`\  `0"We knew you were a coward the moment you arrived!"
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if response is 1 then do
+        @begin
+        @show
+`\`\  `0"It's simple.  For 200 gold, you fight one of my random gladiators
+  for the crowd.  If you win, you double the 200.  If not, you lose it.  You
+  can battle as many times you want a day until you lose.  So what do you
+  say? 
+`\`k
+        @do goto beat
+        @end
+
+
+@if response is 2 then do
+        @begin
+        @if money < 200 then do
+          @begin
+        @show
+`\`\  `0"You don't even have 200 gold?!  How on earth could you be a great
+  arena warrior?!  Hahah!"
+
+  `2Your face turns beet red.
+`\`k
+         @do goto beat
+         @end
+
+         @if bitcheck `t12 7 1 then do
+           @begin
+           @show
+`\`\  `0"You have already been bested in the Arena once today!  The crowd
+  would much rather see a winner, not someone like you!"
+
+`k
+           @do goto beat
+           @end
+
+        @do money - 200
+        @do `p20 random 6 1
+               @if `p20 is 1 then `s01 is Gladiator
+               @if `p20 is 2 then `s01 is Big`xGladiator
+               @if `p20 is 3 then `s01 is Fat`xGladiator
+               @if `p20 is 4 then `s01 is Armored`xGladiator
+               @if `p20 is 5 then `s01 is Death`xGladiator
+               @if `p20 is 6 then `s01 is Nitro
+        @show
+`\`\  `2They agree to let you fight.
+
+  You grip your `0s&weapon`2 tightly as you wait for your opponent.
+`\`k  `0The robed man screams the name .`l .`l .`l .`l .`% `s01`0!
+
+`k
+@
+;Glad Strength
+        @do `p20 random 5 1
+               @if `p20 is 1 then do
+                @begin
+                 @do `p21 is S&wep_num
+                 @do `p21 + `p04
+                 @do `p21 - 30
+                @end
+
+               @if `p20 is 2 then do
+                @begin
+                 @do `p21 is S&wep_num
+                 @do `p21 + `p04
+                 @do `p21 - 12
+                @end
+
+               @if `p20 is 3 then do
+                @begin
+                 @do `p21 is S&wep_num
+                 @do `p21 + `p04
+                @end
+
+                @if `p20 is 4 then do
+                @begin
+                 @do `p21 is S&wep_num
+                 @do `p21 + `p04
+                 @do `p21 + 12
+                @end
+
+               @if `p20 is 5 then do
+                @begin
+                 @do `p21 is S&wep_num
+                 @do `p21 + `p04
+                 @do `p21 + 30
+                @end
+;Glad Defense
+        @do `p20 random 3 1
+               @if `p20 is 1 then do
+                 @begin
+                  @do `p22 is S&arm_num
+                  @do `p22 + `p05
+                  @do `p22 - 20
+                 @end
+
+               @if `p20 is 2 then do
+                @begin
+                 @do `p22 is S&arm_num
+                 @do `p22 + `p05
+                @end
+
+               @if `p20 is 3 then do
+                @begin
+                 @do `p22 is S&arm_num
+                 @do `p22 + `p05
+                 @do `p22 + 20
+                @end
+;Glad H.p.
+
+        @do `p20 random 3 1
+               @if `p20 is 1 then do
+                @begin
+                 @do `p23 is `p03
+                 @do `p23 - 10
+                 @end
+
+               @if `p20 is 2 then do
+                @begin
+                 @do `p23 is `p03
+                @end
+
+                @if `p20 is 3 then do
+                 @begin
+                  @do `p23 is `p03
+                  @do `p23 + 10
+                 @end
+
+        @do goto monster1
+
+;Here's the gladiator
+@#monster1
+@fight
+;name
+`s01
+;string said when you see him
+`0"You get one chance, don't blow it!" `2taunts the Gladiator.
+;power move kill string
+You carefully step over the lifeless Gladiator's body.. hehe!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+hits with his club|`p21
+slams you with his shield|`p21
+hits you with a big rock|`p21
+brawls with you|`p21
+NONE|NONE
+;defense
+`p22
+;gold reward
+400
+;experience
+20
+;hit points
+`p23
+;if win: ref file|name or NONE
+BONE.REF|WIN
+;if lose: ref file|name or NONE
+BONE.REF|DEFEAT
+;if runs: ref file|name or NONE
+BONE.REF|RUN
+;End of Gladiator stuff
+        @end
+;@drawmap
+;@update
+
+@#PAWN
+;The Pawnshop
+@do `v01 is 1
+@do moveback
+@busy
+@show
+`r0`c  `r1`%  Selena's Pawn Shop `r0
+
+`2  A beautifully curved specimen stands before you - which makes what comes
+  out of her mouth next all the more cute.
+
+  `2`0"And what can I do for today, you scagfaced Belar sucking thief?"
+
+@do write
+`x`x
+@CHOICE
+Have some things to sell
+Conduct business with Selena
+Leave
+@if response is 1 then do
+  @begin
+  @run junkman2 in porttown.ref
+  @end
+@if response is 2 then do
+  @begin
+  @do `p20 is 4
+  @run getquest in quest.ref
+  @end
+
+@drawmap
+@update
+
+@#DRUNKER
+;Drunk man in BoneTown bar
+@do moveback
+@do `p20 random 9 1
+@if `p20 is 1 then saybar
+`%Guy: `0Careful, this bar isn't all that clean in places.
+@if `p20 is 2 then saybar
+`%Guy: `0I hear there's a secret entrance to FlagCity!
+@if `p20 is 3 then saybar
+`%Guy: `0Watch out for Kelley here she'll give you more than a ride.
+@if `p20 is 4 then saybar
+`%Guy: `0If you get a bounty on your head, watch out.
+@if `p20 is 5 then saybar
+`%Guy: `0Some places wont let you in if you have a bounty on you.
+@if `p20 is 6 then saybar
+`%Guy: `0Don't cheat in the Casino here.
+@if `p20 is 7 then saybar
+`%Guy: `0Did you know Mr T. is Great!?
+@if `p20 is 8 then saybar
+`%Guy: `0On the other two continents I hear life is really exciting.
+@if `p20 is 9 then saybar
+`%Guy: `0Watch for the oracle!
+
+@#BARTEND
+;Bartender in the BoneTown Bar
+@BUSY
+@DO MOVEBACK
+@label scotch
+@do `v01 is 1
+@show
+`r0`c  `r1  BoneTown Bartender  `r0
+
+  `0"Hey there, what brings you to our little watering hole?  Wait .. don't
+  answer, just being friendly.  What can I do for you buddy?" `2You eye the
+  bar.  A drink, a snack, or maybe some information.
+
+@do write
+`x`x
+@choice
+>&money 4 Get a drink (`$$5`%)
+Ask about the town
+Inquire about bounties
+Leave
+@if response is 1 then do
+  @begin
+  @do money - 5
+  @if `p02 < `p03 then do
+   @begin
+   @do `p02 + 2
+    @if `p02 > `p03 then `p02 is `p03
+   @end
+  @show
+`\`\  `$"Gimme a shot of your finest sir." `2you say as you pay him.  Pretty
+  good for a place like this, you feel a bit better.
+`\`k
+  @do goto scotch
+  @end
+@if response is 2 then do
+  @begin
+   @do `p20 random 4 1
+  @if `p20 is 1 then do
+   @begin
+    @show
+`\`\  `0"This town is a haven of well... evil.  It was originally founded way
+  back when there was a mining rush on the coast.  There are rumors of caves
+  still open someplaces, where the miners couldn't quite make it out with the
+  gold ... or whatever it is they found..."`2
+`\`k
+   @do goto scotch
+   @end
+
+  @if `p20 is 2 then do
+   @begin
+    @show
+`\`\  `0"Watch out for some of the women here.  They're real friendly, I mean
+  if you just move They'll sleep with you.  Talk about no ethics whatsoever.
+  Oh well it's a good way to increase your self esteem, I suppose, but it's
+  also a good way to get a little itch in someplaces if you get my meaning."
+`\`k
+   @do goto scotch
+   @end
+
+  @if `p20 is 3 then do
+   @begin
+    @show
+`\`\  `0"Watch out for some of the people here in the Arena.  The Gladiators
+  they send at you are fairly random.  But sometimes you get the one that's
+  been watching you, who knows your every move.  And may just pummel you
+  completely.  And don't think just cause you're more experienced you can
+  take em, they're seasoned too.  You just be careful and remember the
+  healers is right nearby."
+`\`k
+   @do goto scotch
+   @end
+
+  @if `p20 is 4 then do
+   @begin
+    @show
+`\`\  `0"This is a pretty rough town sometimes.  You can get into fights in
+  the streets, find someone waking you unplesantly at the inn, or wander off
+  to someplace you never should've gone.  This place aint for the faint of
+  heart."
+`\`k
+   @do goto scotch
+   @end
+
+  @end
+;End of storytime
+@if response is 3 then do
+  @begin
+   @show
+`\`\  `0"You wanna know about the heat ... I can tell you"
+`\`k
+  @routine BOUNTYLIST in BOUNTY.REF
+  @do goto scotch
+  @end
+@drawmap
+@update
+
+@#heal
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `r1  BoneTown Healing  `r0
+
+`2  B.A. looks you over for wounds.
+
+@do write
+`x`x
+@if `p02 < `p03 then do
+ @begin
+@do `p20 is `p03
+@do `p20 - `p02
+@do `p20 / 2
+
+
+ @show
+`0"You don't look so good, fool!  What'd ya get yourself into anyway?
+  Aww, never mind crazy fool.  I'll fix ya up for `$`p20`0 gold, k?"
+
+@do write
+`x`x
+@choice
+Heal yourself for `$$`p20`%. (you have `$$&money`%)
+Limp on out.
+@show
+`\
+@if response is 1 then do begin
+ @begin
+ @if money < `p20 then do
+  @begin
+  @show
+  `0"Sorry fool, we don't do no free work here."
+
+ @do write
+`x`x
+ @choice
+Hey Fool!  How am I supposed to make money when I can barely walk?
+Man, how 'bout a little compassion for once in your life old man!
+How 'bout some of your 'special' pills then?
+Yes sir.
+@show
+
+
+@if response is 4 then do
+ @begin
+ @show
+  `0"You Crazy, now get going with you!" `2 he laughs.
+
+`k
+ @end
+
+@if response is 1 then do
+ @begin
+ @show
+  `0"Hey Fool, be a big s&man for once in your life!"`2 he yells.
+
+`k
+ @end
+@if response is 2 then do
+ @begin
+ @show
+  `0"I cannot respect a fool that don't work," `2He informs you.
+
+`k
+ @end
+@if response is 3 then do
+ @begin
+ @do `p02 = 1
+ @show
+  `0"Sure.  Take uh.. these." `2 he snickers.
+
+  `2You gulp down the weird black pills
+
+  `4HIT POINTS GO DOWN TO 1.
+
+`k
+ @end
+
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do money - `p20
+@do `p21 = `p03
+@do `p21 - `p02
+@do `p02 = `p03
+@show
+  `2You feel much better as `0`p21`2 hitpoints are restored.
+
+`k
+  @end
+  @drawmap
+  @update
+  @closescript
+@end
+
+@show
+`0"You have no ailments, come back later fool!  I got other crazys to heal.
+  Nothing but fighting in this town I tell ya," `2he laughs.
+
+`k
+@drawmap
+@update
+
+@#GAMBLE
+;Gambling with the man in the funhouse
+@do `v01 is 1
+@busy
+@do moveback
+@show
+`r0`c  `%`r1  A Little Game ?  `r0
+
+  `2You sit down at the table and nod to the man across from you.  He looks
+  up, holding a pair of dice in his hand.
+  `0"Interested in a little game?"
+
+@do write
+`x`x
+@CHOICE
+Yes
+No
+@if response is 1 then do
+  @begin
+   @routine CRAPSTART in GAMBLE.REF
+  @end
+@drawmap
+@update
+
+@#BOAT
+;For the bootleg boat guy in the funhouse.
+@do `v01 is 1
+@busy
+@do moveback
+@show
+`r0`c  `%`r1  The Silent Boater  `r0
+
+  `2The man sitting eyes you for a second then speaks.
+  `0"You look like someone who may be interested in a trip somewhere.  I ...
+  may be able to help you in that department.  But you should know the
+  minimum ticket is"
+
+@do write
+`x`x
+@CHOICE
+>&money 6999 Go to ArrisVille  (`$$7000`%)
+>&money 1499 Head to PortTown  (`$$1500`%)
+>&money 899 Take off to FlagCity  (`$$900`%)
+Leave
+@if response is 1 then do
+;Go to ArrisVille
+  @begin
+   @do money - 7000
+   @show
+`\`\  `0"Good choice, let's go across the sea."
+`\`k
+   @loadmap 444
+   @do map is 444
+   @do x is 66
+   @do y is 18
+   @DRAWMAP
+   @DO SAYBAR
+  `2Welcome to the ellusive ArrisVille.
+   @UPDATE
+   @CLOSESCRIPT
+  @end
+
+@if response is 2 then do
+;Go to PortTown
+  @begin
+   @do money - 1500
+   @show
+`\`\  `0"That's a good choice, let's go!"
+`\`k
+   @loadmap 152
+   @do map is 152
+   @do x is 38
+   @do y is 2
+   @DRAWMAP
+   @DO SAYBAR
+  `2Welcome to PortTown.
+   @UPDATE
+   @CLOSESCRIPT
+  @end
+
+@if response is 3 then do
+;Go to FlagCity
+  @begin
+   @do money - 900
+   @show
+`\`\  `0"Sure, why not?"
+`\`k
+   @loadmap 71
+   @do map is 71
+   @do x is 38
+   @do y is 14
+   @DRAWMAP
+   @DO SAYBAR
+  `2Welcome to FlagCity.
+   @UPDATE
+   @CLOSESCRIPT
+  @end
+@drawmap
+@update
+
+@#inn
+;For the wood lodge in BoneTown
+@do `v01 is 1
+@offmap
+@do moveback
+@show
+`r0`c  `%`r1  THE WOODLOG INN  `r0
+
+  `2This place looks a little campy - slack jaws & harlots wander around
+  the rooms aimlessly.
+
+  A old man with only a few teeth smiles at you.
+
+  You are holding `$$&money`2.
+
+@do write
+`x`x
+@choice
+Get a room (`$$50`%)
+Leave
+@if response is 1 then do
+  @begin
+  @if money < 50 then do
+    @begin
+    @show
+`\`\`2  You are short on cash.  Pretty sad when you can't even afford to stay
+  in BoneTown!
+
+`k
+    @drawmap
+    @update
+    @closescript
+    @end
+   @show
+`\`\  `2You give the dirty old man the cash.  He leads you inside...
+`\`k
+  ;has enough money
+   @do money - 50
+   @do x is 21
+   @do y is 13
+   @do map is 1206
+   @loadmap 1206
+   @drawmap
+   @update
+   @closescript
+  @end
+
+@drawmap
+@update
+
+@#TOILET
+;Toilet inside the Inn
+@DO SAYBAR
+`2Great, the only toilet here and it doesn't work!  You'll have to hold it.
+@DO MOVEBACK
+
+@#MESSAGE
+;For the other chatwall in BoneTown
+@do moveback
+@busy
+@show
+`r0`c  `r1  CARVING ON THE BOARD  `r0
+
+@if bar2.txt exist false then do
+ @begin
+  @if `v06 is 1 then do
+  @begin
+   @writefile bar2.txt
+   `%Local `2: `0We need to clean up this town.
+  @end
+  @if `v06 is 0 then do
+  @begin
+ @writefile bar2.txt
+  `%Pimp `2: `0Sheris, you better bring me my money girl!
+  `%Sheris `2: `0Boy, I do NOT work for you any more!
+  @end
+ @end
+
+@if bar.txt exist true then do
+ @begin
+ @displayfile bar2.txt
+ @end
+
+@show
+
+@
+(Do tricky stuff with name to determine how much they can type)
+@DO `s04 is `%
+@DO `s04 add `n
+@DO STRIP `s04 <-- Strips all none color ` codes out
+@DO `s04 add `x`2:`x`0
+@DO `p20 is length `s04
+@DO `p21 is 76
+@DO `p21 - `p20
+@DO WRITE
+  `2Enter a special message or `0ENTER`2 to abort.`\  `s04
+@DO READSTRING `p21 NIL `s03 <--Read string, NIL is default. (nothing)
+@do stripbad `s03
+@SHOW
+
+@DO `p24 is length `s03
+@IF `p24 less 3 then do
+ @begin
+ @drawmap
+ @update
+ @closescript
+ @end
+
+ @writefile bar2.txt
+  `%`n`2 : `0`s03
+ @do trim bar2.txt 17
+ @drawmap
+ @update
+
+@#NOTDONE
+;A stock notdone message for the unfinished stuff
+@DO SAYBAR
+`2Not done yet, check out next version!
+@DO MOVEBACK
+
+@#FUN
+;The BoneTown fun house :)
+@do `v01 is 1
+@offmap
+@do moveback
+@show
+`r0`c  `%`r1  The FunHouse  `r0
+
+  `2This place looks ... well great!!  You see gambling games, and lot's of
+  attractive individuals back there.  A man with plush purple hat with a
+  feather in it smiles at you.
+  `0"Hey s&man how ya doing?  Listen, if ya wanna get in here, it's gonna
+  be 100 tip, that cool with you?"
+
+  `2You are holding `$$&money`2.
+
+@do write
+`x`x
+@choice
+>&money 99 Pay the "admission" (`$$100`%)
+Leave
+@if response is 1 then do
+  @begin
+  @do money - 100
+  @show
+`\`\  `0"Good choice my s&man, you wont be disappointed."
+`\`k
+   @do x is 40
+   @do y is 15
+   @do map is 1282
+   @loadmap 1282
+   @drawmap
+   @update
+   @closescript
+  @end
+@drawmap
+@update
+
+@#DEALER
+;Dealer in the funhouse
+@do `v01 is 1
+@busy
+@do moveback
+@show
+`r0`c  `%`r1  The Back Room Guy  `r0
+
+  `2Tucked away in a nice little corner, you see an unshaven man with a
+  satchel at his side and a supiciously large purse.  A man who probably
+  makes his living illegally.  Surprise surprise in this town.
+  `0"Hey buddy interested in a little ... companionship?  If ya wanna
+  get a nice little friend it'll cost ya 1000.  But you look like a s&man
+  who could afford something like that."
+
+@do write
+`x`x
+@choice
+>&money 999 Buy some companionship (`$$1000`%)
+Just Say No
+@if response is 1 then do
+  @begin
+   @if `i51 > 0 then do
+    @begin
+    @show
+`\`\  `0"Sorry man, only one little friend per customer..."
+`\`k
+    @drawmap
+    @update
+    @closescript
+    @end
+  @do money - 1000
+  @do `i51 + 1
+   @show
+`\`\  `2The man reaches into his satchel and pulls out `l. `l. `l.`l a small
+  animal!!
+  `0"Here you go, I hope it treats you right" `2he smiles.
+`\`k
+  @end
+@drawmap
+@update
+
+@#BOUNCER
+;The guy outside the casino
+@DO SAYBAR
+`2You gotta be 21 to go in there buddy!
+@DO MOVEBACK
+
+@#BOUNCER2
+;The guy outside the casino
+@DO SAYBAR
+`0"Sorry buddy, only important people are allowed in there."
+@DO MOVEBACK
+
+@#INFO
+;Guy who tells you junk in the funhouse
+@do moveback
+@do `p20 random 7 1
+@if `p20 is 1 then saybar
+`%DJ: `0Don't listen to them about the mining caves, they're all gone.
+@if `p20 is 2 then saybar
+`%DJ: `0You do need to be careful of the prostitution here.
+@if `p20 is 3 then saybar
+`%DJ: `0Show us some more of those block rockin beats.
+@if `p20 is 4 then saybar
+`%DJ: `0I hear the Inn at Sosen Village is a virtual gold mine!
+@if `p20 is 5 then saybar
+`%DJ: `0There's a boat outta BoneTown, but not one too it.
+@if `p20 is 6 then saybar
+`%DJ: `0Careful, I hear the Inn here isn't the safest.
+@if `p20 is 7 then saybar
+`%DJ: `0Watch out for bounty hunters.
+
+@#EVENTS
+;Start for random events in BoneTown (tm)
+@busy
+@do `p20 random 3 1
+@do goto event`p20
+
+@#EVENT1
+;Mugged
+@busy
+@do `v01 is 1
+@show
+`r0`c  `%`r1  EVENT - Mugged  `r0
+
+  `2You proceed around the next corner when suddenly a hooded man jumps
+  you.  He wields two daggers and seems to be wearing leather armor.
+  `0"My dear friend I'm afraid I'll have to ask you for a donation to my
+  cause, 1000 gold!  You may give it kindly or I may take it from you.
+  Your choice."
+
+  `2What do you do:
+
+@do write
+`x`x
+@choice
+>&money 999 Give him the money
+Fight
+Run
+@if response is 1 then do
+  @begin
+  @do money - 1000
+  @show
+`\`\  `0"You've made a wise decision.  Now, have a good day."  `2he says
+  as he turns and runs, dissapearing into the shadows.
+`\`k
+  @end
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `$"Come on buddy, give me your best shot."  `2you say as you whip out
+  your s&weapon.
+`\`k
+  @do goto tbattle
+  @end
+@if response is 3 then do
+  @begin
+  @show
+`\`\  `$"What's that over there?"  `2you yell as you dash for the nearest
+  alley trying to escape.`k
+  @do `p20 random 2 1
+   @if `p20 is 1 then do
+     @begin
+       @show
+`\  `2You look behind your back just in time to see that `l.`l.`l.
+`\`k
+     @drawmap
+     @update
+     @do saybar
+`2You lost him.
+     @closescript
+     @end
+   @if `p20 is 2 then do
+     @begin
+       @show
+`\  `2You look behind your back just in time to see `l.`l.`l.
+`\`k
+     @do goto tbattle
+     @end
+  @end
+@drawmap
+@update
+
+@#EVENT2
+;Seeing a mugging
+@busy
+@do `v01 is 1
+@show
+`r0`c  `%`r1  EVENT - Someone's being mugged  `r0
+
+  `2You step around the corner when you notice a hooded man robbing a
+  defenseless drunken man.  He wields two daggers and seems to be getting
+  ready to depart.
+
+  `2What do you do:
+
+@do write
+`x`x
+@choice
+Defend the poor man
+Help out the thief
+Leave
+@if response is 1 then do
+  @begin
+  @do `p07 + 1
+  @show
+`\`\  `2You run at the thief yelling and getting your s&weapon ready.  He
+  sees you and quickly sheaths his daggers running to the shadows.
+  `0"You best hope I don't come across you first next time,"  `2he yells.
+  `2The drunken man he was robbing seems a daze from the whole thing.  He
+  looks up at you, burps thanks and proceeds on his way.  Some reward...
+`\`k  `%YOUR ALIGNMENT GOES UP BY ONE!`0
+`\`k
+  @end
+@if response is 2 then do
+  @begin
+  @do `p20 random 290 310
+  @do money + `p20
+  @do `p07 - 2
+  @show
+`\`\  `2You head over and get your s&weapon ready.  You kneel next to them
+  `$"Mind if I help buddy?" `2 you ask.  He glares at you and seems surprised
+  but them nods, better you help him than the victim.  You hold the poor man
+  down as the thief blows a fine powder in his eyes, then grabs his purse.
+  `0"Here you go buddy, thanks,"  `2he says and tosses you some of the loot.
+`\`k  You get `$`p20 `2gold.
+`\`k  `bYOUR ALIGNMENT GOES DOWN BY TWO!`b
+`\`k
+  @end
+@drawmap
+@update
+
+@#EVENT3
+;Turf Battle
+@busy
+@do `v01 is 1
+@show
+`r0`c  `%`r1  EVENT - Turf War  `r0
+
+  `2A small crowd seems to have formed.  It looks like two groups disputing
+  over who owns this part of the town.  One group looks a little bigger than
+  the other, but the others have better weapons it looks.  The tension is
+  quickly mounting.
+
+  `2What do you do:
+
+@do write
+`x`x
+@choice
+Talk down the feud
+Help fight the big group
+Help fight the small group
+Kick both group's ass
+Leave
+@if response is 1 then do
+  @begin
+  @pauseoff
+  @show
+`\`\  `2You head over to the big mass, determined to make a difference.  You
+  spout off some wisdom to the group, but it falls on deaf ears.  The crowd
+  become rowdy after a club is thrown from one side.  You find yourself in
+  the middle of a pretty bad feud.  You try to get out of the battle but
+  end up fighting with both sides, only getting pretty hurt in the end.
+`\`k
+  @if `p02 > 10 then `p02 is 10
+  @do `p20 random 4 1
+   @if `p20 is 1 then do
+    @begin
+    @do `p07 + 1
+    @show
+  `bYOUR ALIGNMENT GOES UP BY ONE!`b
+`\`k
+    @end
+  @end
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `$"Don't worry guys, I'll help ya,"  `2you scream as you enter the
+  fray.
+`\`k
+  @do goto BMOB
+  @end
+@if response is 3 then do
+  @begin
+  @show
+`\`\  `$"Yea, let's beat the hell into em guys"  `2you say as you enter the
+  fray.
+`\`k
+  @do goto SMOB
+  @end
+@if response is 4 then do
+  @begin
+  @pauseoff
+  @show
+`\`\  `2You take out your s&weapon and head over to the group.  You promptly
+  march to the center where the leaders seem to be.  The crowd quiets and
+  angry eyes fall upon you."
+  `0"Who the hell are you?"  `2you hear.
+  `$"I'm `n, Who wants some?" 
+`\`k
+  @do goto BIGMOB
+  @end
+@drawmap
+@update
+
+@#TBATTLE
+@fight
+;name
+Thief
+;string said when you see him
+A man in a cloak approches you, with a dagger in each hand.
+;power move kill string
+He should know, you've got insurance.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+jabs with his daggers|57
+gets a good gash in your leg|80
+cuts your arm|60
+blows a strange powder into your eyes|59
+NONE|NONE
+;defense
+21
+;gold reward
+500
+;experience
+150
+;hit points
+100
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+BONE.REF|TLOSE
+;if runs: ref file|name or NONE
+NONE|NONE
+@drawmap
+@update
+
+@#BMOB
+@fight
+;name
+The Big Mob
+;string said when you see him
+You prepare to take on the big group with s&weapon in hand.
+;power move kill string
+`$"And stay away losers!!"  `2you shout.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+dogpiles ontop of you very unsafely|70
+lines up and lashes into you|75
+practice with their clubs on you|67
+attempt to lynch you|87
+NONE|NONE
+;defense
+19
+;gold reward
+350
+;experience
+100
+;hit points
+130
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+@drawmap
+@update
+
+@#SMOB
+@fight
+;name
+Small Mob
+;string said when you see him
+You prepare to take on the big group with s&weapon in hand.
+;power move kill string
+`$"And stay away losers!!"  `2you shout.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+dogpiles ontop of you very unsafely|70
+lines up and lashes into you|75
+practice with their clubs on you|67
+attempt to lynch you|87
+NONE|NONE
+;defense
+18
+;gold reward
+315
+;experience
+80
+;hit points
+100
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+@drawmap
+@update
+
+@#TLOSE
+@if &money > 999 then do
+  @begin
+   @do money - 1000
+  @end
+@if &money < 1000 then do
+  @begin
+   @do money is 0
+  @end
+@SHOW
+`r0`c  `r1`%  Defeat by the Thief  `r0
+
+  `2The Thief raises his daggers to deliver the last blow ...
+
+`k  `0"Don't worry, I'm not going to kill you, just your purse so to speak.
+  So I'm sure you'll understand." `2He proceeds to raid your gold bag.
+  But again you have your life.
+
+`k
+@do `p02 is 5
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+
+@#BIGMOB
+@fight
+;name
+Big Mob
+;string said when you see him
+You prepare to take on both groups... with s&weapon in hand.
+;power move kill string
+`$"And stay out losers!!"  `2you shout.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+dogpiles ontop of you very unsafely|70
+lines up and lashes into you|75
+practice with their clubs on you|67
+attempt to lynch you|87
+NONE|NONE
+;defense
+25
+;gold reward
+400
+;experience
+170
+;hit points
+220
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+BONE.REF|BMOBLOSE
+;if runs: ref file|name or NONE
+NONE|NONE
+@drawmap
+@update
+
+@#BMOBLOSE
+;Losing after fighting both mobs
+@SHOW
+`r0`c  `r1`%  Both mobs beat you  `r0
+
+  `2Both mobs let out their agression on you.  You seem to have stopped
+  their potential rampage, but at the cost of your severe beating.
+
+`k  `0"Ready to go for a little trip justice s&boy?"  `2laughs one of the
+  leaders.  You're put into a sack and thrown into a wagon.  Struggling and
+  in pain you manage to find a small hole to look out of.  You see the city
+  walls of BoneTown pass by, seems like you're being lead out into the woods
+  a bit.
+  A minuet later you find yourself gasping for air hanging from a tree by a
+  rope.  You hang on tough as you can, through the images you still get you
+  see the gang slowly start to head away, back to the city.  Suddenly, the
+  rope gives!!  And with a snap you fall to the ground, just barely alive.
+`\`k
+@do `p02 is 5
+ @loadmap 1413
+ @do map is 1413
+ @do x is 14
+ @do y is 9
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+
+@#RUIN
+;Message for seeing the arena
+@DO SAYBAR
+`2Looks like the ruins of something,  but the sign says "Arena".  
+
+@#nomore
diff --git a/xtrn/lord2/bounty.ref b/xtrn/lord2/bounty.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a7c2f89ede7dc84f80daf23fce87be463b5d5ccc
--- /dev/null
+++ b/xtrn/lord2/bounty.ref
@@ -0,0 +1,474 @@
+;all bounty hunting stuff is done in here
+
+@#BOUNTYLIST
+  @show
+`r0`c  `r1  Target                      Payoff                   Placed by    `r0
+
+  @do `p21 is 1
+  @do `p25 is &totalaccounts
+  @do `p25 + 1
+   @label readmore
+   @if bounty.`p21 exist TRUE then do
+     @begin
+     @readfile bounty.`p21
+`p20
+`p22
+     @do `s01 is getname `p21
+     @do `s02 is getname `p20
+     @do `s03 is `p22
+     @do pad `s01 20
+     @do pad `s03 10
+     @show
+  `0`s01          `$$`s03 `2             `s02
+     @end
+   @do `p21 + 1
+   @if `p21 < `p25 then goto readmore
+
+  @show
+
+`k
+
+
+@#DIEHUNT
+;customized death for when a bounty hunter kills
+  @do X is 27
+  @do Y is 7
+  @do money / 2
+  @do `p02 is `p03 (give 'em max hit points)
+  @do `p20 is `p01
+  @do `p20 / 5
+  @do `p01 - `p20
+  @do MAP is 155
+  @do dead is 1
+  @update_update
+
+  @do talk `4Newsflash:`0`x`n`x`2was`x`bmurdered`x`2by`x`0`s01`2! all
+  @do addlog
+  `0`n`2 was `bmurdered`2 by bounty hunter `0`s01`2!
+  @routine seperate in gametxt.ref
+
+@pauseoff
+@show
+`r0`c
+ÜÜÜÛÛÛÛÛÛÛÛÛÜÜÜ
+ÜÛÛ°°°°Û°ÛÛÛÛÛÛÛÛÛÛÛÜ
+Û°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ
+Û°±±°ÛÛÛÛÛÛÛÛÞÜÛÛÛÛÛÛÛÛÛÛ
+ÜÜÞ°±²°ÛÛÛÛÛÛÛÛÛÛÛÛßßÛÛÛÛÛ
+ÞÛÛ
+ßÜÛÝ    °±²±°ÛÛÛÛÛÜ ÝÛÞÛÜ
+ÛÛÛÛÛÜܲÛÛܱ²Ü
+Ü°ÛÛÜÜ   ±²±° ÛÛ°
+Û°°²ÝÜß°ÜÛ°ÛÛÛÛß²Ý
+ÝÜ°Û±Ý
+²±°ÛÛßÜÜ ÞÜßß    ßß²
+²²°Ü²ßßßßßÞ±°ß ß
+ßßß°°Û °Ü    ß   ±²
+²²°±   ß    Þݲß
+ß°±ÝÞÛÜÜ    ÜÜßßßß
+ßÜÜ    ÜÛÜÝÝ
+²ßÜÜ ÛÛßßÜÜßÝ Ý Þ
+ÜÜßßÛÛÛÛßÜÜ
+ÛßÛÛÛÛܲ²ÜÛ²Ü °±
+°ÛÛÛÛÛßß
+ßÛÛ°²²±²°ÜÜ°²±°±²ßß ßßßß
+ÜÜ ßÜ ßßßß ßßß Üß ²±Ü
+Ü°±²Ý ß °Ý²ÛÞÛßÜ
+°ß Ü ±°ÛÜ
+Ü  ±°°°ß Ü ß Ü ÜÜ ÜÜ Ü 
+ßÜ°ß  ±ÜÜÜ
+ܲ²±°°±Ýß ÜÛÛÞÛÜÜ ÜÜÜÜÜ ÜÜ
+°±ÛÛÜ ß±°±ß²
+Ü ÜßÛ±ßܲÜÜ ßßÜ
+ßÛÛÛÜßÛÛÛÛ Üßß ÜÜÝÞ
+±ÜÝÜ
+°±²ÛÜßßÜÜÜßßßßÜ ßß
+ÛÛܱ²±ÜßÜßß Ü
+ßßßÜÜßÜÜÛ²±°
+
+                     `%You have made an error, s&boy.
+
+`k
+ @if `v03 is 0 then do
+   @begin
+ ;rules.ref file says unlimited deaths not allowed, so we will boot them
+ ;till tomorrow
+
+ ;take them off the map
+  @do map is 1
+   @halt
+   @end
+
+ @pauseon
+
+ @do dead is 0
+
+ @if `p07 less 0 then do
+ @begin
+ @show
+`r0`c`%  `r1IT FEELS KINDA WARM IN HERE?`r0
+
+  `4You open your eyes.
+
+`k  `4There are naked screaming people all around you.  A little boy with
+  a ghastly face begins to gnaw on your leg.
+
+`k  `6"Din, leave the newcomer alone.  S&he isn't staying." `4a slow voice that
+  can only be described as an abomination dolefully states.
+
+`k  `2You feel yourself floating away... faster and faster.
+ @end
+
+ @if `p07 more -1 then do
+ @begin
+ @show
+`r0`c`%  `r1APPARENTLY DEATH ISN'T THE END.`r0
+
+  `2You open your eyes.
+
+`k  `2You are lying on a table of solid rock in a marble room.  Hundreds of
+  soft voices are murmuring all around you, but you see no one.
+
+`k  `%"Send s&him back." `2a voice whispers, this one louder than the others.
+
+`k  `2You feel yourself floating away... faster and faster.
+
+`k
+ @end
+
+
+@show
+`c  `r1`%AWAKENING.`r0
+
+  `0"Can you hear me, `n?" `2a stressed voice shouts.
+
+  `$"Yeah.  Christ mom, lemmie up, I'm fine." `2you assure your mother.
+
+  `0"You're alive!! The elders brought your body here yesterday, you must
+  have fainted out there." `2your mother shouts, tears of joy streaming down
+  her wrinkled face.
+
+  `$"Ok, ok - nice little happy reunion and all that, but I gotta hit the
+  road now. Buhbye." `2you tell her.  Afterall, you need to make the most of
+  this new lease on life.
+
+  `2You lose `4half`2 the gold you were carrying and `4`p20`2 experience.
+
+`k
+  @loadmap map
+  @drawmap
+  @update
+
+
+@#HUNTERS
+;called from genran, it's the .ref called when someone meets up with a
+;bounty hunter
+@do `p20 random 5 1
+@if `p20 is 1 then `s01 is Job
+@if `p20 is 2 then `s01 is Kasabo
+@if `p20 is 3 then `s01 is Year
+@if `p20 is 4 then `s01 is Sedahk
+@if `p20 is 5 then `s01 is Eudor
+
+
+  @if bounty.&playernum exist false then do
+    @begin
+    @do saybar
+Bounty hunter `s01 and his men pass close by.
+    @closescript
+    @end
+
+    @readfile bounty.&playernum
+`p23
+`p24
+@do `v01 is 1
+@show
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2You are suddenly surounded.  Press ENTER to continue...
+@do readspecial `s02 `x
+
+
+
+  @show
+`r0`c  `r1  A deal, perhaps?  `r0
+
+  `2It is `s01 and his men.  Looks like you are screwed.
+
+  `0"There is a price on your head, friend.  A price of `$`$`p24`0."
+
+@do write
+`x`x
+@choice
+I know this, `s01.  I will pay you the same amount to pass me by.
+Please don't hurt me!  I'll do anything!
+@show
+`\
+@if responce is 1 then do
+  @begin
+  @do `p25 is `p24
+  @do `p25 - 1
+  @if money > `p25 then do
+    @begin
+    @do money - `p24
+    @show
+  `0"Very well.  But next time I may not be so friendly.. I do have a
+  reputation to uphold!" `2`s01 grunts as he takes your money.
+
+`k
+   @drawmap
+   @update
+   @closescript
+    @end
+@show
+  `2You reach into your pockets and pull out some.. lint.
+
+  @end
+;they might get killed here
+@show
+  `0"Kill him!" `2`s01 roars.
+
+@do `p26 random 2 1
+@if `p26 is 1 then do
+ @begin
+ ;dies
+ @do delete bounty.&playernum
+   @writefile mail\mail`p23.dat
+  `0Bounty hunter `s01 reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has been `4killed`2.  Good doing business with you.
+
+ @show
+  `2You are unable to escape.  You are still alive when `s01 begins to
+  remove his price - your head.
+
+`k
+ @run diehunt
+ @end
+@show
+  `2You hack your way through the crowd, you are a mighty warrior!
+
+`k  `%YOU ESCAPE.  `2But this may happen again - until your bounty is
+  paid off in FlagCity - or you are killed.
+
+`k
+@drawmap
+@update
+
+@#BOUNTY
+;The Bounty Hunting Office
+@OFFMAP
+@DO MOVEBACK
+@label hunt
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1  Bounty Office  `r0
+
+  `2A helmeted man with a crossbow slung to his side stands behind the
+  counter.  He looks looks well seasoned and speaks with a raspy voice,
+  `0"Good afternoon, how may we ... help you?"`2
+
+`2  You see the word `0'Nickabrick' `2carved into his arm.
+
+@DO WRITE
+`x`x
+@CHOICE
+View bounty list
+Place a bounty
+Pay off your own bounty
+Ask for advice
+Check out their weapons
+Conduct 'business' with Nickabrick
+Leave, quick!!
+@if response is 6 then do
+  @begin
+  @do `p20 is 3
+  @run getquest in quest.ref
+  @end
+
+
+@if responce is 1 then do
+  @begin
+  @routine bountylist
+@do goto hunt
+@end
+
+@IF RESPONSE IS 2 THEN DO
+  @BEGIN
+  @SHOW
+`r0`c  `r1  Playing dirty  `r0
+`\  `$"I need to make someone's life hard, can you help?,"`2 you say.
+
+  `0"Of course... who is our lucky winner?"
+  @chooseplayer `p22
+  @if `p22 is 0 then do
+    @begin
+    @show
+`k
+    @do goto hunt
+    @end
+  @if `p22 is &playernum then do
+    @begin
+    @show
+  `0"Ha, I like the concept!" `2Nickabrick laughs.  You must have amused him
+  in some small way.`\`\`k
+    @do goto hunt
+    @end
+   @show
+  `0"Of course.  How much money are you willing to place?"`2 he asks calmly.
+
+  @do write
+`x`x
+  @do readnum 30
+  @do `p20 is `v40
+  @if `p20 < 1000 then do
+    @begin
+    @show
+`\`\  `0"Minimum bounty is `$1000`0, friend."
+`\`k
+    @do goto hunt
+    @end
+  @show
+
+  @if money < `p20 then do
+     @begin
+     @show
+`\  `2You don't have that much gold on you... Better hit the bank.
+
+`k
+     @do goto hunt
+     @end
+  @do money - `p20
+@show
+
+
+  @if bounty.`p22 exist true then do
+    @begin
+    @readfile bounty.`p22
+`p23
+`p24
+    @if `p23 not &playernum then do
+      @begin
+      @if `p24 > `p20 then do
+        @begin
+        @show
+  `0"There is a problem.  Someone has already placed a bounty on that
+  person..  Of course, we will let you do anything for a price.  Try an
+  amount that is at least `$$`p24 `0and we'll think about it."
+`\`k
+        @do goto hunt
+        @end
+      @end
+    @end
+
+  @do `s05 is getname `p22
+  @do delete bounty.`p22
+  @writefile bounty.`p22
+&playernum
+`p20
+    @do addlog
+  `0`n `2has set a bounty of `$`p20 `2to kill `0`s05`2!
+     @routine seperate in gametxt.ref
+
+  @show
+  `0"Alright.  The bounty has been placed... The only way to get out of it
+  is if `s05 gets in here and pays it off... or death of course."
+
+`k
+  @do goto hunt
+  @END
+
+@IF RESPONSE IS 3 THEN DO
+  @BEGIN
+  @SHOW
+`r0`c  `r1  `%Cutting a deal  `r0
+
+  `$"Someone hates me, but I have more money than them.  Please stop
+  chasing me."`2 you state.
+
+@if bounty.&playernum exist false then do
+  @begin
+  @show
+  `0"Huh?  You are not marked by us.  Not yet."
+
+  `2You turn bright red.  `$"I, I uh, knew that..."
+`\`k
+  @do goto hunt
+  @end
+  @readfile bounty.&playernum
+`p20
+`p21
+  @show
+  `0"It will cost you `$$`p21 `0to clear your name.  Can you pay it?"
+
+  @do `v01 is 1
+  @do write
+`x`x
+   @choice
+Yes, I can  `2(you have `0`$$&money`2)
+I cannot pay it
+@if responce is 1 then do
+  @begin
+  @if money < `p21 then do
+    @begin
+    @do money / 2
+    @show
+`\`\  `0"Very well, where is the gold?"`2
+
+`2  You search your pockets desperately.  A few moments later you are
+  outside with quite a bruise and some money missing.
+
+`k
+    @drawmap
+    @update
+    @closescript
+    @end
+
+    @do money - `p21
+    @do delete bounty.&playernum
+    @do addlog
+  `0`n `2convinces the Bounty Hunter Guild to stop chasing s&him.
+     @routine seperate in gametxt.ref
+@show
+`\`\  `0"Very well, now you're no good to me dead."`2
+`\`k
+  @do goto hunt
+  @end
+@do goto hunt
+  @END
+@IF RESPONSE IS 4 THEN DO
+  @BEGIN
+  @SHOW
+`\`\  `$"Excuse me, could you give me some advice?"`2 you ask.
+
+`k  `0"Money makes the world go around.  And if you have enough when we
+  catch up with you it just might save ya."`2 he offers.
+`\`k
+@do goto hunt
+  @END
+@IF RESPONSE IS 5 THEN DO
+@Begin
+@Show
+`\`\  `$"I'm kinda in the business myself," `2you say.  `$"What tools do you
+  recommend?"  `2He smiles, `0"These have helped many a hunter..."
+  `2You review your choices.
+
+`k
+@show
+`r0`c                         `r1 `%Bounty Hunting weapons
+
+
+@buymanager
+4
+12
+38
+49
+40
+@do goto hunt
+@End
+@drawmap
+@update
+@end
diff --git a/xtrn/lord2/castle1.ref b/xtrn/lord2/castle1.ref
new file mode 100644
index 0000000000000000000000000000000000000000..619da60c0e363946b7a8fb4a3ffc498d123f2f16
--- /dev/null
+++ b/xtrn/lord2/castle1.ref
@@ -0,0 +1,484 @@
+;note to .ref masters:
+;replace castle1 with something else to use this .ref for other dwellings
+;this .ref uses no long term vars, instead it makes its own data file - this
+;means upgrading the game will not make people 'lose ownership' of their
+;stuff.
+
+@#MYBANK
+;team treasury
+@do moveback
+@do `p20 is 0
+@if tres1.dat exist true then do
+  @begin
+  @readfile tres1.dat
+`p20
+  @
+  @end
+
+@clearblock 20 21
+@do move 3 21
+@do write
+`r0`2  Treasury is at `$$`p20`2 - (`0T`2)ake, (`0L`2)eave or (`0N`2)evermind? [`0N`2] :`%`x
+@do readspecial `s01 NTL
+@if `s01 is N then do
+ @begin
+ @do saybar
+You close the safe, carefully.
+ @closescript
+ @end
+
+@if `s01 is T then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 0
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > `p20 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Not enough in here for that.
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You take nothing.
+    @closescript
+   @end
+//withdrawl.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres1.dat
+`p20
+  @
+
+  @if `p20 < `p21 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Oh no!  Someone took the money while you were thinking about it!
+    @closescript
+    @end
+
+    @do `p20 - `p21
+    @do money + `p21
+  @do delete tres1.dat
+  @writefile tres1.dat
+`p20
+  @
+    @clearblock 21 24
+    @do saybar
+`2You take `$`p21`2 from the treasury.
+
+//if not owner, lets notify him
+
+@readfile castle1.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Runion Keep Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has taken `$$`p21 `2from the treasury.
+
+  @end
+  @closescript
+  @end
+
+@if `s01 is L then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 &money
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > money then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+You are not carrying that much!
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You decide to leave nothing.  Ha!
+    @closescript
+   @end
+
+  @do money - `p21
+
+//deposit.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres1.dat
+`p20
+  @
+  @do `p20 + `p21
+  @do delete tres1.dat
+  @writefile tres1.dat
+`p20
+  @
+    @clearblock 21 24
+//if not owner, lets notify him
+
+@readfile castle1.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Runion Keep Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has deposited `$$`p21 `2to the treasury.
+
+  @end
+
+
+    @do saybar
+`2You leave `$`p21`2 in the treasury.
+  @closescript
+
+
+  @end
+
+
+@#TOWER
+;Tower in the castle
+@DO SAYBAR
+`2The tower on this castle is not ready yet.
+@do moveback
+
+@#doorguard
+@do moveback
+@label startg
+;guy who owns on it pushes against the door guard symbol.  This lets him
+;control the password to gain entrance to the castle, as well as sell it
+;back or transfer ownership.
+@if castle1.dat exist false then do
+  @begin
+  @do saybar
+`0"You have 5 minutes to vacate this keep!" `2the guard barks.
+  @closescript
+  @end
+
+@readfile castle1.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+  @do saybar
+You wave to the door guard, nice of him to let you in.
+  @closescript
+  @end
+@busy
+
+
+@do `v01 is 1 ;set default choice to 1
+@show
+`r0`c  `r1 Instructing your servants `r0
+
+  `2The huge doorguard snaps to attention when he sees you are going to
+  address him.
+
+@do write
+`x`x
+@choice
+Set password to gain entrance (currently is `0`s01`%)
+Ownership options
+Leave
+@
+@if responce is 2 then do
+ @begin
+ @show
+`r0`c  `r1 Ownership Options `r0
+
+  `2You retrieve your deed and carefully look it over.
+   
+   @do `v01 is 1
+   @do write
+`x`x
+   @choice
+Transfer deed to someone else
+Sell property back to the bank for `$1,500`%.
+Do nothing of the sort
+ @if response is 1 then do
+   @begin
+   @show
+`\`\  `2Transfer to whom?
+   @chooseplayer `p20
+
+   @if `p20 is 0 then do
+    @begin
+    @show
+  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+    @end
+   @do `s02 is getname `p20
+   @show
+`2  Are you sure you wish to give your keep to `0`s02`2?
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle1.dat
+  @writefile castle1.dat
+`p20
+`s01
+   @writefile mail\mail`p20.dat
+  `0Business note:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has transferred ownership of Runion Keep to you. 
+  Password to enter will remain `0"`s01"`2 unless
+  `2you come by and change it.
+
+    @do addlog
+  `0`n`2 has given `%Runion Keep`2 to `0`s02`2!
+     @routine seperate in gametxt.ref
+
+    @show
+`\`\  `2Deed transfered.  Oh well - it was fun while it lasted.`\`\`k
+   @do goto done
+   @end
+  @if response is 2 then do
+    @begin
+    @show
+`\`\`2  Are you sure you wish to sell your keep back to the bank?`\
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle1.dat
+  @do money + 1500
+  @show
+`\`\  `%KEEP SOLD!`2`\`\`k
+    @do addlog
+  `0`n`2 has sold `%Runion Keep`2 back to the bank!
+    @routine seperate in gametxt.ref
+    @do goto done
+    @end
+
+
+  @do goto startg
+ @end
+
+@if responce is 1 then do
+  @begin
+  @do write
+`\`\  `0"And the new password, s&sir?" `2(enter `4NONE`2 for no access to anyone)`\  `2Password:`x
+  @do readstring 40 `s01 `s01 
+  @do `p20 is length `s01
+  @if `p20 < 2 then do
+   @begin
+   @show
+`\`\  `2You decide the current password is ok.`\`\`k
+   @do goto startg
+   @end
+  @do delete castle1.dat
+  @writefile castle1.dat
+&playernum
+`s01
+@show
+`\`\  `0"Yes s&sir, I will not forget it!" `2the guard promises.`\`\`k
+   @do goto startg
+  @end
+
+@drawmap
+@update
+
+@#sign
+@do moveback
+
+ @if castle1.dat exist false then do
+ @begin
+ @do saybar
+Runion Keep - For sale cheap, enquire inside.
+ @end 
+
+@if castle1.dat exist true then do
+ @begin
+@readfile castle1.dat
+`p20
+`s01
+@
+@do `s01 is getname `p20
+ @do saybar
+`2Property of `0`s01`2.
+ @end 
+
+@#enter
+@do moveback
+@offmap
+@if castle1.dat exist false then do
+  @begin
+  @show
+`r0`c  `r1 `%For Sale `r0
+
+  `2Runion Keep was once a magnificient structure that housed many of
+  the royal families.  Now it houses dust and decay.
+
+  It is for sale, however.  The asking price is `$$3,000`2.
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+>&money 2999 Purchase it.
+<&money 3000 Sigh wistfully and leave since you don't have enough.
+>&money 2999 Leave.
+@
+
+@if responce is 1 then do
+  @begin
+  @if castle1.dat exist true then do
+    @begin
+    @show
+`\`\  `2Oh crap!  Someone bought it while you were thinking about it.  You
+  will regret your snail like thinking for the rest of your days.`\`\`k
+    @do goto done
+    @end
+
+  @writefile castle1.dat
+&playernum
+NONE
+    @do money - 3000
+    @do addlog
+  `0`n `2buys `%Runion Keep`2!
+     @routine seperate in gametxt.ref
+
+  @show
+`r0`c  `r1 `%Why hello there, landowner! `r0
+`\`2  Nice job!  You now own this keep!
+
+`k  `0As a special bonus, two beds and a door guard are included!
+
+  `2Enjoy your new home.`\`\`k
+  @end
+
+@label done
+@drawmap
+@update
+@closescript
+  @end
+
+@readfile castle1.dat
+`p20
+`s01
+@
+
+@do `p21 is deleted `p20
+
+@if `p21 is 1 then do
+  @begin
+   ;owner got deleted!!!  Lets put it up for sale again.
+   @do delete castle1.dat
+    @do addlog
+  `%Runion Keep`2 is put on the market today.
+     @routine seperate in gametxt.ref
+
+   ;run script again
+   @do goto enter
+  @end
+
+@if `p20 not &playernum then do
+  @begin
+  @do `s02 is getname `p20
+  @do upcase `s01
+  @if `s01 is NONE then do
+   @begin
+   @show
+`r0`c  `r1 None shall pass `r0
+
+  `2You pound on the door for some time before you get an answer.
+
+  `0"Master `s02`0 has declared that `4NO`0 visitors shall be allowed!" `2a
+  voice calls from behind the wall.
+
+  `4Ouch!
+
+`k
+   @do goto done
+   @end
+
+  @show
+`r0`c  `r1 Stand and unfold thyself `r0
+
+`2  A head pops over the gate.  `0"Halt, you!  What business have you with
+  my lord and master, `%`s02`0?" `2the door guard asks.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Offer an explanation.
+Visit later.
+  @if response is 1 then do
+   @begin
+   @do write
+`\`\  `2Say what? :`x
+  @do readstring 40 NIL `s03 
+  @do upcase `s03
+  @do upcase `s01
+
+  @if `s03 is `s01 then do
+    @begin
+    @show
+`\`\  `0"Welcome to `%Runion Keep`0,"`2 the guard smiles as he opens the gate.`\`\`k
+    @do goto letmein
+    @end
+   @writefile mail\mail`p20.dat
+  `0Runion Keep Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 attempted to sweet talk the guard by saying
+  `0"`s03"`2.  `2He was `bNOT`2 allowed in.
+
+   @show
+`\`\  `2The guard doesn't look too interested.`\`\`k
+   @do goto done
+   @end
+
+  @do goto done
+
+  @end
+
+;let him in
+@label letmein
+@do x is 39
+@do y is 19
+@do map is 1361
+@loadmap 1361
+@do goto done
+@#done
diff --git a/xtrn/lord2/castle2.ref b/xtrn/lord2/castle2.ref
new file mode 100644
index 0000000000000000000000000000000000000000..ab354af3fe0bbb99b3c50771d0b59d2666d88349
--- /dev/null
+++ b/xtrn/lord2/castle2.ref
@@ -0,0 +1,578 @@
+;note to .ref masters:
+;replace castle2 with something else to use this .ref for other dwellings
+;this .ref uses no long term vars, instead it makes its own data file - this
+;means upgrading the game will not make people 'lose ownership' of their
+;stuff.
+
+@#MYBANK
+;team treasury
+@do moveback
+@do `p20 is 0
+@if tres2.dat exist true then do
+  @begin
+  @readfile tres2.dat
+`p20
+  @
+  @end
+
+@clearblock 20 21
+@do move 3 21
+@do write
+`r0`2  Treasury is at `$$`p20`2 - (`0T`2)ake, (`0L`2)eave or (`0N`2)evermind? [`0N`2] :`%`x
+@do readspecial `s01 NTL
+@if `s01 is N then do
+ @begin
+ @do saybar
+You close the safe, carefully.
+ @closescript
+ @end
+
+@if `s01 is T then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 0
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > `p20 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Not enough in here for that.
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You take nothing.
+    @closescript
+   @end
+//withdrawl.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres2.dat
+`p20
+  @
+
+  @if `p20 < `p21 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Oh no!  Someone took the money while you were thinking about it!
+    @closescript
+    @end
+
+    @do `p20 - `p21
+    @do money + `p21
+  @do delete tres2.dat
+  @writefile tres2.dat
+`p20
+  @
+    @clearblock 21 24
+    @do saybar
+`2You take `$`p21`2 from the treasury.
+
+//if not owner, lets notify him
+
+@readfile castle2.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Castle Coldrake Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has taken `$$`p21 `2from the treasury.
+
+  @end
+  @closescript
+  @end
+
+@if `s01 is L then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 &money
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > money then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+You are not carrying that much!
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You decide to leave nothing.  Ha!
+    @closescript
+   @end
+
+  @do money - `p21
+
+//deposit.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres2.dat
+`p20
+  @
+  @do `p20 + `p21
+  @do delete tres2.dat
+  @writefile tres2.dat
+`p20
+  @
+    @clearblock 21 24
+//if not owner, lets notify him
+
+@readfile castle2.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Castle Coldrake Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has deposited `$$`p21 `2to the treasury.
+
+  @end
+
+
+    @do saybar
+`2You leave `$`p21`2 in the treasury.
+  @closescript
+
+
+  @end
+
+
+@#STABLES
+;lets them warp to a view places
+@offmap
+@do moveback
+@show
+`r0`c  `r1  The Stables `r0
+
+  `0"Greetings, s&sir!  Where can we drop you off today?" `2a smartly dressed
+  youth asks.
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Sosen Village
+Stonepass Lodge
+PortTown
+I'll stay here, thanks
+@if response not 4 then do
+  @begin
+@show
+`\`\  `0"We shall leave at once!" he shouts importantly.
+
+`k  `2A few bumps later you arrive - ah, traveling in style is so much fun!
+
+  `0"I bid you a goodday s&sir, please travel safely."
+
+  `2Looks like you are on your own.
+
+`k
+@if responce is 1 then do
+  @begin
+   ;Sosen village
+   @do x is 38
+   @do y is 5
+   @do map is 456
+  @end
+
+@if responce is 2 then do
+  @begin
+   ;Stonepass Lodge
+   @do x is 40
+   @do y is 11
+   @do map is 880
+  @end
+
+@if responce is 3 then do
+  @begin
+   ;Porttown
+   @do x is 43
+   @do y is 16
+   @do map is 956
+  @end
+
+
+  @loadmap &map
+  @end
+@drawmap
+@update
+
+@#HEALME
+;free heal
+@offmap
+@do moveback
+@show
+`r0`c  `r1  The Healers  `r0
+
+  `2The good doctor looks you over for wounds carefully.
+
+  `%YOU ARE COMPLETEY HEALED.
+
+`k
+@do `p02 is `p03
+@drawmap
+@update
+
+
+@#TOWER
+;Tower in the castle
+@DO SAYBAR
+`2The tower on this castle is not ready yet.
+@do moveback
+
+@#doorguard
+@do moveback
+@label startg
+;guy who owns on it pushes against the door guard symbol.  This lets him
+;control the password to gain entrance to the castle, as well as sell it
+;back or transfer ownership.
+@if castle2.dat exist false then do
+  @begin
+  @do saybar
+`0"You have 5 minutes to vacate this castle!" `2the guard barks.
+  @closescript
+  @end
+
+@readfile castle2.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+  @do saybar
+You wave to the door guard, nice of him to let you in.
+  @closescript
+  @end
+@busy
+
+
+@do `v01 is 1 ;set default choice to 1
+@show
+`r0`c  `r1 Instructing your servants `r0
+
+  `2The huge doorguard snaps to attention when he sees you are going to
+  address him.
+
+@do write
+`x`x
+@choice
+Set password to gain entrance (currently is `0`s01`%)
+Ownership options
+Leave
+@
+@if responce is 2 then do
+ @begin
+ @show
+`r0`c  `r1 Ownership Options `r0
+
+  `2You retrieve your deed and carefully look it over.
+   
+   @do `v01 is 1
+   @do write
+`x`x
+   @choice
+Transfer deed to someone else
+Sell property back to the bank for `$10000`%.
+Do nothing of the sort
+ @if response is 1 then do
+   @begin
+   @show
+`\`\  `2Transfer to whom?
+   @chooseplayer `p20
+
+   @if `p20 is 0 then do
+    @begin
+    @show
+  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+    @end
+   @do `s02 is getname `p20
+   @show
+`2  Are you sure you wish to give your castle to `0`s02`2?
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle2.dat
+  @writefile castle2.dat
+`p20
+`s01
+0
+0
+0
+0
+   @writefile mail\mail`p20.dat
+  `0Business note:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has transferred ownership of Castle Coldrake to you. 
+  Password to enter will remain `0"`s01"`2 unless
+  `2you come by and change it.
+
+    @do addlog
+  `0`n`2 has given `%Castle Coldrake`2 to `0`s02`2!
+     @routine seperate in gametxt.ref
+
+    @show
+`\`\  `2Deed transfered.  Oh well - it was fun while it lasted.`\`\`k
+   @do goto done
+   @end
+  @if response is 2 then do
+    @begin
+    @show
+`\`\`2  Are you sure you wish to sell your castle back to the bank?`\
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle2.dat
+  @do money + 10000
+  @show
+`\`\  `%CASTLE SOLD!`2`\`\`k
+    @do addlog
+  `0`n`2 has sold `%Castle Coldrake`2 back to the bank!
+    @routine seperate in gametxt.ref
+    @do goto done
+    @end
+
+
+  @do goto startg
+ @end
+
+@if responce is 1 then do
+  @begin
+  @do write
+`\`\  `0"And the new password, s&sir?" `2(enter `4NONE`2 for no access to anyone)`\  `2Password:`x
+  @do readstring 40 `s01 `s01 
+  @do `p20 is length `s01
+  @if `p20 < 2 then do
+   @begin
+   @show
+`\`\  `2You decide the current password is ok.`\`\`k
+   @do goto startg
+   @end
+  @do delete castle2.dat
+  @writefile castle2.dat
+&playernum
+`s01
+0
+0
+0
+0
+@show
+`\`\  `0"Yes s&sir, I will not forget it!" `2the guard promises.`\`\`k
+   @do goto startg
+  @end
+
+@drawmap
+@update
+
+@#sign
+@do moveback
+
+ @if castle2.dat exist false then do
+ @begin
+ @do saybar
+Castle Coldrake - For sale cheap, enquire inside.
+ @end 
+
+@if castle2.dat exist true then do
+ @begin
+@readfile castle2.dat
+`p20
+`s01
+@
+@do `s01 is getname `p20
+ @do saybar
+`2Property of `0`s01`2.
+ @end 
+
+@#enter
+@do moveback
+@offmap
+@if castle2.dat exist false then do
+  @begin
+  @show
+`r0`c  `r1 `%For Sale `r0
+
+  `2Castle Coldrake was once a magnificient structure that housed many of
+  the royal families.
+
+  Buy now and recieve the following bonuses:
+
+  `0* `2A private carriage service!  With drop off points in `0Porttown`2
+    and `0Sosen Village`2!
+
+  `0* `2Your very own physician on the grounds!
+
+  `2The asking price is `$$20,000`2.
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+>&money 19999 Purchase it.
+<&money 20000 Sigh wistfully and leave since you don't have enough.
+>&money 19999 Leave.
+@
+
+@if responce is 1 then do
+  @begin
+  @if castle2.dat exist true then do
+    @begin
+    @show
+`\`\  `2Oh crap!  Someone bought it while you were thinking about it.  You
+  will regret your snail like thinking for the rest of your days.`\`\`k
+    @do goto done
+    @end
+
+  @writefile castle2.dat
+&playernum
+NONE
+0
+0
+0
+0
+    @do money - 20000
+    @do addlog
+  `0`n `2buys `%Castle Coldrake`2!
+     @routine seperate in gametxt.ref
+
+  @show
+`r0`c  `r1 `%Why hello there, landowner! `r0
+`\`2  Nice job!  You now own this castle!
+
+  `2Enjoy your new home.`\`\`k
+  @end
+
+@label done
+@drawmap
+@update
+@closescript
+  @end
+
+@readfile castle2.dat
+`p20
+`s01
+@
+
+@do `p21 is deleted `p20
+
+@if `p21 is 1 then do
+  @begin
+   ;owner got deleted!!!  Lets put it up for sale again.
+   @do delete castle2.dat
+    @do addlog
+  `%Castle Coldrake`2 is put on the market today.
+     @routine seperate in gametxt.ref
+
+   ;run script again
+   @do goto enter
+  @end
+
+@if `p20 not &playernum then do
+  @begin
+  @do `s02 is getname `p20
+  @do upcase `s01
+  @if `s01 is NONE then do
+   @begin
+   @show
+`r0`c  `r1 None shall pass `r0
+
+  `2You pound on the door for some time before you get an answer.
+
+  `0"Master `s02`0 has declared that `4NO`0 visitors shall be allowed!" `2a
+  voice calls from behind the wall.
+
+  `4Ouch!
+
+`k
+   @do goto done
+   @end
+
+  @show
+`r0`c  `r1 Stand and unfold thyself `r0
+
+`2  A head pops over the gate.  `0"Halt, you!  What business have you with
+  my lord and master, `%`s02`0?" `2the door guard asks.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Offer an explanation.
+Visit later.
+  @if response is 1 then do
+   @begin
+   @do write
+`\`\  `2Say what? :`x
+  @do readstring 40 NIL `s03 
+  @do upcase `s03
+  @do upcase `s01
+
+  @if `s03 is `s01 then do
+    @begin
+    @show
+`\`\  `0"Welcome to `%Castle Coldrake`0,"`2 the guard smiles as he opens the gate.`\`\`k
+    @do goto letmein
+    @end
+   @writefile mail\mail`p20.dat
+  `0Castle Coldrake Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 attempted to sweet talk the guard by saying
+  `0"`s03"`2.  `2He was `bNOT`2 allowed in.
+
+   @show
+`\`\  `2The guard doesn't look too interested.`\`\`k
+   @do goto done
+   @end
+
+  @do goto done
+
+  @end
+
+;let him in
+@label letmein
+@do x is 41
+@do y is 17
+@do map is 80
+@loadmap 80
+@do goto done
+@#done
diff --git a/xtrn/lord2/castle3.ref b/xtrn/lord2/castle3.ref
new file mode 100644
index 0000000000000000000000000000000000000000..8a6aa6ead151458a879074804b07f5cd008581d2
--- /dev/null
+++ b/xtrn/lord2/castle3.ref
@@ -0,0 +1,597 @@
+;note to .ref masters:
+;replace castle3 with something else to use this .ref for other dwellings
+;this .ref uses no long term vars, instead it makes its own data file - this
+;means upgrading the game will not make people 'lose ownership' of their
+;stuff.
+
+
+@#MYBANK
+;team treasury
+@do moveback
+@do `p20 is 0
+@if tres3.dat exist true then do
+  @begin
+  @readfile tres3.dat
+`p20
+  @
+  @end
+
+@clearblock 20 21
+@do move 3 21
+@do write
+`r0`2  Treasury is at `$$`p20`2 - (`0T`2)ake, (`0L`2)eave or (`0N`2)evermind? [`0N`2] :`%`x
+@do readspecial `s01 NTL
+@if `s01 is N then do
+ @begin
+ @do saybar
+You close the safe, carefully.
+ @closescript
+ @end
+
+@if `s01 is T then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 0
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > `p20 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Not enough in here for that.
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You take nothing.
+    @closescript
+   @end
+//withdrawl.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres3.dat
+`p20
+  @
+
+  @if `p20 < `p21 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Oh no!  Someone took the money while you were thinking about it!
+    @closescript
+    @end
+
+    @do `p20 - `p21
+    @do money + `p21
+  @do delete tres3.dat
+  @writefile tres3.dat
+`p20
+  @
+    @clearblock 21 24
+    @do saybar
+`2You take `$`p21`2 from the treasury.
+
+//if not owner, lets notify him
+
+@readfile castle3.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Wizard Tower Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has taken `$$`p21 `2from the treasury.
+
+  @end
+  @closescript
+  @end
+
+@if `s01 is L then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 &money
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > money then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+You are not carrying that much!
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You decide to leave nothing.  Ha!
+    @closescript
+   @end
+
+  @do money - `p21
+
+//deposit.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres3.dat
+`p20
+  @
+  @do `p20 + `p21
+  @do delete tres3.dat
+  @writefile tres3.dat
+`p20
+  @
+    @clearblock 21 24
+//if not owner, lets notify him
+
+@readfile castle3.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Wizard Tower Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has deposited `$$`p21 `2to the treasury.
+
+  @end
+
+
+    @do saybar
+`2You leave `$`p21`2 in the treasury.
+  @closescript
+
+
+  @end
+
+
+@#signhelp
+@do moveback
+@do saybar
+`0Sign: `2Be careful what you touch.
+
+@#sign1
+@do moveback
+@do saybar
+`0Sign: `4Bonetown
+
+@#sign2
+@do moveback
+@do saybar
+`0Sign: `9Porttown
+@#sign3
+@do moveback
+@do saybar
+`0Sign: `2Greentree
+
+@#warpme
+@loadmap &map
+@drawmap
+@update
+@do quebar
+`%Wow, what a ride!
+
+@#stone1
+;Greentree
+@do x is 51
+@do y is 16
+@do map is 1356
+@do goto warpme
+
+@#stone2
+;Bonetown
+@do x is 68
+@do y is 5
+@do map is 1572
+@do goto warpme
+
+@#stone3
+;Porttown
+@do x is 62
+@do y is 13
+@do map is 956
+@do goto warpme
+
+
+@#TABLE
+;get magic wand
+@do moveback
+@if castle3.dat exist false then do
+  @begin
+  @do saybar
+`0"Geeeet ouuut hoooman.." `2the table creaks.
+  @closescript
+  @end
+
+;load info on owner
+@readfile castle3.dat
+`p20
+`s01
+@
+
+@if `p20 not &playernum then do
+  @begin
+  @do saybar
+`2What?  Touch something that isn't yours?  Um, no.
+  @closescript
+  @end
+
+@if `i56 > 0 then do
+  @begin
+  @do saybar
+`2There is nothing on the table.
+  @closescript
+  @end
+
+@do saybar
+A wand magically appears when you touch the table!  Yeah!
+@do `i56 is 1
+
+@#FOUNTAIN
+;free heal
+@offmap
+@do moveback
+@show
+`r0`c  `r1  The Fountain  `r0
+
+  `2The strange water makes you tingle.
+
+  `%YOU ARE COMPLETEY HEALED.
+
+`k
+@do `p02 is `p03
+@drawmap
+@update
+
+
+
+@#doorguard
+@do moveback
+@label startg
+;guy who owns on it pushes against the door guard symbol.  This lets him
+;control the password to gain entrance to the castle, as well as sell it
+;back or transfer ownership.
+@if castle3.dat exist false then do
+  @begin
+  @do saybar
+`0"You must leave now, human," `2the troll commands.
+ @closescript
+  @end
+
+@readfile castle3.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+  @do saybar
+You wave to the troll, nice of it to let you in.
+  @closescript
+  @end
+@busy
+
+
+@do `v01 is 1 ;set default choice to 1
+@show
+`r0`c  `r1 Instructing your servants `r0
+
+  `2The tiny troll snaps to attention when he sees you are going to
+  address him.
+
+@do write
+`x`x
+@choice
+Set password to gain entrance (currently is `0`s01`%)
+Ownership options
+Leave
+@
+@if responce is 2 then do
+ @begin
+ @show
+`r0`c  `r1 Ownership Options `r0
+
+  `2You retrieve your deed and carefully look it over.
+   
+   @do `v01 is 1
+   @do write
+`x`x
+   @choice
+Transfer deed to someone else
+Sell property back to the bank for `$20000`%.
+Do nothing of the sort
+ @if response is 1 then do
+   @begin
+   @show
+`\`\  `2Transfer to whom?
+   @chooseplayer `p20
+
+   @if `p20 is 0 then do
+    @begin
+    @show
+  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+    @end
+   @do `s02 is getname `p20
+   @show
+`2  Are you sure you wish to give your tower to `0`s02`2?
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle3.dat
+  @writefile castle3.dat
+`p20
+`s01
+0
+0
+0
+0
+   @writefile mail\mail`p20.dat
+  `0Business note:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has transferred ownership of Wizard Tower to you. 
+  Password to enter will remain `0"`s01"`2 unless
+  `2you come by and change it.
+
+    @do addlog
+  `0`n`2 has given `%Wizard Tower`2 to `0`s02`2!
+     @routine seperate in gametxt.ref
+
+    @show
+`\`\  `2Deed transfered.  Oh well - it was fun while it lasted.`\`\`k
+   @do goto done
+   @end
+  @if response is 2 then do
+    @begin
+    @show
+`\`\`2  Are you sure you wish to sell your tower back to the bank?`\
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle3.dat
+  @do money + 20000
+  @show
+`\`\  `%TOWER SOLD!`2`\`\`k
+    @do addlog
+  `0`n`2 has sold `%Wizard Tower`2 back to the bank!
+    @routine seperate in gametxt.ref
+    @do goto done
+    @end
+
+
+  @do goto startg
+ @end
+
+@if responce is 1 then do
+  @begin
+  @do write
+`\`\  `0"And the new password, s&sir?" `2(enter `4NONE`2 for no access to anyone)`\  `2Password:`x
+  @do readstring 40 `s01 `s01 
+  @do `p20 is length `s01
+  @if `p20 < 2 then do
+   @begin
+   @show
+`\`\  `2You decide the current password is ok.`\`\`k
+   @do goto startg
+   @end
+  @do delete castle3.dat
+  @writefile castle3.dat
+&playernum
+`s01
+0
+0
+0
+0
+@show
+`\`\  `0"Yes s&sir, I will not forget it!" `2the troll promises.`\`\`k
+   @do goto startg
+  @end
+
+@drawmap
+@update
+
+@#sign
+@do moveback
+
+ @if castle3.dat exist false then do
+ @begin
+ @do saybar
+Wizard Tower - For sale cheap, enquire inside.
+ @end 
+
+@if castle3.dat exist true then do
+ @begin
+@readfile castle3.dat
+`p20
+`s01
+@
+@do `s01 is getname `p20
+ @do saybar
+`2Property of `0`s01`2.
+ @end 
+
+@#enter
+@do moveback
+@offmap
+@if castle3.dat exist false then do
+  @begin
+  @show
+`r0`c  `r1 `%For Sale `r0
+
+  `2Wizard Tower may be old and dalapidated but it still houses that old 
+  world charm of an enchanters hostel.  Perhaps if you buy it, people would
+  call you 'that crazy old wizard who lives in that tower!'.  You just
+  can't put a price on that. (ok, it's `$$40,000`2)
+
+  Buy now and recieve the following bonuses:
+
+  `0* `2An indoor fountain.
+
+  `0* `2A magic <maybe> wand the previous owner left.
+
+  `0* `2Some strange rocks upstairs.
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+>&money 39999 Purchase it.
+<&money 40000 Sigh wistfully and leave since you don't have enough.
+>&money 39999 Leave.
+@
+
+@if responce is 1 then do
+  @begin
+  @if castle3.dat exist true then do
+    @begin
+    @show
+`\`\  `2Oh crap!  Someone bought it while you were thinking about it.  You
+  will regret your snail like thinking for the rest of your days.`\`\`k
+    @do goto done
+    @end
+
+  @writefile castle3.dat
+&playernum
+NONE
+0
+0
+0
+0
+    @do money - 40000
+    @do addlog
+  `0`n `2buys `%Wizard Tower`2!
+     @routine seperate in gametxt.ref
+
+  @show
+`r0`c  `r1 `%Why hello there, landowner! `r0
+`\`2  Nice job!  You now own this tower!
+
+  `2Enjoy your new home.`\`\`k
+  @end
+
+@label done
+@drawmap
+@update
+@closescript
+  @end
+
+@readfile castle3.dat
+`p20
+`s01
+@
+
+@do `p21 is deleted `p20
+
+@if `p21 is 1 then do
+  @begin
+   ;owner got deleted!!!  Lets put it up for sale again.
+   @do delete castle3.dat
+    @do addlog
+  `%Wizard Tower`2 is put on the market today.
+     @routine seperate in gametxt.ref
+
+   ;run script again
+   @do goto enter
+  @end
+
+@if `p20 not &playernum then do
+  @begin
+  @do `s02 is getname `p20
+  @do upcase `s01
+  @if `s01 is NONE then do
+   @begin
+   @show
+`r0`c  `r1 None shall pass `r0
+
+  `2You pound on the door for some time before you get an answer.
+
+  `0"Master `s02`0 has declared that `4NO`0 visitors shall be allowed!" `2a
+  trollish voice calls from behind the wall.
+
+  `4Ouch!
+
+`k
+   @do goto done
+   @end
+
+  @show
+`r0`c  `r1 Stand and unfold thyself `r0
+
+`2  A head pops over the gate.  `0"Halt, you!  What business have you with
+  my lord and master, `%`s02`0?" `2a hunched over troll asks.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Offer an explanation.
+Visit later.
+  @if response is 1 then do
+   @begin
+   @do write
+`\`\  `2Say what? :`x
+  @do readstring 40 NIL `s03 
+  @do upcase `s03
+  @do upcase `s01
+
+  @if `s03 is `s01 then do
+    @begin
+    @show
+`\`\  `0"Welcome to `%Wizard Tower`0,"`2 the troll smiles as he opens the gate.`\`\`k
+    @do goto letmein
+    @end
+   @writefile mail\mail`p20.dat
+  `0Wizard Tower Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 attempted to sweet talk the troll by saying
+  `0"`s03"`2.  `2He was `bNOT`2 allowed in.
+
+   @show
+`\`\  `2The troll doesn't look too interested.`\`\`k
+   @do goto done
+   @end
+
+  @do goto done
+
+  @end
+
+;let him in
+@label letmein
+@do x is 44
+@do y is 17
+@do map is 1175
+@loadmap 1175
+@do goto done
+@#done
diff --git a/xtrn/lord2/castle4.ref b/xtrn/lord2/castle4.ref
new file mode 100644
index 0000000000000000000000000000000000000000..25e4a9c555ee6447ba0d0d151ed35df1ecb8ce90
--- /dev/null
+++ b/xtrn/lord2/castle4.ref
@@ -0,0 +1,730 @@
+;note to .ref masters:
+;replace castle4 with something else to use this .ref for other dwellings
+;this .ref uses no long term vars, instead it makes its own data file - this
+;means upgrading the game will not make people 'lose ownership' of their
+;stuff.
+@#TOY
+@do moveback
+@do saybar
+Ahh... your private restroom.  Could life get any better?
+
+@#MYBANK
+;team treasury
+@do moveback
+@do `p20 is 0
+@if tres4.dat exist true then do
+  @begin
+  @readfile tres4.dat
+`p20
+  @
+  @end
+
+@clearblock 20 21
+@do move 3 21
+@do write
+`r0`2  Treasury is at `$$`p20`2 - (`0T`2)ake, (`0L`2)eave or (`0N`2)evermind? [`0N`2] :`%`x
+@do readspecial `s01 NTL
+@if `s01 is N then do
+ @begin
+ @do saybar
+You close the safe, carefully.
+ @closescript
+ @end
+
+@if `s01 is T then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 0
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > `p20 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Not enough in here for that.
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You take nothing.
+    @closescript
+   @end
+//withdrawl.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres4.dat
+`p20
+  @
+
+  @if `p20 < `p21 then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+Oh no!  Someone took the money while you were thinking about it!
+    @closescript
+    @end
+
+    @do `p20 - `p21
+    @do money + `p21
+  @do delete tres4.dat
+  @writefile tres4.dat
+`p20
+  @
+    @clearblock 21 24
+    @do saybar
+`2You take `$`p21`2 from the treasury.
+
+//if not owner, lets notify him
+
+@readfile castle4.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Sosen Inn Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has taken `$$`p21 `2from the treasury.
+
+  @end
+  @closescript
+  @end
+
+@if `s01 is L then do
+  @begin
+  @do move 5 23
+  @do write
+`0`r0Amount? `0: `%
+ @do readnum 10 &money
+  @do `p21 is `v40
+  @if `p21 < 1 then `p21 is 0
+  @if `p21 > money then do
+    @begin
+    @clearblock 21 24
+    @do saybar
+You are not carrying that much!
+    @closescript
+    @end
+
+ @if `p21 is 0 then do
+   @begin
+    @clearblock 21 24
+    @do saybar
+You decide to leave nothing.  Ha!
+    @closescript
+   @end
+
+  @do money - `p21
+
+//deposit.. we read from the file again so cheating won't be possible with
+//correct timing
+  @readfile tres4.dat
+`p20
+  @
+  @do `p20 + `p21
+  @do delete tres4.dat
+  @writefile tres4.dat
+`p20
+  @
+    @clearblock 21 24
+//if not owner, lets notify him
+
+@readfile castle4.dat
+`p20
+`s01
+@
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+   @writefile mail\mail`p20.dat
+  `0Sosen Inn Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has deposited `$$`p21 `2to the treasury.
+
+  @end
+
+
+    @do saybar
+`2You leave `$`p21`2 in the treasury.
+  @closescript
+
+
+  @end
+
+
+@#priv
+@do moveback
+@do saybar
+Ahhh!  The private bedroom!  Nothing can hurt you here.
+
+@#innkeeper
+
+
+@do moveback
+
+@if castle4.dat exist false then do
+  @begin
+  @closescript
+  @end
+
+@readfile castle4.dat
+`p20
+`s01
+@
+
+@if `p20 is &playernum then do
+  @begin
+  @do moveback
+  @do saybar
+`0Innkeeper: `2Greetings, s&sir!
+  @closescript
+  @end
+
+
+
+@if castle4a.dat exist false then do
+  @begin
+  @writefile castle4a.dat
+200
+0
+  @
+  @end
+
+  @readfile castle4a.dat
+`p26
+`p27
+  @
+
+
+@do `v01 is 1
+@show
+`r0`c  `r1  `%Getting a room  `r0
+
+`2  The Innkeeper looks at you.  `0"Kin I getcha a room?  Today it costs
+  only `$$`p26!`2"
+
+@do write
+`x`x
+@choice
+Yeah, what a great deal.
+Shyeah, right.
+@if responce is 1 then do
+  @begin
+  @if money < `p26 then do
+    @begin
+    @show
+`\`\  `2You sort of lack the funds right now.  Looks like you're sleeping
+  outside...
+
+`k
+   @do goto innkeeper
+   @end
+
+  @do money - `p26
+  @do `p27 + `p26
+  @do delete castle4a.dat
+  @writefile castle4a.dat
+`p26
+`p27
+  @
+   @writefile mail\mail`p20.dat
+  `0Business note:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has stayed at your Inn!  Cha-CHING!
+
+  @do y - 3
+  @drawmap
+  @update
+  @do saybar
+`0Bartender:  `2"Great!  Go upstairs and pick out a bed!"
+  @closescript
+  @end
+
+@drawmap
+@update
+
+@#pass1
+@readfile castle4.dat
+`p20
+`s01
+@if `p20 is &playernum then do
+  @begin
+  @closescript
+  @end
+
+@if &lasty is 11 then do
+  @begin
+  @do moveback
+  @do saybar
+`0Innkeeper:  `2You need to pay me before you can go back there.
+  @end
+
+@#pass2
+@if castle4.dat exist false then do
+  @begin
+  @closescript
+  @end
+
+@if &lastx is 58 then do
+  @begin
+  @closescript
+  @end
+
+@readfile castle4.dat
+`p20
+`s01
+@if `p20 is &playernum then do
+  @begin
+  @closescript
+  @end
+
+@do moveback
+
+  @do `s02 is getname `p20
+  @do upcase `s01
+  @if `s01 is NONE then do
+   @begin
+  @do moveback
+  @do saybar
+`0Innkeeper:  `2No one is allowed over there.. it's private.
+
+   @closescript
+   @end
+
+  @show
+`r0`c  `r1 Entrance to the private area `r0
+
+`2  `2The Innkeeper looks over at you.  `0"Hey!  What business do you have
+  going in there?"
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Offer an explanation
+Nevermind
+  @if response is 1 then do
+   @begin
+   @do write
+`\`\  `2Say what? :`x
+  @do readstring 40 NIL `s03 
+  @do upcase `s03
+  @do upcase `s01
+
+  @if `s03 is `s01 then do
+    @begin
+    @show
+`\`\  `0"Ok, go on in then!"`\`\`k
+    @do x + 1
+    @drawmap
+    @update
+    @closescript
+    @end
+   @writefile mail\mail`p20.dat
+  `0Inkeeper Reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 attempted to get to the private bedroom by saying
+  `0"`s03"`2.  `2He was `bNOT`2 allowed in.
+
+   @show
+`\`\  `2The Innkeeper isn't impressed.`\`\`k
+   @do moveback
+   @do goto done
+   @end
+
+  @do goto done
+
+
+ @#done
+ @drawmap
+ @update
+
+@#doorguard
+@do moveback
+@label startg
+;guy who owns on it pushes against the door guard symbol.  This lets him
+;control the password to gain entrance to the castle, as well as sell it
+;back or transfer ownership.
+
+@if castle4a.dat exist false then do
+  @begin
+  @writefile castle4a.dat
+200
+0
+  @end
+
+
+@if castle4.dat exist false then do
+  @begin
+  @do saybar
+`0"Get out please!  The Inn has been sold!" `2the Innkeeper commands.
+ @closescript
+  @end
+
+@readfile castle4.dat
+`p20
+`s01
+@
+
+  @readfile castle4a.dat
+`p26
+`p27
+  @
+
+
+;load owner and current password
+
+@if `p20 not &playernum then do
+  @begin
+  @do saybar
+You wave to the Innkeeper.
+  @closescript
+  @end
+@busy
+
+
+@do `v01 is 1 ;set default choice to 1
+@show
+`r0`c  `r1 Instructing your servants `r0
+
+  `2The Innkeeper stops working for a moment.
+
+@do write
+`x`x
+@choice
+Set password to private bedroom. (currently is `0`s01`%)
+Ownership options
+Set inn fee (currently is at `$$`p26`%)
+Take money from register
+Leave
+@
+
+@if responce is 4 then do
+  @begin
+  @if `p27 < 1 then do
+   @begin  
+@show
+`\`\  `0"Before you look in that register.. lemmie tell you business has
+  been a little slow." `2the Innkeeper tells you.
+
+`k  `$"How slow?" `2you ask.
+
+`k  `0"Ok, we have not had a single customer since you last checked, ARE
+  YOU HAPPY NOW!?" `2the Innkeeper cries as he bursts into tears.
+
+`k
+   @do goto doorguard
+   @end
+
+
+  @readfile castle4a.dat
+`p26
+`p27
+  @
+  @do money + `p27
+  @do delete castle4a.dat
+  @writefile castle4a.dat
+`p26
+0
+  @
+
+  @show
+`\`\  `2Sure, we've made `$$`p27`2, here ya go!
+
+`k
+  @end
+
+@if responce is 3 then do
+  @begin
+  @do write
+`\`\`x`xNew fee? :`x
+  @do readnum 10 `p26
+  @if `v40 < 0 then do
+    @begin
+    @show
+`\`\  `2Price set to `$$`v40`2.
+
+`k  `2You think you're pretty smart, don't you.
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes, yes I do.  Now please give me 1,000,000 gold for free, I deserve it.
+No, you oh computer are the true master.  We humans suck.
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `2GET OUT OF HERE BEFORE I `bDELETE`2 YOU!  Next time I will.
+
+  @do goto doorguard
+  @end
+
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  The computer playfully slaps your ass as it walks out.
+
+  @do goto doorguard
+
+  @end
+
+    @do goto doorguard
+    @end
+  @readfile castle4a.dat
+`p26
+`p27
+  @
+  @do `p26 is `v40
+  @do delete castle4a.dat
+  @writefile castle4a.dat
+`p26
+`p27
+  @
+  @do goto doorguard
+  @end
+
+
+
+@if responce is 2 then do
+ @begin
+ @show
+`r0`c  `r1 Ownership Options `r0
+
+  `2You retrieve your deed and carefully look it over.
+   
+   @do `v01 is 1
+   @do write
+`x`x
+   @choice
+Transfer deed to someone else
+Sell property back to the bank for `$10000`%.
+Do nothing of the sort
+ @if response is 1 then do
+   @begin
+   @show
+`\`\  `2Transfer to whom?
+   @chooseplayer `p20
+
+   @if `p20 is 0 then do
+    @begin
+    @show
+  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+    @end
+   @do `s02 is getname `p20
+   @show
+`2  Are you sure you wish to give your Inn to `0`s02`2?
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle4.dat
+  @writefile castle4.dat
+`p20
+`s01
+0
+0
+0
+0
+   @writefile mail\mail`p20.dat
+  `0Business note:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `n`2 has transferred ownership of Sosen Inn to you. 
+  Password to enter bedroom will remain `0"`s01"`2 unless
+  `2you come by and change it.
+
+    @do addlog
+  `0`n`2 has given `%Sosen Inn`2 to `0`s02`2!
+     @routine seperate in gametxt.ref
+
+    @show
+`\`\  `2Deed transfered.  Oh well - it was fun while it lasted.`\`\`k
+   @do goto done
+   @end
+  @if response is 2 then do
+    @begin
+    @show
+`\`\`2  Are you sure you wish to sell your Inn back to the bank?`\
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes
+Not on your life.
+ @if responce is 2 then do
+   @begin
+    @show
+`\`\  `2You decide to keep your domain - for now.`\`\`k
+    @do goto startg
+   @end
+
+  @do delete castle4.dat
+  @do delete castle4a.dat
+  @do money + 10000
+  @show
+`\`\  `%INN SOLD!`2`\`\`k
+    @do addlog
+  `0`n`2 has sold `%Sosen Inn`2 back to the bank!
+    @routine seperate in gametxt.ref
+    @do goto done
+    @end
+
+
+  @do goto startg
+ @end
+
+@if responce is 1 then do
+  @begin
+  @do write
+`\`\  `0"And the new password, s&sir?" `2(enter `4NONE`2 for no access to anyone)`\  `2Password:`x
+  @do readstring 40 `s01 `s01 
+  @do `p20 is length `s01
+  @if `p20 < 2 then do
+   @begin
+   @show
+`\`\  `2You decide the current password is ok.`\`\`k
+   @do goto startg
+   @end
+  @do delete castle4.dat
+  @writefile castle4.dat
+&playernum
+`s01
+0
+0
+0
+0
+@show
+`\`\  `0"Yes s&sir, I will not forget it!" `2the Innkeeper promises.`\`\`k
+   @do goto startg
+  @end
+
+@drawmap
+@update
+
+@#sign
+@do moveback
+
+ @if castle4.dat exist false then do
+ @begin
+ @do saybar
+Sosen Inn - For sale cheap, enquire inside.
+ @end 
+
+@if castle4.dat exist true then do
+ @begin
+@readfile castle4.dat
+`p20
+`s01
+@
+@do `s01 is getname `p20
+ @do saybar
+`2Property of `0`s01`2.
+ @end 
+
+@#enter
+@do moveback
+@offmap
+
+
+@if castle4.dat exist false then do
+  @begin
+  @show
+`r0`c  `r1 `%For Sale `r0
+
+  `2Sosen Inn - money making opportunity.  Buy it now, only asking
+  `$$20,000`2.
+  
+  Buy now and recieve the following bonuses:
+
+  `0* `2Private area for you
+
+  `0* `2Upstairs for your guests - you can set any price you want
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+>&money 19999 Purchase it.
+<&money 20000 Sigh wistfully and leave since you don't have enough.
+>&money 19999 Leave.
+@
+
+@if responce is 1 then do
+  @begin
+  @if castle4.dat exist true then do
+    @begin
+    @show
+`\`\  `2Oh crap!  Someone bought it while you were thinking about it.  You
+  will regret your snail like thinking for the rest of your days.`\`\`k
+    @do goto done
+    @end
+
+  @writefile castle4.dat
+&playernum
+NONE
+0
+0
+0
+0
+    @do money - 20000
+    @do addlog
+  `0`n `2buys `%Sosen Inn`2!
+     @routine seperate in gametxt.ref
+
+  @show
+`r0`c  `r1 `%Why hello there, landowner! `r0
+`\`2  Nice job!  You now own this Inn!
+
+  `2Enjoy your new home.`\`\`k
+  @end
+
+@label done
+@drawmap
+@update
+@closescript
+  @end
+
+@readfile castle4.dat
+`p20
+`s01
+@
+
+@do `p21 is deleted `p20
+
+@if `p21 is 1 then do
+  @begin
+   ;owner got deleted!!!  Lets put it up for sale again.
+   @do delete castle4.dat
+    @do addlog
+  `%Sosen Inn`2 is put on the market today.
+     @routine seperate in gametxt.ref
+
+   ;run script again
+   @do goto enter
+  @end
+
+;let him in
+@label letmein
+@do x is 51
+@do y is 12
+@do map is 616
+@loadmap &map
+@do goto done
+@#done
diff --git a/xtrn/lord2/dforest.ref b/xtrn/lord2/dforest.ref
new file mode 100644
index 0000000000000000000000000000000000000000..7459b1fb637abfe1c66967adae45aab6da0c32a5
--- /dev/null
+++ b/xtrn/lord2/dforest.ref
@@ -0,0 +1,405 @@
+;File for the mystery forests and Dark Forest (tm)
+
+@#bird
+@if bitcheck `t14 3 1 then do
+  @begin
+  @do moveback
+  @do saybar
+Tash's dead body lies still.
+  @closescript
+  @end
+
+@do `v01 is 1
+@pauseoff
+@do moveback
+@show
+`r0`c
+°°ßß °ÜÜÜÜÛ°°°°±²ßßÛÛ
+°°ÛÛÛÜÜÜÜÜÜÜÜÜ
+Ü  °°  ß Üܲ²±±°°
+ÛßßßßßÜÜÜÜÛ°°°±²²²ÛÛÛ²
+²Ü nighthawk°Ü° 
+ÞÛ²²±ßß°  °°ÜÜÜ °   °°°°
+±±²²ÛÛÛÛÛÛ
+² ßßܲßßß°ßßß °
+°ßß °°°ß  ß
+°ÜßßßÝ ÛßßÜÜ
+²²±±°°° ° °°°°°°°±±²²²²²±
+± °°²°°°
+Ý  °°Üܱ±²²²±±±±°°°ÛÛ
+ÛÛÛÛ°°°°°±±±±±±
+°  °°°ß Ü
+°±²²²²ÛÛÛ²±°°°°ÛÛ°°
+ßß°ÛÛßßßß
+°ÜStanding before you is a
+°° ±±²²ÛÛ²²²²±±±°°
+ßß°Þ
+ °°°Þ°±±²²²±±±±ßßÞ
+ßNighthawk.  With the body  Þ°°°±±±
+߲ݰ°  ÜÜ
+°°
+ Ü°°°°°°Ý
+Ü° °  °°
+°  °°
+  °°°of a man and head of a     ±
+°° ßß°°± °
+²°Þ°
+²°²° °°°° ß
+°  °°
+°chicken, this abomination°²°°
+ ÜÜ  °ß
+Û²°  ß²²²²±±ÜÜÜÜÜÜß
+Ü
+Û°of nature must be slain. ßß
+ßÜ     ßßßßßßß²°°ÛÛÛÛÛ
+°°°°ÜÜÜÜÛÛ°
+°±°²²ÜÜ   
+ßßÜÜÜÜÜÜÜÜß°ßßßßßßÛ°
+°±
+±°°°°°°
+°°±²²ÛÜßß²ÜÜÜÜ°ÜÜÜÜÜ 
+°°ß
+ß  ßÜßßß ßß °°
+°°ßßß ßßÜß°     
+                                 
+
+`k
+@fight
+;name
+Tash
+;string said when you see him
+`0"HOW DID YOU FIND ME?!  NO MATTER, I WILL DINE ON YOUR CARCASS."
+;power move kill string
+You split the thing wide open!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+pecks you|46
+stares at you|56
+screams at you|31
+NONE|NONE
+NONE|NONE
+;defense
+19
+;gold reward
+1500
+;experience
+800
+;hit points
+80
+;if win: ref file|name or NONE
+DFOREST.REF|WIN
+;if lose: ref file|name or NONE
+gametxt.ref|die
+;if runs: ref file|name or NONE
+dforest.ref|run
+
+@#warp
+@do map is 1271
+@do x is 10
+@do y is 8
+@loadmap &map
+@drawmap
+@update
+@do quebar
+Gawd!! Where in hell are you now?
+
+@#run
+@do map is 1512
+@do x is 1
+@do y is 1
+@loadmap &map
+@show
+`r0`c  `r1  RUNNING FOR YOUR LIFE  `r0
+
+  `0"RUN FROM TASH, WILL YOU?!  I WILL SEND YOU TO WHERE YOU BELONG!"
+
+`k  `$"Oh yeah?  Where do I belong?" `2you ask as you feel your body
+  floating away...
+
+`k
+@drawmap
+@update
+@do quebar
+Your mind is buzzing.. you need to find your way out quick.
+@do quebar
+Damn tash and his childish games!
+
+@#win
+@show
+`r0`c  `r1  YOU HAVE SLAIN THIS BEAST!  `r0
+
+  `2Tash's dead body lays on the cold stone floor before you.
+
+`k  `2You search the body and find a `%Moonstone`2!
+
+  `2Now, if you can just figure out how to get out...
+
+`k
+@drawmap
+@update
+@do `i57 + 1
+@bitset `t14 3 1
+
+@#TREE
+;Dead tree in the Mystery Forest
+@DO SAYBAR
+`2You hear the tree whisper "Join me..."
+@do moveback
+
+@#SIGN
+;Sign outside the mystery forest entrance
+@DO SAYBAR
+`bWarning:`2 Dark Forest area condemned by GreenTree Council.
+@do moveback
+
+@#DARKSIGN
+;When enter the Dark Forest
+@DO SAYBAR
+`2You ... feel this is a dark & evil place
+
+@#ENTER
+;When enter the Mystery Forest
+
+@IF &lasty is 11 then do
+@BEGIN
+@DO SAYBAR
+`2You're glad to get out of that place.
+@CLOSESCRIPT
+@END
+
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1 You feel darkness is just beyond this path... `r0
+
+  `2After reading the sign you realize only a complete fool would risk
+  s&his life by going in there.  You can't help but remember your mother's
+  stories, and the time your uncle came back bleeding, buck naked and
+  speaking in unknown tongues.
+
+@DO WRITE
+`x`x
+@CHOICE
+Ignore the warnings; your mind is too strong for these tricks
+Heed the warnings and run back to mommy
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `2Illusions are for the weak, you will not falter.
+`\`k
+@DRAWMAP
+@UPDATE        
+@DO SAYBAR
+`2You feel a chill as you pass the gate.
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@Show
+`\`\  `2You are wise, and may live to fight another day.
+`\`k
+@DO MOVEBACK
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+@#monster1
+@fight
+;name
+Dark Tree
+;string said when you see him
+You walk too close to the woods ... A branch lashes out!
+;power move kill string
+Better replant something for that one!
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+branches out & hits|12
+gives you its wood|26
+slashes you with its broken branches|17
+NONE|NONE
+NONE|NONE
+;defense
+17
+;gold reward
+89
+;experience
+45
+;hit points
+70
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Dark Elf
+;string said when you see him
+A bow pokes out from the woods ...
+;power move kill string
+`$"Dark, dead, I'm the one with the gun" `2you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+makes contact with an arrow|14
+stabs you with his wooden dagger|8
+punctures your leg, ouch|16
+NONE|NONE
+NONE|NONE
+;defense
+0
+;gold reward
+66
+;experience
+76
+;hit points
+80
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Dark Wolf
+;string said when you see him
+A howling sound approaches
+;power move kill string
+`$"Put em on the endangered species list."
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+takes a bite of your leg|8
+slashes with its claws|7
+introduces your ankle to his teeth|14
+NONE|NONE
+NONE|NONE
+;defense
+5
+;gold reward
+76
+;experience
+48
+;hit points
+55
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Ghost
+;string said when you see him
+You hope that thing approaching is just a trick of light!
+;power move kill string
+You have killed the undead.  Not bad.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+laughs at you|0
+takes you to the other side|15
+grabs at your soul|30
+NONE|NONE
+NONE|NONE
+;defense
+29
+;gold reward
+276
+;experience
+167
+;hit points
+90
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Evil Elf
+;string said when you see him
+You trip over an outstreched foot, whoever did that is evil
+;power move kill string
+now he's evil and crippled, nobody trips you
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+uses his quarterstaff on your head|8
+contacts you with his foot|10
+stabs with a wooden dagger|6
+NONE|NONE
+NONE|NONE
+;defense
+4
+;gold reward
+29
+;experience
+17
+;hit points
+40
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+Bear
+;string said when you see him
+You hear the roar of something big ... not good
+;power move kill string
+hey, smokey take that!
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+bites your good hand|9
+claws your chest|10
+lunges at you, claws out|7
+NONE|NONE
+NONE|NONE
+;defense
+6
+;gold reward
+25
+;experience
+19
+;hit points
+45
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#FIGHT1
+@busy
+@do `p20 random 4 1
+@do goto monster`p20
+
+@#FIGHT2
+@busy
+@do `p20 random 2 5
+@do goto monster`p20
+
+@#done
diff --git a/xtrn/lord2/dragon.ref b/xtrn/lord2/dragon.ref
new file mode 100644
index 0000000000000000000000000000000000000000..d3e9b85eafd18746975f1a9403c4e2c7eabc25b0
--- /dev/null
+++ b/xtrn/lord2/dragon.ref
@@ -0,0 +1,606 @@
+;For the Dragon Tooth Cult and their evil!
+;And for Pap, who is the ultimate evil in real life.  He cuts kids.
+@#barman
+@do moveback
+@if bitcheck `t18 2 0 then do
+  @begin
+  @do saybar
+`0One Eye:  `2Get lost, punk...
+  @closescript
+  @end
+
+@if `i73 > 0 then do
+  @begin
+  @do saybar
+`0One Eye:  `2Haw!  Long time no see....  you did yourself proud.
+  @closescript
+  @end
+
+@show
+`r0`c  `r1  `%Talking to One Eye  `r0
+
+  `0"Get lost, punk..." `2he grunts.
+
+`k  `$"And anger my master, Phineaus?" `2you cooly reply.
+
+`k  `2His voice quickly changes tone.  `0"So you are he.  Alright, come
+  with me."
+
+`k`c  `r1  The Flying Machine  `r0
+
+  `2One Eye takes you to the roof - where a strange contraption is sitting
+  on a landing pad of sorts.
+
+`k  `0"It's me special invention!  With this I can drop you on the cliffs
+  near the Koshi village, and you can sneak in!"
+
+`k  `%THE JOURNEY IS THRILLING!  `2And you only get airsick once...
+
+`2  At the right time you jump overboard... One Eye waves as he sails
+  away...
+
+`k
+@do map is 195
+@do x is 58
+@do y is 14
+@loadmap &map
+@drawmap
+@update
+
+@#old
+@do moveback
+@if `p07 > -99 then do
+  @begin
+  @do saybar
+Phineaus: `2Hey, you don't look that evil!  Get out!!  GUARDS!!!!
+  @closescript
+  @end
+
+@if bitcheck `t18 7 1 then do
+  @begin
+    @do saybar
+`0Phineaus: `2You RULE!
+    @closescript
+
+  @end
+
+@if bitcheck `t18 2 1 then do
+  @begin
+  ;does he have the wand?
+  @if `i73 < 1 then do
+    @begin
+    @do saybar
+Phineaus: `2Bring me the smackrod!
+    @closescript
+    @end
+    @do saybar
+
+@show
+`r0`c  `r1  `%TALKING WITH EVIL INCARNATE `r0
+
+`4  `$"I have the Smackrod as I swore I would master."
+
+`k  `%"Exellent my s&boy...exellent.  Without this, the Koshi shall never
+  defeat us!!!" `4the old man cackles in delight.
+
+`k  `%"Hell, why don't you keep the damn rod, after all.. you will lead my
+  minions into battle from now on!  I'm making you the general of all my
+  armies!"
+
+`k  `%YOU GET 500 QUEST POINTS AND 10,000 EXPERIENCE!
+
+  `$You have won this game as evil.  But this doesn't have to be the end..
+  using your new powers why not run throughout the world creating havoc and
+  disaster?
+
+`k
+@bitset `t18 7 1
+@do `p18 + 500
+@do `p01 + 10000
+@do `p02 is `p03
+@do addlog
+  `r1  `r0 `0`n`% has stolen the Smackrod and become a hero! `r1  `r0
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+    @drawmap
+    @update
+    @closescript
+  @end
+
+@show
+`r0`c  `r1  `%TALKING WITH EVIL INCARNATE `r0
+
+`4  A man with a scarred face and more than a few teeth missing grins at
+  you eerily.
+
+@if bitcheck `t18 1 0 then do
+  @begin
+  @show
+  `%"Do you know me, s&boy?" `4the shady character asks you.
+
+`k  `$"Um.. no sir.. should I?" `4you stammer.
+
+`k  `%"Of course you should!" `4he spits, apparently insulted to some
+  degree, `%"I run this whole organization!"
+
+`k  `4The man continues to educate you in the way of the Cult.. you find
+  out his name is Phineaus Crane.
+
+`k  `4Before dismissing you, he whispers something in your ear.  `%"You
+  are the one I've chosen."
+
+`k
+  @bitset `t18 1 1
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if `p18 < 100 then do
+  @begin
+  @show
+  `4Phineaus stares at you awhile.  `%"You are not ready for the mission I
+  am preparing you for.  You need to have 100 quests completed before you
+  will be qualified sufficiently."
+
+`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@show
+  `%"Are you ready for your greatest quest ever, my son?"
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes, why yes, yes indeed!
+Not exactly - maybe tomorrow...
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `%"Good.  Very good..  It is true we have stolen the Koshi's Gryphon
+  moon, but there is one more thing we need to take from them.  It is called
+  the Smackrod.  This strange and magical item they have created has the
+  power to teleport short distances... very useful."
+
+`k  `$"Ok.. I'll steal the Smackrod for you... But where is it?"
+
+`k  `%"The Koshi live high in the mountains west of Arrisville.  You could
+  try to sneak in, or talk to a man I have stationed in Bonetown.. a man
+  you shouldn't have too much trouble finding, we call him One Eye.  He
+  has something that could help."
+
+`k  `$"I will bring it back, my master." `4you vow.
+
+`k
+  @bitset `t18 2 1
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `%"Come back when you are ready."
+`\`k
+  @end
+
+@drawmap
+@update
+
+@#enter
+  @do map is 708
+  @do x is 10
+  @do y is 9
+  @loadmap &map
+  @drawmap
+  @update
+
+
+@if bitcheck `t17 5 1 then do
+  @begin
+  @if `p07 > 50 then do
+   @begin
+   @do saybar
+You sneak into the inner sanctum while no one is looking...
+  @closescript
+
+   @end
+  @end
+
+   @do saybar
+Ahh... the pride and joy of the Dragon Tooth Cult!
+
+
+@#gryphon
+@do moveback
+
+
+
+@if `p07 < 50 then do
+  @begin
+  @do saybar
+Ha ha!  You must fight to keep this treasure safe.
+  @closescript
+  @end
+
+@if bitcheck `t17 7 1 then do
+  @begin
+  @do saybar
+`0Ahh, the memories...
+  @closescript
+  @end
+
+@if bitcheck `t17 6 1 then do
+  @begin
+  @if `i72 < 1 then do
+    @begin
+    @do `i72 is 1
+  @do saybar
+`0You grab the `%Gryphon Moon`0!  (again...)
+  @closescript
+
+    @end
+
+  @do saybar
+`0You better take the `%Gryphon Moon`0 back to the Koshi, quick!
+  @closescript
+  @end
+
+@if bitcheck `t17 5 1 then do
+  @begin
+
+@bitset `t17 6 1
+@do saybar
+`0You find the `%Gryphon Moon`2!
+  @do `i72 is 1
+@closescript
+  @end
+@#STORE
+;The weapons store in the castle
+@if bitcheck `t18 0 1 then do
+  @begin
+  @do moveback
+  @offmap
+  @busy
+  @show
+`r0`c                         `r1  Dragon Tooth Weapons  `r0
+
+
+
+
+  @buymanager
+68
+69
+70
+71
+55
+@drawmap
+@update
+ @closescript
+@end
+;If not a member
+@do saybar
+`2Looks like the Dragon Tooth's weapons...
+@do moveback
+
+@#random
+@if `i67 > 0 then do
+  @begin
+  @do `s01 is s&armour
+  @if `s01 not Disguise then do
+    @begin
+    @do map is 59
+    @do x is 36
+    @do y is 8
+    @do `i72 is 0
+    @do `p02 / 3
+    @loadmap &map
+    @show
+`r0`c  `r1  `%A problem  `r0
+
+  `0"Hey you! Come here for a second!" `2a guard yells.
+
+`k  `$"Who me?"
+
+  `0"Yeah!  Who are you?  What are you doing here?"
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+I work on boats.
+I clean stables.
+I just forgot to put on my disguise!
+@show
+`\`\  `0"Get him!!!!" `2yells the guard.
+
+  `4They beat you unconscious.
+
+`k
+    @drawmap
+    @update
+    @do saybar
+Where are you?  Your head really hurts.
+    @closescript
+    @end
+
+  @do saybar
+  A guard waves you through, he is fooled!
+  @end
+
+@#GUARD1
+;Guard on the beach
+@do saybar
+`0"Welcome to our Island."
+@do moveback
+
+@#CASTLE
+;The evil castle for the Dragon Tooth
+@if `i67 > 0 then do
+  @begin
+  @do map is 707
+  @do x is 10
+  @do y is 11
+  @loadmap &map
+  @drawmap
+  @update
+  @do saybar
+You sneak into the Castle!  Better be careful...
+  @closescript
+  @end
+@do moveback
+@offmap
+@do `v01 is 1
+@show
+`r0`c  `r1  Dragon Tooth Castle  `r0
+
+  `2The castle is huge!  Various shields and crests hang on its sides, as
+  well as bodies!  The ominous gates send a chill down your spine as you
+  enter.  The gatekeeper on the inside eyes you.
+
+  `0"You, what is your business here?"  `2he asks.
+                        
+@DO WRITE
+`x`x
+@CHOICE
+-`t18 0 Join them
++`t18 0 See how you're doing
+Leave
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `0"You look like you might be able to join us.  But to do so you
+  must prove yourself."  `2he says.
+
+`k  `$"I .. I'm ready."  `2you tell him.
+
+  `0"Very well, we have someone for you to kill.  Do so, and we'll let you
+  join."
+`\`k  `%They drag a bleeding body outside... it's a Koshi man!  His wings are
+  torn off.
+`\`k
+  @do goto JOINB
+  @end
+@if response is 2 then do
+;First level
+ @begin
+  @if `p07 > -20 then do
+    @begin
+    @show
+`\`\  `0"You need to work MUCH harder!!  You're so nice you might as well go
+  work with the Koshi.  Go hurt some people damnit!"  `2he tells you.
+`\`k
+    @do goto castle
+    @end
+;Next level
+  @if `p07 > -40 then do
+    @begin
+    @show
+`\`\  `0"Well, you've been doing better lately.  But try getting more money
+  as well, we can't do our evil quests without funding!"  `2he laughs.
+`\`k
+    @do goto castle
+    @end
+;Again up
+  @if `p07 > -60 then do
+    @begin
+    @do `s01 is rape
+     @if `v06 is 1 then `s01 is pillaging
+    @show
+`\`\  `0"I beginning to like your style a bit.  A little `s01 here, a bit of
+  stealing there and it's cool.  Keep it up and you'll be rising in the
+  ranks soon."  `2he tells you.
+`\`k
+    @do goto castle
+    @end
+;Again ..
+  @if `p07 > -80 then do
+    @begin
+    @show
+`\`\  `0"The cult is beginning to owe a lot to you `n`0.  Be patient and
+  continue your deeds, soon you will rise up to our honored ranks.  Now go
+  do death my brother."  `2he informs you.
+`\`k
+    @do goto castle
+    @end
+;Once more
+  @if `p07 > -100 then do
+    @begin
+    @show
+`\`\  `0"`n my friend, I have nominated you for our honor ranks.  Even now
+  the council is discussing your fate.  Be diligent now and continue your
+  strife, and soon you will find a new light."  `2the gatekeeper tells you.
+`\`k
+    @do goto castle
+    @end
+;If they're really cool
+  @if `p07 < -99 then do
+    @begin
+    @show
+`\`\  `2The gatekeeper looks up at you and smiles.
+  `0"I have a surprise for you my child.  Come this way."  `2He leads you
+  through the giant wooden doors ...
+`\`k
+    @loadmap 707
+    @do map is 707
+    @do x is 10
+    @do y is 11
+    @end
+ @end
+@drawmap
+@update
+
+@#CULTJOIN
+;You win the fight
+@bitset `t18 0 1
+@show
+`r0`c  `r1  Joining the Cult  `r0
+
+  `2You stand proud of your victory!  Around you in the courtyard a few
+  other members cheer at your triumph.  The gatekeeper comes to you.
+
+  `0"Good show there warrior.  You may now join our ranks and fight for
+  the good of the cult."  `2he says.
+
+  `0"Someday, ya might even be able to help us rid the earth of the
+  plague we call the Koshi."
+`\`k
+@do goto castle
+
+@#JOINB
+;Fighting to join the Dragon Tooth Cult
+@fight
+;name
+Captured Koshi Warrior
+;string said when you see him
+You prepare to take on the wounded warrior, with s&weapon ready.
+;power move kill string
+`$"Stupid Koshi"  `2you shout.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+punches you|78
+kicks you in the gut|80
+throws you across the courtyard|91
+NONE|NONE
+NONE|NONE
+;defense
+32
+;gold reward
+0
+;experience
+1
+;hit points
+120
+;if win: ref file|name or NONE
+DRAGON.REF|CULTJOIN
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+DRAGON.REF|CULTRUN
+@drawmap
+@update
+
+@#CULTRUN
+@pauseoff
+@show
+`\`\`r0`c  `r1  RUN?  `r0
+
+  `2The guards laugh at your cowardice.  They decide not to let you join.
+
+`k
+@drawmap
+@update
+
+@#TRAVEL
+;Getting off the island
+@do moveback
+@busy
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1  Looks like a Warship  `r0
+
+  `2A man with a big sword greets you `0"Where would you like us to
+  drop you off?"
+                      
+@DO WRITE
+`x`x
+@CHOICE
+<`p07 -99 ArrisVille
+PortTown
+<`p07 -99 FlagCity
+Sosen Village
+Don't want to leave yet
+@if response is 1 then do
+;Going to ArrisVille
+  @begin
+  @Show
+`\`\  `0"I don't like the prince there .. but let's go!" `2He replies.
+`\`k
+  @loadmap 444
+  @do map is 444
+  @do x is 66
+  @do y is 19
+  @DRAWMAP
+  @DO SAYBAR
+  `2Welcome to Arrisville.
+  @UPDATE
+  @CLOSESCRIPT
+  @end
+@if response is 2 then do
+;Going to PortTown
+  @begin
+  @show
+`\`\  `0"Okay, that's a nice town to raid."
+`\`k
+  @loadmap 152
+  @do map is 152
+  @do x is 38
+  @do y is 2
+  @DRAWMAP
+  @DO SAYBAR
+  `2Welcome to PortTown.
+  @UPDATE
+  @CLOSESCRIPT
+  @end
+@if response is 3 then do
+;Going to FlagCity
+  @begin
+  @show
+`\`\  `0"Those stupid flags, okay let's go."
+`\`k
+  @loadmap 71
+  @do map is 71
+  @do x is 38
+  @do y is 14
+  @DRAWMAP
+  @DO SAYBAR
+  `2Welcome to FlagCity.
+  @UPDATE
+  @CLOSESCRIPT
+  @end
+@if response is 4 then do
+  @begin
+  @show
+`\`\  `0"It's a little place, with plenty of money for us!"
+`\`k
+  @loadmap 536
+  @do map is 536
+  @do x is 40
+  @do y is 18
+  @DRAWMAP
+  @DO SAYBAR
+  `2Welcome to Sosen Village.
+  @UPDATE
+  @CLOSESCRIPT
+  @end
+@drawmap
+@update
+
+@#nomore
diff --git a/xtrn/lord2/example.ref b/xtrn/lord2/example.ref
new file mode 100644
index 0000000000000000000000000000000000000000..763e1048478af4d0831ccc5deaf3d190b2a9f18c
--- /dev/null
+++ b/xtrn/lord2/example.ref
@@ -0,0 +1,90 @@
+; Afraid of using vars that LORD2 or other IGM's might change?  No prob!
+; use your OWN vars!! The new @data commands make it easy and simple!
+
+; example of how to use the @data command set to easily create your own
+; data file to check if a person had been in here that day already.
+; by Seth A. Robinson, 6-24-97
+
+; ok, we'll call it 'the magic rock', it says something clever if a user
+; pushes against it (it runs this file) but only ONCE per day.. if they
+; they have already got their 'wisdom' for the day, it says go away.
+
+; this is a good example because this probably how most people will use
+; the @data commands, just to see if someone has been here or not today.  But
+; don't forget it is 200 longints that could be used in other ways too, for
+; instance, a bank of your own, etc.
+
+; another note.. this .ref *IS* used in the game itself so don't delete it!!
+; you could change it and see how it changes in the game though, the 'magic
+; rock' is located in Greentree.
+
+@#START
+@do moveback
+; first we move them back, so they are not standing on the rock
+
+@datanewday rock.idf
+
+; the above command will reset all #'s in ROCK.IDF to 0 *IF* a new day has
+; occured since the last time this command was called.
+
+; use idf so it is easy for sysops to know which data files they can delete
+; safely  (IGM DATA FILE)
+
+@dataload rock.idf &playernum `p20
+
+; the above command is important - this is how you retrieve ALL data.
+; &playernum is the current players # in the trader.dat file, and `p20 is
+; a scratch var that we want to put the return result in.
+
+@if `p20 not 1 then do
+  @begin
+
+  ; woohoo, they have not been here yet today!
+  ; lets spew some wisdom.
+
+  @do `p21 random 10 1
+  ; now `p21 is a random # between 1 and 10
+
+  @if `p21 is 1 then saybar
+`0Magic Rock: `2Don't eat poison much.
+  @if `p21 is 2 then saybar
+`0Magic Rock: `2My sources say yes.
+  @if `p21 is 3 then saybar
+`0Magic Rock: `2Barak is guilty!  But you must prove it.
+  @if `p21 is 4 then saybar
+`0Magic Rock: `2You must learn to love yourself before you can love others.
+  @if `p21 is 5 then saybar
+`0Magic Rock: `2You must be very evil to be taken to Dragon Island...
+  @if `p21 is 6 then saybar
+`0Magic Rock: `2Making LORD2 IGM's is very easy.  Anyone can do it.
+  @if `p21 is 7 then saybar
+`0Magic Rock: `2There is a `%Moonstone`2 hidden in a waterfall.
+  @if `p21 is 8 then saybar
+`0Magic Rock: `2The Smackrod could help you break into Sosen Inn...
+  @if `p21 is 9 then saybar
+`0Magic Rock: `2Nice people have to pay more to get into Bonetown.
+  @if `p21 is 10 then saybar
+`0Magic Rock: `2If someone places a bounty on your head, your dead.
+
+  @datasave rock.idf &playernum 1
+
+  ; the above is IMPORTANT - we just set this persons data # to 1, now we
+  ; will know that he was here!  Until the next day, when it is reset to 0.
+
+  ; all done let's do a @closescript so it will quit right now
+
+  @closescript
+  @end
+
+; if we got here, it means they HAVE been on today.
+
+@do saybar
+`2The strange rock refuses to speak again.
+
+; all done!
+
+@#NOMORE
+
+; always put this at an end of a .ref file.. when it sees the @# it knows
+; that the routine it was sent to do is over.  a @closescript works too.
+
diff --git a/xtrn/lord2/fight.ref b/xtrn/lord2/fight.ref
new file mode 100644
index 0000000000000000000000000000000000000000..d5b4aaa543ca3bd72607e6d253f82364f941f4c8
--- /dev/null
+++ b/xtrn/lord2/fight.ref
@@ -0,0 +1,534 @@
+;This files contains enemy people/creatures for the 1st part of the game.
+
+
+@#monster20
+@fight
+;name
+Tiny Scorpion
+;string said when you see him
+Something crawls up your leg...
+;power move kill string
+You laugh as the tiny thing burns in the sand.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+stings you|44
+pinches you|25
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+15
+;gold reward
+89
+;experience
+54
+;hit points
+64
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster21
+@fight
+;name
+Giant Scorpion
+;string said when you see him
+Something pinches a toe?!
+;power move kill string
+You carefully bury the mammoth beast in the sand.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+stings you for|74
+pinches you|34
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+42
+;gold reward
+332
+;experience
+196
+;hit points
+89
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster22
+@fight
+;name
+Sand Worm
+;string said when you see him
+The sand in front of you begins to move
+;power move kill string
+`$"Go in the ground and stay there," `2 you command.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+draws blood with its teeth|43
+wraps around & squeezes you legs|14
+gets ahold with his sucker|27
+NONE|NONE
+NONE|NONE
+;defense
+12
+;gold reward
+0
+;experience
+189
+;hit points
+102
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#monster1
+@fight
+;name
+Wild Boar
+;string said when you see him
+You notice a shaking in the bushes... A wild boar charges!
+;power move kill string
+The wild squeals of the small animal finally stop.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+jabs you with its tusks|4
+bites you|2
+painfully prods you|2
+NONE|NONE
+NONE|NONE
+;defense
+0
+;gold reward
+2
+;experience
+3
+;hit points
+7
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Rabid Dog
+;string said when you see him
+A large yellow dog appears - snarling viciously at you.
+;power move kill string
+You've cured this dog of its disease.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+bites you|3
+bites a leg|4
+chomps your hand|4
+gnaws your ankle|4
+snacks on you|3
+;defense
+0
+;gold reward
+3
+;experience
+3
+;hit points
+8
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Grizzly Bear
+;string said when you see him
+A bear on its hind legs roars at you.
+;power move kill string
+Time to grin and bear it.. Haw!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+bites you|4
+bites a leg|4
+chomps your hand|2
+gnaws your ankle|3
+`bbear hugs`2 you|6
+;defense
+0
+;gold reward
+7
+;experience
+6
+;hit points
+13
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#monster4
+@fight
+;name
+Armored Hedge Hog
+;string said when you see him
+A tiny brown thing shoots between your legs!
+;power move kill string
+Sonic he ain't.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+bites your toes|2
+prickles you|5
+rolls over your feet|2
+NONE|NONE
+NONE|NONE
+;defense
+7
+;gold reward
+6
+;experience
+5
+;hit points
+9
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Farmer Joe
+;string said when you see him
+`0"Hey you!  Kid!  Were you the one stealing my apples?!
+;power move kill string
+Looks like Joe got the whuppin' he had coming...
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+throws a pitchfork|5
+yells with a redneck accent|2
+opens a can 'o whup-ass|7
+uses a southern drawl|5
+NONE|NONE
+;defense
+4
+;gold reward
+8
+;experience
+6
+;hit points
+13
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#monster6
+@fight
+;name
+Tabby Cat
+;string said when you see him
+What's that?  A child crying?  Nope, a cat in heat.
+;power move kill string
+9 lives he'll need now... Haw!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+scratches your face|6
+sharpens his claws|3
+sprays your legs for|2
+NONE|NONE
+NONE|NONE
+;defense
+2
+;gold reward
+2
+;experience
+5
+;hit points
+6
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Angry Hen
+;string said when you see her
+Something starts pecking on your foot?
+;power move kill string
+This fowl shall never cluck again.
+;sex - 1 is male, 2 is female, 3 is it
+2
+;weapon and strength for the weapon, up to 5
+pecks you|5
+lays an egg on your leg|3
+flaps at you crazily|2
+NONE|NONE
+NONE|NONE
+;defense
+0
+;gold reward
+1
+;experience
+2
+;hit points
+2
+;if win: ref file|name or NONE
+FIGHT.REF|GETEGG
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+
+@#monster11
+@fight
+;name
+Small Tree Elf
+;string said when you see him
+A tiny bow pokes out from between some leaves!
+;power move kill string
+You pick up the tiny body and throw it back into the woods. Haw!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+hits you with an arrow|8
+throws a small dagger at you|7
+throws a rock at you|4
+NONE|NONE
+NONE|NONE
+;defense
+3
+;gold reward
+14
+;experience
+12
+;hit points
+15
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster15
+@fight
+;name
+Bat
+;string said when you see him
+Something flaps in your face!
+;power move kill string
+You fling the bat against a wall.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+bites you|3
+NONE|NONE
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+0
+;gold reward
+6
+;experience
+3
+;hit points
+8
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#GETEGG
+@do QUEBAR
+You find an egg from within the chicken entrails!
+@do `i43 + 1
+
+@#findmoney
+@do `p20 random 20 1
+@do money + `p20
+@do saybar
+`2You find a pouch with `$$`p20`2 in it!
+
+
+@#findkid
+@do `v01 is 1
+@if `i11 > 0 then do
+ @begin
+ @closescript
+ @end
+@busy
+@show
+`r0`c  `%`r1 TRAVELING EVENT `r0
+
+`2  You come across a small girl - she couldn't be older than twelve.  She
+  is crying.  `0"S&sir, will you take me home?" `2she asks, pitifully.
+
+@do write
+`x`x
+@choice
+Agree to take her home, wherever that might be.
+Leave her here to rot.
+@if response is 2 then do
+  @begin
+  @show
+
+
+  `$"Sorry little girl, find your own way home.  Haw!" `2you tell her.
+
+`k
+  @end
+
+@if response is 1 then do
+  @begin
+  @do `i11 is 1
+  @show
+
+
+  `2You agree to take her home.   She says her mother is waiting for her
+  at the Red Dragon Inn.
+
+`k
+  @end
+@drawmap
+@update
+
+@#findbird
+@busy
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2A bird flies near you.  Hit it with a stone? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is N then do
+  @begin
+  @do saybar
+The bird flies west.
+  @closescript
+  @end
+
+@if `p09 is 1 then do
+  @begin
+  @do `p20 random 2 1
+  @if `p20 is 1 then do
+    @begin
+    @do saybar
+`2The stone misses.  The bird gets away.
+    @closescript
+    @end
+  @end
+
+@if l2tree.dat exists true then do
+  @begin
+  @readfile l2tree.dat
+`s01
+  @end
+
+@if l2tree.dat exists false then do
+  @begin
+  @do `s01 is SECRET
+  @end
+
+@show
+`r0`c  `r1  Your aim was true  `r0
+
+`2  The bird falls to the earth.
+
+`k  `2There is a note with the following written on it:
+
+  `0"The treehouse password is `%`s01`0"
+
+`k
+   @drawmap
+   @update
+   @closescript
+
+@#event
+@do `p20 random 3 1
+@if `p20 is 1 then goto findkid
+@if `p20 is 2 then goto findmoney
+@if `p20 is 3 then goto findbird
+
+@show
+Whatup!
+
+@#sbrook
+@do `p20 random 4 1
+@if `p20 is 1 then goto event
+
+@busy
+@do write
+`'
+@do `p20 random 7 1
+@do goto monster`p20
+
+@#elf
+
+@do `p20 random 4 1
+@if `p20 is 1 then goto event
+
+@busy
+@do `p20 random 1 11
+@do goto monster`p20
+
+@#cave
+@busy
+@do `p20 random 1 15
+@do goto monster`p20
+
+@#desert
+@do `p20 random 4 1
+@if `p20 is 1 then do
+   @begin
+   @run GENRAN in GENRAN.REF
+   @end
+
+
+@busy
+@do `p20 random 3 20
+@do goto monster`p20
+
+
+@#NOMORE
diff --git a/xtrn/lord2/fightne.ref b/xtrn/lord2/fightne.ref
new file mode 100644
index 0000000000000000000000000000000000000000..9b22bb862306181377be29bede39ce08b6f4724f
--- /dev/null
+++ b/xtrn/lord2/fightne.ref
@@ -0,0 +1,319 @@
+@#monster1
+@fight
+;name
+Nibbet
+;string said when you see him
+A little hairy ball attaches itself to your leg.
+;power move kill string
+Let's just hope it didn't breed nearby...
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+gives you a rash|18
+squeezes your crotch|25
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+34
+;gold reward
+289
+;experience
+122
+;hit points
+50
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Himmel Clan Member
+;string said when you see him
+`0"Die, pagan!" `2a man in a robe screams.
+;power move kill string
+He eerily smiles as you take his life.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+burns you with his cross|76
+curses you|56
+cuts your arm|45
+NONE|NONE
+NONE|NONE
+;defense
+9
+;gold reward
+386
+;experience
+98
+;hit points
+312
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+STONEP.REF|THIEF
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Morphing Rabbit
+;string said when you see him
+The bush in front of you begins to move.
+;power move kill string
+The thing has just had its last transformation.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+springs at your neck|98
+morphs into a lion and bites|87
+morphs into a mosquito|27
+NONE|NONE
+NONE|NONE
+;defense
+23
+;gold reward
+332
+;experience
+189
+;hit points
+203
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Triceratops
+;string said when you see him
+Some kind of large lizard with horns is charging you.
+;power move kill string
+It's actually still breathing, but who has time to kill everything?
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+charges you|87
+bores you|76
+tramples you|92
+NONE|NONE
+NONE|NONE
+;defense
+43
+;gold reward
+287
+;experience
+190
+;hit points
+100
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Hairy Yak
+;string said when you see him
+Something standing in a field nearby is making noises at you.
+;power move kill string
+Poor thing, they are gonna be extinct soon at this rate.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+sits on on|70
+falls on you|80
+attempts to sleep on you|60
+rams you|55
+NONE|NONE
+;defense
+32
+;gold reward
+245
+;experience
+146
+;hit points
+130
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+Evil Pixie
+;string said when you see him
+A tiny little body floats down in front of you, scowling.
+;power move kill string
+Squish.  Need you do more?
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+tickles your nose|76
+buzzes your ear|87
+kicks you in the shin|120
+NONE|NONE
+NONE|NONE
+;defense
+80
+;gold reward
+525
+;experience
+245
+;hit points
+2
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Dark Spirit
+;string said when you see him
+A shadow moves towards you with lightning speed.
+;power move kill string
+You showed it the light.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+grabs your heart|79
+engulfs you in darkness|90
+attacks your soul|112
+NONE|NONE
+NONE|NONE
+;defense
+35
+;gold reward
+405
+;experience
+135
+;hit points
+120
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster8
+@fight
+;name
+Kung-Fu Warrior
+;string said when you see him
+`0"Grasshopper, I must fight you."  `2you hear.
+;power move kill string
+`$"Better go back to the Dojo Wang."
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+judo chops at you neck|85
+throws a fireball|97
+uses his ninja throwing stars|105
+NONE|NONE
+NONE|NONE
+;defense
+38
+;gold reward
+450
+;experience
+110
+;hit points
+115
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster9
+@fight
+;name
+Crazed Beaver
+;string said when you see him
+`2You hear a rustling in the bushes that's coming closer.
+;power move kill string
+`$"Never thought I'd meet a beaver I didn't like."
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+gnaws at your legs|76
+makes big claw marks in your back|90
+calls upon his nature friends to help|105
+eats part of you|97
+NONE|NONE
+;defense
+40
+;gold reward
+500
+;experience
+130
+;hit points
+100
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster10
+@fight
+;name
+Crystaline Entity
+;string said when you see him
+`2Something floating like that can't be from this world.
+;power move kill string
+`2I should've come here either.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+uses some form of energy attack|82
+hits with some kind of beam|94
+inverses its polarity at you|107
+NONE|NONE
+NONE|NONE
+;defense
+38
+;gold reward
+350
+;experience
+165
+;hit points
+130
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#FIGHT
+@do `p20 random 12 1
+@if `p20 is 1 then do
+ @begin
+ @run GENRAN in GENRAN.REF
+ @end
+@busy
+@do `p20 random 10 1
+@do goto monster`p20
diff --git a/xtrn/lord2/fightnw.ref b/xtrn/lord2/fightnw.ref
new file mode 100644
index 0000000000000000000000000000000000000000..82a5aaca06b5bfeb1ce5f5b19b1841c6f7de0137
--- /dev/null
+++ b/xtrn/lord2/fightnw.ref
@@ -0,0 +1,289 @@
+@#monster1
+@fight
+;name
+DoppelGanger
+;string said when you see him
+You come upon a small grey creature that suddenly takes your shape!
+;power move kill string
+You find a new respect for yourself...
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+hits with its s&weapon|87
+pounces you|72
+lays down the smack|92
+NONE|NONE
+NONE|NONE
+;defense
+38
+;gold reward
+300
+;experience
+110
+;hit points
+`p02
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Giant Bird
+;string said when you see him
+That bird up there looks pretty big.
+;power move kill string
+Yea, go ahead and fly now buddy.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+pecks at your eyes|80
+claws you|67
+tries to pick you up|90
+NONE|NONE
+NONE|NONE
+;defense
+25
+;gold reward
+475
+;experience
+180
+;hit points
+180
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Bounty Hunter
+;string said when you see him
+`0"Hey I bet there's a price on your head." `2 you hear.
+;power move kill string
+He should do better research.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+smacks you with his crossbow|87
+hits with his longsword|76
+stabs hard with a dagger|90
+NONE|NONE
+NONE|NONE
+;defense
+32
+;gold reward
+600
+;experience
+154
+;hit points
+240
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Roaming Mob
+;string said when you see him
+`0"Hey there s&he is!" `2 you hear.
+;power move kill string
+Just go away you losers!
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+chase you down|80
+use their pitchforks and shovels on you|95
+let loose the dogs|78
+NONE|NONE
+NONE|NONE
+;defense
+30
+;gold reward
+480
+;experience
+170
+;hit points
+350
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Angry Mage
+;string said when you see him
+`2You see a light up ahead, of a fireball headed towards you.
+;power move kill string
+Magic is how long it took me to kick your ass!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+throws a fireball|85
+throws a iceball|100
+calls upon the dead|79
+throws lightning at you|105
+smacks you with his staff|81
+;defense
+27
+;gold reward
+401
+;experience
+156
+;hit points
+480
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+Lost Gladiator
+;string said when you see him
+`0"Hey, have you seen Hawk or Ice?"  `2you hear.
+;power move kill string
+`$"I am the greatest!" 
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+nails you with a tennis ball|87
+wrestles you down|102
+smashes you with a stick|76
+talks smack to you|88
+NONE|NONE
+;defense
+32
+;gold reward
+550
+;experience
+160
+;hit points
+400
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Shawn
+;string said when you see him
+`0"My 90 is just as fast as your 133!" `2 you hear.
+;power move kill string
+`$"Over Clock this!"`2
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+smacks you with his keyboard|80
+give you a virus|78
+blows up your chopper|97
+NONE|NONE
+NONE|NONE
+;defense
+33
+;gold reward
+430
+;experience
+160
+;hit points
+210
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster8
+@fight
+;name
+Rogue Officer
+;string said when you see him
+`0"I could help you, but ..." `2 you hear.
+;power move kill string
+So that's the way the man's gonna be?
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+hits with him mace|85
+boots you in the head|99
+nails you with a poison dart|105
+NONE|NONE
+NONE|NONE
+;defense
+25
+;gold reward
+410
+;experience
+156
+;hit points
+130
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster9
+@fight
+;name
+Mercenary
+;string said when you see him
+`0"I'm looking for a war ..." 
+;power move kill string
+`$"Looks like he was pressed for time."
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+jabs you with his spear|97
+connects with his morning star|105
+rams his spear through your arm|115
+NONE|NONE
+NONE|NONE
+;defense
+27
+;gold reward
+760
+;experience
+166
+;hit points
+250
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#FIGHT
+@do `p20 random 12 1
+@if `p20 is 1 then do
+ @begin
+ @run GENRAN in GENRAN.REF
+ @end
+@busy
+@do `p20 random 9 1
+@do goto monster`p20
diff --git a/xtrn/lord2/fightsw.ref b/xtrn/lord2/fightsw.ref
new file mode 100644
index 0000000000000000000000000000000000000000..61f3f40789dbdda81292298be56950fe60be0527
--- /dev/null
+++ b/xtrn/lord2/fightsw.ref
@@ -0,0 +1,387 @@
+;some monsters for the West Coast of the 1st continent, they are a bit
+;tougher than most ones.  Around BoneTown & FlagCity up to the Desert
+;and Snowy Pass.
+
+@#fight
+@do `p20 random 10 1
+@if `p20 is 1 then do
+ @begin
+ @run GENRAN in GENRAN.REF
+ @end
+@busy
+@do `p20 random 12 1
+@do goto monster`p20
+
+@#monster1
+@fight
+;name
+Highway Raider
+;string said when you see him
+`0"Put down your arms and no one gets hurt!" `2you hear from behind.
+;power move kill string
+You carefully step over the lifeless Rogue's body.. hehe!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+punches you|58
+backstabs you|83
+hits you with a poison dart|78
+clubs you|67
+NONE|NONE
+;defense
+10
+;gold reward
+230
+;experience
+180
+;hit points
+90
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Rabid Tiger
+;string said when you see him
+You hear a hoarse deep growl around the rock ahead.
+;power move kill string
+Stay kitty stay!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+rips off part of your arm|73
+bats you hard with a paw|85
+charges you|105
+NONE|NONE
+NONE|NONE
+;defense
+20
+;gold reward
+157
+;experience
+96
+;hit points
+78
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Hill Dwarf
+;string said when you see him
+You see a small hyperactive looking dwarf approaching.
+;power move kill string
+`$"Twikie from Buck Rodgers called, he want's his double back," `2you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+hits you with a bone club|60
+wields his battle axe at you|75
+shouts plenty of obscenities|78
+kicks your knees, hard|69
+NONE|NONE
+;defense
+12
+;gold reward
+245
+;experience
+135
+;hit points
+103
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Rock Golem
+;string said when you see him
+A large stone sprouts legs and lunges at you!
+;power move kill string
+You rock out with a swing of your s&weapon & split it in two.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+pounds your foot|40
+throws its arm at your head|56
+rocks out|43
+NONE|NONE
+NONE|NONE
+;defense
+30
+;gold reward
+534
+;experience
+365
+;hit points
+380
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Lost Monkey
+;string said when you see him
+`0"Oo oo oo," `2you hear from behind.
+;power move kill string
+`2Bad monkey, boy did you spank him!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+twists your arm|60
+sweeps your feet|65
+bites at your finger|50
+whips you with his tail|70
+NONE|NONE
+;defense
+2
+;gold reward
+23
+;experience
+30
+;hit points
+34
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+Sir Beavis
+;string said when you see him
+`0"Halt, heir person, or like ... uh something," `2you hear from behind.
+;power move kill string
+That knight guy ... really sucked.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+hears voices|68
+slams you with his warhammer|78
+lays the smack down|89
+has a seizure|90
+NONE|NONE
+;defense
+37
+;gold reward
+343
+;experience
+289
+;hit points
+145
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Still Lost Knight
+;string said when you see him
+`0"Halt you too must be an enemy of this land," `2says a confused voice.
+;power move kill string
+`$"I thought you found your way home last time?" `2you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+breaks his club on your face|70
+hits with his broadsword|86
+bludgeons you|69
+stabs with a hidden dagger|68
+NONE|NONE
+;defense
+22
+;gold reward
+322
+;experience
+210
+;hit points
+87
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster8
+@fight
+;name
+Giant Snake
+;string said when you see him
+You see what you thought was a big log move and hiss at you!
+;power move kill string
+My anaconda don't want none unless it's got buns hun.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+inject about a liter of venom into you|78
+squeezes you|60
+gets a bite of your arm|67
+NONE|NONE
+NONE|NONE
+;defense
+14
+;gold reward
+287
+;experience
+102
+;hit points
+65
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster9
+@fight
+;name
+Future Warrior
+;string said when you see him
+`0"I'm afraid I have to take you back with me," `2you hear from behind.
+;power move kill string
+`$"I'm not going back with you," `2you scream .
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+blasts you with his laser|100
+gets lock on you with a beam of some kind|95
+uses his proton launcher|110
+launches a flying explosive thing at you|108
+calls for an airstrike from his Mauler|120
+;defense
+35
+;gold reward
+700
+;experience
+290
+;hit points
+120
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster10
+@fight
+;name
+Giant Worm
+;string said when you see him
+There's an awfully big tube hangin out of that carcus.
+;power move kill string
+No way you're getting worms.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+touches you|67
+gets slime on you|60
+attaches to your leg|70
+NONE|NONE
+NONE|NONE
+;defense
+12
+;gold reward
+199
+;experience
+98
+;hit points
+55
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster11
+@fight
+;name
+Oversized Hawk
+;string said when you see him
+A rather large shadow passes overhead.
+;power move kill string
+Put em on the endagered species list.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+gashes away some flesh|65
+buries its beak in your shoulder|60
+lands on your head|67
+NONE|NONE
+NONE|NONE
+;defense
+10
+;gold reward
+88
+;experience
+67
+;hit points
+50
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster12
+@fight
+;name
+Stray Cow
+;string said when you see him
+A loud `0"Moo" `2comes from up ahead!
+;power move kill string
+Got Milk?
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+moos at you|55
+kicks you|60
+milks you for a change|67
+NONE|NONE
+NONE|NONE
+;defense
+12
+;gold reward
+76
+;experience
+143
+;hit points
+45
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#done
diff --git a/xtrn/lord2/flagcity.ref b/xtrn/lord2/flagcity.ref
new file mode 100644
index 0000000000000000000000000000000000000000..74ba998346e5fa03837a3f63d54c4fc84dd829eb
--- /dev/null
+++ b/xtrn/lord2/flagcity.ref
@@ -0,0 +1,593 @@
+;File for the Western city on the first continent  Flagcity
+
+@#CITYSIGN
+;Sign helping find the way to flagcity
+@DO SAYBAR
+`2 <---------   To Flagcity
+@do moveback
+
+@#CAVERN
+;Looking into the deep cavern on snowy ridge
+@if &lasty is 6 then do
+  @begin
+@DO SAYBAR
+`2You narrowly escape death!  That was a crappy place to warp to!
+@closescript
+  @end
+@DO SAYBAR
+`2That's DEEP, don't fall in there.
+
+@#DSIGN
+;Sign by the desert 
+@DO SAYBAR
+`2 <---------   Flagcity     Desert   --------->
+@do moveback
+
+@#heal
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `r1  FlagCity Healing  `r0
+
+`2  Arik looks you over for wounds.
+
+@do write
+`x`x
+@if `p02 < `p03 then do
+ @begin
+@do `p20 is `p03
+@do `p20 - `p02
+@do `p20 / 2
+
+
+ @show
+`0"You don't look so good, friend!  I'll fix ya up for `$`p20`0 gold, k?"
+
+@do write
+`x`x
+@choice
+Heal yourself for `$$`p20`%. (you have `$$&money`%)
+Limp on out.
+@show
+`\
+@if response is 1 then do begin
+ @begin
+ @if money < `p20 then do
+  @begin
+  @show
+  `0"Sorry old s&boy, we don't do charity work here."
+
+ @do write
+`x`x
+ @choice
+Well Christ!  How am I supposed to make money when I can barely walk?
+Jesus, how 'bout a little compassion for once in your life old man!
+How 'bout some of your 'special' pills then?
+Yes sir.
+@show
+
+
+@if response is 4 then do
+ @begin
+ @show
+  `0"That's a good lad, now get along with you!" `2 he laughs.
+
+`k
+ @end
+
+@if response is 1 then do
+ @begin
+ @show
+  `0"Damn it, s&boy, be a s&man for once in your life!"`2 he yells.
+
+`k
+ @end
+@if response is 2 then do
+ @begin
+ @show
+  `0"I cannot respect a man who doesn't work," `2Arik informs you.
+
+`k
+ @end
+@if response is 3 then do
+ @begin
+ @do `p02 = 1
+ @show
+  `0"Sure.  Take uh.. these." `2 he snickers.
+
+  `2You gulp down the weird black pills
+
+  `4HIT POINTS GO DOWN TO 1.
+
+`k
+ @end
+
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do money - `p20
+@do `p21 = `p03
+@do `p21 - `p02
+@do `p02 = `p03
+@show
+  `2You feel much better as `0`p21`2 hitpoints are restored.
+
+`k
+  @end
+  @drawmap
+  @update
+  @closescript
+@end
+
+@show
+`0"You have no ailments, come back later!" `2Arik laughs.
+
+`k
+@drawmap
+@update
+
+@#bank
+@do `v01 is 1
+@offmap
+@do moveback
+@label bankstart
+@show
+`r0`c  `r1  `%3rd Bank Of FlagCity  `r0
+
+`2  A young clerk eyes you nervously.
+
+@if bank more 0 then do
+ @begin
+ @show
+`2  You are holding `$$&money`2, your account is at `$$&bank`2.
+
+ @end
+
+@if bank is 0 then do
+ @begin
+ @show
+`2  You currently don't have an account with them.
+
+ @end
+
+@do write
+`x`x
+@choice
+>&bank 0 Make a deposit.
+>&bank 0 Make a withdraw.
+=&bank 0 Apply for an account here.
+Leave
+@if response is 3 then do
+  @begin
+  @do `v01 is 1
+  @show
+
+
+  `2The nervous boy asks you to sit down.
+
+  `0"Your full name s&sir?"
+  @do `s01 is NIL
+  @do write
+`x`x
+  @do readstring 30 `s01
+  @show
+
+
+  `0"Your current residence?"
+
+  @do write
+`x`x
+  @do readstring 50 `s01
+
+  @show
+
+
+  `0"Your net income yearly?"
+
+  @do write
+`x`x
+  @do readnum 10
+  @if `v40 less 20 then do
+  @begin
+  @show
+
+  @end
+
+  @if `v40 more 19 then do
+   @begin
+   @show
+
+
+  `2You giggle to yourself `0-`2 how will they know you just totally lied on
+  that last questions?!??  You only made `b19`2 gold pieces last year!
+  @end
+  @label bankagain
+  @show
+
+  `0"How much would you like to open your account with?" `2(you have `$$&money`2)
+
+  @do write
+`x`x
+  @do readnum 10 money
+  @if `v40 is 0 then do
+   @begin
+   @show
+
+
+  `2You decide you really don't want to open an account with this
+  branch.
+
+`k
+  @do goto bankstart
+  @end
+
+  @if `v40 > money then do
+   @begin
+   @show
+
+
+`2  You don't have this much!  Try again.
+   @do goto bankagain
+   @end
+
+  @if `v40 < 50 then do
+  @begin
+  @if money < 50 then do
+   @begin
+  @show
+
+  `2The clerk eyes your shabby clothing distastefully - as if he knew
+  this part was coming.
+
+  `0"I'm sorry s&sir, we do require `$$50 `2to open an account.  And could
+  you please leave the pen on your way out." `2he asks haughtily.
+
+`k  `2You carefully return the pen.  `$"I'll be back someday.  And you WILL
+  open an account for me then," `2you vow seriously.
+
+  `0"Of course you will, s&sir.  Please exit now, remember, the sign does
+  say no loitering.  And this means you." `2he says as he points to the
+  door.
+
+`k
+@drawmap
+@update
+@closescript
+   @end
+
+  @show
+
+
+  `0"S&Sir, `$$50 `0is required to open a new account!"
+  @do goto bankagain
+  @end
+  @do money - `v40
+  @do bank + `v40
+  @show
+
+
+  `0"Very good S&sir!  Your new account has been opened!"
+
+`k
+  @do goto bank
+  @end
+
+
+@if response is 1 then do
+  @begin
+  @do write
+`\
+  @label deposit
+  @do write
+`\  `0"Deposit how much, s&sir?"`\`\`x`x
+  @do readnum 10 money
+  @if `v40 more money then do
+  @begin
+  @show
+`\`\  `2Maybe you left the money in your other pants?  'cuz it sure ain't here.
+  @do goto deposit
+  @end
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, this isn't happening and you aren't here.
+  @do goto withdraw
+  @end
+
+  @do money - `v40
+  @do bank + `v40
+  @do goto bankstart
+
+  @end
+
+@if response is 2 then do
+  @begin
+  @do write
+`\
+  @label withdraw
+  @do write
+`\  `0"Withdraw how much, s&sir?"`\`\`x`x
+  @do `p21 is bank
+  @do `p21 - 1
+  @if `p21 < 0 then `p21 is 0
+  @do readnum 10 `p21
+  @if `v40 more bank then do
+  @begin
+  @show
+`\`\  `2You kind of don't have that much in your account.  Nice bookeeping!
+  @do goto withdraw
+  @end
+
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, I don't think so.
+  @do goto withdraw
+  @end
+
+  @if `v40 is bank then do
+   @begin
+   @show
+
+
+  `0"But s&sir!  This will close your account with us, are you sure you wish
+  to do that?" `2the clerk chokes.
+
+  @do write
+`x`x
+  @do `v01 is 1
+  @choice
+Ok, nevermind then.
+Yeah.  Get my damn money.
+@if response is 1 then goto bank
+
+   @end
+
+  @do money + `v40
+  @do bank - `v40
+  @do goto bankstart
+  @end
+
+
+
+@drawmap
+@update
+
+
+@#APOTH
+;The apothecary
+@do moveback
+@offmap
+@busy
+@show
+`r0`c                      `r1  The Apothecary  `r0
+
+
+
+
+@buymanager
+5
+40
+55
+@drawmap
+@update
+
+@#INN
+;FlagCity Inn
+@offmap
+@do moveback
+@DO `v01 is 1
+@show
+`r0`c  `r1  FlagCity Inn  `r0
+
+  `2You step into the wooden building.  An old man sits behind a wooden
+  counter staring at the sun.  He notices you and speaks.
+  `0"Hello, need a room sonny?  They're `$$90`0 here."`2
+
+@DO WRITE
+`x`x
+@CHOICE
+>&money 89 Get a room
+Take off
+@if response is 1 then do
+@begin
+@do money - 90
+@show
+`\`\  `0"Enjoy your stay here."
+`\`k
+ @do map is 73
+ @loadmap 73
+ @do x is 8
+ @do y is 10
+@drawmap
+@update
+@closescript
+@end
+@drawmap
+@update
+@end
+
+@#TMAN
+;Traveling man by the desert
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1  Rocky Alcove  `r0
+
+  `2You round the bend of these small sandy mountains to find a man peacefully
+  sitting in the sun.  He notices you and nods.
+  `0"Hello my fellow traveler"`2
+
+@DO WRITE
+`x`x
+@CHOICE
+Say hi
+Leave, quick!!
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `0"It is a wonderful day today.  Never forget the healing power of simply
+  being outdoors."
+
+`k
+  @end
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `2You take off in a hurry.
+
+`k
+  @end
+
+@drawmap
+@update
+@end
+
+@#CAVE
+;Cave entrance to FlagCity
+@SHOW
+`r0`c  `r1 Dark mysterious ocean cave `r0
+
+  `2You round the next part of the rocky coastline to find a cave you didn't
+  notice before.  Hestantly you brave you way up the cold dark passage until
+  finally you hear ... voices!!  It sounds like a town up there.
+
+`/`k
+ @do map is 151
+ @loadmap 151
+ @do x is 15
+ @do y is 10
+@drawmap    
+@update
+
+@#CITYHALL
+;FlagCity city hall
+@OFFMAP
+@DO MOVEBACK
+@label town
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1  City Hall  `r0
+
+  `2You step into the luxurious building finding a nervous looking noble
+  standing behind a counter.  He sees you and nods.
+  `0"Good day s&sir, how may the Crown help you?"`2
+
+@DO WRITE
+`x`x
+@CHOICE
+Pay your taxes
+Complain about the Bounty offices
+Leave, quick!!
+@IF RESPONSE IS 1 THEN DO
+  @BEGIN
+  @IF &MONEY > 49 THEN DO
+  @BEGIN
+  @DO MONEY - 50
+  @SHOW
+`\`\  `$"I'd like to be a good subject and pay my taxes,"`2 you say.
+
+  `0"Very well, that'll be 50 gold s&sir"`2 he states.  A chill
+  runs down your back as you pay.
+`\`k
+  @do goto town
+  @END
+  @SHOW
+`\`\  `$"I'd like to pay my taxes!"`2 you merrily say.
+
+`k  `0"I'm sorry sir, you don't have enough money." says the noble.
+`\`k
+@do goto town
+@END
+@IF RESPONSE IS 2 THEN DO
+  @BEGIN
+  @SHOW
+`\`\  `$"What's with those damn bounty hunters next door?"`2 you demand.
+
+  `0"You go yell at them, I'm not gonna die!"`2 he yells.
+`\`k
+@do goto town
+@END
+@drawmap
+@update
+@end
+
+
+
+@#TICKET
+;The travel offices
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1`%   FlagCity Travel  `r0
+
+  `0"Welcome to Flagcity travel, what can I do for you?" `2Asks a receptionist.            
+@DO WRITE
+`x`x
+@CHOICE
+Pick up a world map
+Buy a ticket for somewhere
+Leave
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `$"I'd need to grab a map from ya,"`2 you reply.
+`\`k  `0"Okay that'll be 20 gold,"`2 she states.
+
+@if money < 19 then do
+        @BEGIN
+        @show
+  `2You don't have that much, so again you take it out on her.
+
+`k  `$"Look you stupid lady, why ever do maps cost that much?!?! You just
+  lost a big time client, woman!" `2you scream.
+
+`k  `2You see tears from her eyes as you stomp off.
+`\`k
+        @DRAWMAP
+        @UPDATE
+        @CLOSESCRIPT
+        @End
+@show
+`2  You plop down the money.`\`\`k
+@do money - 20
+@do `i20 + 1
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@Show
+`\`\  `$"I need to go somewhere," `2you say.  She nods, `0"Okay where
+   would you like to go today?" `2You eye her & review your choices.
+
+`k
+@show
+`r0`c                         `r1 `%Flagcity Travel Center
+
+
+@buymanager
+26
+27
+32
+@do goto TICKET
+@End
+@IF RESPONSE IS 3 THEN DO
+@Begin
+@Show
+`\`\  `$"Sorry I uh ... gotta go,"`2 you say heading out the door.
+`\`k
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+
+
+@#done
diff --git a/xtrn/lord2/gamble.ref b/xtrn/lord2/gamble.ref
new file mode 100644
index 0000000000000000000000000000000000000000..ff6e4c7f5e2eaa5bc5548e90c9120cb4793a3dbd
--- /dev/null
+++ b/xtrn/lord2/gamble.ref
@@ -0,0 +1,1083 @@
+;Gambling Casino for Lord II: New World
+;Lord II: New World written by Seth A. Robinson
+;Gambling Casino written by Davey Case
+;You can e-mail your questions and comments to toadhall@chatlink.com
+;Currently has: Craps, Slots
+
+;5-16-97 touched up by Seth A. Robinson, added colors, 'per day' limits
+;and fixed it so Oranges worked in slots.
+;5-30-97 Townent added by Pap & Seth
+;townent
+
+@#TOWNENT
+;For entering bonetown..
+@do `v01 is 1
+@if bounty.&playernum exist true then do
+  @begin
+  @do x is 77
+  @do y is 15
+  @do map is 1287
+  @loadmap 1287
+  @drawmap
+  @update
+  @do saybar
+  `0"Go right in Bounty s&boy .. hehe"
+  @closescript
+  @end
+;Positive Alignment
+@if `p07 > 0 then do
+ @begin
+  @do moveback
+  @do `v01 is 1
+  @show
+`r0`c  `r1  `%BoneTown Gates  `r0
+
+  `0"Hey there goody s&boy, nice people like you need to pay a fee to
+  get into our little playground.  500 gold like now!"  `2demands the
+  big guard.
+
+  `%You have `$$&money `%gold.`2
+
+@do write
+`x`x
+@choice
+>&money 499 Pay the fee
+Forget it!
+@if response is 1 then do
+  @begin
+   @do money - 500
+   @show
+`\`\  `0"Thanks very much, go right in ..."
+`\`k
+   @do x is 77
+   @do y is 15
+   @do map is 1287
+   @loadmap 1287
+   @drawmap
+   @update
+   @closescript
+  @end
+@drawmap
+@update
+@closescript
+@end
+;OtherWise negative
+  @do moveback
+  @do `v01 is 1
+  @show
+`r0`c  `r1  `%BoneTown Gates  `r0
+
+  `0"Hey there my fine criminal, for you I'll make it a small fee to get
+  into our little playground.  Like only 10 gold for you."  `2states the
+  big guard.
+
+  `%You have `$$&money `%gold.`2
+
+@do write
+`x`x
+@choice
+>&money 9 Pay the fee
+Forget it!
+@if response is 1 then do
+  @begin
+   @do money - 10
+   @show
+`\`\  `0"Thanks very much, go right in ..."
+`\`k
+   @do x is 77
+   @do y is 15
+   @do map is 1287
+   @loadmap 1287
+   @drawmap
+   @update
+   @closescript
+  @end
+@drawmap
+@update
+
+@#enter
+;Going into the casino, made to bother those with bounties.
+@if bounty.&playernum exist true then do
+  @begin
+  ;if they HAVE a bounty on them
+  @do moveback
+  @DO SAYBAR
+  `0"No one with a price on s&his head comes in here."
+  @closescript
+  @end
+;If they don't have a bounty on them
+@do x is 34
+@do y is 17
+@do map is 1288
+@loadmap 1288
+@drawmap
+@update
+
+@#help
+ @show
+`r0`c  `r1 Craps Help `r0
+
+  `2If you roll a `02`2, `03`2, or a `012`2 on your first roll, you lose.
+  If you roll a `07`2 or an `011`2 on your first roll, you win.
+
+ `2 Otherwise, the dice are rolled until the total of the
+  first roll is rolled again, in which case the player
+  wins. But if a `07`2 or an `011`2 is rolled after the first
+  roll, you lose.
+
+  Good luck!
+
+`k
+ @do goto craps
+ @end
+
+@#crapstart
+
+@do `v01 is 1
+@do goto craps
+
+@#craps
+@do moveback
+@busy
+@do `p24 is 0
+@do `p21 is money
+@show
+`r0`c  `r1 Playing some Craps `r0
+
+  `2You have `$$`p21`2.  How much do you want to wager? `2(`0`p33 `2gambles left`2)
+
+@do write
+`x`x
+@choice
+$5
+$10
+$20
+$50
+$100
+Help on craps
+Leave
+@if response is 6 then do
+  @begin
+  @do goto help
+  @end
+
+
+@if responce = 1 then do
+ @begin
+ @if `p21 < 5 then do
+  @begin
+  @do goto nomoney
+  @end
+ @do `p20 is 5
+ @do goto begin1
+ @end
+@if responce = 2 then do
+ @begin
+ @if `p21 < 10 then do
+  @begin
+  @do goto nomoney
+  @end
+ @do `p20 is 10
+ @do goto begin1
+ @end
+@if responce = 3 then do
+ @begin
+ @if `p21 < 20 then do
+  @begin
+  @do goto nomoney
+  @end
+ @do `p20 is 20
+ @do goto begin1
+ @end
+@if responce = 4 then do
+ @begin
+ @if `p21 < 50 then do
+  @begin
+  @do goto nomoney
+  @end
+ @do `p20 is 50
+ @do goto begin1
+ @end
+@if responce = 5 then do
+ @begin
+ @if `p21 < 100 then do
+  @begin
+  @do goto nomoney
+  @end
+ @do `p20 is 100
+ @do goto begin1
+ @end
+@if response = 7 then do
+ @begin
+ @do goto ending
+ @end
+@label begin1
+@if `p33 < 1 then do
+  @begin
+  @show
+`r0`c  `r1 `%You carefully spit on the dice for good luck. `r0
+
+`2  `4A hand catches yours before you can roll.
+`\`k  `0"You've gambled enough for today we think, kid.  Come back
+  tomorrow," `2 a greasy looking fellow explains.
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do `p33 - 1
+@show
+`r0`c  `r1 `%You carefully spit on the dice for good luck. `r0
+
+@do `p22 random 5 1
+@do `p23 random 5 1
+@do `p24 + `p22
+@do `p24 + `p23
+@show
+  `0First Roll....
+
+@show
+  `2Die #1`0: `p22
+  `2Die #2:`0 `p23
+
+  `2Total: `0`p24
+
+@if `p24 = 2 then do
+ @begin
+ @show
+
+  `4Snake Eyes!
+ @do goto lose
+ @end
+@if `p24 = 3 then do
+ @begin
+ @show
+  `4Cock Eyes!
+ @do goto lose
+ @end
+@if `p24 = 12 then do
+ @begin
+ @show
+  `4Boxcars!
+ @do goto lose
+ @end
+@if `p24 = 7 then do
+ @begin
+ @show
+  `%A Natural!
+ @do goto win
+ @end
+@if `p24 = 11 then do
+ @begin
+ @show
+  `%A Natural!
+ @do goto win
+ @end
+@show
+  `0`p24`2 is your point.
+@label nextroll
+@do `p25 is 0
+@show
+
+  Press a key to roll again.
+@do `p22 random 5 1
+@do `p23 random 5 1
+@do `p25 + `p22
+@do `p25 + `p23
+@show
+`\`k  `2Die #1: `0`p22
+  `2Die #2: `0`p23
+
+  `2Total: `0`p25
+@if `p25 = `p24 then do
+ @begin
+ @do goto hit
+ @end
+@if `p25 = 7 then do
+ @begin
+ @do goto crapout
+ @end
+@if `p25 = 11 then do
+ @begin
+ @do goto crapout
+ @end
+@show
+
+  `2Not your point, keep rolling the bones!
+@do goto nextroll
+@label hit
+@show
+
+  `0Yes! You hit your point.
+@label win
+@show
+
+  `2You win your bet of: `$$`p20`2!
+@if `p20 = 5 then do
+ @begin
+ @do money + 5
+ @end
+@if `p20 = 10 then do
+ @begin
+ @do money + 10
+ @end
+@if `p20 = 20 then do
+ @begin
+ @do money + 20
+ @end
+@if `p20 = 50 then do
+ @begin
+ @do money + 50
+ @end
+@if `p20 = 100 then do
+ @begin
+ @do money + 100
+ @end
+@do goto bottom
+@label crapout
+@show
+
+  `4You crapped out!
+@label lose
+@show
+
+  `2You lose your bet of: `$$`p20`2.
+@if `p20 = 5 then do
+ @begin
+ @do money - 5
+ @end
+@if `p20 = 10 then do
+ @begin
+ @do money - 10
+ @end
+@if `p20 = 20 then do
+ @begin
+ @do money - 20
+ @end
+@if `p20 = 50 then do
+ @begin
+ @do money - 50
+ @end
+@if `p20 = 100 then do
+ @begin
+ @do money - 100
+ @end
+@label bottom
+@show
+`\`k
+@do goto craps
+@label nomoney
+@show
+`\`\  `4I'm sorry, but you don't have enough money for that bet.
+
+`k
+@do goto craps
+
+@#slotstart
+@show
+`r0`c  `r1 Welcome to the slot machines! `r0
+
+  `0Payoffs are:`2
+
+  `03 Bars`2....................................................`0100 `2to `01
+  3 Bells`2....................................................`080`2 to `01
+  3 Lemons`2...................................................`050 `2to `01
+  3 Plums`2....................................................`030 `2to `01
+  3 Peaches`2..................................................`025 `2to `01
+  3 Oranges`2..................................................`010 `2to `01
+  2 Bars & 1 Bell`2............................................`010 `2to `01
+  2 Bells & 1 Lemon`2...........................................`09 `2to `01
+  2 Lemons & 1 Plum`2...........................................`08 `2to `01
+  2 Plums & 1 Peach`2...........................................`07 `2to `01
+  2 Peaches & 1 Orange`2........................................`05 `2to `01
+  2 Oranges & Anything`2........................................`02 `2to `01
+
+`k
+@do `v01 is 1
+@do goto slots
+
+@#slots
+@busy
+@do moveback
+@do `p20 is 0
+@do `p21 is 0
+@do `p22 is 0
+@do `p23 is 0
+@do `p24 is 0
+@do `p25 is 0
+@show
+`r0`c `% `r1 Pulling your lever `r0
+
+`2  You now have: `$$&money`2.  Put how much in the machine? `2(`0`p33`2 gambles left)
+
+@do write
+`x`x
+@choice
+$1
+$2
+$5
+$10
+$20
+Show payoffs
+Leave
+@if response is 6 then goto slotstart
+
+@if responce = 1 then do
+ @begin
+ @do `p21 is 1
+ @end
+@if responce = 2 then do
+ @begin
+ @do `p21 is 2
+ @end
+@if responce = 3 then do
+ @begin
+ @do `p21 is 5
+ @end
+@if responce = 4 then do
+ @begin
+ @do `p21 is 10
+ @end
+@if responce = 5 then do
+ @begin
+ @do `p21 is 20
+ @end
+@if responce = 7 then do
+ @begin
+ @do goto ending
+ @end
+@if money < `p21 then do
+ @begin
+ @show
+
+  `4You don't have that much money!
+ @key
+ @do goto slots
+ @end
+
+@if `p33 < 1 then do
+  @begin
+  @show
+`r0`c  `r1 `%You grab the level firmly `r0
+
+`2  `4A hand catches yours before you can pull.
+`\`k  `0"You've gambled enough for today we think, kid.  Come back
+  tomorrow," `2 a greasy looking fellow explains.
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+@do `p33 - 1
+
+@show
+`\`\  `2You pull the lever as hard as you can.`\
+@do `p22 random 6 1
+@if `p22 = 1 then do
+ @begin
+ @show
+  `%Bar
+ @do `p23 + 300000
+ @end
+@if `p22 = 2 then do
+ @begin
+ @show
+  `7Bell
+ @do `p23 + 20000
+ @end
+@if `p22 = 3 then do
+ @begin
+ @show
+  `$Lemon
+ @do `p23 + 3000
+ @end
+@if `p22 = 4 then do
+ @begin
+ @show
+  `5Plum
+ @do `p23 + 100
+ @end
+@if `p22 = 5 then do
+ @begin
+ @show
+  `6Peach
+ @do `p23 + 20
+ @end
+@if `p22 = 6 then do
+ @begin
+ @show
+  `6Orange
+ @do `p23 + 3
+ @end
+@do `p22 random 6 1
+@if `p22 = 1 then do
+ @begin
+ @show
+  `%Bar
+ @do `p23 + 300000
+ @end
+@if `p22 = 2 then do
+ @begin
+ @show
+  `7Bell
+ @do `p23 + 20000
+ @end
+@if `p22 = 3 then do
+ @begin
+ @show
+  `$Lemon
+ @do `p23 + 3000
+ @end
+@if `p22 = 4 then do
+ @begin
+ @show
+  `5Plum
+ @do `p23 + 100
+ @end
+@if `p22 = 5 then do
+ @begin
+ @show
+  `6Peach
+ @do `p23 + 20
+ @end
+@if `p22 = 6 then do
+ @begin
+ @show
+  `6Orange
+ @do `p23 + 3
+ @end
+@do `p22 random 6 1
+@if `p22 = 1 then do
+ @begin
+ @show
+  `%Bar
+ @do `p23 + 300000
+ @end
+@if `p22 = 2 then do
+ @begin
+ @show
+  `7Bell
+   @do `p23 + 20000
+ @end
+@if `p22 = 3 then do
+ @begin
+ @show
+  `$Lemon
+ @do `p23 + 3000
+ @end
+@if `p22 = 4 then do
+ @begin
+ @show
+  `5Plum
+ @do `p23 + 100
+ @end
+@if `p22 = 5 then do
+ @begin
+ @show
+  `6Peach
+ @do `p23 + 20
+ @end
+@if `p22 = 6 then do
+ @begin
+ @show
+  `6Orange
+ @do `p23 + 3
+ @end
+@do `p24 is `p21
+@if `p23 = 900000 then do
+ @begin
+ @show
+
+  `%Jackpot!!! `0100 `2to `01`2 payoffs!!
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 100
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 200
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 500
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 1000
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 2000
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 60000 then do
+ @begin
+ @show
+
+  `2You win at `080`2 to `01`2 payoffs!
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 80
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 160
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 400
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 800
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 1600
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 9000 then do
+ @begin
+ @show
+
+  `2You win at `050`2 to `01`2 payoffs!
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 50
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 100
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 250
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 500
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 1000
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 300 then do
+ @begin
+ @show
+
+  `2You win at `030`2 to `01`2 payoffs!
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 30
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 60
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 150
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 300
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 600
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 60 then do
+ @begin
+ @show
+
+  `2You win at `025`2 to `01`2 payoffs!
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 25
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 50
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 125
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 250
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 500
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 9 then do
+ @begin
+ @show
+
+  `2You win at `010`2 to`0 1`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 50
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 100
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 200
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 620000 then do
+ @begin
+ @show
+
+  `2You win at `010`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 50
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 100
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 200
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 43000 then do
+ @begin
+ @show
+
+  `2You win at `09`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 9
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 18
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 45
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 90
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 180
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 6100 then do
+ @begin
+ @show
+
+  `2You win at `08`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 8
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 16
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 40
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 80
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 160
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 220 then do
+ @begin
+ @show
+
+  `2You win at `07`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 7
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 14
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 35
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 70
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 140
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 43 then do
+ @begin
+ @show
+
+  `2You win at `05`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 5
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 25
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 50
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 100
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 300006 then do
+ @begin
+ @show
+
+  `2You win at `02`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 2
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 4
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 40
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 20006 then do
+ @begin
+ @show
+
+  `2You win at `02`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 2
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 4
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 40
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 3006 then do
+ @begin
+ @show
+
+  `2You win at `02`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 2
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 4
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 40
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 106 then do
+ @begin
+ @show
+
+  `2You win at `02`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 2
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 4
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 40
+  @end
+ @key
+ @do goto slots
+ @end
+@if `p23 = 26 then do
+ @begin
+ @show
+
+  `2You win at `02`2 to `01`2 payoffs.
+
+ @if `p21 = 1 then do
+  @begin
+  @do money + 2
+  @end
+ @if `p21 = 2 then do
+  @begin
+  @do money + 4
+  @end
+ @if `p21 = 5 then do
+  @begin
+  @do money + 10
+  @end
+ @if `p21 = 10 then do
+  @begin
+  @do money + 20
+  @end
+ @if `p21 = 20 then do
+  @begin
+  @do money + 40
+  @end
+ @key
+ @do goto slots
+ @end
+@show
+
+  `2I'm sorry, but you `4lose`2 your bet of: `$$`p21
+
+@if `p21 = 1 then do
+ @begin
+ @do money - 1
+ @end
+@if `p21 = 2 then do
+ @begin
+ @do money - 2
+ @end
+@if `p21 = 5 then do
+ @begin
+ @do money - 5
+ @end
+@if `p21 = 10 then do
+ @begin
+ @do money - 10
+ @end
+@if `p21 = 20 then do
+ @begin
+ @do money - 20
+ @end
+@key
+@do goto slots
+
+@#ending
+@drawmap
+@update
+@closescript
+
diff --git a/xtrn/lord2/gametxt.ref b/xtrn/lord2/gametxt.ref
new file mode 100644
index 0000000000000000000000000000000000000000..d80de73a28f0f33d323dcd606219d832b0c7f89d
--- /dev/null
+++ b/xtrn/lord2/gametxt.ref
@@ -0,0 +1,705 @@
+This one of the main .ref files the LORD II engine will use as
+references.  For help on making your OWN, check out REFHELP.DOC.
+
+Default LORD II files use the vars like this:
+
+The gold and bank vars are special cases, other vars do not have names.
+
+The list of how the variables are used has moved to VARLIST.DAT.  This file
+is read by the configuration program - it gives descriptions in the player
+editor from this file.  Check this file if you want to know what a var is
+for, or what free ones are available.
+
+
+@#showlog
+@routine readlog in logstuff.ref
+@drawmap
+@update
+
+@#busy
+;player cannot play, someone is attacking him or something
+@show
+`c  `r1                             `%PROBLEM.                                 `r0
+
+  `2Someone is attacking/giving you an item, please try again in few
+  minutes.
+
+`k
+@halt 0
+
+@#FULL
+;There are already 200 people playing.
+@show
+`r0`c  `r1`% UH OH. `r0
+
+`2  This game already has `0200`2 people in it.  Please try again in a few
+  days, people are deleted after `%15`2 days of inactivity.
+
+  `2Sorry.  Until then, you can only dream of the wonderful world that awaits.
+
+`k
+@
+
+@#drawstats
+@do move 1 5
+@do `s10 is `p01
+@do pad `s10 18
+@do write
+  `2Experience  : `0`s10  `2Hitpoints    : (`0`p02`2 of `0`p03`2)`\
+@do `p20 is gold
+@do `s10 is `p20
+@do pad `s10 18
+@do `p20 is bank
+@do `s09 is `p20
+@do write
+  `2Gold on hand: `$`s10  `2Gold in bank : `$`s09`\
+@do `s10 is `0
+@if `p07 less 0 then `s10 is `4
+@do `s10 add `p07
+@do pad `s10 18
+@do write
+  `2Alignment   : `0`s10  `2Gems         : `0`p19`\
+@do `s10 is `p11
+@if `p11 is 0 then `s10 is `4None
+@if `v05 < 1 then `s10 is Unlimited
+@do pad `s10 18
+@do write
+  `2Turns Left  : `0`s10  `2Time left    : `0&timeleft`\
+
+@do `s10 is S&weapon
+@do pad `s10 18
+@do `p20 is S&wep_num
+@do `p20 + `p04 (adding muscle to weapon strength to show it)
+@do write
+  `2Weapon      : `0`s10  `2Total Attack : `0`p20    `\
+@do `s10 is S&armour
+@do pad `s10 18
+@do `p20 is S&arm_num
+@do `p20 + `p05 (adding dodge to armour defense to show it)
+@do write
+  `2Armour      : `0`s10  `2Total Defense: `0`p20     `\
+
+@do `s10 is `p08
+@do pad `s10 18
+@do write
+  `2Charm       : `0`s10  `2Quest Points : `0`p18`\
+
+
+@#drawwep
+;code to redraw the weapon for arming/unarming.
+@do move 3 9
+@do `s10 is S&weapon
+@do pad `s10 18
+@do `p20 is S&wep_num
+@do `p20 + `p04 (adding muscle to weapon strength to show it)
+@do write
+`r0`2Weapon      : `0`s10  `2Total Attack : `0`p20  `\
+
+@#drawarm
+;code to redraw the armour for arming/unarming.
+@do move 3 10
+@do `s10 is S&armour
+@do pad `s10 18
+@do `p20 is S&arm_num
+@do `p20 + `p05 (adding dodge to armour defense to show it)
+@do write
+`r0`2Armour      : `0`s10  `2Total Defense: `0`p20  `\
+
+@#stats
+@show
+`r0`c`0  `n`2's status and information. (level `0`p09`2)
+`0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+@routine drawstats in gametxt.ref
+@do move 1 12
+@show
+`r5  `%Item                                  Quantity                               `r0
+@do move 1 24 
+@do write
+`r5`%  `$`%Q `$to quit, `%ENTER`$ to use/equip/eat, `%D`$ to drop, `%N`$ for next page & `%P`$ for prev.  `r0
+@do move 1 12
+@#closestats
+@drawmap
+@update
+@closescript
+
+@#startgame
+;do startgame routines here
+@version 99
+;if version 99 or newer isn't detected, it will tell the player to
+;upgrade
+@do `v01 is 1
+@if map < 2 then map is 155
+@if map > 1600 then map is 155
+
+@do write
+`r0`c
+
+@if `p10 is &time then do
+ @begin
+ ;guy has already played today
+
+@if dead is 1 then do
+ @begin
+  @if mail\mail&playernum.dat exist true then do
+   @begin
+   @checkmail
+   @key
+   @end
+
+  @if `v03 is 0 then do
+   @begin
+   @do `v01 is 1
+   @label deadstart
+    @show
+`r0`c  `r1 `%A PROBLEM. `r0
+
+`2  You are lying battered and bruised on the ground.  You can't do much
+  in this state.
+
+  `0Try again tomorrow.
+
+@do write
+`x`x
+@choice
+See todays news
+List players
+`4Quit back to the BBS
+@if responce is 1 then do
+  @begin
+  @routine readlog in logstuff.ref
+  @do goto deadstart
+  @end
+@if responce is 2 then do
+  @begin
+@do write
+`r0`c  `0Ranking players...
+
+@do delete temp`*.dat         ;`* is node number
+@writefile temp`*.dat
+`r0`c`r1                             `%  LORD II RANKINGS                            `r0
+                
+  `0Name                     Experience  Level   Status Alignment Quests
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+@
+@lordrank temp`*.dat 1
+@displayfile temp`*.dat
+@key bottom
+  @do goto deadstart
+  @end
+
+@show
+`\`\  `2Bye.
+
+       @halt
+      @end
+     @end
+
+
+  @show
+  `r1 `% DAY &time  `r0
+
+`2  You have already been out and about today.
+
+ @if `p11 > 0 then do
+  @begin
+  @show
+  `2You have `0`p11`2 turns left today.
+
+  @end
+ @end
+
+@if `p10 not &time then do
+  @begin
+  ;NEWDAY!
+  @do `p10 is &time
+  @do `p11 is `v05 ;this will give them the turns set in rules.ref
+  @do `t04 is 0 ;<-- Can fight master now
+  @do `p02 is `p03 ;<-- Give 'em max hit points
+  @do dead is 0 ;<-- Is now alive
+  @do `t09 is 0 ;<-- Has not visited shrine today
+  @do `t10 random 10 5 ;<-- Amount of fish in stream today
+  @do `p31 is `v07 ;<-- Reset quests per day possible 
+  @do `p33 is `v08 ;<-- Reset gambles per day possible 
+  @do `p32 + 1 ;<-- Advance quest age.. doesn't matter if there is one active
+  @bitset `t12 7 0 ;<-- Has not LOST at Arena yet today
+  @if s&wep_num > 0 then do
+  @begin
+  @show
+  `r1 `% DAY &time  `r0
+
+ @if `p11 > 0 then do
+  @begin
+  @show
+  `2It is morning.  You have `0`p11`2 turns left today.
+
+  @end
+  @show
+`2  You wake up early, strap your `0s&weapon`2 to your back and prepare for
+  adventure!
+
+  @end
+
+  @if dead is 0 then do
+   @begin
+
+    @if s&wep_num is 0 then do
+    @begin
+    @show
+  `r1`%  DAY &time  `r0
+
+ @if `p11 > 0 then do
+  @begin
+  @show
+  `2It is morning.  You have `0`p11`2 turns left today.
+
+  @end
+@show
+`2  You wake up early, and prepare for adventure!
+
+     @end
+    @end
+
+
+  @if `p12 is 1 then do
+  @begin
+  @show
+`k  `%You feel extra weak this morning.
+
+  `2You have `4VD`2.  You must find a place to cure this soon, or you may die.
+
+  @do `p02 / 2
+  @end
+
+  @if `v05 > 0 then do
+    @begin
+      @if `i57 > 0 then do
+        @begin
+        @do `p20 is `i57
+        @do `p20 * 500
+        @do `p11 + `p20
+        @show
+  `2You get `0`p20`2 extra turns from `%Moonstone`2 power!
+
+    @end
+  
+
+  @end
+
+
+
+@if `v03 is 1 then do
+ @begin
+ @if dead is 1 then do
+ ;if he is dead when he logs on
+  @begin
+   @do X is 27
+   @do Y is 7
+   @do dead is 0 ;he is now alive
+   @do `p02 is `p03 (give 'em max hit points)
+   @do MAP is 155 (move 'em home)
+  @end
+ @end
+
+
+@if map < 0 then map is 155
+@if map is 1 then do
+  @begin
+  @do map is 155
+  @show
+  `2Your mother is sitting by your bed, weeping.
+
+`k  `$"Mom?  Why the tears?  Is it something I've done?" `2you ask.
+
+`k  `0"I was so worried!" `2you mother sobs, `0"When the town elders
+  brought you here last night I was sure you were dead!"
+
+  `$"I'm sorry mother.  I shall never scare you like this again!" `2you
+  promise.
+
+  @end
+ @end
+
+@if x < 1 then x is 27
+@if y < 1 then y is 7
+@if x > 80 then x is 27
+@if y > 24 then y is 7
+
+@show
+`k
+@do talk `0`n`x`2has`xentered`xthe`xrealm. all
+
+@routine readlog in logstuff.ref
+
+
+;do end routines here
+@#endgame
+@do talk `0`n`x`2has`xleft. all
+@if dead is 0 then do
+ @begin
+ @do move 1 24
+ @show
+
+`r0  `2You are lulled to sleep by a gentle breeze...
+
+  `0Come back soon.
+`2
+ @end
+
+@#RUN ;if the guy runs
+@drawmap
+@update
+
+@#DIE
+@do move 3 24
+@do write
+`r0                                                                           `x
+
+  @do X is 27
+  @do Y is 7
+  @do money / 2
+  @do `p02 is `p03 (give 'em max hit points)
+  @do `p20 is `p01
+  @do `p20 / 5
+  @do `p01 - `p20
+  @do MAP is 155
+  @do dead is 1
+  @update_update
+
+  @do talk `4Newsflash:`0`x`n`x`2was`xdefeated`xby`x`0`e`2! all
+  @do addlog
+  `0`n`2 was whipped up on by `0`e`2!
+  @routine seperate
+@do move 3 24
+@do write
+`4You've been killed. `k
+
+@pauseoff
+@show
+`r0`c
+ÜÜÜÛÛÛÛÛÛÛÛÛÜÜÜ
+ÜÛÛ°°°°Û°ÛÛÛÛÛÛÛÛÛÛÛÜ
+Û°°°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ
+Û°±±°ÛÛÛÛÛÛÛÛÞÜÛÛÛÛÛÛÛÛÛÛ
+ÜÜÞ°±²°ÛÛÛÛÛÛÛÛÛÛÛÛßßÛÛÛÛÛ
+ÞÛÛ
+ßÜÛÝ    °±²±°ÛÛÛÛÛÜ ÝÛÞÛÜ
+ÛÛÛÛÛÜܲÛÛܱ²Ü
+Ü°ÛÛÜÜ   ±²±° ÛÛ°
+Û°°²ÝÜß°ÜÛ°ÛÛÛÛß²Ý
+ÝÜ°Û±Ý
+²±°ÛÛßÜÜ ÞÜßß    ßß²
+²²°Ü²ßßßßßÞ±°ß ß
+ßßß°°Û °Ü    ß   ±²
+²²°±   ß    Þݲß
+ß°±ÝÞÛÜÜ    ÜÜßßßß
+ßÜÜ    ÜÛÜÝÝ
+²ßÜÜ ÛÛßßÜÜßÝ Ý Þ
+ÜÜßßÛÛÛÛßÜÜ
+ÛßÛÛÛÛܲ²ÜÛ²Ü °±
+°ÛÛÛÛÛßß
+ßÛÛ°²²±²°ÜÜ°²±°±²ßß ßßßß
+ÜÜ ßÜ ßßßß ßßß Üß ²±Ü
+Ü°±²Ý ß °Ý²ÛÞÛßÜ
+°ß Ü ±°ÛÜ
+Ü  ±°°°ß Ü ß Ü ÜÜ ÜÜ Ü 
+ßÜ°ß  ±ÜÜÜ
+ܲ²±°°±Ýß ÜÛÛÞÛÜÜ ÜÜÜÜÜ ÜÜ
+°±ÛÛÜ ß±°±ß²
+Ü ÜßÛ±ßܲÜÜ ßßÜ
+ßÛÛÛÜßÛÛÛÛ Üßß ÜÜÝÞ
+±ÜÝÜ
+°±²ÛÜßßÜÜÜßßßßÜ ßß
+ÛÛܱ²±ÜßÜßß Ü
+ßßßÜÜßÜÜÛ²±°
+
+                     `%You have made an error, s&boy.
+
+`k
+ @if `v03 is 0 then do
+   @begin
+ ;rules.ref file says unlimited deaths not allowed, so we will boot them
+ ;till tomorrow
+
+ ;take them off the map
+  @do map is 1
+   @halt
+   @end
+
+ @pauseon
+
+ @do dead is 0
+
+ @if `p07 less 0 then do
+ @begin
+ @show
+`r0`c`%  `r1IT FEELS KINDA WARM IN HERE?`r0
+
+  `4You open your eyes.
+
+`k  `4There are naked screaming people all around you.  A little boy with
+  a ghastly face begins to gnaw on your leg.
+
+`k  `6"Din, leave the newcomer alone.  S&he isn't staying." `4a slow voice that
+  can only be described as an abomination dolefully states.
+
+`k  `2You feel yourself floating away... faster and faster.
+ @end
+
+ @if `p07 more -1 then do
+ @begin
+ @show
+`r0`c`%  `r1APPARENTLY DEATH ISN'T THE END.`r0
+
+  `2You open your eyes.
+
+`k  `2You are lying on a table of solid rock in a marble room.  Hundreds of
+  soft voices are murmuring all around you, but you see no one.
+
+`k  `%"Send s&him back." `2a voice whispers, this one louder than the others.
+
+`k  `2You feel yourself floating away... faster and faster.
+
+`k
+ @end
+
+
+@show
+`c  `r1`%AWAKENING.`r0
+
+  `0"Can you hear me, `n?" `2a stressed voice shouts.
+
+  `$"Yeah.  Christ mom, lemmie up, I'm fine." `2you assure your mother.
+
+  `0"You're alive!! The elders brought your body here yesterday, you must
+  have fainted out there." `2your mother shouts, tears of joy streaming down
+  her wrinkled face.
+
+  `$"Ok, ok - nice little happy reunion and all that, but I gotta hit the
+  road now. Buhbye." `2you tell her.  Afterall, you need to make the most of
+  this new lease on life.
+
+  `2You lose `4half`2 the gold you were carrying and `4`p20`2 experience.
+
+`k
+  @loadmap map
+  @drawmap
+  @update
+
+@#iwon
+;is run after someone kills a player - if in multinode combat, L2
+;calls it directly, otherwise @#live calls it with a @routine.
+;the enemy guy they just killed is automatically put in `v39.
+  @if bounty.`v39 exist true then do
+    @begin
+    @readfile bounty.`v39
+`p23
+`p24
+   @do money + `p24
+   @do delete bounty.`v39
+   @do quebar
+`0BONUS: `%You collect a `$$`p24 `%bounty for this kill!
+  @do addlog
+  `0`n`2 collects a `$$`p24 `2bounty for the kill!
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+   @if `p23 not &playernum then do
+     @begin
+   @writefile mail\mail`p23.dat
+  `0`n `2reports:
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+`0  `e`2 has been `4killed`2.  Good doing business with you.
+
+     @end
+
+ @if `p23 is &playernum then do
+    @begin
+   @do quebar
+Haha, you got back your own money!  Nice.
+    @end
+
+   @end
+
+
+@#live
+@do talk `4Newsflash:`0`x`n`x`2has`xslain`x`0`e`2! all
+@do `V40 random 10 1
+@if `v40 is 1 then addlog
+  `0`n`2 has killed `0`e`2 over a dispute involving cattle!
+@if `v40 is 2 then addlog
+  `0`n`2 has crushed `0`e`2's skull.
+@if `v40 is 3 then addlog
+  `0`n`2 has beaten `0`e`2 in a fair battle!
+@if `v40 is 4 then addlog
+  `0`n`2 has killed `0`e`2 to avenge his mother!
+@if `v40 is 5 then addlog
+  `0`n`2 buries `0`e`2's rotting body.
+
+@if `v40 is 6 then addlog
+  `0`n`2 thanks `4Belar`2 for the power to destroy `0`e`2.
+
+@if `v40 is 7 then addlog
+  `0`n`2 kills `0`e`2 for trespassing on s&his land.
+
+@if `v40 is 8 then addlog
+  `0`n`2 deprives `0`e`2 of living another minute.
+@if `v40 is 9 then addlog
+  `0`n`2 makes quick work of `0`e`2.
+@if `v40 is 10 then addlog
+  `0`n`2 slays `0`e`2.
+
+
+@routine seperate
+@run iwon
+@#newplayer
+
+@routine help in help.ref
+
+@do `V40 random 5 1
+@if `v40 is 1 then `s10 is Elwin
+@if `v40 is 2 then `s10 is Geengish
+@if `v40 is 3 then `s10 is Dimdom
+@if `v40 is 4 then `s10 is Magi
+@if `v40 is 5 then `s10 is Whinny
+
+
+@show
+`c  `%IN THE BEGINNING.
+
+  `2There once was a poor `$`s10 `2couple who lived in a small village called
+  `0Stonebrook`2.
+
+  One day the mother felt very sick.  Scared, her husband took her to Nathan,
+  the town physician - after careful examination he smiled wide.
+
+  `0"Dear woman, you aren't sick - you are with child!"
+
+@KEY
+@show
+`c  `%IN THE BEGINNING.
+
+  `2The baby was born six months later - strangely enough on `0Gryphon Moon`2 day.
+
+  The young mother was delighted to find she had a new baby
+@do `v01 is 1
+@do move 61 7
+@choice
+boy.
+`#girl.
+@if responce is 1 then sexmale is 1
+@if responce is 2 then sexmale is 0
+@do write
+`\ 
+@label namebaby
+@do `v01 is 1
+@if sexmale is 1 then `s10 is him`x
+@if sexmale is 0 then `s10 is her`x
+@do write
+`\
+@do write
+  `2The mother decided to name `s10
+  @do readstring 20 NIL
+  @do stripbad `s10
+  ; change dark blue to light blue in their name
+  @do replaceall `1 `! `s10
+  @do `p20 is length `s10
+  @if `p20 less 1 then do
+    @begin
+    @do move 35 y
+    @show
+`bNothing`2.
+
+  `2She decided to name the baby nothing `8-`2 instead she sold the child
+  for `$20`2 gold pieces.  That night she was overcome with guilt and hung
+  herself on the rotting pine behind the cottage.
+
+  Have a nice day, loser!
+
+    @closescript
+    @end
+
+
+
+  @if `p20 less 3 then do
+    @begin
+    @show
+ 
+ 
+  `2But the husband disagreed.  `0"Not such a short name, dear!"
+    @do goto namebaby
+    @end
+
+  @if checkdupe `s10 true then do
+    @begin
+    @show
+
+
+  `2But the husband disagreed.  `0"We already know someone with that name!"
+    @do goto namebaby
+    @end
+   
+    @end
+
+
+
+@show
+`\`\  `2She decided on `0`s10`2.  The husband studied his wife carefully.`\
+@do write
+`x`x
+@choice
+"That is a good name.  You have chosen very well, wife."
+"I don't think so.  Try again."
+@if response is 2 then goto namebaby
+@do copytoname
+@if sex is 1 then `s09 is she
+@if sex is 0 then `s09 is he
+@show
+`c  `r1 `%ARE YOU READY? `r0
+
+  `0Cunning.  `4Guileful.  `0Friendship.  `4Deceit.  `0Honor.  `4Disgrace.
+
+  `%Life is what you make it.
+
+  `0Return to the adventure:
+
+   þ `2killing and loving
+   `0þ `2questing with other players
+   `0þ `2traveling a huge land with diverse terrain
+   `0þ `2purchase and upgrade your own dwelling
+  `0 þ `2realtime online battles, chat & item trade
+  `0 þ`2 follow your heart and find your own path
+
+`k
+@show
+`c `r1 `%SOME YEARS LATER `r0
+
+  `0One day you hear your mother shrieking from the kitchen of your small
+  cottage.
+
+  `2You'd better get out of bed and find out what she wants.
+
+  `|`b* `%NOTE `b*
+
+  `2This game requires a fully `2A`3N`4S`5I `2compliant terminal.  If screens appear
+  jumbled `8- `2we suggest you try another terminal program, as this game is
+  not compatible with all of them.  `%ALSO`2:  Instead of arrow keys, you may
+  also use the `$numeric keypad`2, turn numlock on to do this.
+
+@KEY
+;Give them starting stuff
+  @do `p01 is 1
+  @do `p02 is 10
+  @do `p03 is 10
+  @do `p04 is 5
+  @do `p05 is 1
+  @do `p09 is 1
+  @do X is 27
+  @do Y is 7
+  @do MAP is 155
+  @addchar
+
+@#seperate
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+@closescript
+
+@#DONE
diff --git a/xtrn/lord2/genran.ref b/xtrn/lord2/genran.ref
new file mode 100644
index 0000000000000000000000000000000000000000..f8a2212d24f86800f1f05fb2b4697d7ca841ad7e
--- /dev/null
+++ b/xtrn/lord2/genran.ref
@@ -0,0 +1,525 @@
+;general random stuff that is usually called from any major tavel route
+;where roads are
+
+
+@#GENRAN
+@do `p20 random 8 1
+
+@if `p20 is 1 then do
+ @begin
+ @run event1
+ @end
+@if `p20 is 2 then do
+  @begin
+  @run event2
+  @end
+@if `p20 is 3 then do
+  @begin
+  @run hunters in bounty.ref
+  @end
+@if `p20 is 4 then do
+  @begin
+  @run event4
+  @end
+@if `p20 is 5 then do
+  @begin
+  @run event5
+  @end
+@if `p20 is 6 then do
+  @begin
+  @run event6
+  @end
+@if `p20 is 7 then do
+  @begin
+  @run event7
+  @end
+@if `p20 is 8 then do
+  @begin
+  @run event6
+  ; yes, we want the run in with the Dragon Tooth guards to happen A LOT
+  @end
+
+@#EVENT7
+;The travelers who speak of the dragon
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0`2Sounds like traveling folk.  Stop? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+@if `s01 is Y then do
+  @begin
+  @show
+`r0`c  `r1  `%Group of Travelers  `r0
+
+  `0"Hello!"  `2says the leader.  His groups seems happy and well travelled.
+  `$"Good day sir, how goes the travels?"  `2you ask.
+  `2You sit down and talk with the group a while.  They tell you how they're
+  on their way to FlagCity and then on to PortTown.  They've heard many a
+  rumor and story on their quests.  He also speaks of the dragon ...`k
+
+  `0"There are those who believe ... that the `bRed Dragon`0 is still alive.
+  With the existance of the Dragon Tooth clan that possibility seems more
+  and more real.  If the Dragon is still alive, terror could very well
+  come to this land.  I suspect only the Dragon Tooth ... and maybe the
+  Koshi know the truth."  `%(YOU ARE FULLY RESTED!)
+`\`k  
+@do `p02 is `p03
+@drawmap
+@update
+ @do saybar
+`0"Have good travels!"
+@closescript
+@end
+
+ @do saybar
+You hide in the bushes while they pass.
+
+@#EVENT6
+;Evil with the Dragon Tooth Clan
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0`2You hear a lot of footsteps coming.  Investigate? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+@if `s01 is N then do
+  @begin
+  @do saybar
+You wait until the sounds are gone before advancing.
+  @closescript
+  @end
+
+
+@if `s01 is Y then do
+  @begin
+  @show
+`r0`c  `r1  `%Dragon Tooth Battalion  `r0
+
+  `0"Halt lowly citizen!"  `2the lieutenant screams.  His men seem very
+  loyal and very shady.
+  `0"What's you business here?"  `2he asks.
+  
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Listen to what they have to say
+-`t18 0 Insult them
+-`t18 0 <`p07 -9 Inquire about recruitment
++`t18 0 Head to the castle
+Take off
+@if response is 1 then do
+  @begin
+  @pauseoff
+  @show
+`\`\  `0"The Dragon is still alive my friends, and only we know of the way
+  to stop him.  We may protect you, but for a price.  It costs us to fight
+  off the beast on a constant basis.  We need your money to make the towns
+  safe.  Give it to us or your friends will surely die!"  `2You stand not
+  very sure of this loser's speech.  Sounds like a classic scam.
+
+  `$"I hate to ruin your fine speech sir, but I don't live near here."
+  `2you say.
+
+  `0"The Dragon has wings, he will travel.  Soon your home may be next!"
+  `2he replys.
+`\`k
+  @end
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `$"You guys suck, what a load of crap!!"  `2you yell.
+
+  `0"You'll regret that s&boy."  `2says the lieutenant.
+`\`k
+  @do goto DBATTLE
+  @end
+@if response is 3 then do
+  @begin
+  @show
+`\`\  `$"Hey, I like being evil.  Could I join you guys and get a piece
+  of the action?"  `2you ask.
+
+  `0"You are lowly, but not so lowly that you can't be trained.  Yes ...
+  now I think I see a little potential in you s&boy.  You could be
+  trained to serve us.  Come, to our castle where you may learn more about
+  yourself in our eyes."
+`\`k
+  @loadmap 705
+  @do map is 705
+  @do x is 27
+  @do y is 11
+  @update
+  @drawmap
+  @closescript
+  @end
+@if response is 4 then do
+  @begin
+  @show
+`\`\  `$"My masters, I must see the gatekeeper and ask him of my progress."
+  `2you say.
+
+  `0"It shall be done ..."
+`\`k
+  @loadmap 705
+  @do map is 705
+  @do x is 27
+  @do y is 11
+  @update
+  @drawmap
+  @closescript
+  @end
+@drawmap
+@update
+@if bitcheck `t18 0 0 then do
+ @begin
+ @do saybar
+`0"We'll meet again!"
+ @end
+
+@#DBATTLE
+@fight
+;name
+Dragon Tooth Battalion
+;string said when you see him
+They suddenly charge you, so much for protection.
+;power move kill string
+`$"Save your own ass!!"  `2you shout.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+charges you|100
+surrounds and beats you|125
+practice with their swords on you|150
+attempt to trample you|97
+NONE|NONE
+;defense
+40
+;gold reward
+1400
+;experience
+210
+;hit points
+700
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+@drawmap
+@update
+
+@#EVENT5
+;Injured person
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0`2You hear an injured person nearby.  Investigate? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is Y then do
+  @begin
+  @show
+`r0`c  `r1  `%Aid a fellow traveler  `r0
+
+  `0"Please help me!" `2the injured man screams.  His leg seems to have
+  taken quite a blow.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Help the man out
+Beat him and take his money
+Leave
+@if response is 1 then do
+  @begin
+  @do `p07 + 1
+  @show
+`\`\  `2You help the man, and with the first aid are able to get him on his
+  way to a city where he can further heal.
+
+  `bYOUR ALIGNMENT GOES UP BY ONE!`b
+`\`k
+@drawmap
+@update
+  @closescript
+  @end
+@if response is 2 then do
+  @begin
+  @do `p07 - 2
+  @do `p20 random 1300 221
+  @do money + `p20
+  @show
+`\`\  `$"Sure I'll help you .. die!"  `2You slam him with your s&weapon, and
+  after he falls unconscious you raid his purse.
+
+  `2You find `$`p20 `2gold!
+
+  `bYOUR ALIGNMENT GOES DOWN BY TWO!`0
+`\`k
+@drawmap
+@update
+  @closescript
+  @end
+ @end
+@do saybar
+You are much too busy to help the man.
+
+@#4run
+@drawmap
+@update
+@do quebar
+You run... she'll have to fend for herself.
+
+@#4win
+@drawmap
+@update
+@do `p07 + 1
+@do quebar
+You saved her!  Alignment goes up by one.
+
+@#event4
+;if clean mode, find another event to run, this one isn't suitable...
+@if `v06 is 1 then goto genran
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0`2A woman is being raped by two men nearby.  Interrupt them? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is Y then do
+  @begin
+  @show
+`r0`c  `r1  Violation or a right, you decide  `r0
+
+  `0"Please help me!" `2the woman screams.  The two men are wearing
+  Dragon Tooth armour... they also seem to be having quite the good time.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Help the woman and kill the men
+Join in the fun
+Leave the encounter
+@if responce is 2 then do
+  @begin
+@drawmap
+@update
+@do `p07 - 1
+@do quebar
+A few hours later you are finished!  Yeah!  Alignment goes down by one.
+  @closescript
+  @end
+@if responce is 1 then do
+  @begin
+  @fight
+;name
+The Guards
+;string said when you see him
+`0"Kill that s&boy!  s&he saw us" `2they yell!
+;power move kill string
+You strike a blow for justice this day!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+sock you|45
+clothesline you|52
+laugh as one trips you for|36
+NONE|NONE
+NONE|NONE
+;defense
+15
+;gold reward
+89
+;experience
+54
+;hit points
+136
+;if win: ref file|name or NONE
+GENRAN.REF|4WIN
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+GENRAN.REF|4RUN
+  @end
+@closescript
+@end
+
+@do saybar
+Screw it, why be a hero?
+
+@#event2
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2A dark robed priest approaches.  Speak with him? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is Y then do
+  @begin
+  @label ev1
+  @show
+`r0`c  `r1  A deal, perhaps?  `r0
+
+  `0"Greetings fellow traveler.  Would you be interested in a traveling
+  potion for `$$500`0?" `2the priest asks.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Exactly how does it work, strange dark robed priest?
+>&money 499 Yes, I'll take it!
+>&money 499 No thanks.
+<&money 500 I can't afford it.
+@if response is 1 then do
+  @begin
+  @show
+`r0`c  `r1  How it works  `r0
+
+  `0"It's really very simple young s&man, first you drink it.  Then you
+  wait.  You will be randomly teleported to one of ten various places."
+
+  `$"What if I don't like where I am?"
+
+`k  `0"Then you're pretty much screwed, aren't you," `2he laughs.
+ 
+  `$"Hey!  A priest isn't supposed to talk like that!" `2you accuse.
+
+`k  `0"We're also not supposed to sell illegal drugs, what's your point?"
+
+`k
+  @do goto ev1
+  @end
+ @if response is 2 then do
+   @begin
+   @show
+`\`\  `0"Great doing business with you," `2he smiles as he hands you a
+  funny looking vial.
+`\`k
+   @drawmap
+   @update
+   @do `i50 + 1
+   @do money - 500
+   @closescript
+   @end
+  
+
+
+ @if response is 3 then do
+   @begin
+   @show
+`\`\  `0"Maybe next time, friend," `2he smiles.
+`\`k
+   @drawmap
+   @update
+   @closescript
+   @end
+
+
+ @if response is 4 then do
+   @begin
+   @show
+`\`\  `0"Maybe next time, friend," `2he smiles.
+`\`k
+   @drawmap
+   @update
+   @closescript
+   @end
+
+
+  @end
+@do saybar
+You move to the side to let him pass.
+
+@#event1
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2A hooded figure approaches.  Speak with him? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is Y then do
+  @begin
+  @busy
+  @do `p20 random 4 1
+  @if `p20 is 1 then `s10 is `+22
+  @if `p20 is 2 then `s10 is `+23
+  @if `p20 is 3 then `s10 is `+24
+  @if `p20 is 4 then `s10 is `+25
+
+  @show
+`r0`c  `r1  Dark Trading `r0
+
+  `0"Greetings, stranger.  I have a very magical item called a `%`s10
+  `0for sale.. would you like to buy it for `$$100`0?"
+  @do write
+`\`x`x
+  @do `v01 is 1
+  @choice
+>&money 99 Sure, I'll take it
+>&money 99 I don't deal with your type.
+<&money 100 Sorry, I can't afford that.
+  @if response is 1 then do
+    @begin
+  @if `p20 is 1 then `i22 + 1
+  @if `p20 is 2 then `i23 + 1
+  @if `p20 is 3 then `i24 + 1
+  @if `p20 is 4 then `i25 + 1
+    @do money - 100
+  @show
+`\`\  `0"Nice doing business with you," `2the dark trader laughs evilly as
+  he hands you the `%`s10`2.
+`\`k
+    @drawmap
+    @update
+    @closescript
+    @end
+
+  @if response is 2 then do
+   @begin
+   @show
+`\`\  `0"You are making a mistake.." `2the dark trader grunts as he leaves.
+`\`k
+   @drawmap
+   @update
+   @closescript
+   @end
+
+   @show
+`\`\  `0"Maybe next time.." `2the dark trader grunts as he leaves.
+`\`k
+   @drawmap
+   @update
+  @closescript
+
+ @end
+
+@do saybar
+You move to the side to let him pass.
+
+
+
+
+
+@#done
diff --git a/xtrn/lord2/gravey.ref b/xtrn/lord2/gravey.ref
new file mode 100644
index 0000000000000000000000000000000000000000..771e8b4a8e93a62c652088cc753fcce22e597810
--- /dev/null
+++ b/xtrn/lord2/gravey.ref
@@ -0,0 +1,352 @@
+;The grave yard and cave area
+
+@#moon1
+;hidden moonstone 1
+@do moveback
+@if bitcheck `t13 3 1 then do
+  @begin
+  @closescript
+  @end
+
+@bitset `t13 3 1
+@do saybar
+`%You find a Moonstone lying beneath the water.
+@do `i57 + 1
+
+
+@#chest1
+;secret
+@do moveback
+@if bitcheck `t13 1 1 then do
+  @begin
+  @do saybar
+There is nothing on the table.
+  @closescript
+  @end
+
+@bitset `t13 1 1
+@do saybar
+`%You find a Red Potion!
+@do `i52 + 1
+
+@#monster1
+@fight
+;name
+Skeleton
+;string said when you see him
+A boney arm reaches up through the dirt in the ground ...
+;power move kill string
+The bones clatter to the ground in horrid defeat.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+gives you a bone|10
+slashes with its skinless hand|7
+tears its arm off and hits you with it|8
+NONE|NONE
+NONE|NONE
+;defense
+5
+;gold reward
+18
+;experience
+25
+;hit points
+40
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Zombie
+;string said when you see him
+A horrible figure groans limping its leg towards you ..
+;power move kill string
+You send him back to the ground he came up from.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+uses its amputated arm to bash you|10
+moans "brains" & bites you|15
+gnaws on your leg|8
+NONE|NONE
+NONE|NONE
+;defense
+3
+;gold reward
+14
+;experience
+26
+;hit points
+60
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Raven
+;string said when you see him
+A breeze brushes your neck, something flew pretty close
+;power move kill string
+The bird crashes to the yard.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+claws you|8
+pecks your neck|7
+stabs your eyes with its beak|10
+NONE|NONE
+NONE|NONE
+;defense
+2
+;gold reward
+5
+;experience
+8
+;hit points
+45
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Dog Skeleton
+;string said when you see him
+A horrible half dead dog jumps from behind the gravestone!
+;power move kill string
+Stay boy stay, good dead boy.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+gashes your leg with its claws|10
+bites you|12
+pounces on you|15
+NONE|NONE
+NONE|NONE
+;defense
+3
+;gold reward
+17
+;experience
+24
+;hit points
+65
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#GRAVE1
+;Grave 1 in the yard
+@DO SAYBAR
+`2There once was a man from Knantucket ...
+@do moveback
+
+@#GRAVE2
+;Grave 2 in the yard
+@DO SAYBAR
+`2"Hey get off me!!"
+@do moveback
+
+@#GRAVE3
+;Grave 3 in the yard
+@DO SAYBAR
+`2"Dig me up & take me with you!"
+@do moveback
+
+@#GRAVE4
+;Grave 4 in the yard
+@DO SAYBAR
+`2"Join us ..."
+@do moveback
+
+@#GRAVE5
+;Grave 5 in the yard
+@DO SAYBAR
+`2"If you die, don't die on me."
+@do moveback
+
+@#GRAVE6
+;Grave 6 in the yard
+@DO SAYBAR
+`2Here lies Beavis, he never scored.
+@do moveback
+
+@#CAVE
+;Cave to the right of the Grave yard
+@DO SAYBAR
+`2Looks like a dark cave, best not go in now.
+
+@#SIGN
+;Sign outside the yard
+@DO SAYBAR
+`2GraveYard, weak beware !!
+@do moveback
+
+@#ICESIGN
+;Sign on the west entrance of the snowy Pass
+@DO SAYBAR
+`2  <----------   Flag City        Snowy Pass    ---------->
+@do moveback
+
+@#DARKF
+ @do moveback
+ @busy
+@do `v01 is 1
+@show
+`r0`c  `%`r1 THE SHEPHERD `r0
+
+`2  You come across a Shepherd - his eyes look content and wise.  He
+  nods to you.  `0"How may I help you my friend?" `2he asks.
+
+@do write
+`x`x
+@choice
+Ask about the strange surrounding forest.
+Comment on his sheep.
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `$"No, but your sheep might be able to." `2you tell him.
+`\`k
+  @end
+
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `7"The darker trees are dying and becoming part of Dark Forest.  They try
+  to grow further towards the living and take it over.  My flock and I keep
+  it back."
+`\`k
+  @end
+@drawmap
+@update
+
+@#NUDE
+ @do moveback
+ @busy
+ @do `v01 is 1
+@show
+`r0`c  `%`r1 THE NAKED MAN `r0
+
+`2  You come across a nude old man in a field - ahh, he must be at least 70!
+  He nods to you.  `0"Come, join me my friend," `2he says.
+
+@do write
+`x`x
+@choice
+Join him on the grass
+Comment on his ... clothes
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `$"Must be cold out huh," `2you tell him.
+`\`k
+  @end
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `$"Hey all right, I've been looking for a place like this.  Sometimes you
+  just gotta let it all hang out," `2you say as you get undressed.  After
+  relieving yourself of your clothes you look at the old man and then back
+  at yourself.  You feel small.
+`\`k
+  @end
+@drawmap
+@update
+
+@#ICECAVE
+ @offmap
+@label icy
+@DO `v01 is 1
+@show
+`r0`c  `%`r1  The Ice Wizard's Cave  `r0
+
+`2  You step into the cold cave, the only light you see is up ahead.  You
+  see the silhouette of an old man by the fire.  You step closer and notice
+  the fire's flames are blue!  The old man stands sensing your presence.
+  `3"How may I help you my child?" `2he asks.
+
+@do write
+`x`x
+@CHOICE
+Inquire about him
+Ask for passage through the cave
+Leave the cave
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `$"Who are you, what do you do in this cave?" `2you ask.
+
+`k  `3"I am a caretaker of these mountains.  I watch them, and the people
+  come here, making sure that all is right here."`% 
+`\`k
+  @do goto icy
+  @end
+
+@if response is 2 then do
+  @begin
+  @if `i31 > 0 then do
+  @begin
+  @show
+`\`\  `3"I see you have the amulet.  Come this way my child, it shall take you
+  safely closer towards that which you seek."
+`\`k
+  @if map is 1499 then do
+    @begin
+    @loadmap 1590
+    @do map is 1590
+    @do x is 38
+    @do y is 7
+    @drawmap
+    @update
+    @closescript
+    @end
+  @loadmap 1499
+  @do map is 1499
+  @do x is 71
+  @do y is 17
+  @drawmap
+  @update
+  @closescript      
+@end
+@show
+`\`\  `3"I'm sorry my child, but you must have the pass of my giant masters
+  before you may pass through this way."`%
+`\`k
+@do goto icy
+@end
+@do moveback
+@drawmap
+@update
+
+
+@#DEATH
+@busy
+@do `p20 random 4 1
+@do goto monster`p20
+
+@#PASS
+;View east of the Snowy Pass.
+@DO SAYBAR
+`2The pass ahead to the west looks snowy & dangerous.
+
+
+@#nomore
diff --git a/xtrn/lord2/green.ref b/xtrn/lord2/green.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a46a967d874ff38d4125bdf1fe9d11f81dbdb3ee
--- /dev/null
+++ b/xtrn/lord2/green.ref
@@ -0,0 +1,477 @@
+;Ref for the town of Greentree.
+
+@#h2man
+;house 1
+@DO SAYBAR
+`0Man: `2I heard there was a Moonstone hidden on a waterfall.
+@do moveback
+
+
+@#h2toy
+;house 1
+@DO SAYBAR
+`0Nice and clean.
+@do moveback
+
+@#drag
+;stone dragon
+@do saybar
+A magnificent stone dragon.  To honor a warrior who killed it years ago.
+@do moveback
+
+@#STATUE
+;The Pt thing in the water
+@do saybar
+It's supposed to be a statue people.
+
+@#H1talk
+;house 1
+@DO SAYBAR
+`0Some woman: `2Please do not use my restroom.
+@do moveback
+
+@#bum
+;the bum who is in front of Ma's boarding house
+@do `p20 random 9 1
+@if `p20 is 1 then saybar
+`%Bum: `0Hey you! `2::hic::`0 Yeah!! Whachu lookin' at???
+@if `p20 is 2 then saybar
+`%Bum: `0Ma's a big woman.. `2::hic::`0 but the biggin's are the bestest!!
+@if `p20 is 3 then saybar
+`%Bum: `0I'll drink to that!
+@if `p20 is 4 then saybar
+`%Bum: `0Wassup peasant s&boy! Go back to your farm! `2::hic::
+@if `p20 is 5 then saybar
+`%Bum: `0A little drinkie in the `2::hic:: `0morning keeps the doctor away!
+@if `p20 is 6 then saybar
+`%Bum: `0Ma's boarding house is the safest place in `2::hic:: `0town!
+@if `p20 is 7 then saybar
+`%Bum: `0Watch out for little Elle.. if she ain't the darndest thing!
+@if `p20 is 8 then saybar
+`%Bum: `0I hate Greentree!  I wanna move to `2::hic:: `0Bonetown!!!
+@if `p20 is 9 then saybar
+`%Bum: `0Stay the `bHELL AWAY`0 from the dark forest, s&boy!
+
+
+@do moveback
+
+@#FOUNTAIN
+;Fountain on the east side of town.
+@DO SAYBAR
+`2The pond is beautiful in the sunlight.
+
+@#H1TABLE
+;Gate for the rich folk.
+@DO SAYBAR
+`2There is nothing on the table.
+@do moveback
+
+@#H1TOILET
+@If `i21 > 0 then do
+@BEGIN
+@DO SAYBAR
+`2Looks just like a toilet.
+@do moveback
+@CLOSESCRIPT
+@END
+@DO `i21 + 1
+@DO SAYBAR
+`2You find a travel pass, someone must've dropped it while dropping it.
+@do moveback
+@end
+
+@#BIGTREE
+;Big tree in the middle area.
+@DO SAYBAR
+`2Giant tree from the Northern lands.
+@do moveback
+
+@#GUARDLOOK
+;Going by the guard's wall
+@DO SAYBAR
+`2The Royal Guard eyes you as you pass by...
+
+@#PICNIC
+;Sign for the picnic area
+@DO SAYBAR
+`2Picnic area, all enjoy!!
+@do moveback
+
+
+@#RICHGATE
+;Gate for the rich folk.
+@DO SAYBAR
+`2The guards do not let you pass and are quite rude.
+@do moveback
+
+@#PORTTOWN
+;Sign pointing to PortTown.
+@DO SAYBAR
+`2North to PortTown, gateway to the sea and land 'o pirates.
+@do moveback
+
+@#DOCK
+;Sign at the dock.
+@DO SAYBAR
+`2Fishing dock --->.
+@do moveback
+
+@#GUARD1
+;at 'special' enterance
+@DO SAYBAR
+`0"Move along you!  This gate is for nobles only!"`2 the guard commands.
+@do moveback
+
+@#GUARD2
+;other guard at 'special' enterance
+@do SAYBAR
+`0"Get out of here, you peasant!" `2barks the guard.
+@do moveback
+
+@#SHEEPMAN
+;herder, need to talk to him to get access to the 'love machines'
+@do SAYBAR
+`0"Why you wanna go back there to see the royal sheep?" `2asks the herder.
+@do moveback
+
+
+@#SHEEP
+;the sheep, oh yes.
+@do SAYBAR
+`0"Bahhhh!!  Bahh!!!"`2 it screams as you gently caress it.
+@do moveback
+
+@#healers
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `%The Healers
+
+`2  Nathan looks you over for wounds.
+
+@do write
+`x`x
+@if `p02 < `p03 then do
+ @begin
+@do `p20 is `p03
+@do `p20 - `p02
+@do `p20 / 2
+
+
+ @show
+`0"You don't look so good, friend!  I'll fix ya up for `$`p20`0 gold, k?"
+
+@do write
+`x`x
+@choice
+Heal yourself for `$$`p20`%. (you have `$$&money`%)
+Limp on out.
+@show
+`\
+@if response is 1 then do begin
+ @begin
+ @if money < `p20 then do
+  @begin
+  @show
+  `0"Sorry old s&boy, we don't do charity work here."
+
+ @do write
+`x`x
+ @choice
+Well Christ!  How am I supposed to make money when I can barely walk?
+Jesus, how 'bout a little compassion for once in your life old man!
+How 'bout some of your 'special' pills then?
+Yes sir.
+@show
+
+
+@if response is 4 then do
+ @begin
+ @show
+  `0"That's a good lad, now get along with you!" `2 he laughs.
+
+`k
+ @end
+
+@if response is 1 then do
+ @begin
+ @show
+  `0"Damn it, s&boy, be a s&man for once in your life!"`2 he yells.
+
+`k
+ @end
+@if response is 2 then do
+ @begin
+ @show
+  `0"I cannot respect a man who doesn't work," `2Nathan informs you.
+
+`k
+ @end
+@if response is 3 then do
+ @begin
+ @do `p02 = 1
+ @show
+  `0"Sure.  Take uh.. these." `2 he snickers.
+
+  `2You gulp down the weird black pills
+
+  `4HIT POINTS GO DOWN TO 1.
+
+`k
+ @end
+
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do money - `p20
+@do `p21 = `p03
+@do `p21 - `p02
+@do `p02 = `p03
+@show
+  `2You feel much better as `0`p21`2 hitpoints are restored.
+
+`k
+  @end
+  @drawmap
+  @update
+  @closescript
+@end
+
+@show
+`0"You have no ailments, come back later," `2Nathan laughs.
+
+`k
+@drawmap
+@update
+
+@#bank
+@do `v01 is 1
+@offmap
+@do moveback
+@label bankstart
+@show
+`r0`c  `r1 `%1st Bank Of Greentree `r0
+
+`2  A young clerk eyes you nervously.
+
+@if bank more 0 then do
+ @begin
+ @show
+`2  You are holding `$$&money`2, your account is at `$$&bank`2.
+
+ @end
+
+@if bank is 0 then do
+ @begin
+ @show
+`2  You currently don't have an account with them.
+
+ @end
+
+@do write
+`x`x
+@choice
+>&bank 0 Make a deposit.
+>&bank 0 Make a withdraw.
+=&bank 0 Apply for an account here.
+Leave
+@if response is 3 then do
+  @begin
+  @do `v01 is 1
+  @show
+
+
+  `2The nervous boy asks you to sit down.
+
+  `0"Your full name s&sir?"
+  @do `s01 is NIL
+  @do write
+`x`x
+  @do readstring 30 `s01
+  @show
+
+
+  `0"Your current residence?"
+
+  @do write
+`x`x
+  @do readstring 50 `s01
+
+  @show
+
+
+  `0"Your net income yearly?"
+
+  @do write
+`x`x
+  @do readnum 10
+  @if `v40 less 20 then do
+  @begin
+  @show
+
+  @end
+
+  @if `v40 more 19 then do
+   @begin
+   @show
+
+
+  `2You giggle to yourself `0-`2 how will they know you just totally lied on
+  that last question?!??  You only made `b19`2 gold pieces last year!
+  @end
+  @label bankagain
+  @show
+
+  `0"How much would you like to open your account with?" `2(you have `$$&money`2)
+
+  @do write
+`x`x
+  @do readnum 10 money
+  @if `v40 is 0 then do
+   @begin
+   @show
+
+
+  `2You decide you really don't want to open an account with this
+  branch.
+
+`k
+  @do goto bankstart
+  @end
+
+  @if `v40 > money then do
+   @begin
+   @show
+
+
+`2  You don't have this much!  Try again.
+   @do goto bankagain
+   @end
+
+  @if `v40 < 50 then do
+  @begin
+  @if money < 50 then do
+   @begin
+  @show
+
+  `2The clerk eyes your shabby clothing distastefully - as if he knew
+  this part was coming.
+
+  `0"I'm sorry s&sir, we do require `$$50 `2to open an account.  And could
+  you please leave the pen on your way out." `2he asks haughtily.
+
+`k  `2You carefully return the pen.  `$"I'll be back someday.  And you WILL
+  open an account for me then," `2you vow seriously.
+
+  `0"Of course you will, s&sir.  Please exit now, remember, the sign does
+  say no loitering.  And this means you." `2he says as he points to the
+  door.
+
+`k
+@drawmap
+@update
+@closescript
+   @end
+
+  @show
+
+
+  `0"S&Sir, `$$50 `0is required to open a new account!"
+  @do goto bankagain
+  @end
+  @do money - `v40
+  @do bank + `v40
+  @show
+
+
+  `0"Very good S&sir!  Your new account has been opened!"
+
+`k
+  @do goto bank
+  @end
+
+
+@if response is 1 then do
+  @begin
+  @do write
+`\
+  @label deposit
+  @do write
+`\  `0"Deposit how much, s&sir?"`\`\`x`x
+  @do readnum 10 money
+  @if `v40 more money then do
+  @begin
+  @show
+`\`\  `2Maybe you left the money in your other pants?  'cuz it sure ain't here.
+  @do goto deposit
+  @end
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, this isn't happening and you aren't here.
+  @do goto withdraw
+  @end
+
+  @do money - `v40
+  @do bank + `v40
+  @do goto bankstart
+
+  @end
+
+@if response is 2 then do
+  @begin
+  @do write
+`\
+  @label withdraw
+  @do write
+`\  `0"Withdraw how much, s&sir?"`\`\`x`x
+  @do `p21 is bank
+  @do `p21 - 1
+  @if `p21 < 0 then `p21 is 0
+  @do readnum 10 `p21
+  @if `v40 more bank then do
+  @begin
+  @show
+`\`\  `2You kind of don't have that much in your account.  Nice bookkeeping!
+  @do goto withdraw
+  @end
+
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, I don't think so.
+  @do goto withdraw
+  @end
+
+  @if `v40 is bank then do
+   @begin
+   @show
+
+
+  `0"But s&sir!  This will close your account with us, are you sure you wish
+  to do that?" `2the clerk chokes.
+
+  @do write
+`x`x
+  @do `v01 is 1
+  @choice
+Ok, nevermind then.
+Yeah.  Get my damn money.
+@if response is 1 then goto bank
+
+   @end
+
+  @do money + `v40
+  @do bank - `v40
+  @do goto bankstart
+  @end
+
+
+
+@drawmap
+@update
+
+@#CLOSESCRIPT
diff --git a/xtrn/lord2/gshops.ref b/xtrn/lord2/gshops.ref
new file mode 100644
index 0000000000000000000000000000000000000000..dfbf83be3dc7f50a2e2fe6cb9364ae6afff57624
--- /dev/null
+++ b/xtrn/lord2/gshops.ref
@@ -0,0 +1,629 @@
+;gshops.ref ... mostly stuff for Greentree
+
+@#bartoy
+;barak's tiolet, need to say something I guess..
+@do saybar
+Not the cleanest thing in town.
+@do moveback
+
+@#house6
+;nobody home
+@do moveback
+@do saybar
+Hmm, no answer.
+
+@#BARCHEST
+@do moveback
+
+@if bitcheck `t19 0 1 then do
+  @begin
+  @do saybar
+The chest is empty.
+  @closescript
+  @end
+
+@do `p20 random 4 1
+@if `p20 is 1 then do
+  @begin
+  @bitset `t19 0 1
+  @do `i74 is 1
+  @show
+`r0`c  `r1  `%You find something in the chest!  `r0
+
+  `2You find `0Barak's Diary`2.  `%AWESOME!`2
+
+`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do goto ma
+
+@#ma
+@do moveback
+@do `s01 is ass
+@if `v06 is 1 then `s01 is self
+@do x is 52
+@do y is 18
+@do map is 69
+@loadmap &map
+@show
+`r0`c  `r1  `%Barak's Mother  `r0
+
+`2  An old woman is rocking in her chair.. until she sees you.
+
+`k  `0"How did you get in here?!?!  Do you know who my son is?!?  He will
+  hunt you down and rip you apart!!"
+
+`k  `2She promptly kicks your sorry `s01 out.
+
+`k
+@drawmap
+@update
+
+@#picklock
+@do moveback
+
+@datanewday barmom.idf
+@dataload barmom.idf &playernum `p20
+@if `p20 is 1 then do
+  @begin
+  @do saybar
+You better not try again today.. she's watching you through a window.
+  @closescript
+  @end
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0`2The door is locked.  Attempt to pick it? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+@if `s01 is Y then do
+ @begin
+@if `p18 < 15 then do
+  @begin
+
+  @do saybar
+`2You lack the skills.  You need more quest points.
+  @closescript
+  @end
+  ;he did it
+  @do x is 40
+  @do y is 13
+  @do map is 75
+  @loadmap &map
+  @drawmap
+  @update
+  @do saybar
+`2You pick the lock successfully!
+  @datasave barmom.idf &playernum 1
+  @closescript
+@end
+@do saybar
+Maybe later.
+
+
+@#MIN
+;minister at church, place to cure vd
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `r1 `%Saying your prayers `r0
+
+  `2You kneel in front of the pulpit.   A balding priest looks at you
+  intently.
+
+@do write
+`x`x
+@choice
+I wish to make a donation
+I wish to donate my negative opinion of organized religion
+Leave
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `0"How much, my son?" `2the priests asks, eyes lighting up at the
+  prospect.
+  @do write
+`\`x`x
+  @do readnum 10 0
+  @if `v40 is 0 then do
+   @begin
+   @show
+`\`\  `$"I'll donate let's see... how about nothing?"
+
+`k
+  @do goto min
+  @end
+
+  @if `v40 < 0 then do
+   @begin
+   @show
+`\`\  `2Donate a negative amount?  Oh, you mean steal from the plate?
+
+`k  `4Too bad there is nothing in it.
+
+`k
+  @do goto min
+  @end
+
+
+  @if `v40 > money then do
+   @begin
+   @show
+`\`\  `2Ok, now try an amount that you have with you.
+
+`k
+  @do goto min
+  @end
+
+  @do money - `v40
+  @do `p20 is `p09
+  @do `p20 * 100
+  @if `v40 < `p20 then do
+    @begin
+    @show
+`\`\  `2You close your eyes, hoping for a miracle...
+
+`k  `4Nothing happens.. course you didn't donate much either.
+`\`k
+
+    @do goto min
+    @end
+
+    @if `p12 is 0 then do
+      @begin
+    @show
+`\`\  `2You close your eyes, hoping for a miracle...
+
+`k  `4Nothing happens.. and you donated plenty.  I guess you just don't need
+  divine help right now, maybe later. 
+`\`k
+  @do goto min
+  @end
+
+   @do `p12 is 0
+   ;cure vd
+    @show
+`\`\  `2You close your eyes, hoping for a miracle...
+
+`k  `%YOU FEEL CLEAN AGAIN.  Your body is not sick anymore.
+`\`k
+  @do goto min
+  @end
+
+
+      @end
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `$"What you do is ridiculous.  You tell us we'll go to a better place
+  after we die if we give you money.  Who bought this church, God?  No, we
+  did.
+
+  Religion is for people that need something to believe in - so they don't go
+  mad." `2you finish softly.
+
+`k  `0"Exactly.. so are you gonna donate or what?" `2laughs the priest.
+
+`k
+  @do goto min
+  @end
+
+@drawmap
+@update
+
+@#WHORE
+;(currently unused)
+@offmap
+@do moveback
+@do `v01 is 1
+@label whorestart
+@show
+`r0`c  `r1 `%The Whore House `r0
+
+`2  You run your hands together, it's time you finally had some fun.  And
+  hey, while you're in Greentree, why not pay a visit to the infamous
+  Greentree brothel.
+@do write
+`\`x`x
+@choice
+Visit Kelley.
+Leave
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `2You rub your hands together lewdly.  `$"I want a little 'visit' with
+  Kelley if you know what I mean..." `2you drawl.
+
+  `0"Kelley is busy.. How about Mary?"
+
+  `2You decide to wait. (this area will be added to later..)
+`\`k
+  @end
+
+@drawmap
+@update
+
+@#SCRIBE
+;a place where they can add to the daily happenings
+@offmap
+@do moveback
+@do `v01 is 1
+@label scribestart
+@show
+`r0`c  `r1 `%The Scribe Hut `r0
+
+`2  Wow!  This is where the daily happenings are made!  More than just a
+  paper, it brings the community together.
+
+  `2A little man with glasses is working.
+
+@do write
+`x`x
+@choice
+`%Place an ad for `$$10`%.
+Leave
+@
+@if response is 1 then do
+ @begin
+ @if money < 10 then do
+  @begin
+  @show
+`\`\  `2You are a little short.  Bummer.`\`\`k
+  @do goto scribestart
+  @end
+  @do money - 10
+  @writefile lognow.txt
+  `2A special announcement from `0`n`2:`\`%
+  @show
+`\`\  `0"Ok sir!  Enter your message.  A blank line will quit."
+@label keepwriting
+@do write
+`\`x`x
+  @do readstring 75 NIL `s01 
+  @do `p20 is length `s01
+  @if `p20 < 2 then do
+   @begin
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+   @show
+`\  `0"Alright!  We have added you to today's edition!"
+
+`2  You trot out feeling important.
+`\`k
+@drawmap
+@update
+@closescript
+   @end
+  @do stripbad `s01
+  @writefile lognow.txt
+  `s01
+  @
+  @do goto keepwriting
+
+ @end
+
+@drawmap
+@update
+
+@#raise
+;can they raise their level?
+
+@do `p20 is `p09
+@do `p20 * 100
+@do `p20 * `p09
+
+@if `p20 > `p01 then do
+ @begin
+ @do `p21 is `p20
+ @do `p21 - `p01
+ @show
+
+
+  `2Next level raise at `%`p20`2.
+
+  `0"You need about `%`p21`0 more experience before your next level raise!"
+
+  `2Your face falls - what a bummer!
+
+`k
+@run barak
+@closescript
+@end
+
+ @if `t04 > 0 then do
+ @begin
+ @show
+
+
+  `0"You already failed once today, come back tomorrow, loser!"
+
+  `2Your face falls - what a bummer!
+
+`k
+@run barak
+@closescript
+@end
+
+
+ @show
+
+
+  `0"You have been sitting at level `p09 long enough."
+
+@if `p09 IS 1 then do
+ @begin
+ @show
+  `$"Cool!  So where is the master I fight?" `2you beam with pride.
+
+`k  `0"Master?  Haw!  Now that *I* run this place we do it my way!" `2Barak
+  laughs as he crumbles a strange black root into a mortar...
+
+  `2You anxiously await your fate...
+
+@end
+@show
+`k
+`c  `r1`4 DRINKING YOUR OWN INIQUITY `r0
+
+`2  Barak hands you a cup and asks you to drink.
+
+  `2You nearly retch as you feel the vessel's oily contents slide down
+  your throat.
+
+`k  `2Barak leads you to a small room with a cot.  `2"I'll be back in a few
+  hours,  then we'll see if you're still this cocky!" 
+
+`2  You lay down and begin dreaming immediately.
+
+`k
+@run startfight in training.ref
+@closescript
+
+
+
+@#BARAK
+@offmap
+@if bitcheck `t19 1 1 then goto turg
+@do moveback
+@do `v01 is 1
+@label barstart
+@show
+`r0`c  `%Barak's Training Center
+
+`2  Hundreds of warriors are randomly jumping and shrieking in their
+  efforts to better themselves.
+
+  Although the building itself is old and scarred, the sign is new.
+
+@do write
+`x`x
+@choice
+Ask for a level raise.
+Talk to Master Barak.
+Leave
+@if responce is 1 then do
+ @begin
+ @run raise
+ @do goto barstart
+ @end
+
+
+@if responce is 2 then do
+ @begin
+ @if `t01 is 4 then do
+  @begin
+  @show
+`r0`c  `%Talking to Master Barak
+
+  `0"Make it fast kid, I'm busy!"
+
+  `$"Um, Barak?  Where are the other trainers, as is the tradition?" `2you
+  innocently ask.
+  
+`k  `0"Other trainers?!  Now that *I'M* the new MASTER TRAINER, I fired the
+  rest!  I am the master for EVERY LEVEL NOW!" `2Barak cackles evilly.
+
+  `$"Wow, nice.  You must have worked long and hard to achieve this position,
+  Master Barak."
+
+`k  `0"Of course I did!  That last Master, this geezer known as Turgon turned
+  out to be a thief - you never know about some people, eh?  Haw!" `2 Barak
+  laughs crudely.
+
+`k
+ @do `t01 is 5
+ @do goto barstart
+ @end
+
+  @show
+`r0`c  `%Talking to Master Barak
+
+  `0"Sorry kid, I'm a little busy TEACHING, because after all, I am sort of
+  the MASTER of this whole place - you can grasp that concept, can't you?"
+
+  `2Wow, what an ass.  Maybe he'll talk later.
+
+`k
+ @do goto barstart
+ @end
+
+@drawmap
+@update
+
+@#turgraise
+;can they raise their level?
+
+@do `p20 is `p09
+@do `p20 * 100
+@do `p20 * `p09
+
+@if `p20 > `p01 then do
+ @begin
+ @do `p21 is `p20
+ @do `p21 - `p01
+ @show
+
+
+  `2Next level raise at `%`p20`2.
+
+  `0"You need about `%`p21`0 more experience before your next level raise!"
+
+  `2Your face falls - what a bummer!
+
+`k
+@run turgstart
+@closescript
+@end
+
+ @if `t04 > 0 then do
+ @begin
+ @show
+
+
+  `0"You already failed once today, `n.  I cannot let you try again
+  tomorrow," `2Turgon tells you.
+
+  `2Your face falls - what a bummer!
+
+`k
+@run turg
+@closescript
+@end
+
+
+ @show
+
+
+  `0"You have been sitting at level `p09 long enough."
+
+@show
+`k
+`c  `r1`4 DRINKING YOUR OWN INIQUITY `r0
+
+`2  Turgon hands you a small black cup.
+
+  `2It doesn't taste bad actually...
+
+`2  You lay down and begin dreaming immediately.
+
+`k
+@run startfight in training.ref
+@closescript
+
+
+@#TURG
+@offmap
+@do moveback
+@do `v01 is 1
+@label turgstart
+@show
+`r0`c  `%Turgon's Training Center
+
+`2  Hundreds of warriors are randomly jumping and shrieking in their
+  efforts to better themselves.
+
+  Turgon waves to you warmly as you come in.
+
+@do write
+`x`x
+@choice
+Ask for a level raise.
+Talk to Master Turgon.
+Leave
+@if responce is 1 then do
+ @begin
+ @run turgraise
+ @do goto turgstart
+ @end
+
+
+@if responce is 2 then do
+ @begin
+  @show
+`r0`c  `%Talking to Master Turgon
+
+  `0"How are you, `n`0?"
+
+  `$"Doing pretty good.  Are you back to the master-per-level system?" `2you
+  ask.
+  
+`k  `0"Nah..  the other trainers have left.  I think we're gonna stick to
+  the nightmare drink thing." `2he smiles.
+
+  `$"Hmm... I'm not real excited about that part, but ok."
+
+`k
+ @do goto turgstart
+ @end
+
+@drawmap
+@update
+
+
+
+@#ABDUL
+@offmap
+@do moveback
+@do `v01 is 1
+@label abstart
+@show
+`r0`c  `%Abdul's Armour
+
+`2  You see chainmail, leather, studded vests and other crap everywhere.
+
+@do write
+`x`x
+@choice
+Examine her wares
+Go outside.
+@show
+`\
+@if responce is 1 then do begin
+ @begin
+@buymanager
+  10
+  12
+  13
+  14
+  @end
+
+@if responce not 2 then goto abstart
+@drawmap
+@update
+
+@#ARTHUR
+@offmap
+@do moveback
+@do `v01 is 1
+@label arstart
+@show
+`r0`c  `%King Arthur's Weapons
+
+`2  Items of destruction are hung all around you - you feel like a kid in
+  a candy store.
+
+@do write
+`x`x
+@choice
+Examine his weaponry
+Go outside.
+@show
+`\
+@if responce is 1 then do begin
+ @begin
+@buymanager
+  4
+  9
+  15
+  16
+  @end
+
+@if responce not 2 then goto arstart
+@drawmap
+@update
+
+
diff --git a/xtrn/lord2/help.ref b/xtrn/lord2/help.ref
new file mode 100644
index 0000000000000000000000000000000000000000..aeda40579d4a8a311a7b5c3bbe9760b1cf46871d
--- /dev/null
+++ b/xtrn/lord2/help.ref
@@ -0,0 +1,496 @@
+;help inside of help.ref (yeah, this file) is run if a user hits ? from
+;the main screen in the game.  This way, if you want to add a complicated
+;help system, (ie, they can get help on certain things, whatever) you can.
+
+@#NOTIME
+`r0  `2Um, hello?  Anybody home?  You can't sit here all day, there are
+  adventures to be had!  Come back when you are ready - be not afraid, child.
+@#talk
+@do move 3 21
+@do write
+`r1`% ENTER SCREEN MESSAGE :`x
+@do readstring 51 NIL `s01
+@do stripbad `s01
+@do `p21 is length `s01
+@if `p21 more 1 then do
+ @begin
+ @do `s02 is `r1`%`x`n`%:`x
+ @do `s02 add `s01
+ @do talk `s02
+ @end
+@do statbar
+
+@#yell
+@do move 3 21
+@do write
+`r1`% ENTER GLOBAL MESSAGE :`x
+@do readstring 51 NIL `s01
+@do stripbad `s01
+@do `p21 is length `s01
+@if `p21 more 1 then do
+ @begin
+ @do `s02 is `r1`%`x`n`%:`x
+ @do `s02 add `s01
+ @do talk `s02 all
+ @end
+@do statbar
+
+@#Z
+;z key activates this
+;the Smackrod/aka legendary xy cord warping device
+@if `i73 < 1 then do
+  @begin
+  @do saybar
+`2Nice job on pressing the `0Z`2 key.  It is a great key, really.
+  @closescript
+  @end
+@do move 3 23
+@do write
+`0`r0New X? `2:`x
+@do `p20 is x
+@do `p21 is y
+@do readnum 2 `p20
+
+@if `v40 is 0 then `v40 is `p20
+@if `v40 > 80 then `v40 is 80
+@if `v40 < 1 then `v40 is 1
+@do x is `v40
+
+@do move 15 23
+@do write
+`0`r0New Y? `2:`x 
+@do readnum 2 `p21
+@if `v40 is 0 then `v40 is `p21
+@if `v40 > 20 then `v40 is 20
+@if `v40 < 1 then `v40 is 1
+
+@do y is `v40
+@clearblock 23 24
+
+@if blockpassable not 0 then do
+ @begin
+  @clearblock 23 24
+  @drawpart `p20 `p21
+  @update
+ @end
+@if blockpassable is 0 then do
+ @begin
+ @do x is &lastx
+ @do y is &lasty
+ @drawpart `p20 `p21
+ @update
+ @do saybar
+Sorry, you can't go there.
+@end
+
+@#whoison
+;our whos on list
+@show
+`r0`c  `r1                        `%PEOPLE ON NOW                             `r0  
+
+  `0Name                       Level           Location
+
+@whoison
+@show
+
+@key
+@drawmap
+@update
+
+
+@#map
+;if player hits M from the map menu
+@if `i20 > 0 then do
+  @begin
+  @do write
+`r0
+  @overheadmap
+  ;now we do any additions to our map,  like text or marks on the map
+  ;we had npc players do so they know where to go
+
+  @do move 76 12 ;porttown
+  @do write
+`r2`%Ü
+
+  @do move 76 17 ;greentree
+  @do write
+`r2`%Ü
+
+  @do move 79 17 ;stonebrook
+  @do write
+`r2`%þ
+
+  @do move 80 10 ;stonepass lodge
+  @do write
+`r2Ü
+
+  @do move 52 14 ;flag city
+  @do write
+`r2`%Ü
+
+  @do move 43 7 ;ArrisVille
+  @do write
+`r2`%Ü
+
+  @do move 56 6 ;Sosen Village
+  @do write
+`r2`%Ü
+
+  @do move 52 20 ;BoneTown
+  @do write
+`r2`%Ü
+
+  @if bitcheck `t12 3 1 then do
+    @begin
+    @do move 75 20 ;edward
+    @do write
+`r2`0ø
+    @end
+
+
+  ;this math converts your 'block #' to x y cords to show the
+  ;"you are here" blip.  We use lmap instead of map, lmap is the
+  ;the last 'visible' map the player was on.
+
+  @do `p20 is &lmap
+  @do `p20 / 80
+  @do `p21 is &lmap
+  @do `p22 is `p20
+  @do `p22 * 80
+  @do `p21 - `p22
+  @do `p20 + 1
+  @if `p21 is 0 then do
+   @begin
+   @do `p21 is 80
+   @do `p20 - 1
+   @end
+  @do move `p21 `p20
+  @do write
+`r2`b`r0
+
+;draw the help
+@do move 3 3
+@show
+`r1`%Reading your map.
+`2ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
+  `%Ü `0City/town with lodging
+  `%þ `0City/town `4without`0 lodging
+  `%ø `0House or shack
+  `4 `0Your current location
+
+  `0Note:  `2Some buildings/etc must be
+  discovered before they show up here.
+  @do move 1 22
+  @do write
+`k
+  @drawmap
+  @update
+  @closescript
+  @end
+@do saybar
+`4You don't have a map.
+
+@#rank1
+;this is the format for experience ranking
+@do `s01 is `n
+@do pad `s01 21
+@if sexmale is 1 then `s02 is `0M
+@if sexmale is 0 then `s02 is `#F
+@do `s03 is `p01
+@do frontpad `s03 14
+@do `s04 is `p09
+@do frontpad `s04 2
+@if dead is 1 then `s05 is `4Dead
+@if dead is 0 then `s05 is `%Alive
+
+@writefile temp`*.dat
+`s02 `2`s01`%`s03   `s04     `s05
+@#listplayers
+@do write
+`r0`c  `0Ranking players...
+
+@do delete temp`*.dat         ;`* is node number
+@writefile temp`*.dat
+`r0`c`r1                             `%  LORD II RANKINGS                            `r0
+                
+  `0Name                     Experience  Level   Status Alignment Quests
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+@
+
+;rank lets us specify WHAT `p to rank, and what the name of the procedure
+;that formats the rank.
+;its been comented out - it works, but @lordrank is the same thing built
+;into the .EXE, so it is a bit faster
+;@rank crap`*.dat 1 rank1
+@lordrank temp`*.dat 1
+@convert_file_to_ansi temp`*.dat score.ans
+@convert_file_to_ascii temp`*.dat score.txt
+@displayfile temp`*.dat
+@key bottom
+@drawmap
+@update
+
+
+
+@#help
+@do `v01 is 1
+@label helpstart
+@show
+`r0`c  `r1  `%LORD II: New World V1.01 `r0
+
+  `2Use your `0ARROW-KEYS`2 or numpad (with numlock turned on) to select an
+  option then press `0ENTER`2.
+
+@do write
+`x`x
+@choice
+`2List hotkeys that do things on the map mode
+`2What symbols mean on the `0'your stats'`2 screen
+`2How to move
+`2About us and how to report bugs and suggestions
+`2Beginners help and strategy
+`4Quit back to the BBS
+`2View `0Game Settings`2
+`%Play the game!
+@if responce is 7 then do
+  @begin
+   @if `v06 is 1 then `s01 is On
+   @if `v06 is 0 then `s01 is Off
+   @do `s02 is `v05
+   @if `v05 < 1 then `s02 is `%unlimited
+   @show
+`r0`c  `r1  Settings for this game  `r0
+
+   @if `v03 is 0 then write
+  `2You get only `0one`2 life per day.`\
+   @if `v03 not 0 then write
+  `2You may die `0unlimited`2 times per day.`\
+   @show
+  `2You get `0`s02`2 turns per day.
+  `2Clean mode is `0`s01`2.
+  `2Quest opportunities per day is `0`v07`2.
+  `2This game has been running for `0&time`2 days. 
+@if `v09 < 1 then do
+  @begin
+  @show
+  `2Players are safe in Inns the entire game.
+  @end
+@if `v09 > 0 then do
+  @begin
+  @show
+  `2Players can be attacked in Inns at level `0`v09`2+.
+  @end
+
+ @show
+
+  @if 3rdparty.dat exist false then do
+  @begin
+  @show
+  `2No `0IGM's`2 are installed.
+
+  @end
+  @if 3rdparty.dat exist true then do
+  @begin
+  @show
+  `2`%IGM'S INSTALLED ON THIS SYSTEM:
+
+  @displayfile 3rdparty.dat
+    @show
+
+  @end
+  @show
+`k
+  @do goto helpstart
+  @end
+
+@if responce is 1 then do
+ @begin
+ @pauseoff
+ @SHOW SCROLL
+
+
+  `%Commands that work from the main map screens:
+
+  `0? `2- `0This help screen
+  `0R `2- `0Redraw the screen
+  `0V `2- `0View your stats/inventory
+  `0T `2- `0Talk - Everyone in the game can hear you
+  `0D `2- `0Daily Happenings
+  `0H `2- `0Hail - Trade with/talk to/kill a person. (must be on their square)
+  `0L `2- `0List warriors, lets you know who's on top
+  `0W `2- `0Write mail to someone
+  `0P `2- `0People online right now
+  `0S `2- `0Show names of everyone on the current screen
+  `0B `2- `0BackBuffer, log of recent messages.
+  `0F `2- `0Fast BackBuffer, shows last 3 messages only, for speed.
+  `0Q `2- `0Quit back to the BBS
+@do goto helpstart
+ @end
+
+@if responce is 2 then do
+ @begin
+ @pauseoff
+ @SHOW SCROLL
+
+
+  `%ABOUT ITEM SYMBOLS:
+
+  `r4`*W`r0`2 `8- `2It can be used as a weapon.
+  `r2`*A`r0`2 `8- `2It can be used as armour.
+  `r5`*1`r0`2 `8- `2It can only be used once.
+
+  `2Remember - press `0V `2to view your stats, this is also where you
+  equip weapons and armour.
+@do goto helpstart
+
+ @end
+
+@if responce is 3 then do
+ @begin
+ @pauseoff
+ @SHOW SCROLL
+
+
+  `%ABOUT MOVEMENT:
+
+  `2Use the `0arrow-keys`2 or the `0numpad`2 to move around/select options
+  in most areas.  To use the numpad, make `4SURE`2 that the num lock
+  key is `4ON`2. `2(`0it will work either way if your terminal supports arrow
+  keys`2)
+
+  If using arrow keys causes the daily log to pop up randomly, you should
+  switch to the numpad.
+@do goto helpstart
+ @end
+
+
+@if responce is 4 then do
+ @begin
+ @pauseoff
+ @SHOW SCROLL
+
+
+  `%ABOUT US:
+
+  `0LORD II`2:`0 New World `2- (c) Copyright 2001 Metropolis, Inc.
+   Developed by Michael Preslar
+   
+  `2This is V1.02.
+
+  `0WWW  `8:`2  www.gameport.com
+  `0Email`8:`2  info@gameport.com
+@do goto helpstart
+ @end
+
+@if responce is 5 then do
+ @begin
+ @pauseoff
+ @SHOW SCROLL
+
+
+  `%Help and strategy for the new adventurer.
+
+  `0LORD II`2:`0 New World `2is a very different kind of game.  There is a
+  huge world to explore (`0over 300 screens`2) many people and animals to meet (not
+  all of them nice) and other REAL players to befriend and kill `0-`2 even while
+  they are online playing at the same time!
+
+ `$ You can be good or you can be evil.  You can save the world or you can
+  destroy it.
+
+  `%Find some cash!
+
+  `2Do this by 'pushing' against the table in 'your' house.  (the one you
+  started in)  With this money you can buy cheap things at the store.
+
+  `%Get berries for your mom.
+
+  `2Just west of your cottage there is a small patch that looks different
+  than the rest `0-`2 try pushing against it.  You'll find some berries.  If you
+  see a certain block of grass or stone that looks different, try pushing
+  against it `0-`2 you never know what you'll find. (most likely something
+  good)
+
+  `%Fight monsters, heal yourself.
+
+  `2This isn't such an unfamiliar idea!  But it is more tricky now `0-`2 First,
+  find an area that looks like it might contain monsters.  (usually away from
+  towns and villages)
+
+  Next `0-`2 Walk around.  You will randomly encounter various beasts/people and
+  be able to kill and sometimes talk with them.  Some areas contain a `0HIGHER`2
+  chance of running into things.  
+
+  When you are low on hitpoints, you will need to heal yourself.  Inside
+  Stonebrook there is such a place.  Later, when you have more gold you may
+  wish to purchase items that have the same effect `0-`2 different color potions
+  are the easiest way to heal on the road.
+
+  `%Raising Levels
+
+  `2No matter how long you have been playing the game, it is `0ALWAYS`2 possible
+  to improve your skills by gaining a level providing you have the experience.
+
+  `2In all the land there is only ONE place you can do this `0-`2 Barak's Training
+  center in Greentree.  Beware of Barak though, he is kind of a jerk.
+
+  `%What is alignment?
+
+  `2This is what determines what kind of a person you are - naughty or
+  nice.  `00`2 is average, `010`2 is very nice and `4-10`2 is very
+  nasty.
+
+  Someone who is nasty might see different options then someone who is nice -
+  depending on their level of evil they might have an option to kick a beggar
+  in the head where a nice person would have had 'give him some gold' as an
+  option.  Get it?
+
+  `%Arming weapons and armour 101.
+
+  `2Before you can use them you need to arm them.  From the map menu, hitting
+  `0V`2 will bring up your `0stat screen`2.  This where you can see things
+  like what you are holding and how strong you are.
+
+  You equip and use items the same way - by highlighting them with the
+  light bar and pressing enter.  You will then be given a list of options
+  that can be done with that item.  Some items have more than one use.
+
+  After equiping a weapon or armour, pay close attention to your overall
+  Attack and Defense.  The level these increment is how you know how good
+  a particular piece of equipment is!
+
+  `%Getting jobs and quests.
+
+  `2Certain people you talk to will let you 'conduct business' - this usually
+  means they have a job for your to do.
+
+  If it involves going somewhere you have never heard of - do not accept it
+  and see if they have any others.  You only get 4 job offers per day max by
+  default so be smart! 
+
+  `$Quick Tip: `2Finish the quest on the same day and you will get a bonus!
+
+@do goto helpstart
+ @end
+
+@if response is 6 then do
+  @begin
+  @show
+`\`\  Goodbye.
+  @halt 0
+  @end
+
+
+ ;default
+ @pauseon
+ @if `p09 > 0 then do
+   @begin
+   @drawmap
+   @update
+   @end
+ @closescript
+
+
+
+
+@#done
diff --git a/xtrn/lord2/home.ref b/xtrn/lord2/home.ref
new file mode 100644
index 0000000000000000000000000000000000000000..3ae83df9e40b7faec8c731298282264503396a06
--- /dev/null
+++ b/xtrn/lord2/home.ref
@@ -0,0 +1,837 @@
+@#h13
+@do moveback
+@do saybar
+`0Uncle Lenny`2: The Dragon Tooth clan is evil.  Don't ever believe them!
+@do quebar
+`0Uncle Lenny`2: Don't be afraid.. they don't bother ya here in Stonebrook.
+
+
+@#h4man
+@do moveback
+@do saybar
+`0Yowli`2: When you are up in that tree fort, you cannot be attacked.
+
+@#garbage
+@do moveback
+@do saybar
+Geez, there is garbage everywhere.  What a mess.
+
+@#tie
+@do moveback
+@do saybar
+Better jump into your A-wing and take these out!
+
+
+@#jeb
+@do moveback
+
+@if `v06 is 1 then do
+  @begin
+  @do saybar
+`0Jeb: `2You killed my dog!!!  My boy is gonna kick yer butt!
+
+  @closescript
+  @end
+
+@do saybar
+`0Jeb: `2You killed my dog!!!  My boy is gonna kick yer ass!
+
+@#jebbed
+@do moveback
+@do saybar
+The bed is dirty and unkept.
+
+@#nebbed
+@do moveback
+@do saybar
+This bed smells bad.
+
+
+
+@#h4tub
+@do moveback
+@do saybar
+`0Old Sal`2: Stay outta my hot tub, youngin'!
+
+
+@#h3mom
+@do moveback
+@do saybar
+`#Mother`2: My son Georgie is so odd.  He always has to be different!
+
+@#h3kid4
+@do moveback
+@do saybar
+`0Nicki`2: My mother loves me the most!
+
+@#h3kid3
+@do moveback
+@do saybar
+`0Georgie`2: Someday I will find a horse with wings.
+
+@#h3kid2
+@do moveback
+@do saybar
+`#Nina`2: I think Wendle likes me!!  I'm gonna have a boyfriend!
+
+@#h3kid1
+@do moveback
+@do saybar
+`0Hattie`2: Who invited you in?  Please leave my room.
+
+
+@#KID
+@do moveback
+@do saybar
+`#Little Girl`2: Mommeeeee!  `0`n`2 is in my room again!
+
+@#h1man
+@do moveback
+@do saybar
+`0Wryn: `2Why hello `0`n`2.  How is your mother?
+
+@#h1woman
+@do moveback
+@do saybar
+`0Kess: `2Did you see that treehouse the boys built?
+
+
+
+@#CHIP
+@do `p20 is 0
+@do moveback
+@busy
+@do `v01 is 1
+@show
+`r0`c  `r1  Treehouse `r0
+
+  `2A streewise looking kid squints at you.
+
+@if l2chip.tmp exist true then do
+  @begin
+  @readfile l2chip.tmp
+`p20
+`p21
+  @do `s01 is getname `p20
+  @do `s02 is getname `p21
+  @show
+  `0"We are not letting in `%`s01`0 at `%`s02`0's request.. ok?"
+
+  @end
+
+@if l2chip.tmp exist false then do
+  @begin
+  @show
+  `0"Greetings, fellow member!  What can I do for you today?"
+
+  @end
+
+@do write
+`x`x
+@choice
+Tip Chip off about somebody
+>`p20 0 Tell Chip to let `0`s01 `%back in
+Leave
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `0"Sure.. who should we watch out for?"
+  @chooseplayer `p22
+  @if `p22 is 0 then do
+    @begin
+    @show
+`k
+    @do goto chip
+    @end
+  @if `p22 is &playernum then do
+    @begin
+    @show
+  `0"But we like you around here!" `2Chip laughs.`\`\`k
+    @do goto chip
+    @end
+
+   @if l2chip.tmp exist true then delete l2chip.tmp
+   @writefile l2chip.tmp
+`p22
+&playernum
+  @show
+  `0"Understood...Thanks for the tip," `2Chip thanks as he slaps you on
+  the back.
+`\`k
+  @do goto chip
+  @end
+
+
+
+@if responce is 2 then do
+  @begin
+  @if l2chip.tmp exist true then delete l2chip.tmp
+  @show
+`\`\  `2You explain to Chip the situation.  He finally agrees to allow
+  `0`s01`2 to come to the Treehouse.
+`\`k
+  @do goto chip
+  @end
+
+@drawmap
+@update
+
+@#WALL
+@do moveback
+@busy
+@show
+`r0`c  `r1  Tree House Banter  `r0
+
+@if tree.txt exist false then do
+ @begin
+ @writefile tree.txt
+  `%Chip `2: `0We'll use birds to communicate!  Yeah!
+ @end
+
+@if tree.txt exist true then do
+ @begin
+ @displayfile tree.txt
+ @end
+
+@show
+
+@
+(Do tricky stuff with name to determine how much they can type)
+@DO `s04 is `%
+@DO `s04 add `n
+@DO STRIP `s04 <-- Strips all none color ` codes out
+@DO `s04 add `x`2:`x`0
+@DO `p20 is length `s04
+@DO `p21 is 76
+@DO `p21 - `p20
+@DO WRITE
+  `2Enter your secret message or `0ENTER`2 to abort.`\  `s04
+@DO READSTRING `p21 NIL `s03 <--Read string, NIL is default. (nothing)
+@do stripbad `s03
+@SHOW
+
+@DO `p24 is length `s03
+@IF `p24 less 3 then do
+ @begin
+ @drawmap
+ @update
+ @closescript
+ @end
+
+ @writefile tree.txt
+  `%`n`2 : `0`s03
+ @do trim tree.txt 17
+ @drawmap
+ @update
+ 
+
+
+
+@#sign
+@do moveback
+@do saybar
+<--- Stonebrook
+
+@#mybed
+@do moveback
+@do saybar
+Your bed.  Hasn't been wet in years.
+
+@#hometoy
+@do moveback
+@do saybar
+Indoor plumbing, yeah!
+
+
+@#dadsbed
+@do moveback
+@do saybar
+Your mother and father's bed.  Well, just mother's now.
+
+
+
+@#village
+@do moveback
+@do saybar
+East Stonebrook Village
+
+@#LAKE
+;Lake in the North village
+@DO SAYBAR
+`2The people of your town get water from here.
+
+@#NOTHOME
+;House that's not yours
+@DO SAYBAR
+`2This isn't your home.
+@do moveback
+
+@#EMPTY
+;House up north with no kid
+@DO SAYBAR
+`2There's crying from inside, the mother here recently lost her child
+@do moveback
+
+@#OLDMAN
+;Old man's home
+@DO SAYBAR
+`2That's the old man's home, you don't wanna go in there!
+@do moveback
+
+@#TABLE
+;Table at your house. has some money on it
+@do moveback
+@if `t11 > 0 then do
+  @begin
+  @do saybar
+`2There is nothing on the table.
+  @closescript
+  @end
+
+@DO SAYBAR
+`2Wow, there are 5 gold pieces on the table!  You take 'em.
+@do money + 5
+@do `t11 is 1
+
+@#DOG
+;Dog guarding the bigger house
+
+@if bitcheck `t12 1 1 then do
+  @begin
+  @do map is 230
+  @loadmap 230
+  @do x is 40
+  @do y is 13
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@busy
+@do moveback
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2A chihuahua guards the entrance.  Kill it? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is N then do
+  @begin
+  @if `07 < 5 then do
+    @begin
+    ;person is evil
+    @do saybar
+You brutally kick the dog as you leave.
+    @closescript
+    @end
+  @do saybar
+To hurt such a nice pup would be wrong!
+  @closescript
+  @end
+
+
+@fight
+;name
+Chihuahua
+;string said when you see him
+The dogs starts barking in an annoying high pitch.
+;power move kill string
+You kick the dead carcas off the porch.
+;sex - 1 is male, 2 is female, 3 is it
+2
+;weapon and strength for the weapon, up to 5
+nips you in the leg|2
+bites you|3
+wrestles with your boots|1
+NONE|NONE
+NONE|NONE
+;defense
+0
+;gold reward
+3
+;experience
+2
+;hit points
+5
+;if win: ref file|name or NONE
+HOME.REF|DOGWIN
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#DOGWIN
+@do saybar
+The porch is now wide open!
+;change a var here
+@bitset `t12 1 1
+
+@#JENKINS
+;Mrs. Jenkins home
+@DO SAYBAR
+`2That's miss Jenkin's home, but you didn't hear that from me.
+@do moveback
+
+
+@#random
+;this is the stuff that happens randomly while on the home screen
+@do saybar
+You hear a bird chirp merrily.  It's so very nice around here.
+@#berry
+; stuff for berry patch near house
+@do moveback ;this means go back one space.. You can't move through a
+;berry patch!
+@if `i01 more 0 then do
+ @begin
+@do saybar
+Nah, you already have some with you.
+ @closescript
+ @end
+@do saybar
+You carefully pick some berries.
+@do `i01 + 1
+
+
+@#SHOME
+@offmap
+@do moveback
+@do `v01 is 1
+@label Sarky
+@show
+`r0`c  `r1`%  Good old Wendle Hightree's house  `r0
+`\  `2This is your good friend Wendle's house.  His parents are really nice and
+  let you stay over all the time.  He greets you at the door.
+
+  `0"Hey man, how's it going?"
+
+@DO WRITE
+`x`x
+@CHOICE
+Talk with Wendle for a while
+Take off
+@IF RESPONSE IS 1 THEN DO
+  @BEGIN
+  @Show
+`\`\  `$"Pretty good, was just getting some berries for Mom.  How's it been with
+  You?"
+
+`k  `0"Great man, just enjoying the weather lately.  I can't wait to get a chance
+  to travel and have adventure though.  I hear cities like PortTown and
+  Flagcity are just great!  I don't know though my Mom just doesn't want me to
+  leave..."
+
+`k  `$"Don't worry man someday we'll get a chance to go have adventures like we
+  always said we would.  It'll be great!"`%
+`\`k
+  @do goto sarky
+  @END
+
+@drawmap
+@update
+@end
+
+@#TREEHOUSE
+@offmap
+@do moveback
+@do `v01 is 1
+@do `s01 is SECRET
+@if l2chip.tmp exists true then do
+  @begin
+  @readfile l2chip.tmp
+`p20
+`p21
+  @if `p20 is &playernum then do
+    @begin
+    @do `s01 is getname `p21
+    @show
+`r0`c  `r1`%  The TreeHouse  `r0
+`\  `2This is the big treehouse one of the nice townfolk made. Many a kid
+  come to hang out & play here, sometime people even camp out here and
+  party late night.  It's a really great place... if you can get in.
+
+  `$"Throw down the ladder kids, I wanna come up!" `2you yell.  But instead
+  of asking for a password or something they start throwing rotten fruit at
+  you.
+
+`k  `0"Get the hell out of here, `%`n`0!  We heard about
+  the awful things you've done from our friend `%`s01`0!" `2one
+  kid yells.
+
+  Guess you'd better find someplace else to sleep.
+
+`k
+    @drawmap
+    @update
+    @closescript
+    @end
+  @end
+
+@if l2tree.dat exists true then do
+  @begin
+  @readfile l2tree.dat
+`s01
+  @end
+@show
+`r0`c  `r1`%  The TreeHouse  `r0
+`\  `2This is the big treehouse one of the nice townfolk made. Many a kid
+  came to hang out & play here, sometime people even camp out here and
+  party late night.  It's a really great place... if you can get in.
+
+  A voice shouts down from above.  `0"What's today's password, kid?!"
+
+@do write
+  `2Your reply:`x
+@do readstring 50 NIL `s02
+@do upcase `s01
+@do upcase `s02
+
+@if `s02 is `s01 then do
+  @begin
+  @show
+`\`\  `0"Come on in!" `2a high pitched voice yells.  A rope ladder is thrown
+  over the side.
+
+`k
+@loadmap 232
+@do map is 232
+@do x is 30
+@do y is 10
+@drawmap
+@update
+@closescript
+@end
+
+@show
+`\`\  `0"Nice try, loser!" `2a frenzied voice screams.  The kids start
+  throwing rotten apples at you!
+
+`k
+@drawmap
+@update
+
+@#HOME
+@offmap
+@do moveback
+@do `v01 is 1
+@label HOME2
+@show
+`r0`c  `r1`% MOTHERS HOUSE `r0
+
+@if `p06 more 2 then do
+ @begin
+ @do write
+`x`x
+ @choice
+Whatup ma.
+Make me another pie!  Now!
++`t17 1 -`t17 3 Ma, no more games.  Why do the Koshi know me?
+Leave
+@do move 1 9
+
+  @if responce is 1 then do
+   @begin
+    @if bitcheck `t17 3 1 then do
+      @begin
+      @show
+`0  "Not much.  You finally know the truth about your father!"
+
+`k
+   @do goto home
+      @end
+
+    @show
+`0  "No news! Your father is still dead, you're still a delinquent."
+
+`k
+@do goto home2
+   @end
+
+ @if responce is 3 then do
+   @begin
+  @show
+  `0"You've seen the Ko-koshi?" `2you mother stammers.
+
+`k  `$"Yes!  Now tell me all woman!"
+
+`k
+`c  `r1  `%The truth about your past  `r0
+
+  `0"Your father's name was Ransom.  He traveled the world posing as a human
+  to understand it.  We fell in love - secretly.  Back then people would kill
+  Koshi on sight.  He always hid his wings carefully and visited me at night
+  for my protection."
+
+  `k  `$"So, basically I'm a bastard then is what you're saying.  Is he
+  really dead?  How much have you lied to me about?"
+
+`k  `0"I did it for you.  Yes, he is dead.  One day while at the market place
+  someone saw him for what he was.  He was burned at the stake."
+
+  `$"Did they know about you?"
+
+`k  `0"I..I was there but I was too afraid to proclaim myself his lover.."
+
+`2  Your mother bursts into tears.
+
+  `$"It's ok mom.. there was nothing you could have done.  They would have
+  burned you with him and then you wouldn't have been able to raise the
+  strapping young s&man you did."
+
+`k  `0"We were so relieved when you were not born with wings like other
+  Koshi.. but you still had Koshi eyes.  It is still in you."
+
+  `$"Very well.  I must return and ask Dahma what must be done."
+
+`k
+  @bitset `t17 3 1
+   @do goto home
+   @end
+
+
+  @if responce is 2 then do
+   @begin
+   @if `i08 more 0 then do
+    @begin
+    @show
+`2  You politely ask that she cook another pie for you.
+
+  `0"Another pie?  But hun, you already have one!" `2she giggles.
+
+`k
+    @do goto home2
+    @end
+
+   @if `i01 is 0 then do
+    @begin
+    @show
+`2  You demand that she cook for you.
+
+  `0"Ok, but you better grab some berries first." `2
+
+`k
+    @do goto home2
+    @end
+   @if `i03 is 0 then do
+    @begin
+    @show
+  `0"You have berries but... I need some more milk first!" `2
+
+`2  You sigh.  `$"Ok ma.  But any more stunts like this and you're going
+  STRAIGHT to a home for the aged!"
+
+`k
+    @do goto home2
+    @end
+    @do `i01 - 1 (take away berries and milk and give pie)
+    @do `i03 - 1
+    @do `i08 + 1
+    @show
+  `0"You got it, baby!" `2she laughs.
+
+`k  `2A half hour later, you have a big juicy pie in your pocket.
+
+`k
+   @do goto home2
+   @end
+
+ @drawmap
+ @update
+ @closescript
+ @end
+
+ @end
+@if `p06 is 2 then do
+ @begin
+
+ @if `i03 is 0 then do
+  @begin
+  @do `s01 is breasts
+  @if `v06 is 1 then `s01 is cows
+ @show
+  `0"Where is my milk?  You know my `s01 are simply too old to produce!"
+
+  `2Completely disgusted, you figure you better go find some milk.
+
+`k
+  @end
+ ;has given the berries to mom already
+ @if `i03 more 0 then do
+  @begin
+ @do `i03 - 1 (take one away)
+ @do `i08 + 1 (give them a pie)
+ @do `p06 + 1 (advance this, so we know completed the 1st quest?)
+ @do `p18 + 1
+ @show
+  `0"Great!  You brought my milk!  Having kids is finally paying off!"
+
+`%  YOU GET MOMMA'S PIE.
+
+`k  `%You get a quest point!
+
+`k
+  @end
+
+ @drawmap
+ @update
+ @closescript
+ @end
+
+@if `p06 is 0 then do
+ @begin
+ @show
+  `2Your mother greets you warmly.  `0"Hello, child!  I was hoping you could
+  go pick me some wildberries so I can make you some pie!"
+
+  `2Your mother looks on hopefully.
+
+@do write
+`x`x
+@do `v01 is 1
+  @choice
+Sure, whatever.  I want that pie!
+Naw, git 'em yourself, old bag.  I'm going to town!
+>`i01 0 Why, funny you should ask for berries, cuz guess what, I've got some!
+@
+@if responce is 1 then do
+ @begin
+ @show
+
+
+  `0"You are such a good s&son!  Go find me some berries!"
+
+ @do `p06 is 1
+ @key
+ @end
+
+@if responce is 2 then do 
+ @begin
+  @if `v06 is 0 then do
+  @begin
+  @show
+
+
+  `0"Dickhead!  I'll just forget this ever happened, now scram!"
+
+  @end
+
+  @if `v06 is 1 then do
+  @begin
+  @show
+
+
+  `0"Jerk!  I'll just forget this ever happened, now get out!"
+
+  @end
+
+
+ @key
+
+
+ @end
+
+
+@if responce is 3 then do
+ @begin
+ @show
+
+
+ @do goto get_milk
+ @end
+@drawmap
+@update
+@closescript
+ @end
+`2You strut into your cottage and quietly close the door behind you.
+
+`0"Back so soon?"`2 your mother laughs.
+           
+@do `v01 is 1
+
+@do write
+`x`x
+@choice
+>`i01 0 Yes! I have the berries!  Make my pie!
+=`i01 0 Sorry mother, I have no berries, I'm basically a failure.
+Shrug and leave.
+=`p99 0 Attempt to strangle her.
+@show
+`\
+@if responce is 1 then do begin
+ @begin
+@label get_milk
+@show
+  `2You give your mother the berries.  She is very pleased!
+
+  `0"Lovely! Lovely!  Now... Could you go to town and buy us some milk?"
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Sure mom.  That pie better be ready when I come back!
+Whatever!  Why do you always have to treat me like a slave?
+This sucks, why can't we afford our own cow?
+@
+@do `i01 - 1
+@do `p06 is 2
+@show
+
+
+  `0"Thanks hun!  Now hurry along!"
+
+  `2You sigh.  There is only so much daylight, so you better get
+  going.
+ 
+`k
+ @drawmap
+ @update
+ @closescript
+ @end
+
+@if responce is 2 then do begin
+ @begin
+@show
+  `0"Silly!  We need those berries to make you your pie, now don't we?"`2 she
+  giggles strangely.  You wonder what other plants Ma has been getting into...
+
+ @end
+
+@if responce is 3 then do begin
+ @begin
+@show
+  `$"Look ma, I got things to do, ok?"`2
+
+  She looks on, bewildered at the prospect.
+
+ @end
+
+@if responce is 4 then do begin
+ @begin
+@show
+  `$"Ma.  Come here."
+
+  `2You gently caress her neck.  Her contented sigh turns to a look of
+  confusion as you begin to apply pressure.
+
+`k  `0"What are you.. awk!" `2she gasps.  Her eyes begin to bug out a bit,
+  her tongue flaps around crazily.
+
+`k  As her body becomes limp begin to feel sorry for her and decide to
+  let her live.  She did birth you, you know.
+
+  `%Note from Seth: `0My God!!  You are a jerk!!
+ @do `p99 is 1
+ @do `p07 - 1
+ @end
+
+
+@show
+`k
+@drawmap
+@update
+@#nothing
+
+
diff --git a/xtrn/lord2/inn.ref b/xtrn/lord2/inn.ref
new file mode 100644
index 0000000000000000000000000000000000000000..1fc26dbaa9cf3e2dee71d4416ede008e577052e0
--- /dev/null
+++ b/xtrn/lord2/inn.ref
@@ -0,0 +1,835 @@
+@#edhome
+@do moveback
+@do saybar
+`%Edward: `2Hello again, `n!`2  Nice of you to visit!
+
+@#laura
+@do moveback
+@do saybar
+`%Laura: `#Greetings!  Do you like my new room?
+
+@#edhouse
+;does edward live here?
+@if bitcheck `t12 5 0 then do
+  @begin
+  @do moveback
+  @do saybar
+Hmm... no answer.
+  @closescript
+  @end
+
+@do x is 39
+@do y is 12
+@do map is 160
+@loadmap &map
+@drawmap
+@update
+
+@#fall
+@show
+`r0`c  `r1A falling out `r0
+
+`2  You step back - your foot finds nothing but air.
+
+`k  You fall.. and fall.  After what seems like hours pass you finally hit
+  bottom.
+
+`k  Your hands feels warm and sticky.  You stop breathing.
+
+`k
+@run die in gametxt.ref
+
+@#chest2
+;secret
+@do moveback
+@if bitcheck `t13 2 1 then do
+  @begin
+  @do saybar
+There is nothing on the table.
+  @closescript
+  @end
+
+@bitset `t13 2 1
+@do saybar
+`%You find two Silver Potions!
+@do `i54 + 2
+
+
+@#castle
+;castle
+@do moveback
+@do saybar
+`0Sign on door: `2Will be for sale in next beta.
+
+
+@#ferrynot
+@do moveback
+@do saybar
+Ferry closed.  Will be active in next version. (it will cost $1000 I think)
+
+@#bartender
+@do moveback
+@if `p09 < 2 then do
+  @begin
+  @do saybar
+`0Bartender: `2Get outta my face kid, I've never heard of you!
+  @closescript
+  @end
+@do `v01 is 1
+@show
+`r0`c  `r1 Talking to the bartender `r0
+
+  `0"What do ya want, punk?"
+
+@do write
+`x`x
+@choice
+Conduct business with the bartender
+Trade in gems
+Leave
+@if responce is 1 then do
+  @begin
+  @do `p20 is 1
+  @run getquest in quest.ref
+  @end
+@if response is 2 then do
+@begin
+;3 gems for `i54 Silver potion,  3 gems for `i53 Gold, `i52 red.
+ @if `p19 < 3 then do
+   @begin
+   @show
+`\`\  `0"Hey, you need at least three gems to get a potion!"
+`\`k
+   @do goto bartender
+   @end
+  @do `v01 is 1
+  @show
+`\`\  `0"Okay, what kind a potion you want?"`2
+
+  @do write
+  `x`x
+  @choice
+Silver Potion
+Gold Potion
+Red Potion
+   @if response is 1 then do
+    @begin
+    @do `p19 - 3
+    @do `i54 + 1
+    @show
+`\`\  `0"Allright, there you go"`2
+`\`k
+    @end
+   @if response is 2 then do
+    @begin
+    @do `p19 - 3
+    @do `i53 + 1
+    @show
+`\`\  `0"Allright, there you go"`2
+`\`k
+    @end
+   @if response is 3 then do
+    @begin
+    @do `p19 - 3
+    @do `i52 + 1
+    @show
+`\`\  `0"Allright, there you go"`2
+`\`k
+    @end
+  @end
+@drawmap
+@update
+
+@#FERRY
+;Ferrys on the Northern Continents        
+@offmap
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1  `%Looks like a Ferry!  `r0
+
+  `2A man at the counter greets you `0"Hello there, like to travel across the
+  ocean?  It'll cost you 1000 gold."
+                      
+@DO WRITE
+`x`x
+@CHOICE
+>&Money 999 Take the Ferry
+Leave
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@do money - 1000
+@Show
+`\`\  `$"Let's take a trip,"`2 you say and pay the man.
+`\`k
+  @if map is 215 then do
+    @begin
+    @loadmap 203
+    @do map is 203
+    @do x is 47
+    @do y is 13
+    @drawmap
+    @update
+    @DO SAYBAR
+`2Looks like a new land ...
+    @closescript
+    @end
+  @loadmap 215
+  @do map is 215
+  @do x is 49
+  @do y is 10
+  @drawmap
+  @update
+  @closescript         
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@Show
+`\`\  `2Maybe later...
+`\`k
+@DO MOVEBACK
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+
+@#CABIN
+@do `v01 is 1
+@do moveback
+
+
+@if bitcheck `t12 5 1 then do
+  @begin
+  @do saybar
+No one is here.  Oh yeah, they moved to Greentree, remember?
+  @closescript
+  @end
+
+
+@if `i42 > 0 then do
+  @begin
+  @do saybar
+`0Uncle Edward: `2What are we doing back here?
+  @do quebar
+`0Laura: `#Take us to Greentree, `n`#!
+  @closescript
+  @end
+
+@if bitcheck `t12 4 1 then do
+  @begin
+  @show
+`r0`c  `r1  THE CABIN  `r0
+
+`2  A young woman opens the door.  `#"Have you changed your mind?"
+
+  @do write
+`x`x
+  @choice
+Yes, I'll take you and your uncle to Greentree, ok?
+No - just came by to tell you no again.  Haw!
+  @if response is 2 then do
+    @begin
+    @show
+`\`\  `2Laura is not amused.  She slams the door in your face!
+`\`k
+    @drawmap
+    @update
+    @closescript
+    @end
+
+ @do `i42 is 1
+ @show
+`\`\  `#"Wonderful!  I'll go tell Edward!"
+
+`k  `%TWO HOURS LATER, YOU LEAVE - WITH LAURA AND EDWARD WITH YOU!
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+@if `i41 < 1 then do
+ @begin
+  @show
+`r0`c  `r1  THE CABIN  `r0
+
+`2  A young woman opens the door.  `#"Can I help you?"
+
+  @do write
+`x`x
+  @choice
+Hi um... Can I be your friend?
+I may be a stranger, but let me in!
+You don't know me, but I've been watching you for a long time...
+  @show
+`\`\  `#"S&sir - neither my uncle nor I know you.  Please leave."
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+  @show
+`r0`c  `r1  THE CABIN  `r0
+
+`2  A young woman opens the door.  `#"Can I help you?"
+
+  @do write
+`x`x
+  @choice
+I have a letter for someone named Edward from his sister?
+@
+@bitset `t12 4 1
+@do `i41 is 0 ;take away letter
+@show
+`\`\  `#"Yes!  I am his niece, Laura.  Yes my uncle would want to see you,
+  please come in.  But first, I must warn you..."
+
+`k  `$"Warn me?  About what?" `2you ask.
+
+`#  "My uncle has a slight disorder... I never mention it - he would be
+  positively crushed if we were to say anything about it...  So.. I would
+  be debted to you forever if you don't."
+`\`k`c  `r1  `%Meeting Uncle Edward  `r0
+
+  `2Uncle Edward turns out to be a large jovial man with a round red face.
+
+  He shakes your hand enthusiastically.
+
+`k  `0"Nice to meeeheat you, `n`0!"
+
+`k  `4YOU ARE KNOCKED OVER BY THE `bWORST BREATH`4 YOU HAVE EVER SMELLED!
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+`%Nice to meet you too, Uncle Edward!
+`%You have `4REALLY `%bad breath, did you know that?!
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `2He smiles and retires to a back room to read the letter.
+
+  `2Laura winks at you!
+
+  `%YOU GET ONE CHARM AND ALIGNMENT!
+  @do `p08 + 1
+  @do `p07 + 1
+  @end
+
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `2You see a tear tricle down Uncle Edward's cheek.  He quickly wipes
+  it off.  `0"I must read this in private... I'll be back in a moment."
+
+`k  `2Laura slaps you.  
+
+ `4 YOU LOSE ONE CHARM AND ALIGNMENT!
+  @if `p08 > 0 then `p08 - 1
+  @do `p07 - 1
+  @end
+
+  @show
+`\`k`c  `r1  `%A CHANGE OF PLANS  `r0
+
+`2  Edward appears from a back room.
+
+  `0"We must go see her," `2he states gravely.
+
+  `2Laura stands up. `#"It is too dangerous, Uncle!  If only we had someone
+  to travel with us... Someone who knew the roads.."
+
+`k  `2All eyes turn to you.
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Absolutely NOT!  I am not a babysitter.
+Yes, I will take you to Ma, back in Greentree.
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `2Edward look downcast and Laura leaves the room in a huff.
+
+  `0"If you chahange `4::smell alert::`0 your mind, `n`0 - Please come back."
+
+  `2There isn't much else to do but leave.
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+  @show
+`\`\  `2Edward and Laura cheer in unison!
+
+  `0"Wonderfull!  I'll pack my things!!" `2Uncle Edward shouts as he runs
+  out of the room.
+
+`k  `%TWO HOURS LATER, YOU LEAVE - WITH LAURA AND EDWARD WITH YOU!
+`\`k
+ @do `i42 is 1
+ @drawmap
+ @update
+
+@#ELLE
+;elle's room
+@busy
+@do moveback
+
+@if bitcheck `t12 3 1 then do
+  @begin
+
+ @if bitcheck `t12 5 1 then do
+  @begin
+  @do saybar
+`#Elle`2: I lost my baby because of you!  GET OUT!
+  @closescript
+  @end
+
+  @do saybar
+`#Elle`2: Thanks for talking to mum.  I wonder what she'll do?
+  @closescript
+
+ @end
+
+@if bitcheck `t12 2 1 then do
+  @begin
+  @do saybar
+`#Elle`2: Go talk to my mother!
+  @closescript
+  @end
+
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2A girl is crying, talk to her? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is N then do
+  @begin
+   @if `v06 is 1 then do
+     @begin
+     ;clean mode is on, so we can't say 'bitch'
+     @do saybar
+Poor girl, she needs to be alone.
+     @end
+
+   @if `v06 is 0 then do
+     @begin
+     @do saybar
+Let the bitch cry.
+     @end
+  @closescript
+  @end
+
+@if `v06 is 1 then do
+   @begin
+   ;clean mode is on, will disable this quest
+   @do saybar
+`0Elle: `2This game is running in `4CLEAN mode`2, so this quest is disabled.
+   @closescript
+   @end
+
+@do `v01 is 1
+
+@label elletalk
+@show
+`r0`c  `r1  `%ELLE'S ROOM  `r0
+
+  `2The girl stops her convulsive sobbing to speak with you.
+
+@do write
+`x`x
+@choice
+Your ma is big, eh?
+Why the water works?
+Leave
+@if responce is 1 then do
+  @begin
+  @show
+`\`\  `0"Don't talk about my mother that way!  Get away from me!"
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if responce is 2 then do
+  @begin
+  @do `s01 is a`xslut
+  @if `v06 is 1 then `s01 is pregnant
+  @show
+`\`\  `0"I'm pregnant!" `2she screams.
+
+`k  `$"Woah!! Does your ma know?  She thinks you are good girl, if
+  she knew you were `s01 she'd have a heart attack!" `2you soothe.
+
+`k  `0"I know," `2Elle tells you tearfully. `0"Would you tell her for me?  In
+  a nice way?  Make her understand that I LOVE Johnny!"
+
+`k  `2You agree.
+
+  `0"Thank you!  Come back and tell me what happened!!!"
+
+`k
+  @bitset `t12 2 1
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@drawmap
+@update
+
+@#madoor
+ @if &lasty is 10 then do
+ @begin
+ @do moveback
+ @do saybar
+Only paying customers can go back there.
+ @end
+
+@#MANB
+;Man in the booth
+@DO SAYBAR
+`0"This is MY booth, go away."
+@do moveback
+
+@#MABACK
+;Man in the booth
+@DO SAYBAR
+`#Ma: `0What are you doing behind the counter?!
+@do moveback
+
+@#CLEAN
+;Table in Jack's restaurant
+@DO SAYBAR
+Someone needs to clean up this table.
+@do moveback
+
+@#GIRL
+;Girl in MA's bording
+@DO SAYBAR
+`#Estella: `0Hey there, I hope you'll stay a night.
+@do moveback
+
+@#GIRL2
+;Touching the Girl in Ma's bording
+@do moveback
+
+@if &sex > 0 then do
+@BEGIN
+@DO SAYBAR
+`#Estella: `0Hey look but don't touch big boy.
+@END
+
+@#door
+ @do saybar
+The door opens.
+ @end
+
+
+
+@#ma
+;ma from ma's boarding house
+@do moveback
+@do `v01 is 1
+@label startma
+@show
+`r0`c  `r1  `%Talking to Ma `r0
+
+`2  'Ma' is a pleasantly plump woman with rosy cheeks.
+
+  `0"What kin I do for ya, child?" `2she asks.
+
+@do write
+`x`x
+@choice
+Get a room
+-`t12 5 Shoot the breeze with Ma
++`t12 2 -`t12 3 Your daughter got knocked up!
++`t12 1 I kill dogs.
++`t12 3 -`t12 4 Where do I deliver this letter again?
+>`i42 0 I have Uncle Edward with me!
++`t12 5 Shoot the breeze with Ma
+Leave
+@if response is 2 then do
+ @begin
+@if bitcheck `t12 3 1 then do
+  @begin
+ @show
+`\`\  `0"Not much to tell," `2Ma scowls. `0"My daughter Elle is the whore
+  of Greentree, that's all!"
+
+`k
+ @do goto startma
+
+
+  @end
+ @show
+`\`\  `0"Not much to tell," `2Ma smiles. `0"My daughter Elle is the light
+  of my life.  I am so proud of her!"
+
+`k
+ @do goto startma
+ @end
+
+@if response is 7 then do
+ @begin
+ @show
+`\`\  `0"Not much to tell," `2Ma smiles. `0"Elle still hates me and Laura
+  and Edward are still visiting.  They are renting a house near here."
+
+`k
+ @do `v01 is 1
+ @do goto startma
+ @end
+
+
+@if response is 3 then do
+ @begin
+ @show
+`\`\  `0"With who?!?!?!" `2the portly woman screams.  Ma looks like she is
+  ready to explode.
+
+`k  `$"That Johnny guy.  Yeah, ya want me to kill 'em for you?"
+
+`k  `2Ma thinks hard.  `0"No.. No we need something else.  I want you to
+  deliver this letter to my brother Edward urgently.  Please don't read it."
+
+`k  `%YOU GET THE LETTER!
+
+@if `i20 > 0 then do
+  @begin
+  @show
+  `2Your map was marked with his location.
+  @end
+@if `i20 = 0 then do
+  @begin
+  @show
+  `2If you buy a map, it will be marked with his location.
+  @end
+
+ @show
+`\`k
+ @bitset `t12 3 1
+ @do `i41 is 1
+ @do goto startma
+ @end
+
+
+@if response is 5 then do
+ @begin
+ @show
+`\`\  `0"Take the letter to my brother Edward.  He lives about 4 miles south
+  of Greentree," `2Ma tells you.
+
+`k
+ @do `v01 is 1
+ @do goto startma
+ @end
+
+@if response is 6 then do
+ @begin
+ @show
+`\`\  `0"Edward!!! How I've missed you!" `2cries Ma.  `0"And with Laura too!"
+
+`k  `2Your eyes moisten at this happy reunion.
+
+  `0"Did you bring it?" `2Ma asks seriously.
+
+  `2Edward slowly pulls something out of his knapsack...
+
+`k  `%IT IS A BARREN ROCK.
+
+`k  `0"We must do this now," `2Edward states somberly.
+
+`k`c  `r1 A little something different happens at the Inn... `r0
+
+  `2A few minutes later you hear screams coming from upstairs.
+
+`k  `2Later Ma comes down.  `0"Thanks to you, Elle is a virgin again.  At
+  least that's what we're gonna say, right?" `2she nudges with a wink.
+
+`k  `%MA GIVES YOU 2000 GOLD AND YOU GET 10 QUEST POINTS!
+
+`k
+ @bitset `t12 5 1
+ @do money + 2000
+ @do `p18 + 10
+ @do `i42 is 0
+ @drawmap
+ @update
+ @end
+
+
+@if response is 4 then do
+ @begin
+ @show
+`\`\  `0"I'm so happy for you," `2Ma smiles.
+
+`k
+ @do goto startma
+ @end
+
+
+@if response is 1 then do
+ @begin
+ @show
+`\`\  `0"Ok, that will be $50."
+@do write
+`\`x`x
+@choice
+Ok!
+<`p07 -4 `4If I'm gonna spend `$$50`4, I might as well go up to the whore house, bitch.
+>`p07 -5 No way!
+ @if response is 1 then do
+   @begin
+   @if money < 50 then do
+    @begin
+    @show
+`\`\  `2Damn it... You only have `$$&money`2!
+`\`k
+    @do goto startma
+    @end
+   @show
+   @do money - 50
+`\`\  `2Ma takes your money and tells you to find a room upstairs.
+   @do y - 2
+   @do x - 1
+   @drawmap
+   @update
+   @closescript
+   @end
+ @if response is 2 then do
+  @begin
+  @show
+`\`\  `2Ma's face turns beet red.  Haw, serves her right.`\`\`k
+  @end
+
+ @if response is 3 then do
+  @begin
+  @show
+`\`\  `2Maybe later - `$50 `2is a bit much.`\`\`k
+  @end
+
+
+
+ @do goto startma
+ @end
+
+
+@drawmap
+@update
+
+
+@#mother
+;chick waiting for her daughter in RDI
+@do moveback
+@busy
+@do `v01 is 1
+@show
+`r0`c  `%`r1 Talking to a patron `r0
+
+`2  A woman is sitting on a stool.
+
+@do write
+`x`x
+@choice
+>`i11 0 `%Hello, woman, why so worried?
+>`i11 0 I have returned your daughter!  Safe and sound.
+=&sex 1 !`i11 1 Hey baby, wassup?
+Leave
+@if responce is 1 then do
+ @begin
+ @show
+`\`\  `0"My daughter was supposed to meet me here!  She is never this late!"
+
+`k
+@do goto mother
+ @end
+
+@if responce is 3 then do
+ @begin
+ @show
+`\`\  `0"Get lost, creep!"
+
+  `2Damn!  She is outta your league anyway.
+
+`k
+@do goto mother
+ @end
+
+
+@if responce is 2 then do
+ @begin
+ @do money + 50
+ @do `p01 + 10
+ @do `i11 - 1
+ @show
+`\`\  `0"Thank you so much!!!  You saved her life!"
+
+  `2The woman gives you `$$50`2! `2 You receive `010`2 experience for helping the community.
+`k
+@end
+
+
+@drawmap
+@update
+
+@#CHATWALL
+@do moveback
+@busy
+@show
+`r0`c  `r1  SCRIBBLING ON THE BULLETIN BOARD  `r0
+
+@if bar.txt exist false then do
+ @begin
+ @writefile bar.txt
+  `%Bartender `2: `0Notice - Do not graffiti on this or else!
+ @end
+
+@if bar.txt exist true then do
+ @begin
+ @displayfile bar.txt
+ @end
+
+@show
+
+@
+(Do tricky stuff with name to determine how much they can type)
+@DO `s04 is `%
+@DO `s04 add `n
+@DO STRIP `s04 <-- Strips all none color ` codes out
+@DO `s04 add `x`2:`x`0
+@DO `p20 is length `s04
+@DO `p21 is 76
+@DO `p21 - `p20
+@DO WRITE
+  `2Enter a special message or `0ENTER`2 to abort.`\  `s04
+@DO READSTRING `p21 NIL `s03 <--Read string, NIL is default. (nothing)
+@do stripbad `s03
+@SHOW
+
+@DO `p24 is length `s03
+@IF `p24 less 3 then do
+ @begin
+ @drawmap
+ @update
+ @closescript
+ @end
+
+ @writefile bar.txt
+  `%`n`2 : `0`s03
+ @do trim bar.txt 17
+ @drawmap
+ @update
+ 
+@#NOTHING
diff --git a/xtrn/lord2/items.dat b/xtrn/lord2/items.dat
new file mode 100644
index 0000000000000000000000000000000000000000..d42cf457a040cbd7cf5d45345d565fe2642f49df
Binary files /dev/null and b/xtrn/lord2/items.dat differ
diff --git a/xtrn/lord2/items.ref b/xtrn/lord2/items.ref
new file mode 100644
index 0000000000000000000000000000000000000000..77a250a291bf5ce45e8f489c7ad8d0bb029d5221
--- /dev/null
+++ b/xtrn/lord2/items.ref
@@ -0,0 +1,980 @@
+;Items file
+
+@#DIARY
+;Barak's diary
+@show
+`r0`c  `r1`%  Reading Barak's Diary  `r0
+
+  `r1`%  2-24  `r0
+
+  `2Turgon embarressed me in front of the students again.  He has no right
+  to do this.
+
+`k  `r1`%  2-29  `r0
+
+  `2I was beat by a student with 24 experience today!  Turgon told Aragorn
+  and Santiger about it immediately... gawd I hate him!
+
+`k  `r1`%  3-03  `r0
+
+  `2Mother made some pointed comments about how nice it would be if I got
+  my own place.. that old hag, I'll show her I make plenty of money!
+
+`k  `r1`%  3-23  `r0
+
+  `2I took 20 gems from the student gem deposit today.  No one saw me.
+
+  I now am afraid to try to sell them...  I will wait until people forget.
+
+`k  `r1`%  4-03  `r0
+
+  `2Turgon saught me out today in an attempt to 'teach me the proper way
+  to handle twin swords'.  I can't believe his ego!  It was all I could do
+  to tell him I was busy.
+
+`k  `r1`%  4-12  `r0
+
+  `2I have only just become sober.  Last night I did something terrible..
+  In a drunken rage while others were at a party celebrating the death of
+  `4The Red Dragon`2 (it was one of Turgon's students that did it.. I will
+  never hear the end of this) I went to Turgon's house and hid the gems
+  behind his bookshelf.
+
+  My heart is heavy now, I hope the gems are never found.
+
+`k  `r1`%  4-18  `r0
+
+  `2TURGON SUCKS!  I decided to play some dice for a few minutes during
+  training with some students and was reprimanded by Turgon himself in
+  front of everyone.  Even Halder was laughing!
+
+  Later I left an anonymous note at the councils door.  I told them Turgon
+  had taken the gems, and I told them exactly where to find them.  I hope
+  that old coot has not found them and moved them...
+
+`k  `r1`%  4-22  `r0
+
+  `2Turgon has been banashed from Greentree!  Things could not have worked
+  more beautifully!!!  I told the council today that Turgon had been stealing
+  things all along.. it explained many disappearances..<snicker> I told them
+  all the other trainers but I took part - and it was I wrote the note.
+
+`k  `r1`%  4-23  `r0
+
+  `2The council has made me the master trainer for my 'service to the 
+  community'.  I will finally be able to start the Barak Training center
+  like I have always dreamed!
+
+  `0That was the last entry.
+
+`k
+  @run stats in gametxt.ref
+  @closescript
+
+@#SMACK
+@clearblock 13 23
+@do move 1 13
+@show
+  `2To use this item press Z from the map screen.
+
+`k
+@
+
+@#MOON
+;Gryphon Moon
+@clearblock 13 23
+@do move 1 13
+@show
+  `2The `%Gryphon Moon`2 comes alive in your hands.
+
+  Did the sun move backwards a bit?
+
+@if `p11 < `v05 then `p11 + 500
+@clearblock 5 11
+@routine drawstats in gametxt.ref
+@do move 1 17
+@key
+@#WAND
+@if castle3.dat exist false then do
+  @begin
+  @show
+`r0`c  `r1 `0WAVING YOUR WAND ALL ABOUT `r0
+
+`2  This wand is dead and lifeless.  This means nobody currently owns the
+  `%Wizard Tower`2.
+
+`k
+  @run stats in gametxt.ref
+  @closescript
+  @end
+
+@readfile castle3.dat
+`p20
+`s01
+@
+;load owner and current password
+
+
+
+
+@if `p20 not &playernum then do
+  @begin
+  @do upcase `s01
+  @if `s01 is NONE then do
+  @begin
+  @do `s04 is getname `p20
+  @show
+`r0`c  `r1 `0WAVING YOUR WAND ALL ABOUT `r0
+
+  `%A light appears over the wand!  `2Something leans out...
+
+`k`2  The face of mighty wizard `0`s04`2 scowls at you.
+
+  `0"I am not allowing anyone to enter my castle by any means!"
+
+  `2As quick as that the light is gone.
+
+`k
+  @run stats in gametxt.ref
+  @closescript
+  @end
+
+  @show
+`r0`c  `r1 `0WAVING YOUR WAND ALL ABOUT `r0
+
+`2  Say what incantation while you wave?
+   @do write
+`\  `2Say what? :`x
+  @do readstring 40 NIL `s03 
+  @do upcase `s03
+  @do upcase `s01
+
+  @if `s03 is `s01 then do
+    @begin
+    @itemexit
+    @do x is 44
+    @do y is 15
+    @do map is 1176
+    @loadmap &map
+    @drawmap
+    @update
+    @do quebar
+`%AWESOME!
+    @closescript
+    @end
+@do `p02 / 2
+@show
+`\`\  `2The wand grows hot and burns you!  `bOUCH!
+
+  `2If only you knew the right thing to say...
+
+`k
+  @run stats in gametxt.ref
+  @closescript
+  @end
+
+    @itemexit
+    @do x is 44
+    @do y is 15
+    @do map is 1176
+    @loadmap &map
+    @drawmap
+    @update
+    @do quebar
+`%WHAT A RIDE!
+    @closescript
+
+
+
+@#QUEST
+;help them remember where they need to deliver something
+
+;get location and name
+@do `p20 is `p15
+@routine getname in quest.ref
+@routine getplace in quest.ref
+
+@clearblock 13 23
+@do move 1 13
+@do `s02 is `2You`xstarted`xthis`xquest`x`0`p32`2`xdays`xago.
+@if `p32 is 0 then `s02 is You`xstarted`xthis`xquest`xtoday.
+@if `p32 is 1 then `s02 is `2You`xstarted`xthis`xquest`xyesterday.
+@show
+  `2You need to take this to `0`s01`2 in `0`s03`2.
+
+  `s02
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Continue your journey
+Throw the thing away like a bad little s&boy
+@if responce is 1 then do
+  @begin
+  @closescript
+  @end
+
+//setting quest stuff to 0, they chose throw sack away
+@do `p14 is 0
+@do `p15 is 0
+@do `p16 is 0
+@do `p17 is 0
+
+//take away quest items
+
+@do `i44 is 0
+@do `i45 is 0
+@do `i46 is 0
+@do `i47 is 0
+@do `i48 is 0
+@show
+`r0
+
+  You chuck it behind some bushes.  Haw!
+
+`k
+@closescript
+@#item1
+;Wildberrys
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You chug 'em down.  Boy do they taste good.
+
+@if `p02 less `p03 then do
+ @begin
+ @show
+  `%You feel a little better.
+
+ @do `p02 + 1
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+@end
+
+@key
+
+@#item2
+;poisonberrys
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You slurp it up.  It tastes ok at first but then... `bACK!`2
+
+  You hook all over the place!
+
+  `4HITPOINTS GO DOWN BY ONE.
+@if `p02 more 0 then `p02 - 1
+@clearblock 5 11
+@routine drawstats in gametxt.ref
+@do move 1 19
+@key
+
+
+@#item3
+;Milk          
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You down the cow juice.
+
+  `2It's a little warm, but thats how ya like it!
+
+`k
+@
+
+
+@#item5
+;Green potion
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You drink the green liquid.
+
+@if `p02 less `p03 then do
+ @begin
+ @show
+  `%You feel better!
+
+ @do `p02 + 10
+ @if `p02 more `p03 then `p02 is `p03
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+@end
+
+@key
+
+
+@#item7
+;Flute
+@if bitcheck `t14 1 1 then do
+  @begin
+  @if bitcheck `t14 2 0 then do
+  @begin
+  @clearblock 13 23
+  @do move 1 13
+  @show
+  `2You don't know any songs.  Damn!
+
+`k
+  @closescript
+  @end
+  @do `v01 is 1
+  @show
+`r0`c  `r1  Playing your flute  `r0
+
+  `2Play what?
+
+@do write
+`x`x
+@choice
+Remembering the past
+Remembering the present
+Play nothing
+@if responce is 3 then do
+  @begin
+  @run stats in gametxt.ref
+  @closescript
+  @end
+
+  @if responce is 2 then do
+  @begin
+  @show
+`\`\  `2You play the song.  You will never forget this place.
+
+`k
+  @do `t15 is x
+  @do `t16 is y
+  @do `p36 is &map
+  @run stats in gametxt.ref
+  @closescript
+  @end
+
+  @if responce is 1 then do
+  @begin
+  @if `t15 is 0 then do
+    @begin
+  @show
+`\`\  `2Nothing happpens.  Maybe you should try the other song...
+
+`k
+
+    @do goto item7
+    @end
+
+  @show
+`\`\  `2You play the song.  You are moved by your performance!
+
+`k
+  @do x is `t15
+  @do y is `t16
+  @do map is `p36
+  @loadmap &map
+  @itemexit
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+
+  @end
+
+@clearblock 13 23
+@do move 1 13
+@show
+  `2No sound comes out, must be broke.
+
+`k
+@
+
+
+@#item8
+;momma's pie
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You messily chow down the berry pie.
+
+  After a satisfying belch, the pie is gone.
+
+@if `p02 less `p03 then do
+ @begin
+ @do `p02 + 50
+ @if `p02 > `p03 then `p02 is `p03
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+@end
+
+
+@key
+
+@#item11
+;talking to little girl
+@do `v01 is 1
+@label item11s
+@show
+`r0`c  `r1 `0TALKING TO YOUR CHARGE `r0
+
+`2  You motion the girl to sit down so that you may speak with her.
+
+@do write
+`x`x
+@choice
+`%Where is your mother waiting for you again?
+What were you doing so far from town?
+`4Kill her.
+`%Nevermind
+@if response is 1 then do
+ @begin
+ @show
+`\`\  `0"My mommy is waiting for me at the `4Red Dragon Inn`0.  Please, lets hurry,
+  before she leaves!"
+
+`k
+ @do goto item11s
+ @end
+
+@if response is 2 then do
+ @begin
+ @show
+`\`\  `0"I was picking flowers and.. I wanna go home!" `2the girl cries.
+
+`k
+ @do goto item11s
+ @end
+
+@if response is 3 then do
+ @begin
+ @show
+`\`\  `$"Come here, small one.  I won't hurt you." `2you beckon.
+
+`2  The child slowly advances towards you.  `0"Yes sir?"
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+End her life.
+Have mercy on her.
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `$"I just wanted to... Straighten your dress.  There, all better."
+
+`2  She thanks you.  If only she knew how close you had come to...
+
+`k
+  @do `v01 is 3
+  @do goto item11s
+  @end
+
+ @show
+`\`\  `2You quickly crush the life out of her.  In a few moments, it is over.
+
+`k  `2Looking down at her lifeless body you are saddened.  What ever posessed
+  you to do this awful thing?
+
+  `4ALIGNMENT GOES DOWN BY ONE.
+
+`k
+ @do `i11 is 0
+ @do `p07 - 1
+ @end
+
+
+
+@run stats in gametxt.ref
+
+
+@#ITEM17
+;Gloworm
+@clearblock 13 23
+@do move 1 13
+
+@if map is 1289 then do
+  @begin
+   @show
+  `2You bite into the little guy.
+
+  `$Your mouth is glowing!
+
+`k  `%The area is much brighter now.  Good thinking!
+
+`k
+
+@do map is 1285
+@loadmap 1285
+ @closescript
+  @end
+
+
+
+@show
+  `2You bite into the little guy.
+
+  `$Your mouth is glowing!
+
+`k  `2Gee, it would be more fun in the dark, you can't really see it glow here.
+
+`k
+@
+
+@#item18
+;talking to hector
+@do `v01 is 1
+@label item18s
+@show
+`r0`c  `r1 `0TALKING TO HECTOR `r0
+
+`2  You let the bird poke his head out to speak with you.
+
+@do write
+`x`x
+@choice
+How do you know the old woman wants to eat you?
+Taunt the bird
+Set Hector free
+Want a cracker?
+`%Nevermind
+@if response is 1 then do
+ @begin
+ @show
+`\`\  `0"That witch has told me so, dozens of times!  Awk! She kept me locked
+  up for months trying to fatten me up!"
+
+`k  `$"Why did she 'enchant' you into a bird?  Why does she hate you so much?"
+
+  `0"I threw stones at her shack with some friends.  Now I'm paying for it!"
+
+`k
+ @do goto item18s
+ @end
+
+@if response is 2 then do
+ @begin
+ @show
+`\`\  `$"Say... Hector.  You are gonna taste MIGHTY fine in the old woman's stew!"
+
+  `0"Awk!  No!  Please let me go!"
+
+`k  `$"Haha... and lose my main course?  I don't think so." `2you laugh.
+
+`k
+ @do goto item18s
+ @end
+
+@if response is 4 then do
+ @begin
+ @show
+`\`\  `$"Little birdy wordy wanna cracker?" you ask.
+
+`0  "I most certainly do not!" `2Hector sqawks indignantly.
+
+`k
+ @do goto item18s
+ @end
+
+
+@if response is 3 then do
+ @begin
+ @show
+`\`\  `$"Hector.  If I let you go...  Will you be a good bird?" `2you ask.
+
+`2  Hector violently nods his beak.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Throw Hector into the sky
+Put him back in your pouch
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `$Fly, Hector!  Fly!" `2you exclaim as you toss Hector up.
+
+`k  The bird sqawks with joy - and soon is gone.
+
+  `%ALIGNMENT GOES UP BY 20.  2 QUEST POINTS GAINED.
+
+`k
+  @do `i18 is 0
+  @do `t08 is 3
+  @do `p07 + 20
+  @do `p18 + 2
+  @run stats in gametxt.ref
+  @end
+
+ @show
+`\`\  `$"Well... I was just kidding, so get back into that bag!"
+
+`k
+ @do `v01 is 3
+ @do goto item18s
+ @end
+
+@run stats in gametxt.ref
+
+@#item19
+;Eating the apple
+@clearblock 13 23
+@do move 1 13
+@show
+  `2It tastes delicious.
+
+`k
+@
+
+@#item20
+;Using the map.
+@clearblock 13 23
+@do move 1 13
+@show
+  `2To use this item, press `0M`2 from the 'map' menu.
+
+`k
+@
+
+@#item22
+;Using the map.
+@clearblock 13 23
+@do move 1 13
+
+@if `i22 < 1 then goto fail22
+@if `i23 < 1 then goto fail22
+@if `i24 < 1 then goto fail22
+@if `i25 < 1 then goto fail22
+
+@show
+  `2You carefully fit all four pieces of this strange wand together...
+
+`k  `%THE WAND COMES TO LIFE, BURNING IN YOUR HANDS. (YOU GET A QUEST POINT!)
+
+`k  `0YOU ARE TELEPORTED TO A STRANGE AND WONDEROUS PLACE!
+
+  `2You discard the now burned out wand.
+`\`k  `2Somehow you feel safe here - as though you were back in your mother's
+  womb and she was laying in a bed stomach down. `k
+ @do map is 154
+ @do x is 14
+ @do y is 12
+ @do `i22 - 1
+ @do `i23 - 1
+ @do `i24 - 1
+ @do `i25 - 1
+ @do `p18 + 1
+ @loadmap 154
+
+ @itemexit
+ @drawmap
+ @update
+ @closescript
+
+
+@label fail22
+@show
+  `2You can't seem to make it work.  Pieces are missing it looks like.
+
+`k
+@
+
+@#ITEM28
+;Casting the fishing rod
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You practice casting.  Can't wait for a fishing dock to try this out
+  on!
+
+`k
+@
+
+@#item40
+;Blue potion, heals 50
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You drink the blue liquid.
+
+@if `p02 less `p03 then do
+ @begin
+ @show
+  `%You feel better!
+
+ @do `p02 + 50
+ @if `p02 more `p03 then `p02 is `p03
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+@end
+
+@key
+
+
+@#ITEM41
+;Reading ma's letter
+@clearblock 13 23
+@do move 1 13
+@show
+  `2The letter reads:
+
+  `%Dear brother, Elle is with child.  The tramp must be taught a lesson
+  only you can teach.  Please bring what you need, and hurry.
+
+@if bitcheck `t12 6 0 then do
+  @begin
+  @bitset `t12 6 1
+  @do `p07 - 5
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+  @show
+  `4Your alignment goes down by 5.
+
+  @end
+@show
+`k
+@
+
+@#ITEM42
+;Talking to Laura and Edward
+@show
+`r0`c  `r1  Talking with Laura and Uncle Edward  `r0
+
+  `2Laura's pretty face is dirty but determined.  Edward is panting
+  heavily.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Talk to Laura
+Talk to Uncle Edward
+Talk to nobody
+@if response is 1 then do
+  @begin
+  @show
+`\`\  `$"Hey uh.. Laura.  You got a boyfriend?" `2you casually
+  ask.
+
+`k  `0"Not yet.  Maybe after all this is over you can come over and talk
+  to me about it?"
+
+`k  `$"You bet!  What are friends for?" `2you grin.
+`\`k
+  @do goto item42
+  @closescript
+  @end
+
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `2You feel this might be a bad idea.  You sure?
+
+  @do `v01 is 1
+  @do write
+`x`x
+  @choice
+Yes, talk to 'em
+Good call
+  @if response is 2 then do
+    @begin
+    @do goto item42
+    @closescript
+    @end
+   @show
+`\`\  `$"Friend Edward!  Why do you live with your niece?, anyway?" `2you ask,
+  carefully shielding your mouth with one hand.
+
+`k  `0"Well - Laura's parents were killed by `4Dragon Tooth `0riders.  They
+  burned down her whole village a few months ago.  She survived... but
+  not without scars.  Luckily I was there to help."
+
+`k
+  @do goto item42
+  @closescript
+  @end
+
+
+
+  @run stats in gametxt.ref
+
+ @#ITEM50
+ ;travel potion
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You empty the vial's contents down your throat.
+
+`k  `2Your mind begins to spin...  Streaks of light dance in your head
+  at your command.  You are the ruler of this universe of brilliance -
+  and then... it all stops.
+
+`k
+@itemexit ;this will cause it to exit to the map screen directly after
+          ;finishing this .ref
+
+@do `p20 random 9 1
+
+@if `p20 is 1 then do
+  @begin
+  @do map is 1498
+  @do x is 49
+  @do y is 6
+  @end
+
+@if `p20 is 2 then do
+  @begin
+  @do map is 1271
+  @do x is 28
+  @do y is 11
+  @end
+
+@if `p20 is 3 then do
+  @begin
+  @do map is 379
+  @do x is 55
+  @do y is 4
+  @end
+
+@if `p20 is 4 then do
+  @begin
+  @do map is 1255
+  @do x is 58
+  @do y is 6
+  @end
+
+@if `p20 is 5 then do
+  @begin
+  @do map is 1576
+  @do x is 24
+  @do y is 4
+  @end
+
+@if `p20 is 6 then do
+  @begin
+  @do map is 1029
+  @do x is 27
+  @do y is 10
+  @end
+
+@if `p20 is 7 then do
+  @begin
+  @do map is 1358
+  @do x is 66
+  @do y is 3
+  @end
+
+@if `p20 is 8 then do
+  @begin
+  @do map is 1093
+  @do x is 44
+  @do y is 10
+  @end
+
+@if `p20 is 9 then do
+  @begin
+  @do map is 1035
+  @do x is 46
+  @do y is 11
+  @end
+
+
+@loadmap &map
+@drawmap
+@update
+
+@#item52
+;Red potion
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You slurp down the strange concoction.
+
+`k  `%MAX HITPOINTS INCREASED BY FIVE.
+
+`k
+@do `p03 + 5
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+
+@#item53
+;Gold potion
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You slurp down the strange concoction.
+
+`k  `%MUSCLE INCREASED BY TWO.
+
+`k
+@do `p04 + 2
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+
+@#item54
+;Silver potion
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You slurp down the strange concoction.
+
+`k  `%DODGE INCREASED BY ONE.
+
+`k
+@do `p05 + 1
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+
+@#item55
+;White potion
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You drink the white liquid.
+
+@if `p02 less `p03 then do
+ @begin
+ @show
+  `%You feel better!
+
+ @do `p02 + 200
+ @if `p02 more `p03 then `p02 is `p03
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+@end
+
+@key
+
+@#item66
+;Koshi Snack
+@clearblock 13 23
+@do move 1 13
+@show
+  `2You chomp down the strange cookie.
+
+  `%YOU ARE FULLY HEALED.
+
+ @do `p02 is `p03
+ @savecursor
+ @clearblock 5 11
+ @routine drawstats in gametxt.ref
+ @loadcursor
+@end
+
+@key
+
+
+@#NOMOREITEMS
+
diff --git a/xtrn/lord2/koshi.ref b/xtrn/lord2/koshi.ref
new file mode 100644
index 0000000000000000000000000000000000000000..4585d5f388e5f66988fa8677f416b1b52fd67acd
--- /dev/null
+++ b/xtrn/lord2/koshi.ref
@@ -0,0 +1,384 @@
+
+@#m1
+@do moveback
+@do saybar
+`0Dahma is a mighty ruler.
+
+@#m2
+@do moveback
+@do saybar
+`0Your eyes...
+
+@#m3
+@do moveback
+@do saybar
+`0Have you ever flown?
+
+@#m4
+@do moveback
+@do saybar
+`0Dahma has been our leader for many years.
+
+@#m5
+@do moveback
+@do saybar
+`0Hi, what's your name?
+
+@#m6
+@do moveback
+@do saybar
+`0Please, I need some breathing space here!
+
+@#m7
+@do moveback
+@do saybar
+`0I've been to Flagcity before.. ever been there?
+
+@#m8
+@do moveback
+@do saybar
+`0We are family.  You are family.
+
+
+@#dahma
+@do moveback
+@if bitcheck `t17 7 1 then do
+  @begin
+  @if `p07 > 50 then do
+    @begin
+   @do saybar
+`0Dahma: `%You will always be a hero here!
+  @closescript
+
+   @end
+  @end
+
+@if bitcheck `t17 6 1 then do
+  @begin
+  @do `s01 is s&armour
+  @if `s01 is Disguise then do
+    @begin
+   @do saybar
+`0Dahma: `%Help!!  A Dragon Tooth got into the building! 
+  @closescript
+  @end
+  @end
+
+@if bitcheck `t18 2 1 then do
+ @begin
+@if `p07 < -50 then do
+  @begin
+  @if `i73 > 0 then do
+    @begin
+    @do saybar
+`0Dahma: `%I hate you not for doing this wicked thing.  Remember this.
+   @closescript
+    @end
+
+  @show
+`r0`c                             `%`r1  The Throne Of Dahma  `r0
+
+  `3You see the Smackrod being clutched tightly in Dahma's hand...
+
+`k  `%YOU LEAP UP INTO THE AIR AND GRAB IT!
+
+`k  `3YOU'D BETTER GET OUT OF HERE, AND FAST!
+
+`k
+  @do `i73 is 1
+  @drawmap
+  @update
+  @closescript
+  @end
+ @if `p07 > 50 then goto pure
+
+ @do saybar
+`0Dahma: `%You should not be here!  Your heart is not pure yet.
+@closescript
+ @end
+
+ @label pure
+
+ @if bitcheck `t17 6 1 then do
+  @begin
+  @show
+`r0`c                             `%`r1  The Throne Of Dahma  `r0
+
+  `$"I HAVE RETURNED TRIUMPHANT!" `3you echo throughout the halls.
+
+`k  `%"Do.. do you have it?" `3Dahma asks of you.
+
+  `$"What... THIS?" `3you ask as you wave the `%Gryphon Moon`3 under Dahma's
+  nose.
+
+`k  `%THE CROWD ROARS ITS APPROVAL!  YOU HAVE BECOME A HERO!
+
+`k  `%YOU RECIEVE 500 QUEST POINTS AND 10,000 EXPERIENCE!
+
+`k`r0`c                          `%`r1  Winning?  `r0
+
+  `3After much celebration you finally get a chance to sit down and talk.
+
+`k  `$"So who do you want me to give the stone to?" `3you ask a slightly
+  buzzed Dhama.
+
+`k  `%"No one.  It is not safe here, you must carry it with you always.  Can
+  you do this?"
+
+  `3You nod your head.  Even though you've won this small victory, it doesn't
+  mean the fight is over... there is so much to be done, so many to help.
+
+  `3You donate your 'disguise' to a Koshi museum for all to gawk at.. so
+  that they may never forget the past.
+
+`k
+  @bitset `t17 7 1
+  @do `i67 is 0
+  @do `p18 + 500
+  @do `p01 + 10000
+@do addlog
+  `r1  `r0 `0`n`% has saved the Koshi people and become a hero! `r1  `r0
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if bitcheck `t17 4 1 then do
+  @begin
+  @do saybar
+`0Dahma: `%Return with the Gryphon Moon!
+  @closescript
+  @end
+
+@show
+`r0`c                   `%`r1  The Throne Of Dahma  `r0
+
+  `3You approach a regal looking Koshi man.
+
+  `%"Welcome here, `n`%.  How may we serve you?"
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+-`t17 1 Why am I here?  I feel you led me here.
+-`t17 2 Tell me the truth - is the Dragon still alive?
++`t17 3 -`t17 4 I now know I am half Koshi.  What now, butterbean?
+Leave
+@if responce is 3 then do
+  @begin
+  @show
+`\`\  `3To your surprise the crowd gasps in amazement.
+
+`k  Dahma explains.  `%"Butterbean - in our language this means 'I am the
+  sacred child of prophecy'!  Truly, you are the chosen one!"
+
+`k  `$"Chosen?  What must I do?" `3you are starting to get confused.
+
+  `%"You must stop the Dragon Tooth clan from exterminating our..your
+  species.  They have stolen something from us..something that could crack
+  the world in two."
+
+  `$"What thing might that be?"
+
+`k  `%"The Gryphon Moon.  You must retrieve it from the Dragon Tooth Castle."
+
+  `$"And just how to I get there?  I don't even know where that is!"
+
+  `%"It is on a small island.  Getting there is your problem.  Bye."
+
+`k
+  @bitset `t17 4 1
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if responce is 2 then do
+  @begin
+  @bitset `t17 2 1
+  @show
+`\`\  `%"That is not important.  What is true is that the Dragon Tooth clan is
+  using the peoples fear to control them.  You must put a stop to this."
+
+`k
+  @do goto dahma
+  @end
+
+
+@if responce is 1 then do
+  @begin                                            
+  @bitset `t17 1 1
+  @show
+`\`\  `%"You don't know?  We are surprised to hear this.  Your mother should
+  have told you long ago."
+
+  `$"Told me what?!"
+
+`k  `%"It is not our place.  You must ask her."
+
+`k
+  @do goto dahma
+  @end
+
+@drawmap
+@update
+
+
+@#store
+@do moveback
+@if `p07 < 90 then do
+  @begin
+  @do saybar
+It looks like some kind of store.. too dangerous to go in.
+  @closescript
+  @end
+
+@show
+`r0`c`\`\                             `r1  `%The Koshi Marketplace  `r0
+
+@buymanager
+66
+50
+62
+64
+63
+65
+@drawmap
+@update
+                      
+
+@#man1
+;koshi man
+@do moveback
+@if `p07 < -50 then do
+  @begin
+  @if bitcheck `t17 7 1 then do
+    @begin
+    @do saybar
+`%Old Koshi Man: `0Why `n`0, it is you!  What has happened to you?!
+    @do quebar
+You shove the old man to the ground..that was the OLD you he knew!
+  @closescript
+    @end
+  @do saybar
+Hey...I've never see you around here before...?
+  @closescript
+  @end
+
+@do `p20 random 6 1
+@if `p20 is 1 then saybar
+`%Old Koshi Man: `0Welcome to our mountain village, human!
+@if `p20 is 2 then saybar
+`%Old Koshi Man: `0The air is so clear up here, don't you think?
+@if `p20 is 3 then saybar
+`%Old Koshi Man: `0Please, tell me of the outside world.
+@if `p20 is 4 then saybar
+`%Old Koshi Man: `0You must find the truth and take it to the others.
+@if `p20 is 5 then saybar
+`%Old Koshi Man: `0We have gift.. you may have it also.
+@if `p20 is 6 then saybar
+`%Old Koshi Man: `0To come this far you must have great courage.
+
+
+
+@#chest1
+;secret
+@do moveback
+@if bitcheck `t17 0 1 then do
+  @begin
+  @do saybar
+There is nothing on the table.
+  @closescript
+  @end
+@bitset `t17 0 1
+@do saybar
+`%You find a Moonstone on the table!
+@do `i57 + 1
+
+@#sign1
+@do moveback
+@do saybar
+Take it, questor - you have earned it.
+
+
+
+@#angel
+;koshi entrance
+@do moveback
+@busy
+@show
+`r0`c  `r1  `%Judgement Day  `r0
+
+  `3You kneel in front of a huge statue of a Koshi.
+
+`k `3 Suddenly the statue's eyes open.
+
+@if `p07 < -50 then do
+  @begin
+  @show
+  `%"GET OUT...GET OUT...GET OUT.." `3the things voice echoes in your head.
+
+`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@show
+  `%"Greetings, `n`%.  Do you have the key?"
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+>`i34 0 Show him your CloudSword
+Attack the statue
+Leave
+@if responce is 2 then do
+ @begin
+ @show
+`\`\  `3You strike the statue with your s&weapon`3!
+
+`k  Nothing happens.
+`\`k
+ @drawmap
+ @update
+ @closescript
+ @end
+
+@if responce is 1 then do
+  @begin
+
+@if `p07 < 100 then do
+  @begin
+  @show
+`\`\  `%"Very good - but your heart is hard.  You will not be permitted to
+  enter until your alignment is 100+" `3decrees the stone guardian.
+
+`k
+  @drawmap
+  @update
+  @closescript
+  @end
+@show
+`\`\  `%"YOU MAY ENTER." `3the voice booms.
+
+`k
+  @do map is 195
+  @do x is 79
+  @do y is 9
+  @loadmap &map
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+@drawmap
+@update
+
+@#done
+
diff --git a/xtrn/lord2/logstuff.ref b/xtrn/lord2/logstuff.ref
new file mode 100644
index 0000000000000000000000000000000000000000..3327186b93b20324955b65e999e20de56f0b0bb3
--- /dev/null
+++ b/xtrn/lord2/logstuff.ref
@@ -0,0 +1,48 @@
+;daily log functions are here
+
+@#readlog
+@pauseon
+@show
+`r0`c                     `%The Daily Happenings for day &time
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+@if lognow.txt exist false then do
+ @begin
+ @writefile lognow.txt
+  `2Young Nedrick comes home crying - he says he saw an old woman!  Eww!
+                                 `2-`0=`2-`%=`2-`0=`2-
+@pauseoff
+@end
+
+@if lognow.txt exist true then do
+ @begin
+ @displayfile lognow.txt
+ @end
+
+
+
+@label logprompt
+
+@do write
+`\          `2(`0Y`2)esterday news  (`0T`2)odays news again (`0C`2)ontinue [`0C`2] : `%
+@do readspecial `s01 CYT
+
+ @if `s01 is Y then do
+ @begin
+ @do `p20 is &time
+ @do `p20 - 1
+ @pauseon
+ @show
+`r0`c               `%The Daily Happenings for yesterday, day `p20
+`2-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+ @if logold.txt exist true then do
+ @begin
+ @displayfile logold.txt
+ @end
+ @pauseoff
+
+ @do goto logprompt
+ @end
+
+@if `s01 is T then goto readlog
+
+@#alldone
diff --git a/xtrn/lord2/lord2.js b/xtrn/lord2/lord2.js
new file mode 100644
index 0000000000000000000000000000000000000000..6f983f244dc35c3fc7931da6be150789557830ff
--- /dev/null
+++ b/xtrn/lord2/lord2.js
@@ -0,0 +1,1719 @@
+'use strict';
+js.load_path_list.unshift(js.exec_dir+"dorkit/");
+load("dorkit.js");
+dk.console.auto_pause = false;
+if (js.global.console !== undefined) {
+	console.ctrlkey_passthru = dk_old_ctrlkey_passthru;
+	console.ctrlkey_passthru = '+[';
+}
+
+var scr;
+scr = dk.console.local_io.screen;
+if (scr === undefined)
+	scr = dk.console.local_screen;
+if (scr === undefined)
+scr = dk.console.remote_screen;
+require("recordfile.js", "RecordFile");
+
+var player;
+var map;
+var world;
+var Player_Def = [
+	{
+		prop:'name',
+		type:'PString:25',
+		def:''
+	},
+	{
+		prop:'realname',
+		type:'PString:40',
+		def:''
+	},
+	{
+		prop:'money',
+		type:'SignedInteger',
+		def:0
+	},
+	{
+		prop:'bank',
+		type:'SignedInteger',
+		def:0
+	},
+	{
+		prop:'experience',
+		type:'SignedInteger',
+		def:0
+	},
+	{
+		prop:'lastdayon',
+		type:'SignedInteger16',
+		def:-1
+	},
+	{
+		prop:'love',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'weaponnumber',
+		type:'SignedInteger8',
+		def:0
+	},
+	{
+		prop:'armournumber',
+		type:'SignedInteger8',
+		def:0
+	},
+	{
+		prop:'race',
+		type:'PString:30',
+		def:''
+	},
+	{
+		prop:'sexmale',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'onnow',
+		type:'Integer8',
+		def:0
+	},
+	{
+		prop:'battle',
+		type:'Integer8',
+		def:0
+	},
+	{
+		prop:'dead',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'busy',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'deleted',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'nice',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'map',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'e6',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'x',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'y',
+		type:'SignedInteger16',
+		def:0
+	},
+	{
+		prop:'i',
+		type:'Array:99:SignedInteger16',
+		def:eval('var aret = []; while(aret.length < 99) aret.push(0); aret;')
+	},
+	{
+		prop:'p',
+		type:'Array:99:SignedInteger',
+		def:eval('var aret = []; while(aret.length < 99) aret.push(0); aret;')
+	},
+	{
+		prop:'t',
+		type:'Array:99:Integer8',
+		def:eval('var aret = []; while(aret.length < 99) aret.push(0); aret;')
+	},
+	{
+		prop:'lastsaved',
+		type:'SignedInteger',
+		def:-1
+	},
+	{
+		prop:'lastdayplayed',
+		type:'SignedInteger',
+		def:-1
+	},
+	{
+		prop:'lastmap',
+		type:'SignedInteger16',
+		def:-1
+	},
+	{
+		prop:'extra',
+		type:'Array:353:Integer8',
+		def:eval('var aret = []; while(aret.length < 353) aret.push(0); aret;')
+	}
+];
+
+var Map_Def = [
+	{
+		prop:'name',
+		type:'PString:30',
+		def:''
+	},
+	{
+		prop:'mapinfo',
+		type:{
+			array:80*20,
+			recordDef:[
+				{
+					prop:'forecolour',
+					type:'SignedInteger8',
+					def:7
+				},
+				{
+					prop:'backcolour',
+					type:'SignedInteger8',
+					def:0
+				},
+				{
+					prop:'ch',
+					type:'String:1',
+					def:' '
+				},
+				{
+					prop:'t',
+					type:'SignedInteger16',
+					def:0
+				},
+				{
+					prop:'terrain',
+					type:'SignedInteger8',
+					def:0
+				},
+			]
+		},
+	},
+	{
+		prop:'hotspots',
+		type:{
+			array:10,
+			recordDef:[
+				{
+					prop:'warptomap',
+					type:'SignedInteger16',
+					def:0
+				},
+				{
+					prop:'hotspotx',
+					type:'SignedInteger8',
+					def:0
+				},
+				{
+					prop:'hotspoty',
+					type:'SignedInteger8',
+					def:0
+				},
+				{
+					prop:'warptox',
+					type:'SignedInteger8',
+					def:0
+				},
+				{
+					prop:'warptoy',
+					type:'SignedInteger8',
+					def:0
+				},
+				{
+					prop:'refsection',
+					type:'PString:12',
+					def:0
+				},
+				{
+					prop:'reffile',
+					type:'PString:12',
+					def:0
+				},
+				{
+					prop:'extra',
+					type:'String:100',
+					def:''
+				},
+			]
+		}
+	},
+	{
+		prop:'battleodds',
+		type:'SignedInteger',
+		def:0
+	},
+	{
+		prop:'reffile',
+		type:'PString:12',
+		def:''
+	},
+	{
+		prop:'refsection',
+		type:'PString:12',
+		def:''
+	},
+	{
+		prop:'nofighting',
+		type:'Boolean',
+		def:true
+	},
+	{
+		prop:'extra',
+		type:'String:469',
+		def:''
+	}
+];
+
+var World_Def = [
+	{
+		prop:'name',
+		type:'PString:60',
+		def:''
+	},
+	{
+		prop:'mapdatindex',
+		type:'Array:1600:SignedInteger16',
+		def:new Array(1600)
+	},
+	{
+		prop:'v',
+		type:'Array:40:SignedInteger',
+		def:new Array(40)
+	},
+	{
+		prop:'s',
+		type:'Array:10:PString:80',
+		def:new Array(10)
+	},
+	{
+		prop:'time',
+		type:'SignedInteger',
+		def:0
+	},
+	{
+		prop:'hideonmap',
+		type:'Array:1600:Integer8',
+		def:new Array(1600)
+	},
+	{
+		prop:'extra',
+		type:'String:396',
+		def:''
+	}
+]
+
+var Item_Def = [
+	{
+		prop:'name',
+		type:'PString:30',
+		def:''
+	},
+	{
+		prop:'hitaction',
+		type:'PString:40',
+		def:''
+	},
+	{
+		prop:'useonce',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'armour',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'weapon',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'sell',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'used',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'value',
+		type:'SignedInteger',
+		def:false
+	},
+	{
+		prop:'breakage',
+		type:'SignedInteger16',
+		def:false
+	},
+	{
+		prop:'maxbuy',
+		type:'SignedInteger16',
+		def:false
+	},
+	{
+		prop:'defence',
+		type:'SignedInteger16',
+		def:false
+	},
+	{
+		prop:'strength',
+		type:'SignedInteger16',
+		def:false
+	},
+	{
+		prop:'eat',
+		type:'SignedInteger16',
+		def:false
+	},
+	{
+		prop:'refsection',
+		type:'PString:12',
+		def:false
+	},
+	{
+		prop:'useaction',
+		type:'PString:30',
+		def:false
+	},
+	{
+		prop:'description',
+		type:'PString:30',
+		def:false
+	},
+	{
+		prop:'questitem',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'extra',
+		type:'String:30',
+		def:false
+	},
+];
+
+function clamp_integer(v, s)
+{
+	var i = parseInt(v, 10);
+	if (isNaN(i))
+		throw('Invalid integer '+v);
+
+	switch(s) {
+		case 's8':
+			if (i > 127)
+				i = 127;
+			else if (i < -128)
+				i = -128;
+			break;
+		case '8':
+			if (i >255)
+				i = 255;
+			else if (i < 0)
+				i = 0;
+			break;
+		case 's16':
+			if (i > 32767)
+				i = 32767;
+			else if (i < -32768)
+				i = -32768
+			break;
+		case '16':
+			if (i > 65535)
+				i = 65535;
+			else if (i < 0)
+				i = 0;
+			break;
+		case 's32':
+			if (i > 2147483647)
+				i = 2147483647;
+			else if (i < -2147483648)
+				i = -2147483648;
+			break;
+		case '32':
+			if (i > 4294967295)
+				i = 4294967295;
+			else if (i < 0)
+				i = 0;
+			break;
+		default:
+			throw('Invalid clamp style '+s);
+	}
+	return i;
+}
+
+var state = {
+	time:0
+};
+var files = {};
+var vars = {
+	version:{type:'const', val:99},
+	x:{type:'fn', get:function() { return player.x }, set:function(x) { player.x = clamp_integer(x, 's8') } },
+	y:{type:'fn', get:function() { return player.y }, set:function(y) { player.y = clamp_integer(y, 's8') } },
+	map:{type:'fn', get:function() { return player.map }, set:function(map) { player.map = clamp_integer(map, 's16') } },
+	dead:{type:'fn', get:function() { return player.dead }, set:function(dead) { player.dead = clamp_integer(dead, 's8') } },
+	sexmale:{type:'fn', get:function() { return player.sexmale }, set:function(sexmale) { player.sexmale = clamp_integer(sexmale, 's16') } },
+	narm:{type:'fn', get:function() { return player.armournumber }, set:function(narm) { player.armournumber = clamp_integer(narm, 's8') } },
+	nwep:{type:'fn', get:function() { return player.weaponnumber }, set:function(nwep) { player.weaponnumber = clamp_integer(nwep, 's8') } },
+	money:{type:'fn', get:function() { return player.money }, set:function(money) { player.money = clamp_integer(money, 's32') } },
+	bank:{type:'fn', get:function() { return player.bank }, set:function(bank) { player.bank = clamp_integer(bank, 's32') } },
+	enemy:{type:'str', val:''},
+	'&realname':{type:'const', val:dk.user.full_name},
+	'&date':{type:'fn', get:function() { var d = new Date(); return format('%02d/%02d/%02d', d.getMonth()+1, d.getDate(), d.getYear()%100); }, set:function(x) { throw('Attempt to set date at '+fname+':'+line); } },
+	'&nicedate':{type:'fn', get:function() { var d = new Date(); return format('%d:%02d on %02d/%02d/%02d', d.getHours() % 12, d.getMinutes(), d.getMonth()+1, d.getDate(), d.getYear()%100); }, set:function(x) { throw('Attempt to set nicedate at '+fname+':'+line); } },
+	// TODO ...
+	'&time':{type:'fn', get:function() { return state.time }, set:function(x) { throw('attempt to set &time'); } },
+	responce:{type:'int', val:0},
+	response:{type:'fn', get:function() { return vars.responce.val; }, set:function(val) { vars.responce.val = clamp_integer(val, 's32')  } },
+};
+var i;
+for (i = 1; i < 41; i++) {
+	vars[format('`v%02d', i)] = {type:'int', val:0};
+}
+for (i = 1; i < 11; i++) {
+	vars[format('`s%02d', i)] = {type:'str', val:''};
+}
+for (i = 0; i < 99; i++) {
+	vars[format('`p%02d', i+1)] = {type:'fn', get:eval('function() { return player.p['+i+'] }'), set:eval('function(val) { player.p['+i+'] = clamp_integer(val, "s32") }')};
+	vars[format('`t%02d', i+1)] = {type:'fn', get:eval('function() { return player.t['+i+'] }'), set:eval('function(val) { player.t['+i+'] = clamp_integer(val, "8") }')};
+	vars[format('`i%02d', i+1)] = {type:'fn', get:eval('function() { return player.i['+i+'] }'), set:eval('function(val) { player.i['+i+'] = clamp_integer(val, "s8") }')};
+}
+
+function getkeyw()
+{
+	var timeout = time() + 60 * 5;
+	var tl;
+	var now;
+
+	do {
+		now = time();
+		// TODO: dk.console.getstr() doesn't support this stuff... (yet)
+		tl = (dk.user.seconds_remaining + dk.user.seconds_remaining_from - 30) - now;
+		if (tl < 1) {
+			// TODO message etc
+			exit(0);
+		}
+		if (now >= timeout) {
+			// TODO message etc
+			exit(0);
+		}
+	} while(!dk.console.waitkey(1000));
+	return dk.console.getkey();
+}
+
+var curlinenum = 1;
+var curcolnum = 1;
+var morechk = true;
+// Reads a key
+function getkey()
+{
+	var ch;
+	var a;
+
+	curlinenum = 1;
+	ch = '\x00';
+	do {
+		ch = getkeyw();
+		if (ch === null || ch.length < 1) {
+			ch = '\x00';
+		}
+	} while (ch === '\x00');
+
+	return ch;
+}
+
+function remove_colour(str)
+{
+	str = str.replace(/`[0-9\!-^]/g, '');
+	str = str.replace(/`r[0-7]/g, '');
+	return str;
+}
+
+function setvar(name, val) {
+	var t;
+
+	name = name.toLowerCase();
+	if (vars[name] === undefined)
+		throw('Attempt to set invalid variable '+name);
+	switch(vars[name].type) {
+		case 'int':
+			t = parseInt(val);
+			if (isNaN(t))
+				throw('Invalid value '+val+' assigned to '+name);
+			if (t > 2147483647)
+				t = 2147483648;
+			if (t < -2147483648)
+				t = -2147483648;
+			vars[name].val = t;
+			break;
+		case 'str':
+			vars[name].val = val.toString();
+			break;
+		case 'const':
+			throw('Attempt to set const value '+name);
+		case 'bool':
+			if (val)
+				vars[name].val = true;
+			else
+				vars[name].val = false;
+			break;
+		case 'fn':
+			vars[name].set(val);
+			break;
+		default:
+			throw('Unhandled var type '+vars[name].type);
+	}
+}
+
+function getvar(name) {
+	if (vars[name.toLowerCase()] === undefined)
+		return name;
+	if (name.substr(0, 2) === 'S&')
+		name = 'S&'+name.substr(2).toLowerCase();
+	else
+		name = name.toLowerCase();
+	switch(vars[name].type) {
+		case 'int':
+		case 'str':
+		case 'const':
+			return vars[name].val;
+		case 'bool':
+			if (vars[name].val)
+				return 1;
+			return 0;
+		case 'fn':
+			return vars[name].get();
+		default:
+			throw('Unhandled var type '+vars[name].type);
+	}
+}
+
+function expand_ticks(str)
+{
+	str = str.replace(/`n/ig, player.name);
+	str = str.replace(/`e/ig, getvar('enemy'));
+	str = str.replace(/`x/ig, ' ');
+	str = str.replace(/`w/ig, '');
+	str = str.replace(/`l/ig, '');
+	str = str.replace(/`\\/ig, '\n');
+	str = str.replace(/`c/ig, '');
+	str = str.replace(/.`d/ig, '');
+	// TODO: Not sure how to handle `c and `d is icky.
+	return str;
+}
+
+function replace_vars(str)
+{
+	str = str.replace(/([Ss]?&[A-Za-z]+)/g, function(m, r1) { return getvar(r1); });
+	str = str.replace(/(`[Vv][0-4][0-9])/g, function(m, r1) { return getvar(r1); });
+	str = str.replace(/(`[Ss][0-1][0-9])/g, function(m, r1) { return getvar(r1); });
+	str = str.replace(/(`[Pp][0-9][0-9])/g, function(m, r1) { return getvar(r1); });
+	str = str.replace(/(`[Tt][0-9][0-9])/g, function(m, r1) { return getvar(r1); });
+	str = str.replace(/(`[Ii][0-9][0-9])/g, function(m, r1) { return getvar(r1); });
+	str = str.replace(/(`[Ii][0-9][0-9])/g, function(m, r1) { return getvar(r1); });
+	return str;
+}
+
+function clean_str(str)
+{
+	var ret = '';
+	var i;
+
+	for (i = 0; i < str.length; i += 1) {
+		if (str[i] === '$') {
+			// Just skip it.
+		}
+		else if (str[i] !== '`') {
+			ret += str[i];
+		}
+		else {
+			switch (str[i+1]) {
+				case '0':
+				case '1':
+				case '2':
+				case '3':
+				case '4':
+				case '5':
+				case '6':
+				case '7':
+				case '8':
+				case '9':
+				case '!':
+				case '@':
+				case '#':
+				case '$':
+				case '%':
+					ret += str[i];
+					break;
+				default:
+					i += 1;
+			}
+		}
+	}
+
+	// TODO: This is where badwords replacements should happen...
+
+	return ret;
+}
+
+function displen(str)
+{
+	return remove_colour(expand_ticks(replace_vars(str))).length;
+}
+
+function sw(str) {
+	if (str === '') {
+		return;
+	}
+	if (str === '\r\n') {
+		curcolnum = 1;
+	}
+	dk.console.print(str);
+	if (str !== '\r\n') {
+		curcolnum += str.length;
+	}
+}
+
+function sln(str)
+{
+	// *ALL* CRLFs should be sent from here!
+	if (str !== '') {
+		sw(str);
+	}
+	sw('\r\n');
+	curlinenum += 1;
+	if (morechk) {
+		if (curlinenum > dk.console.rows - 1) {
+			more_nomail();
+			curlinenum = 1;
+		}
+	}
+	else {
+		curlinenum = 1;
+	}
+}
+
+function sclrscr()
+{
+	var oa = dk.console.attr.value;
+
+	dk.console.clear();
+	dk.console.attr.value = oa;
+	curlinenum = 1;
+}
+
+function foreground(col)
+{
+	if (col > 15) {
+		col = 0x80 | (col & 0x0f);
+	}
+	dk.console.attr.value = (dk.console.attr.value & 0x70) | col;
+}
+
+function background(col)
+{
+	if (col > 7 || col < 0) {
+		return;
+	}
+	dk.console.attr.value = (dk.console.attr.value & 0x8f) | (col << 4);
+}
+
+function more()
+{
+	var oa = dk.console.attr.value;
+
+	// TODO: Should be *centered*
+	curlinenum = 1;
+	lw('  `2<`0MORE`2>');
+	getkey();
+	dk.console.print('\r');
+	dk.console.cleareol();
+	dk.console.attr.value = oa;
+}
+
+function lw(str) {
+	var i;
+	var to;
+	var oop;
+	var snip = '';
+	var lwch;
+
+	str = replace_vars(str);
+	for (i=0; i<str.length; i += 1) {
+		if (str[i] === '`') {
+			sw(snip);
+			snip = '';
+			i += 1;
+			if (i > str.length) {
+				break;
+			}
+			switch(str[i]) {
+				case 'n':
+				case 'N':
+					lw(player.name);
+					break;
+				case 'e':
+				case 'E':
+					lw(getvar('enemy'));
+					break;
+				case 'g':
+				case 'G':
+					throw('TODO: Graphics level');
+					break;
+				case 'k':
+				case 'K':
+					more();
+					break;
+				case 'x':
+				case 'X':
+					sw(' ');
+					break;
+				case 'd':
+				case 'D':
+					sw('\b');
+					break;
+				case 'w':
+				case 'W':
+					mswait(100);
+					break;
+				case 'l':
+				case 'L':
+					mswait(500);
+					break;
+				case '\\':
+					sln('');
+					break;
+				case '1':		// BLUE
+					foreground(1);
+					break;
+				case '2':		// GREEN
+					foreground(2);
+					break;
+				case '3':		// CYAN
+					foreground(3);
+					break;
+				case '4':		// RED
+					foreground(4);
+					break;
+				case '5':		// MAGENTA
+					foreground(5);
+					break;
+				case '6':		// YELLOW
+					foreground(6);
+					break;
+				case '7':		// WHITE/GRAY
+					foreground(7);
+					break;
+				case '8':
+					foreground(8);
+					break;
+				case '9':
+					foreground(9);
+					break;
+				case '0':
+					foreground(10);
+					break;
+				case '!':
+					foreground(11);
+					break;
+				case '@':
+					foreground(12);
+					break;
+				case '#':
+					foreground(13);
+					break;
+				case '$':
+					foreground(14);
+					break;
+				case '%':
+					foreground(15);
+					break;
+				case '^':
+					foreground(0);
+					break;
+				case 'c':
+				case 'C':
+					sclrscr();
+					sln('');
+					sln('');
+					break;
+				case 'r':
+				case 'R':
+					i += 1;
+					if (i > str.length) {
+						break;
+					}
+					switch (str[i]) {
+						case '0':
+							background(0);
+							break;
+						case '1':
+							background(1);
+							break;
+						case '2':
+							background(2);
+							break;
+						case '3':
+							background(3);
+							break;
+						case '4':
+							background(4);
+							break;
+						case '5':
+							background(5);
+							break;
+						case '6':
+							background(6);
+							break;
+						case '7':
+							background(7);
+							break;
+					}
+					break;
+			}
+		}
+		else {
+			snip += str[i];
+		}
+	}
+	sw(snip);
+
+}
+
+function lln(str)
+{
+	lw(str);
+	sln('');
+}
+
+function spaces(len)
+{
+	var r = '';
+	var i;
+
+	for (i = 0; i < len; i++)
+		r += ' ';
+	return r;
+}
+
+var bar_timeout;
+var bar_queue = [];
+function update_bar(str, timeout)
+{
+	str = replace_vars(str);
+	var dl = displen(str);
+	var l;
+	var attr = dk.console.attr.value;
+
+	dk.console.gotoxy(2, 20);
+	dk.console.attr.value = 31;
+	if (dl < 76) {
+		l = parseInt((76 - dl) / 2, 10);
+		str = spaces(l) + str;
+		l = 76 - (dl + l);
+		str = str + spaces(l);
+	}
+	lw(str);
+	dk.console.gotoxy(player.x-1, player.y-1);
+	dk.console.attr.value = attr;
+	if (timeout !== undefined)
+		bar_timeout = new Date().valueOf() + parseInt(timeout * 1000, 10);
+	else
+		bar_timeout = undefined;
+}
+
+function status_bar()
+{
+	var b;
+
+	b = '`r1`2Location is `0'+map.name+'`2. HP: (`%'+player.p[1]+'`2 of `%'+player.p[2]+'`2).  Press `%?`2 for help.';
+	update_bar(b);
+}
+
+function timeout_bar()
+{
+	if (bar_timeout === undefined && bar_queue.length === 0)
+		return;
+	if (bar_timeout === undefined || new Date().valueOf() > bar_timeout) {
+		if (bar_queue.length)
+			update_bar(bar_queue.shift(), 1.5);
+		else
+			status_bar();
+	}
+}
+
+function run_ref(sec, fname)
+{
+	var line;
+	var m;
+	var cl;
+	var args;
+
+	fname = fname.toLowerCase();
+	sec = sec.toLowerCase();
+
+	function getlines() {
+		var ret = [];
+
+		while (line < files[fname].lines.length && files[fname].lines[line+1].search(/^\s*@/) === -1) {
+			ret.push(files[fname].lines[line+1]);
+			line++;
+		}
+		return ret;
+	}
+
+	var do_handlers = {
+		'write':function(args) {
+			line++;
+			if (line > files[fname].lines.length)
+				return;
+			cl = files[fname].lines[line];
+			lw(cl);
+		},
+		'talk':function(args) {
+			// TODO: Send message to other players (mail stuff?)
+		},
+		'readspecial':function(args) {
+			var ch;
+
+			do {
+				ch = getkey().toUpperCase();
+				if (ch === '\r')
+					ch = args[1].substr(0, 1);
+			} while (args[1].indexOf(ch) === -1);
+			setvar(args[0], ch);
+		},
+		'goto':function(args) {
+			args[0] = args[0].toLowerCase();
+			if (files[fname].section[args[0]] === undefined)
+				throw('Goto undefined label '+args[0]+' at '+fname+':'+line);
+			line = files[fname].section[args[0]].line;
+		},
+		'move':function(args) {
+			if (args.length > 1) {
+				dk.console.gotoxy(clamp_integer(getvar(args[0]), '8') - 1, clamp_integer(getvar(args[1]), '8') - 1);
+				return;
+			}
+			throw('Invalid move at '+fname+':'+line);
+		},
+		'readstring':function(args) {
+			var x = scr.pos.x;
+			var y = scr.pos.y;
+			var attr = scr.attr.value;
+			var len = getvar(args[0]);
+			var s;
+
+			if (args.length === 2)
+				args.push('`s10');
+			s = dk.console.getstr({len:len, edit:(args[1].toLowerCase() === 'nil' ? '' : getvar(args[1])), input_box:true, attr:new Attribute(31)});
+			setvar(args[2], s);
+			dk.console.gotoxy(x, y);
+			while (remove_colour(s).length < len)
+				s += ' ';
+			dk.console.attr = 15;
+			lw(s);
+			dk.console.attr = attr;
+		},
+		'stripbad':function(args) {
+			setvar(args[0], clean_str(getvar(args[0])));
+		},
+		'replaceall':function(args) {
+			var hs;
+			var f = getvar(args[0]);
+			var r = getvar(args[1]);
+
+			hs = getvar(args[2]);
+			while (hs.indexOf(f) !== -1) {
+				hs = hs.replace(f, r);
+			}
+			setvar(args[2], hs);
+		},
+		'copytoname':function(args) {
+			player.name = getvar('`s10');
+		},
+		'moveback':function(args) {
+			erase(player.x - 1, player.y - 1);
+			player.x = player.lastx;
+			player.y = player.lasty;
+			update();
+		},
+		'saybar':function(args) {
+			line++;
+			if (line >= files[fname].lines.length)
+				throw('Trailing saybar at '+fname+':'+line);
+			update_bar(files[fname].lines[line], 5);
+		},
+		'quebar':function(args) {
+			line++;
+			if (line >= files[fname].lines.length)
+				throw('Trailing quebar at '+fname+':'+line);
+			bar_queue.push(files[fname].lines[line]);
+			timeout_bar();
+		}
+	};
+	var handlers = {
+		'do':function(args) {
+			var tmp;
+
+			if (args.length < 1 || args.length > 0 && args[0].toLowerCase() === 'do') {
+				if (line + 1 >= files[fname].lines.length)
+					throw('do at end of file');
+				if (files[fname].lines[line + 1].search(/^\s*@begin/i) === -1)
+					throw('trailing do');
+				line++;
+				return;
+			}
+			if (do_handlers[args[0].toLowerCase()] !== undefined) {
+				do_handlers[args[0].toLowerCase()](args.slice(1));
+				return;
+			}
+			if (args.length > 2 && (args[1].toLowerCase() === 'is' || args[1] === '=')) {
+				if (args[2].toLowerCase() === 'length') {
+					tmp = getvar(args[3]);
+					tmp = remove_colour(expand_ticks(replace_vars(tmp)));
+					setvar(args[0], tmp.length);
+				}
+				else if (args[2].toLowerCase() === 'reallength') {
+					setvar(args[0], getvar(args[3]).length);
+				}
+				else
+					setvar(args[0], getvar(args[2]));
+				return;
+			}
+			if (args.length > 2 && args[1] == '-') {
+				setvar(args[0], getvar(args[0]) - getvar(args[2]));
+				return;
+			}
+			if (args.length > 2 && args[1] == '+') {
+				setvar(args[0], getvar(args[0]) + getvar(args[2]));
+				return;
+			}
+			if (args.length > 2 && args[1] == '/') {
+				setvar(args[0], getvar(args[0]) / getvar(args[2]));
+				return;
+			}
+			if (args.length > 2 && args[1] == '*') {
+				setvar(args[0], getvar(args[0]) * getvar(args[2]));
+				return;
+			}
+			if (args.length > 3 && args[1].toLowerCase() === 'random') {
+				setvar(args[0], random(clamp_integer(getvar(args[2]), 's32')) + clamp_integer(args[3], 's32'));
+				return;
+			}
+			throw('Unhandled do at '+fname+':'+line);
+		},
+		'version':function(args) {
+			if (args.length < 1)
+				throw('Invalid version at '+fname+':'+line);
+			if (parseInt(args[0] > vars.version.val))
+				throw('lord2.js version too old!');
+		},
+		'if':function(args) {
+			var tmp;
+			var tmp2;
+			var tmp3;
+			var tmp4;
+
+			if (args[0].toLowerCase() === 'checkdupe') {
+				tmp2 = remove_colour(getvar(args[1]));
+				tmp4 = false;
+				for (tmp = 0; tmp < pfile.length; tmp++) {
+					tmp3 = pfile.get(tmp);
+					if (tmp3.deleted)
+						continue;
+					if (remove_colour(tmp3.name) === tmp2) {
+						tmp4 = true;
+						break;
+					}
+				}
+				if (tmp4 === (getvar(args[2]).toLowerCase() === 'true'))
+					handlers.do(args.slice(4));
+				else if (args[4].toLowerCase() === 'begin')
+					handlers.begin(args.slice(5));
+				return;
+			}
+			else if (args[0].toLowerCase() === 'bitcheck') {
+				tmp = getvar(args[1]);
+				tmp2 = 1 << parseInt(getvar(args[2]), 10);
+				tmp3 = parseInt(getvar(args[3]), 10);
+				if (tmp3 === 0)
+					tmp3 = false;
+				else
+					tmp3 = true;
+				if ((!!(tmp & tmp2)) === tmp3)
+					handlers.do(args.slice(5));
+				else if (args[5].toLowerCase() === 'begin')
+					handlers.begin(args.slice(6));
+				return;
+			}
+			switch(args[1].toLowerCase()) {
+				case 'more':
+				case '>':
+					if (parseInt(getvar(args[0]), 10) > parseInt(getvar(args[2]), 10))
+						handlers.do(args.slice(4));
+					else if (args[4].toLowerCase() === 'begin')
+						handlers.begin(args.slice(5));
+					break;
+				case '<':
+				case 'less':
+					if (parseInt(getvar(args[0]), 10) < parseInt(getvar(args[2]), 10))
+						handlers.do(args.slice(4));
+					else if (args[4].toLowerCase() === 'begin')
+						handlers.begin(args.slice(5));
+					break;
+				case '!':
+				case 'not':
+					if (getvar(args[0]).toString() !== getvar(args[2]).toString())
+						handlers.do(args.slice(4));
+					else if (args[4].toLowerCase() === 'begin')
+						handlers.begin(args.slice(5));
+					break;
+				case '=':
+				case 'is':
+					if (args[2].toLowerCase() === 'length') {
+						tmp = remove_colour(expand_ticks(replace_vars(getvar(args[3])))).length;
+					}
+					else if (args[2].toLowerCase() === 'reallength') {
+						tmp = getvar(args[3]).length;
+					}
+					else
+						tmp = getvar(args[2]);
+					if (getvar(args[0]).toString() === tmp.toString())
+						handlers.do(args.slice(4));
+					else if (args[4].toLowerCase() === 'begin')
+						handlers.begin(args.slice(5));
+					break;
+				case 'exist':
+					if (file_exists(js.exec_dir + args[0]) === (args[2].toLowerCase() === 'true'))
+						handlers.do(args.slice(5));
+					else if (args[4].toLowerCase() === 'begin')
+						handlers.begin(args.slice(6));
+					break;
+				default:
+					throw('Unhandled condition '+args[1]+' at '+fname+':'+line);
+			}
+		},
+		'begin':function(args) {
+			var depth = 1;
+			if (args.length > 0)
+				throw('Unexpected arguments to begin');
+			while (depth > 0) {
+				line++;
+				if (files[fname].lines[line].search(/^\s*@begin/i) !== -1)
+					depth++;
+				if (files[fname].lines[line].search(/^\s*@end/i) !== -1)
+					depth--;
+			}
+		},
+		'routine':function(args) {
+			if (args.length === 1) {
+				run_ref(args[0], fname);
+				return;
+			}
+			if (args[1].toLowerCase() === 'in') {
+				run_ref(args[0], args[2]);
+				return;
+			}
+			throw('Unable to parse routine at '+fname+':'+line);
+		},
+		'pauseon':function(args) {
+			morechk = true;
+		},
+		'pauseoff':function(args) {
+			morechk = false;
+		},
+		'show':function(args) {
+			var l = getlines();
+			var ch;
+
+			if (args.length === 0) {
+				l.forEach(function(l) {
+					lln(l);
+				});
+			}
+			else if (args[0].toLowerCase() === 'scroll') {
+				var i;
+				var p = 0;
+				var pages = l.length / 22;
+				if (pages > parseInt(pages, 10))
+					pages = parseInt(pages, 10) + 1;
+
+				while(1) {
+					lw('`r0`2');
+					dk.console.clear();
+					for (i = 0; i < 22; i++) {
+						if (p*22+i >= l.length)
+							continue;
+						lln(l[p*22+i]);
+					}
+					dk.console.gotoxy(0, 22);
+					lw('`r1`%  ('+(p+1)+'/'+pages+')');
+					dk.console.cleareol();
+					dk.console.gotoxy(12, 22);
+					lw('[N]ext Page, [P]revious Page, [Q]uit, [S]tart, [E]nd');
+					ch = getkey().toUpperCase();
+					switch (ch) {
+						case 'E':
+							p = pages - 1;
+							break;
+						case 'N':
+							p++;
+							if (p >= pages)
+								p = pages - 1;
+							break;
+						case 'P':
+							p--;
+							if (p < 0)
+								p = 0;
+							break;
+						case 'S':
+							p = 0;
+							break;
+						case 'Q':
+							return;
+					}
+				}
+			}
+			else
+				throw('Unsupported SHOW command at '+fname+':'+line);
+		},
+		'writefile':function(args) {
+			if (args.length < 1)
+				throw('No filename for writefile at '+fname+':'+line);
+			var f = new File(js.exec_dir + args[0].toLowerCase());
+			if (!f.open('a'))
+				throw('Unable to open '+f.name+' at '+fname+':'+line);
+			getlines().forEach(function(l) {
+				f.writeln(l);
+			});
+			f.close();
+		},
+		'end':function(args) {},
+		'label':function(args) {},
+		// Appears to be used to end a slow/etc block
+		'':function(args) {},
+		'displayfile':function(args) {
+			var lines;
+			if (args.length < 1)
+				throw('No filename for displayfile at '+fname+':'+line);
+			var f = new File(js.exec_dir + args[0].toLowerCase());
+			if (!f.open('r'))
+				throw('Unable to open '+f.name+' at '+fname+':'+line);
+			lines = f.readAll();
+			f.close();
+			lines.forEach(function(l) {
+				lln(l);
+			});
+		},
+		'choice':function(args) {
+			var allchoices = getlines();
+			var choices = [];
+			var x = scr.pos.x;
+			var y = scr.pos.y;
+			var cur = getvar('`v01') - 1;
+			var ch;
+			var attr = dk.console.attr.value;
+
+			function draw_menu() {
+				choices.forEach(function(c, i) {
+					dk.console.gotoxy(x, y+i);
+					if (i === cur)
+						c = '`r1`%'+remove_colour(c)+'`r0`2';
+					lln(c);
+				});
+				dk.console.gotoxy(x, y+cur);
+			}
+
+			function filter_choices() {
+				choices = [];
+				allchoices.forEach(function(l) {
+					var m;
+
+					do {
+						m = l.match(/^([-\+=\!><])([`$0-9a-zA-Z]+) ([^ ]+) /)
+						if (m !== null) {
+							l = l.substr(m[0].length);
+							switch(m[1]) {
+								case '=':
+									if (getvar(m[2]).toString() !== m[3])
+										return;
+									break;
+								case '!':
+									if (getvar(m[2]).toString() === m[3])
+										return;
+									break;
+								case '<':
+									if (getvar(m[2]) >= parseInt(m[3], 10))
+										return;
+									break;
+								case '>':
+									if (getvar(m[2]) <= parseInt(m[3], 10))
+										return;
+									break;
+								case '+':
+									if (!(getvar(m[2]) & (1 << parseInt(m[3], 10))))
+										return;
+									break;
+								case '-':
+									if (getvar(m[2]) & (1 << parseInt(m[3], 10)))
+										return;
+									break;
+								default:
+									throw('Unhandled filter choice!');
+							}
+						}
+					} while (m != null);
+					choices.push(l);
+				});
+			}
+
+			filter_choices();
+			dk.console.attr.value = 7;
+			while(1) {
+				draw_menu();
+				ch = getkey();
+				switch(ch) {
+					case '8':
+					case 'KEY_UP':
+					case '4':
+					case 'KEY_LEFT':
+						cur--;
+						if (cur < 0)
+							cur = choices.length - 1;
+						break;
+					case '2':
+					case 'KEY_DOWN':
+					case '6':
+					case 'KEY_RIGHT':
+						cur++;
+						if (cur >= choices.length)
+							cur = 0;
+						break;
+					case '\r':
+						setvar('responce', cur + 1);
+						dk.console.gotoxy(x, y+choices.length-1);
+						dk.console.attr.value = attr;
+						return;
+				}
+			}
+		},
+		'halt':function(args) {
+			if (args.length > 0)
+				exit(clamp_integer(args[0], 's32'));
+			exit(0);
+		},
+		'key':function(args) {
+			if (args.length > 0 && args[0].toLowerCase() === 'nodisplay')
+				getkey();
+			else
+				more();
+		},
+		'addchar':function(args) {
+			var tmp = pfile.new();
+			player.Record = tmp.Record;
+			player.put();
+		},
+		'offmap':function(args) {
+			// TODO: Disappear to other players.
+		},
+		'busy':function(args) {
+			// TODO: Turn red for other players, and run @#busy if other player interacts
+		},
+		'drawmap':function(args) {
+			draw_map();
+		},
+		'update':function(args) {
+			update();
+		}
+	};
+
+	function handle(args)
+	{
+		if (handlers[args[0].toLowerCase()] === undefined)
+			throw('No handler for '+args[0]+' command at '+fname+':'+line);
+		handlers[args[0].toLowerCase()](args.slice(1));
+	}
+
+	function load_ref(fname) {
+		var obj = {section:{}};
+		fname = fname.toLowerCase();
+		var f = new File(js.exec_dir + fname);
+		var cs;
+
+		if (!f.open('r'))
+			throw('Unable to open '+f.name);
+		obj.lines = f.readAll(4096);
+		obj.lines.unshift(';secret line zero... shhhhh');
+		f.close();
+		obj.lines.forEach(function(l, n) {
+			var m;
+			m = l.match(/^\s*@#([^\s;]+)/);
+			if (m !== null) {
+				cs = m[1].toLowerCase();
+				// SIGH... duplicates are allowed... see Stonebridge.
+				//if (obj.section[cs] !== undefined)
+				//	throw('Duplicate section name '+cs+' in '+fname);
+				obj.section[cs] = {line:n};
+				return;
+			}
+			m = l.match(/^\s*@label\s+([^\s;]+)/i);
+			if (m !== null) {
+				var lab = m[1].toLowerCase();
+				// SIGH... duplicates are allowed... see Stonebridge.
+				//if (obj.section[lab] !== undefined)
+				//	throw('Duplicate label name '+lab+' in section '+cs+' in '+fname);
+				obj.section[lab] = {line:n};
+				return;
+			}
+		});
+		files[fname] = obj;
+	}
+	if (files[fname] === undefined)
+		load_ref(fname);
+	if (files[fname].section[sec] === undefined)
+		throw('Unable to find section '+sec+' in '+fname);
+	line = files[fname].section[sec].line;
+
+	while (1) {
+		line++;
+		if (line > files[fname].lines.length)
+			return;
+		cl = files[fname].lines[line].replace(/^\s*/,'');
+		if (cl.search(/^@#/) !== -1)
+			return;
+		if (cl.search(/^\s*@closescript/) !== -1)
+			return;
+		if (cl.search(/^;/) !== -1)
+			continue;
+		if (cl.search(/^$/) === 0)
+			continue;
+		if (cl.search(/^@/) === -1)
+			continue;	// Sigh... if...write etc.
+			//throw('Invalid line '+line+' in '+fname+' "'+cl+'"');
+		args = cl.substr(1).split(/\s+/);
+		handle(args);
+	}
+}
+
+function load_player()
+{
+	var i;
+	var p;
+
+	for (i = 0; i < pfile.length; i++) {
+		p = pfile.get(i);
+		if (p.realname === dk.user.full_name) {
+			player = p;
+			return;
+		}
+	}
+	player = new RecordFileRecord(pfile);
+	player.reInit();
+	player.realname = dk.user.full_name;
+	player.onnow = 1;
+	player.busy = 0;
+	player.battle = 0;
+}
+
+function foreground(col)
+{
+	if (col > 15) {
+		col = 0x80 | (col & 0x0f);
+	}
+	dk.console.attr.value = (dk.console.attr.value & 0x70) | col;
+}
+
+function background(col)
+{
+	if (col > 7 || col < 0) {
+		return;
+	}
+	dk.console.attr.value = (dk.console.attr.value & 0x8f) | (col << 4);
+}
+
+function getoffset(x, y) {
+	return (x * 20 + y);
+}
+
+function getpoffset() {
+	return (player.x - 1)*20+(player.y - 1);
+}
+
+function erase(x, y) {
+	var off = getoffset(x,y);
+	var mi = map.mapinfo[off];
+
+	foreground(mi.forecolour);
+	background(mi.backcolour);
+	dk.console.gotoxy(x, y);
+	dk.console.print(mi.ch === '' ? ' ' : mi.ch);
+}
+
+function update() {
+	// TODO: Draw other players
+	timeout_bar();
+	dk.console.gotoxy(player.x - 1, player.y - 1);
+	foreground(15);
+	background(map.mapinfo[getpoffset()].backcolour);
+	dk.console.print('\x02');
+	dk.console.gotoxy(player.x - 1, player.y - 1);
+}
+
+function draw_map() {
+	var x;
+	var y;
+	var off;
+	var mi;
+	var s;
+
+	dk.console.attr.value = 7;
+	dk.console.clear();
+	for (y = 0; y < 20; y++) {
+		for (x = 0; x < 80; x++) {
+			off = getoffset(x,y);
+			mi = map.mapinfo[off];
+			foreground(mi.forecolour);
+			background(mi.backcolour);
+			dk.console.gotoxy(x, y);
+			dk.console.print(mi.ch === '' ? ' ' : mi.ch);
+		}
+	}
+	status_bar();
+}
+
+function load_map(mapnum)
+{
+	map = mfile.get(world.mapdatindex[mapnum - 1] - 1);
+}
+
+function move_player(xoff, yoff) {
+	var x = player.x + xoff;
+	var y = player.y + yoff;
+	var moved = false;
+	var special = false;
+	var newmap = false;
+
+	if (x === 0) {
+		player.map -= 1;
+		player.x = 80;
+		newmap = true;
+	}
+	if (x === 81) {
+		player.map += 1;
+		player.x = 1;
+		newmap = true;
+	}
+	if (y === 0) {
+		player.map -= 80;
+		player.y = 20;
+		newmap = true;
+	}
+	if (y === 21) {
+		player.map += 80;
+		player.y = 1;
+		newmap = true;
+	}
+	if (newmap) {
+		if (world.hideonmap[player.map] === 0)
+			player.lastmap = player.map;
+		load_map(player.map);
+		draw_map();
+		update();
+	}
+	else {
+		player.lastx = player.x;
+		player.lasty = player.y;
+		if (map.mapinfo[getoffset(x-1, y-1)].terrain === 1) {
+			erase(player.x-1, player.y-1);
+			player.x = x;
+			player.y = y;
+			update();
+			moved = true;
+		}
+	}
+	map.hotspots.forEach(function(s) {
+		if (s.hotspotx === x && s.hotspoty === y) {
+			special = true;
+			if (s.warptomap > 0 && s.warptox > 0 && s.warptoy > 0) {
+				player.map = s.warptomap;
+				player.x = s.warptox;
+				player.y = s.warptoy;
+				if (world.hideonmap[player.map] === 0)
+					player.lastmap = player.map;
+				load_map(player.map);
+				draw_map();
+				update();
+			}
+			else if (s.reffile !== '' && s.refsection !== '') {
+				run_ref(s.refsection, s.reffile);
+			}
+		}
+	});
+	if (moved && !special && map.battleodds > 0 && map.reffile !== '' && map.refsection !== '') {
+		if (random(map.battleodds === 0))
+			run_ref(map.refsection, map.reffile);
+	}
+}
+
+function do_map()
+{
+	var ch;
+
+	if (map === undefined || map.Record !== world.mapdatindex[player.map - 1] - 1)
+		load_map(player.map);
+	draw_map();
+	update();
+
+	ch = ''
+	while (ch != 'Q') {
+		do {
+			timeout_bar();
+		} while (!dk.console.waitkey(500));
+		ch = getkey().toUpperCase();
+		switch(ch) {
+			case '8':
+			case 'KEY_UP':
+				move_player(0, -1);
+				break;
+			case '4':
+			case 'KEY_LEFT':
+				move_player(-1, 0);
+				break;
+			case '6':
+			case 'KEY_RIGHT':
+				move_player(1, 0);
+				break
+			case '2':
+			case 'KEY_DOWN':
+				move_player(0, 1);
+				break;
+		}
+	}
+	run_ref('endgame', 'gametxt.ref');
+	mswait(2500);
+}
+
+var pfile = new RecordFile(js.exec_dir + 'player.dat', Player_Def);
+var mfile = new RecordFile(js.exec_dir + 'map.dat', Map_Def);
+var wfile = new RecordFile(js.exec_dir + 'world.dat', World_Def);
+world = wfile.get(0);
+load_player();
+
+if (player.Record === undefined)
+	run_ref('newplayer', 'gametxt.ref');
+
+run_ref('startgame', 'gametxt.ref');
+do_map();
diff --git a/xtrn/lord2/maint.ref b/xtrn/lord2/maint.ref
new file mode 100644
index 0000000000000000000000000000000000000000..87316f88b5ee4178e6a0fbce56543082179f149e
--- /dev/null
+++ b/xtrn/lord2/maint.ref
@@ -0,0 +1,280 @@
+;maint is in here, called from L2 when needed or /maint is applied
+
+@#seperate
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+@closescript
+
+
+
+@#MAINT
+@if lognow.txt exist true then do
+ @begin
+ @if logold.txt exist true then delete logold.txt
+ @do rename lognow.txt logold.txt
+ @end
+
+@do `p20 random 5 1
+
+@if `p20 is 1 then addlog
+  `2It is a beautiful day today.
+
+@if `p20 is 2 then addlog
+  It is foggy today.
+
+@if `p20 is 3 then addlog
+  It is raining today.
+
+@if `p20 is 4 then addlog
+  It is overcast today.
+
+@if `p20 is 5 then addlog
+  It is incredibly hot today.
+
+@do `v02 is `p20 ;record weather
+
+@routine seperate
+
+;now lets see what the 'shrine' is doing today, if anything
+@do `v04 random 20 1
+
+@if `v04 is 1 then do
+  @begin
+  @do addlog
+  `0The Shrine Of Babos observes the `%Gryphon Moon`0.
+   @routine seperate
+  @end
+
+@if `v04 is 2 then do
+  @begin
+  @do addlog
+  `0The Shrine Of Babos celebrates the `%Vitalis`0 holiday.
+   @routine seperate
+  @end
+
+@if `v04 is 3 then do
+  @begin
+  @do addlog
+  `0The Shrine Of Babos performs the rite of `%Belar`0.
+   @routine seperate
+  @end
+
+@if `v04 is 4 then do
+  @begin
+  @do addlog
+  `0The Shrine Of Babos sings the psalms of `%the rock`0.
+   @routine seperate
+  @end
+
+@saveglobals
+
+;Welcome to the daily log adds
+;Have a look ....
+
+@do `p20 random 20 1
+
+@if `p20 is 1 then do
+  @begin
+  @do addlog
+  `%A Dragon Tooth Cult Proclamation:
+  @do addlog
+`\  `2Hear ye, hear ye!  The Dragon Tooth Cult is looking for new recruits,
+  @do addlog
+  `2if interested, contact a local garrison.
+  @routine seperate
+  @end
+
+@if `p20 is 2 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth troops protect `%Sosen Village `2from attack.
+  @routine seperate
+  @end
+
+@if `p20 is 3 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth troops protect `%PortTown `2from attack.
+  @routine seperate
+  @end
+
+@if `p20 is 4 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth troops protect `%FlagCity `2from attack.
+  @routine seperate
+  @end
+
+@if `p20 is 5 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth troops raid the unholy `%BoneTown`2.
+  @routine seperate
+  @end
+
+@if `p20 is 6 then do
+  @begin
+  @do addlog
+  `2A child was reported lost today in the `%Northlands`2.
+  @routine seperate
+  @end
+
+@if `p20 is 7 then do
+  @begin
+  @do addlog
+  `2Theft has been on the rise in the area surrounding `%BoneTown`2.
+  @routine seperate
+  @end
+
+@if `p20 is 8 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth men report `4Red Dragon`2 sightings in the `%ArrisVille`2 area.
+  @routine seperate
+  @end
+
+@if `p20 is 9 then do
+  @begin
+  @do addlog
+  `3Koshi men `2report no `4Red Dragon`2 sightings whatsoever.
+  @routine seperate
+  @end
+
+@if `p20 is 10 then do
+  @begin
+  @do addlog
+  `%A Dragon Tooth Cult Announcement:
+  @do addlog
+`\  `2Hear ye!  The Dragon Tooth Cult is calling for the monthly protection
+  @do addlog
+  `2fees.  Contact your local garrison about payment.
+  @routine seperate
+  @end
+
+@if `p20 is 11 then do
+  @begin
+  @do addlog
+  `%A Dragon Tooth Cult Announcement:
+  @do addlog
+`\  `2Hear ye!  The Dragon Tooth Cult will be using the Shrine Of Babos 
+  @do addlog
+  `2today.  Please refrain from attending the area.
+  @routine seperate
+  @end
+
+@if `p20 is 12 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth men report the `4Red Dragon`2 may be in the `%Greentree`2 area.
+  @routine seperate
+  @end
+
+@if `p20 is 13 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth men declare martial law upon `%BoneTown`2 for not paying
+  @do addlog
+  `2protection fees.
+  @routine seperate
+  @end
+
+@if `p20 is 14 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth men investigate the `%ArrisVille`2 area.
+  @routine seperate
+  @end
+
+@if `p20 is 15 then do
+  @begin
+  @do addlog
+  `2Another child is lost to the dark forest today.
+  @routine seperate
+  @end
+
+@if `p20 is 16 then do
+  @begin
+  @do addlog
+  `2Prince Corin proclaims the `%ArrisVille`2 area void of the Red Dragon.
+  @routine seperate
+  @end
+
+@if `p20 is 17 then do
+  @begin
+  @do addlog
+  `3Koshi men `2report no `4Red Dragon`2 sightings on the sea.
+  @routine seperate
+  @end
+
+@if `p20 is 18 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth men report thievery rising on the high seas.
+  @routine seperate
+  @end
+
+@if `p20 is 19 then do
+  @begin
+  @do addlog
+  `2The `3Koshi `2are offering a reward for return of their `%Gryphon Moon`2.
+  @routine seperate
+  @end
+
+@if `p20 is 20 then do
+  @begin
+  @do addlog
+  `2Dragon Tooth men put a stop to a anti-cult rally near Stonepass.
+  @routine seperate
+  @end
+
+
+
+ @do `s01 is NIL
+
+ @do `p20 random 9 1
+ @if `p20 is 1 then `s01 add Grizelda
+ @if `p20 is 2 then `s01 add `n
+ @if `p20 is 3 then `s01 add Turgon
+ @if `p20 is 4 then `s01 add Grimgroth
+ @if `p20 is 5 then `s01 add Abdul
+ @if `p20 is 6 then `s01 add Pap
+ @if `p20 is 7 then `s01 add Barak
+ @if `p20 is 8 then `s01 add Sandtiger
+ @if `p20 is 9 then `s01 add Goatboy
+
+  @do `s01 add `x
+
+ @do `p20 random 10 1
+ @if `p20 is 1 then `s01 add sucks
+ @if `p20 is 2 then `s01 add bites
+ @if `p20 is 3 then `s01 add worships
+ @if `p20 is 4 then `s01 add kills
+ @if `p20 is 5 then `s01 add loves
+ @if `p20 is 6 then `s01 add throws
+ @if `p20 is 7 then `s01 add eats
+ @if `p20 is 8 then `s01 add licks
+ @if `p20 is 9 then `s01 add rides
+ @if `p20 is 10 then `s01 add drinks
+
+  @do `s01 add `x
+
+ @do `p20 random 9 1
+ @if `p20 is 1 then `s01 add apples
+ @if `p20 is 2 then `s01 add snakes
+ @if `p20 is 3 then `s01 add Belar
+ @if `p20 is 4 then `s01 add salt
+ @if `p20 is 5 then `s01 add monsters
+ @if `p20 is 6 then `s01 add dragons
+ @if `p20 is 7 then `s01 add water
+ @if `p20 is 8 then `s01 add horses
+ @if `p20 is 9 then `s01 add children
+
+@if l2tree.dat exist true then delete l2tree.dat
+@writefile l2tree.dat
+`s01
+@
+
+
+@#NOTHING
+
+
diff --git a/xtrn/lord2/map.dat b/xtrn/lord2/map.dat
new file mode 100644
index 0000000000000000000000000000000000000000..ded160c29342262b96d6b6411940aebe863ac376
Binary files /dev/null and b/xtrn/lord2/map.dat differ
diff --git a/xtrn/lord2/polar.ref b/xtrn/lord2/polar.ref
new file mode 100644
index 0000000000000000000000000000000000000000..8102da42e8a7d180186505d33cdcdef5e127e874
--- /dev/null
+++ b/xtrn/lord2/polar.ref
@@ -0,0 +1,233 @@
+;some monsters for the West Coast of the 1st continent, they are a bit
+;tougher than most ones.  Around BoneTown & FlagCity up to the Desert
+;and Snowy Pass.
+
+@#fight
+@do `p20 random 12 1
+@if `p20 is 1 then do
+ @begin
+ @run GENRAN in GENRAN.REF
+ @end
+@busy
+@do `p20 random 7 1
+@do goto monster`p20
+
+@#monster1
+@fight
+;name
+Ice Golem
+;string said when you see him
+Out of the frozen wastelands appears a Golem.
+;power move kill string
+The Golem shatters into a thousand pieces!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+smacks you with a frozen fist|58
+throws a giant snowball at you|83
+jumps causing you to fall into a crevasse|120
+hits you with a flying ice bolo|67
+NONE|NONE
+;defense
+37
+;gold reward
+632
+;experience
+278
+;hit points
+536
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Mother Frost Bear
+;string said when you see him
+From a hidden snowcave charges a Mother Frost Bear!
+;power move kill string
+You severe her head as trophy.
+;sex - 1 is male, 2 is female, 3 is it
+2
+;weapon and strength for the weapon, up to 5
+slashes with razor sharp claws|63
+bites with bloodstained teeth|85
+charges you|87
+pummels|62
+gives you a `bBEAR HUG|102
+;defense
+34
+;gold reward
+325
+;experience
+189
+;hit points
+210
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Frozen Weeds
+;string said when you see him
+Your boots are pierced by ancient frozen weeds!
+;power move kill string
+Good thing you brought your weedwacker, eh?
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+cuts your feet|45
+trips you causing you to fall into it's frozen thorns|55
+shoots a frostdart at you|68
+gives you frostbite|73
+squirts poison from a beautiful flower into your eyes|87
+;defense
+0
+;gold reward
+189
+;experience
+276
+;hit points
+421
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Glacial Worm
+;string said when you see him
+The snow begins to collapse beneath your feet!
+;power move kill string
+You dice the worm into a bloody goo...
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+swallows your foot|67
+bites|56
+constricts you|84
+freezes you|53
+spits ice spikes|34
+;defense
+23
+;gold reward
+150
+;experience
+98
+;hit points
+88
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Arctic Mage
+;string said when you see him
+In an ice reflection you see a magical glimmer of light...
+;power move kill string
+You melt the mage into the frozen wasteland!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+hits you with an icicle staff|99
+casts an enchanted blizzard|76
+summons an ice mosquito to suck your blood|50
+casts a frozen rune|70
+blinds you with an arctic glare|54
+;defense
+53
+;gold reward
+735
+;experience
+324
+;hit points
+375
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+White Serpent
+;string said when you see him
+You are suprised by an icy hiss!
+;power move kill string
+You skewer your opponent from head to tail!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+bitess|58
+injects poisonous venom|132
+whips it's tail|63
+stings|66
+chews on your shin|62
+;defense
+30
+;gold reward
+246
+;experience
+187
+;hit points
+90
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Urick Orb
+;string said when you see him
+Floating in the artic tundra a yellow sphere closes in you quickly...
+;power move kill string
+What a mess o' yellow snow!
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+squirts you in the eye|76
+makes you fall into yellow snow|45
+casts an acid storm|55
+shows you a picture of your naked grandma|46
+NONE|NONE
+;defense
+45
+;gold reward
+280
+;experience
+180
+;hit points
+188
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#done
diff --git a/xtrn/lord2/porttown.ref b/xtrn/lord2/porttown.ref
new file mode 100644
index 0000000000000000000000000000000000000000..567b140df5000771d5d75bcd6c8ed6a896012735
--- /dev/null
+++ b/xtrn/lord2/porttown.ref
@@ -0,0 +1,1241 @@
+;porttown and surrounding areas
+;pap and seth both worked on this file, so if the spacing is different
+;in places (ie, ugly as hell) this was paps work. ;>
+@#showwhore
+@show
+°ßß        Ü  ÜÜ ßßÛ°°°ÛÛß 
+ Ü ÜÜßßßÛÛÜÜÜÜÛÜ ßÛ°°ÛÛÛÛÛÛ
+ßßÛÛßßÛÛÛÛÛÛßÛÛÛ°°°ÜÜÜÜÜÛ
+  ÜÛßßß       °°   þ ß°ßÜÜß  °°   ÜÛ
+ÜÛÛÛ²²±°ÛÜ ßÛÛÛÛÛ ° Û
+ßßßßßßßßßßßßßßßßßßßßÛÛÛ
+ °ÛÜÜÛÛÜÜ        °° ßÜ Þ²°  ÜÛ
+ÜÛÛÛ²²±±°°ÛÛÛ ÞÛÛÛÛÛ° Û
+ÛÞÛ
+ ²ÛÛÛÛÛÜÜÜÛÜÜ  ÜÜ  ²þß ÜÜßßßßßÛÛßÛ²±±
+°°ÛÛÛ°°± ÛÛÛÛÛÛ °
+  You think you   °ÞÛ
+ ±²²²ÛÛÛÛÛ²°ßßß    ßßÜß  ßßß°
+±°ÛÛÛ°°±°  ÞÛÛÛ°Ûß
+°                   °ÞÛ
+ °°±±²²²Û²°ß  ÜÜÛ ÜÜÜ
+ÜßßÛ°ÜÜÜÜÜÜÜÜÜ  ÞÛÛ°°°
+±°  Ý  ßÜÛÜÛ °
+know what this°°Û
+ ÛÛ°°±±±²ÛÝ ÜÛ°ÜÛÛÛÛÛ
+ÛÛÛÜÜßßÛÛÛÛÛÛÛÜ° Û°±°°   
+Û ÞßÛÛ Û               
+   Û °
+ ²²ÛÛ°°°ßßßßßßÛÛÛÛÛÛÛÛÜÜßßÛÛÛÛ
+ÝÝÞÛ°Ý°    ÛÛÛ Û 
+ woman wants evenÛ Þ
+ °±²²²ß ßÛ°²ÛÜÜÜ  ßßÛÛÛ
+ÛÛÛÛÜßßßÛÝ°°  ÞÛÛ 
+°                 Û Þ
+  °°°²Ý ÜÜÝ ÜßßßßÛÛÛÜÜÛÛÛÛÛÛ
+  ܲß ° Û    ÞÛÛß
+°before she asks.°°Þ
+ °°Ý °² °Ý
+þß  °Þ° Ü  ßÛÛÛÛÛÛÛÝ °
+ ÞÛ°  ÛÜÛ °
+° Þ
+    ²ÛÝ ß°  
+ Üß Ü°ßß ÜÛÛÛÛÛÛÛ 
+°Ý ßÛÜ° ÞÛÝÛ
+ ° <press a key> ° Þ
+ °  Ü ßÜÜÜÛÛÛÛ
+ÛÛ²ÛÛ²Ý ° ßßÜ    Þ
+ÛÝÛÛÛÛ Þ
+ °Ý Û°²ÛÛÛÜÜÛÛÛÛßßÜÛÛÛÛÛÛÛÛÛÛÛ
+°  ° Û     ÝÛßÛ
+Û ²
+   °ÞÝ °²ßÛÜÜßßßÜÛÛÛÛÛÛÛÛÛ
+ÛÛÛÛÛÛÛÛÜÜÜÜ     ܲ
+  ÞÝ  ÜÛÝ  ßßßßßßßÛÛßßßßßÛÛÛßÛÛ
+ÛÛ Þ
+ °ßÜ  ß²ÛÛÛÛÛÛ
+²²²ÛÛÛÛÛÛÛÛÛÛ²ÛÛÛÛÛÛÜÜÜÜܲ°
+Ý Üß  ÞÛÛÝ   ÛÛ ÜÜÛÛÛÛÛÛÜ
+Ü        ÜÛ
+  ßÜ °±ÛÛÛ²²²²ÛÛÛÛÛ
+ÛÛÛÛÛÛ²ÛÛÛÛÛÛ²²ÛÛÛÛ° 
+Þ²   ÛÛÛÛ    ²ÛÛÛß°ßÛÛÛ
+ÛÛÛÝ°   ÜÛÛÛ
+  ° ÞÝ ÛÛÛÛ²²ÛÛÛÛÛÛÛÛÜ
+ßßßßÛÛÛÛÛÛÛÛÛÛÛÛ²Ý ²°   ÛÛ
+ÛÛÛÜÜÛÛÛÛÛÛÜÛÛÛÛÛÛÛÛÜÜÜÛÛ
+ÛÛÛ
+ °°² ²ÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ÛÛÛÛÛÛÛÛÛÛÛÛÛ²² Þ°    ÛÛÛÛÛÛÛÛÛÛ
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ ²Ý °²ÛÛÛÛÛÛÛÛÛÛßßßßßßßÛÛÛÛÛÛÛÛÛ
+Û²Û° Û  ÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ßÛÛÛÛÛÛ
+ Üß ²²ÛÛÛÛÛÛÛß 
+ÜÜ°      ßßÛÛÛÛ²°
+° ß ÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
+²ÛÛÛÛÛÛÛÛ
+ ÞÝ ±°ÛÛÛÛÛÛÛÜÜÜÜ ßßþ 
+    ÜÜÜÛÛÛÛÛß  °  
+ ÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ ßÜ °ßßÛÛÛÛÛÛÛÛÛÛܲÜÜ
+ÛÛÛÛÛÛÛÛÛßß        °   ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ °°ßßÜ    ßßßßßÛÛÛÛÛÛÛÛßßß
+         ßßßßß
+@do readchar `s01
+@#JUNKMAN1
+@do moveback
+@do saybar
+`0Nick: `2Ahh... Comfy chair!  Not like that one bed at Stonepass Lodge...
+
+@#JUNKMAN2
+@do moveback
+@busy
+@show
+`r0`c
+
+
+                     `0"What would ya like to part with, kid?"
+
+@sellmanager
+
+@drawmap
+@update
+
+@#FISH
+@offmap
+@do moveback
+@show
+`r0`c  `r1  `%The House O' Fish  `r0
+
+  `2People are buying and selling fish all over the place!  You also see
+  some nice rods in a corner.  A man introduces himself as `0Smithy`2 and
+  asks what you need. 
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Buy something
+Sell some fish
+Conduct business with Smithy
+Leave
+@if response is 3 then do
+  @begin
+  @do `p20 is 2
+  @run getquest in quest.ref
+  @closescript
+  @end
+
+@if response is 1 then do
+  @begin
+  @do write
+`\`\
+  @buymanager
+  28
+  29
+  @do goto fish
+  @end
+
+@if responce is 2 then do
+  @begin
+  @label fishsell
+  @show
+`c  `r1  The market place  `r0
+
+  `2You walk up to a fish bin and show 'em what you got.
+
+  `2You are holding `$$&money`2.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+<`i29 1 <`i30 1 You have no fish to sell.
+>`i29 0 Sell a Salmon for `$$50`%. `2(you have `0`i29`2)
+>`i30 0 Sell a Sparking Green Salmon for `$$250`%. `2(you have `0`i30`2)
+>`i29 0 <`i30 1 Sell nothing
+>`i30 0 <`i29 1 Sell nothing
+>`i30 0 >`i29 0 Sell nothing
+@if responce is 2 then do
+  @begin
+  @show
+`\`\  `0"Thank you for the fish, s&sir!"
+
+`k
+  @do money + 50
+  @do `i29 - 1
+  @do goto fishsell
+  @end
+@if responce is 3 then do
+  @begin
+  @show
+`\`\  `0"My god?!? Where did you catch this?!?  Thank you!"
+
+`k
+  @do money + 250
+  @do `i30 - 1
+  @do goto fishsell
+  @end
+
+ @do goto fish
+
+ @end
+
+@drawmap
+@update
+
+@#man
+;Helpfull man in Porttown
+@do moveback
+@do `p20 random 9 1
+@if `p20 is 1 then saybar
+`%Guy: `0I hear the longer boat rides are relaxing.
+@if `p20 is 2 then saybar
+`%Guy: `0I hear there's a shortcut through the Snowy Pass!
+@if `p20 is 3 then saybar
+`%Guy: `0Watch out for the girls at the Hotel here...
+@if `p20 is 4 then saybar
+`%Guy: `0I hear the dark forest is a terrible place.
+@if `p20 is 5 then saybar
+`%Guy: `0A sailor told me of an undiscovered island once!
+@if `p20 is 6 then saybar
+`%Guy: `0The Hag's place is the safest place in town!
+@if `p20 is 7 then saybar
+`%Guy: `0Did you know Enya rules?
+@if `p20 is 8 then saybar
+`%Guy: `0On the other two continents I hear life is really exciting.
+@if `p20 is 9 then saybar
+`%Guy: `0Watch for the oracle!
+
+
+@#WHORE
+;random things that happen walking around the sea hag hotel
+@if sexmale is 0 then do
+  @begin
+  ;if they are female, don't run this... sorry girls, no female version
+  ;was written.
+  @closescript
+  @end
+@if `v06 is 1 then do
+  @begin
+  ;clean mode is on, lets get the hell out of this routine!!
+  @closescript
+  @end
+@busy
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2A skanky looking woman pulls your arm.  Speak with her? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is N then do
+  @begin
+  @if `07 < 5 then do
+    @begin
+    ;person is evil
+    @do saybar
+You brutally kick her in the face.
+    @closescript
+    @end
+  @do saybar
+You push her away.  Poor lost soul.
+   @closescript
+  @end
+@pauseoff
+@routine showwhore
+@show
+`r0`c  `r1`% Close encounters with the whore kind  `r0
+
+`0  "Looking for a good time, sir?  Only `$$25`0." `2she drolls.
+
+`2  Not a bad price, but her clothes are ragged and her face dirty... Would
+  it be safe?
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Why not?  Daddy needs to relax a little bit.
+Not today.
+@if response is 1 then do
+  @begin
+  @if money < 25 then do
+    @begin
+    @show
+`\`\  `2You lack the funds for a whore right now.
+
+`k
+    @drawmap
+    @update
+    @closescript
+    @end
+  @do money - 25
+  @do x is 54
+  @do y is 12
+  @do `p20 is random 5 1
+  @if `p20 is 1 then do
+    @begin
+    ;ha ha, user caught vd
+    @do `p12 is 1
+    @end
+  @do `p34 + 1
+  @show
+`\`\  `2She leads you to her bed.
+
+`k`c  `r1  All Aboard  `r0
+
+`2  You remove her garments - as you touch her skin flakes fall off in
+  your hand.  You shudder as a finger brushes over a large open sore on her
+  back.
+
+`k  It is over quickly.  Your reverie is interrupted by the sound of wretching
+  in a corner.  She seems sick.
+
+  `4THERE IS A 20 PERCENT CHANCE THAT YOU JUST CAUGHT SOMETHING.
+
+`k
+  @drawmap
+  @update
+  @do saybar
+You put your pants back on.
+  @closescript
+  @end
+
+@show
+`\`\  `$"I do not desire your services right now, woman," `2you inform
+  her.
+
+`k
+@drawmap
+@update
+
+@#inn
+;this is for the sea hag hotel
+@do `v01 is 1
+@offmap
+@do moveback
+@show
+`r0`c  `%`r1  THE SEA HAG HOTEL  `r0
+
+  `2This place looks a little campy - slack jaws sea harlots wander around
+  the rooms aimlessly.
+
+  A balding woman with a few teeth missing smiles warmly you at you.
+
+  You are holding `$$&money`2.
+
+@do write
+`x`x
+@choice
+Get a room (`$$50`%)
+Leave
+@if response is 1 then do
+  @begin
+  @if money < 50 then do
+    @begin
+    @show
+`\`\`2  You are short on cash.  Pretty sad when you can't even afford to stay
+  here...
+
+`k
+    @drawmap
+    @update
+    @closescript
+    @end
+   @show
+`\`\  `2You give the woman the cash.  She leads you inside...
+`\`k
+   @do money - 50
+   @do x is 24
+   @do y is 4
+   @do map is 153
+   @loadmap 153
+   @drawmap
+   @update
+   @closescript
+  @end
+
+@drawmap
+@update
+
+@#heal
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `r1  PortTown Healing  `r0
+
+`2  Hoss looks you over for wounds.
+
+@do write
+`x`x
+@if `p02 < `p03 then do
+ @begin
+@do `p20 is `p03
+@do `p20 - `p02
+@do `p20 / 2
+
+
+ @show
+`0"You don't look so good, friend!  I'll fix ya up for `$`p20`0 gold, k?"
+
+@do write
+`x`x
+@choice
+Heal yourself for `$$`p20`%. (you have `$$&money`%)
+Limp on out.
+@show
+`\
+@if response is 1 then do begin
+ @begin
+ @if money < `p20 then do
+  @begin
+  @show
+  `0"Sorry old s&boy, we don't do charity work here."
+
+ @do write
+`x`x
+ @choice
+Well Christ!  How am I supposed to make money when I can barely walk?
+Jesus, how 'bout a little compassion for once in your life old man!
+How 'bout some of your 'special' pills then?
+Yes sir.
+@show
+
+
+@if response is 4 then do
+ @begin
+ @show
+  `0"That's a good lad, now get along with you!" `2 he laughs.
+
+`k
+ @end
+
+@if response is 1 then do
+ @begin
+ @show
+  `0"Damn it, s&boy, be a s&man for once in your life!"`2 he yells.
+
+`k
+ @end
+@if response is 2 then do
+ @begin
+ @show
+  `0"I cannot respect a man who doesn't work," `2Hoss informs you.
+
+`k
+ @end
+@if response is 3 then do
+ @begin
+ @do `p02 = 1
+ @show
+  `0"Sure.  Take uh.. these." `2 he snickers.
+
+  `2You gulp down the weird black pills
+
+  `4HIT POINTS GO DOWN TO 1.
+
+`k
+ @end
+
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do money - `p20
+@do `p21 = `p03
+@do `p21 - `p02
+@do `p02 = `p03
+@show
+  `2You feel much better as `0`p21`2 hitpoints are restored.
+
+`k
+  @end
+  @drawmap
+  @update
+  @closescript
+@end
+
+@show
+`0"You have no ailments, come back later!" `2Hoss laughs.
+
+`k
+@drawmap
+@update
+
+
+@#PIRATE
+;The pirate ship
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1 Look a Pirate ship!! `r0
+
+  `2The guard yells `0"Arrr, I be a pirate, and you be on me ship.  What do
+  you want you land lover?"
+                      
+@DO WRITE
+`x`x
+@CHOICE
+Ask some pirate trivia
+Can I become a pirate?
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `$"What's another name for pirate treasure?"`2 you ask.
+`\`k  `0"I believe that'd be booty!!!" `2he replies.
+`\`k
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@Show
+`\`\  `0"Arrr, I don't think ye be cool enough to join our drunken
+   crew quite yet," `2the scurvy pirate replies.
+`\`k
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+@#CARGO
+;The Cargo ship
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1 Looks like a cargo ship `r0
+
+  `2A deckman approaches you `0"We're headed to ArrisVille.  Do you have any
+  thing that you need to be transported there?"
+                      
+@DO WRITE
+`x`x
+@CHOICE
+Nope, not really
+Stowaway on board
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `$"Nope just taking a look around,"`2 you reply.
+`\`k
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 2 THEN DO
+  @Begin
+  @if `p07 > -10 then do
+   @begin
+   ;they ain't so bad
+  @Show
+`\`\  `2You would never do such a thing!  Maybe if you were `b-10`2 alignment
+  or less...
+
+`k
+  @DRAWMAP
+  @UPDATE
+  @CLOSESCRIPT
+   @end
+
+  @Show
+`\`\  `$"Nothing much," `2you say.  He turns and walks away.  `$"Except for
+   myself," `2you laugh as you sneak under deck.
+
+@do `p20 random 80 20
+
+@if `p18 > `p20 then do
+  @begin
+  @show
+  `2The crew searches the ship before launch`l. `l. `l. `l. `l. `%YOU HID WELL!
+
+`k  `2At Arrisville you pop out well rested.  Ahh, this is the life!
+
+`k
+  @do x is 66
+  @do y is 19
+  @do map is 444
+  @loadmap &map
+  @DRAWMAP
+  @UPDATE
+  @CLOSESCRIPT
+  @end
+  @do x is 28
+  @do y is 7
+  @do map is 155
+  @loadmap &map
+  @do `p02 / 2
+  @show
+  `2The crew searches the ship before launch`l. `l. `l. `l. `l. `bYOU HID BADLY!
+
+`k  `2They find you!  `0"Lookie what we got here boys!  Let's teach this
+  vagrant a lesson!"
+
+`k  `2They beat the hell out of you and send you home.   Damn!
+
+`k  `2Ack... Perhaps if you had more skill you would have a better chance...
+  (aka, more quest points..)
+
+`k
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+@#TRAVEL
+;The travel offices
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1`% PortTown Travel `r0
+
+  `0"Welcome to PortTown travel, how may I help you?" `2Asks a receptionist.            
+@DO WRITE
+`x`x
+@CHOICE
+Purchase a world map
+Buy a ticket for somewhere
+Leave
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `$"I'd like to get a map,"`2 you reply.
+`\`k  `0"Okay that'll be 20 gold,"`2 she states.
+
+@if money < 20 then do
+        @BEGIN
+        @show
+  `2You don't have that much, so naturally you take it out on her.
+
+`k  `$"Look you stupid wench, since when do maps cost that much?!?! You just
+  lost a customer, lady!" `2you scream.
+
+`k  `2You see tears in her eyes as you storm out the door.
+`\`k
+        @DRAWMAP
+        @UPDATE
+        @CLOSESCRIPT
+        @End
+@show
+`2  You plop down the money.`\`\`k
+@do money - 20
+@do `i20 + 1
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@Show
+`\`\  `$"I need to get out of town," `2you say.  She smiles, `0"Okay where
+   would you like to go?" `2You review your choices.
+
+`k
+@show
+`r0`c                         `r1 `%Porttown Booking Center
+
+
+@buymanager
+26
+27
+33
+@do goto TRAVEL
+@End
+
+
+@IF RESPONSE IS 3 THEN DO
+@Begin
+@Show
+`\`\  `$"Sorry wrong building,"`2 you say as you saunter out the door.
+`\`k
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+
+@#MART
+;The quicke mart (tm) 
+@DO MOVEBACK
+@BUSY
+@DO `v01 is 1
+@label martstart
+@SHOW
+`r0`c  `r1`% Wow, they have everything in here `r0
+
+  `2The clerk behind the counter greets you `0"Oh my golly-gosh, customers!!
+  How ever my I help you?"
+                      
+@DO WRITE
+`x`x
+@CHOICE
+Ask for some beef-jerky
+Get a super squishie for 1 gold
+Check out aisle five for supplies
+Leave
+@if responce is 4 then do
+ @begin
+ @drawmap
+ @update
+ @closescript
+ @end
+
+@IF RESPONSE IS 3 THEN DO
+@Begin
+@Show
+`\`\  `$"I need to get some new gear," `2you say.  He smiles, `0"Okie Doaky
+  I hope you enjoy our fine selection of death tools."  `2You review your
+  choices.
+
+`k
+@show
+`r0`c                         `r1 `%Quick-E Mart Stuff
+
+
+@buymanager
+35
+36
+37
+40
+@do goto martstart
+@End
+
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `2You take a look at the jerky, you're pretty sure you're better off
+  eating something you killed outside.`%
+`\`k
+@DO goto martstart
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@if money < 1 then do
+  @begin
+  @show
+`\`\  `0"Are trying to be ripping me off, s&sir?!  You shall not taste a single
+  drop of my wonderful liquid!"
+
+`k
+  @do goto martstart
+  @end
+@do money - 1
+@Show
+`\`\  `$"Give me a super squishie, one that's made entirely out of syrup," `2you
+  command.
+  `0"An all syrup super squishie?  Oh such a thing has never been done," `2the
+  clerk gasps.
+`\`k  `$"Just make it happen," `2you say as you lay down the dough.
+  `0"Oh dear," `2he moans and turns towards the machine.  It begins to
+  rumble, you feel the walls shake.  `0"Oh no, she's breaking up," `2he
+  yells....
+`\`k  `5DING!
+`\`k  `2The clerk turns and hands you your squishie.  `0"All done, if you
+  survive, please come again."
+`\`k
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+@#bank
+@do `v01 is 1
+@offmap
+@do moveback
+@label bankstart
+@show
+`r0`c  `r1 `%2nd Bank Of PortTown `r0
+
+`2  A young clerk eyes you nervously.
+
+@if bank more 0 then do
+ @begin
+ @show
+`2  You are holding `$$&money`2, your account is at `$$&bank`2.
+
+ @end
+
+@if bank is 0 then do
+ @begin
+ @show
+`2  You currently don't have an account with them.
+
+ @end
+
+@do write
+`x`x
+@choice
+>&bank 0 Make a deposit.
+>&bank 0 Make a withdrawal.
+=&bank 0 Apply for an account here.
+Leave
+@if response is 3 then do
+  @begin
+  @do `v01 is 1
+  @show
+
+
+  `2The nervous boy asks you to sit down.
+
+  `0"Your full name s&sir?"
+  @do `s01 is NIL
+  @do write
+`x`x
+  @do readstring 30 `s01
+  @show
+
+
+  `0"Your current residence?"
+
+  @do write
+`x`x
+  @do readstring 50 `s01
+
+  @show
+
+
+  `0"Your net income yearly?"
+
+  @do write
+`x`x
+  @do readnum 10
+  @if `v40 less 20 then do
+  @begin
+  @show
+
+  @end
+
+  @if `v40 more 19 then do
+   @begin
+   @show
+
+
+  `2You giggle to yourself `0-`2 how will they know you just totally lied on
+  that last questions?!??  You only made `b19`2 gold pieces last year!
+  @end
+  @label bankagain
+  @show
+
+  `0"How much would you like to open your account with?" `2(you have `$$&money`2)
+
+  @do write
+`x`x
+  @do readnum 10 money
+  @if `v40 is 0 then do
+   @begin
+   @show
+
+
+  `2You decide you really don't want to open an account with this
+  branch.
+
+`k
+  @do goto bankstart
+  @end
+
+  @if `v40 > money then do
+   @begin
+   @show
+
+
+`2  You don't have this much!  Try again.
+   @do goto bankagain
+   @end
+
+  @if `v40 < 50 then do
+  @begin
+  @if money < 50 then do
+   @begin
+  @show
+
+  `2The clerk eyes your shabby clothing distastefully - as if he knew
+  this part was coming.
+
+  `0"I'm sorry s&sir, we do require `$$50 `2to open an account.  And could
+  you please leave the pen on your way out." `2he asks haughtily.
+
+`k  `2You carefully return the pen.  `$"I'll be back someday.  And you WILL
+  open an account for me then," `2you vow seriously.
+
+  `0"Of course you will, s&sir.  Please exit now, remember, the sign does
+  say no loitering.  And this means you." `2he says as he points to the
+  door.
+
+`k
+@drawmap
+@update
+@closescript
+   @end
+
+  @show
+
+
+  `0"S&Sir, `$$50 `0is required to open a new account!"
+  @do goto bankagain
+  @end
+  @do money - `v40
+  @do bank + `v40
+  @show
+
+
+  `0"Very good S&sir!  Your new account has been opened!"
+
+`k
+  @do goto bank
+  @end
+
+
+@if response is 1 then do
+  @begin
+  @do write
+`\
+  @label deposit
+  @do write
+`\  `0"Deposit how much, s&sir?"`\`\`x`x
+  @do readnum 10 money
+  @if `v40 more money then do
+  @begin
+  @show
+`\`\  `2Maybe you left the money in your other pants?  'cuz it sure ain't here.
+  @do goto deposit
+  @end
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, this isn't happening and you aren't here.
+  @do goto withdraw
+  @end
+
+  @do money - `v40
+  @do bank + `v40
+  @do goto bankstart
+
+  @end
+
+@if response is 2 then do
+  @begin
+  @do write
+`\
+  @label withdraw
+  @do write
+`\  `0"Withdraw how much, s&sir?"`\`\`x`x
+  @do `p21 is bank
+  @do `p21 - 1
+  @if `p21 < 0 then `p21 is 0
+  @do readnum 10 `p21
+  @if `v40 more bank then do
+  @begin
+  @show
+`\`\  `2You kind of don't have that much in your account.  Nice bookeeping!
+  @do goto withdraw
+  @end
+
+  @if `v40 less 0 then do
+  @begin
+  @show
+`\`\  `2No, I don't think so.
+  @do goto withdraw
+  @end
+
+  @if `v40 is bank then do
+   @begin
+   @show
+
+
+  `0"But s&sir!  This will close your account with us, are you sure you wish
+  to do that?" `2the clerk chokes.
+
+  @do write
+`x`x
+  @do `v01 is 1
+  @choice
+Ok, nevermind then.
+Yeah.  Get my damn money.
+@if response is 1 then goto bank
+
+   @end
+
+  @do money + `v40
+  @do bank - `v40
+  @do goto bankstart
+  @end
+
+
+
+@drawmap
+@update
+
+
+@#HANG
+;For sitting at the benches for public execution
+@DO SAYBAR
+`2You'd sit to watch an execution but there isn't one today...
+                                                              
+@#NOTDONE
+@DO SAYBAR
+`2Area unfinished.  Check back when beta ... 7 is ready.
+@do moveback
+
+@#FISHDOCK
+;Fishing dock...
+@do moveback
+
+@if `i28 < 1 then do
+  @begin
+  ;person doesn't have fishing pole
+  @DO SAYBAR
+`2You doubt you would catch anything with your s&weapon...
+  @closescript
+  @end
+
+
+@if `t10 < 1 then do
+  @begin
+  @do saybar
+You have caught all the fish in the stream.  Maybe tomorrow.
+  @closescript
+  @end
+
+@busy
+@do write
+`r1
+@clearblock 21 21
+@do move 3 21
+@do write
+`r0  `2Wanna try your luck fishing? [`0Y`2/`0N`2] :`x
+@do readspecial `s01 YN
+
+@if `s01 is N then do
+  @begin
+  @do saybar
+Maybe later when the fish are biting.
+  @closescript
+  @end
+
+@label fishcast
+
+@do `p20 is `i29
+@do `p20 + `i30
+@do `s01 is `p20
+@if `s01 is 0 then `s01 is no
+
+@show
+`r0`c  `r1  `%The Fishing Dock  `r0
+
+  `2You sit yourself down on the dock and relax a bit.
+
+  You have `s01 fish.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Cast far
+Cast short
+Get up and leave
+@if responce is 3 then do
+  @begin
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if response is 1 then do
+  @begin
+  @do `p20 random 80 20
+  @show
+`\`\  `2You whip your rod fast and watch as your hook plops down
+  about `0`p20`2 feet away.
+
+@end
+
+@if response is 2 then do
+  @begin
+  @do `p20 random 20 1
+  @show
+`\`\  `2You gently cast the pole.  Your hook makes a soft splash
+  about `0`p20 `2feet away.
+
+@end
+
+
+@do write
+  `2You wait.`l.`l.`l.`l.
+@if `t10 < 1 then do
+  @begin
+  @show
+`4No fish are biting.`2
+
+  It looks like the action is finished for today.
+
+`k
+  @do goto fishcast
+  @end
+@do `p20 random 2 1
+@if `p20 is 1 then do
+   @begin
+   @show
+`4Nothing happens.
+
+`2  You reel the line back in.
+
+`k
+   @do goto fishcast
+   @end
+@if `p20 is 2 then do
+   @begin
+   @show
+`%You have a bite!`2
+
+@do write
+`k
+@do `p20 random 4 1
+@IF `P20 IS 1 then do
+  @begin
+  ;catching a special fish
+  @show
+  The fish is suprisingly strong!  But you reel it in slowly...
+
+@do write
+`k
+@do `p20 random 4 1
+@IF `P20 IS 1 then do
+   @begin
+   @show
+  `bTHE LINE BREAKS!
+
+  `2The mighty fish has escaped.
+
+`k
+   @do goto fishcast
+   @end
+  @show
+  `2You have just caught a `0Sparkling Green Salmon`2!
+`\`k
+  @do `i30 + 1
+  @do `t10 - 1
+  @do goto fishcast
+  @end
+
+  @show
+  You slowly reel the fish to shore.
+
+`k  You have caught a Salmon.
+
+`k
+   @do `i29 + 1
+   @do `t10 - 1
+   @do goto fishcast
+   @end
+
+
+  @end
+
+
+
+@#WATERFALL
+;Looking at the waterfall.
+@DO SAYBAR
+`2How nice!
+@do moveback
+
+@#WATERSIGN
+;Sign at the water fall.
+@DO SAYBAR
+`2To waterfall observation dock.
+@do moveback
+
+@#TREES
+;At the trees in the passage by the town
+@DO SAYBAR
+`2A spooky patch of autumn trees
+
+@#shrine
+@do `v01 is 1
+@do moveback
+@busy
+@show
+`r0`c  `r1`%  THE SHRINE OF BABOS  `r0`\
+`2  You kneel in front of the shrine and meditate.`\
+@
+
+@if `v04 > 4 then do
+  @begin
+  @show
+`k  Nothing happens.`\`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@if `v04 is 0 then do
+  @begin
+  @show
+`k  Nothing happens.  Maybe if you came on the right day...`\`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+
+@if `t09 is 1 then do
+  @begin
+  @show
+`k  Nothing happens.  You believe there may be limits to even a God's kindness.`\`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+;`v04: Lucky Shrine?: 1 = Money, 2, hitpoint, 3, strength 4 defence, else
+
+@if `v04 is 1 then do
+  @begin
+  @show
+`k  `$$500 `0magically appears in your pocket!`\`\`k
+  @do money + 500
+  @do `t09 is 1 
+  @end
+
+@if `v04 is 2 then do
+  @begin
+  @show
+`k  `0You feel healthier!  You get two more hitpoints!`\`\`k
+  @do `p03 + 2
+  @do `p02 + 2
+  @do `t09 is 1 
+  @end
+
+@if `v04 is 3 then do
+  @begin
+  @show
+`k  `%Belar`0 makes you stronger.  You gain one muscle point!`\`\`k
+  @do `p04 + 1
+  @do `t09 is 1 
+  @end
+
+@if `v04 is 4 then do
+  @begin
+  @show
+`k  `0You feel the gods protecting you.  You gain one dodge point!`\`\`k
+  @do `p05 + 1
+  @do `t09 is 1 
+  @end
+
+  @drawmap
+  @update
+  @closescript
+
+
+@#nomore
+
diff --git a/xtrn/lord2/quest.ref b/xtrn/lord2/quest.ref
new file mode 100644
index 0000000000000000000000000000000000000000..886bc574d1ea8c0892a9911b264dea16dc9a57d2
--- /dev/null
+++ b/xtrn/lord2/quest.ref
@@ -0,0 +1,264 @@
+;the random quest stuff is handled in this .ref.. it is fairly complicated
+;so be carefull if you try to change it.. I'm going to be adding more
+;later.
+
+@#GETNAME
+@do `s01 is `bNo`xname?
+@if `p20 is 1 then `s01 is The`xBartender
+@if `p20 is 2 then `s01 is Smithy
+@if `p20 is 3 then `s01 is Nickabrick
+@if `p20 is 4 then `s01 is Selena
+@if `p20 is 5 then `s01 is Basil
+@if `p20 is 6 then `s01 is Corin
+
+@#GETPLACE
+@do `s03 is `bNo`xplace?
+@if `p20 is 1 then `s03 is Greentree
+@if `p20 is 2 then `s03 is PortTown
+@if `p20 is 3 then `s03 is FlagCity
+@if `p20 is 4 then `s03 is BoneTown
+@if `p20 is 5 then `s03 is Sosen`xVillage
+@if `p20 is 6 then `s03 is Arrisville
+
+@#GETITEM
+@if `p21 is 1 then `s02 is sack
+@if `p21 is 2 then `s02 is satchel
+@if `p21 is 3 then `s02 is small`xbag
+@if `p21 is 4 then `s02 is letter
+@if `p21 is 5 then `s02 is small`xpurse
+
+
+@#complete
+;completes quest
+@routine getname
+@do `s05 is `s01
+;current guys name is in `s05
+
+@routine getplace
+;place put in `s03
+
+@do `p21 is `p17
+@routine getitem
+;item put in `s02
+
+
+@show
+`r0`c  `r1 `%Speedy delivery! `r0
+`\`2  `0"Yes? Can I help you, friend?" `2asks `s05.   
+
+`2  `$"Yeah.  Take this `s02 and pay me!"
+
+`k  `0"I've been waiting for this!  Thank you, `%`n`0!"
+
+  `2You are paid `$$`p16`2! 
+
+@
+;reset quest stuff
+;give money
+@do money + `p16
+;add one to quests completed var
+@do `p18 + 1
+@do `p14 is 0
+@do `p15 is 0
+@do `p16 is 0
+@do `p17 is 0
+@do `i44 is 0
+@do `i45 is 0
+@do `i46 is 0
+@do `i47 is 0
+@do `i48 is 0
+
+@if `p32 is 0 then do
+  @begin
+ ;woah, they delivered the item same day
+@do `p20 random 1 1
+@if `p20 is 1 then do
+  @begin
+  @do `p20 random 5 1
+
+  @if `p20 is 1 then do
+    @begin
+    @do `p08 + 1
+    @show
+  `0QUEST BONUS:  `%One extra charm point!
+
+    @end
+  @if `p20 is 2 then do
+    @begin
+    @do `p03 + 3
+    @show
+  `0QUEST BONUS:  `%Three extra hitpoints!
+
+    @end
+
+  @if `p20 is 3 then do
+    @begin
+    @do `p04 + 1
+    @show
+  `0QUEST BONUS:  `%An extra Muscle Point!
+
+    @end
+
+  @if `p20 is 4 then do
+    @begin
+    @do `p05 + 1
+    @show
+  `0QUEST BONUS:  `%An extra Dodge Point!
+
+    @end
+
+  @if `p20 is 5 then do
+    @begin
+    @do `p19 + 1
+    @show
+  `0QUEST BONUS:  `%A free gem for your troubles!
+
+    @end
+
+  @end
+ @end
+@do addlog
+  `r2  `r0 `0`n`2 has made a successful delivery in `0`s03`2. `r2  `r0
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+@show
+  `%QUEST COMPLETED.
+`\`k
+@drawmap
+@update
+
+@#GETQUEST
+;gets a random quest or completes it.
+@do `p26 is `p20
+
+@if `p26 is `p15 then do
+  @begin
+  @run complete
+  @end
+
+@label tryagain
+;get destination and dest name
+@do `p20 random 6 1
+
+
+@do `p22 is `p20
+@routine GETPLACE
+@routine GETNAME
+@do `s04 is `s01
+
+;get name of sender
+@do `p20 is `p26
+@routine GETNAME
+
+;get item
+@do `p21 random 5 1
+@routine GETITEM
+
+;generate price for doing it
+
+@do `p25 random 800 300
+@do `p24 is `p18
+@do `p24 * 3
+@do `p25 + `p24
+
+@if `p14 = `p20 then do
+  @begin
+  @do `p21 is `p17
+  @routine GETITEM
+  @show
+`r0`c  `r1 `%Asking for a job `r0
+`\`2  `s01 `2looks suprised.  `0"What are you doing around here? Go
+  deliver my `s02!"
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+@if `p15 > 0 then do
+  @begin
+  @show
+`r0`c  `r1 `%Asking for a job `r0
+`\`2  You sort of already have a quest - you will need to complete that
+  delivery before you attempt another!
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+
+
+@if `p31 < 1 then do
+  @begin
+  @do `p31 is 0
+  @show
+`r0`c  `r1 `%Asking for a job `r0
+`\`2  `0"Sorry, `%`n`0.  I have nothing for you today, maybe
+  tomorrow, ok?" `2`s01 tells you.
+
+`2  (only `0`v07`2 quest opportunities per day are allowed)
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+
+;make sure they don't get a quest to go to where they are
+@if `p20 is `p22 then goto tryagain
+
+
+@do `p31 - 1
+
+
+@show
+`r0`c  `r1 `%Asking for a job `r0
+
+  `0"Actually, `%`n`0.. there is something you could do."
+
+  `2`s01 points to a `0`s02`2 sitting on the table.
+
+  `0Would you deliver this to `#`s04`0 in `#`s03`0 for `$$`p25`0?"
+
+@do `v01 is 1
+@do write
+`x`x
+@choice
+Yes, I accept this quest
+Forget it
+@if response is 1 then do
+  @begin
+  @do `p14 is `p20
+  @do `p15 is `p22
+  @do `p16 is `p25
+  @do `p17 is `p21
+  @if `p17 is 1 then `i44 + 1
+  @if `p17 is 2 then `i45 + 1
+  @if `p17 is 3 then `i46 + 1
+  @if `p17 is 4 then `i47 + 1
+  @if `p17 is 5 then `i48 + 1
+  @do `p32 is 0
+  @show
+`\`\  `2You agree to make the delivery.
+
+  `0`s01`2 hands you the `0`s02`2!
+
+  `%QUEST STARTED.
+
+`k
+  @drawmap
+  @update
+  @end
+
+@if response is 2 then do
+  @begin
+  @show
+`\`\  `0"My, but you're a picky one.  Perhaps I'll have something else for
+  you to do later."
+`\`k
+  @drawmap
+  @update
+  @end
+
+
diff --git a/xtrn/lord2/rock.ref b/xtrn/lord2/rock.ref
new file mode 100644
index 0000000000000000000000000000000000000000..19125e39bb62b915378f6f87f167a18e776b443a
--- /dev/null
+++ b/xtrn/lord2/rock.ref
@@ -0,0 +1,125 @@
+;Ref for the RockHolm Northern Continent
+
+@#NSIGN
+;North sign at the edge of StonePath
+@DO SAYBAR
+`2Dangerous path South, Beware!
+@do moveback
+
+@#GUARD1
+;Guard outside RockHolm Castle
+@DO SAYBAR
+`0"Welcome to RockHolm Castle."
+@do moveback
+
+@#GUARD2
+;The other Guard outside RockHolm Castle
+@DO SAYBAR
+`0"Enter if you are a warrior."
+@do moveback
+
+@#ROCKCAVE
+;For dock to cave in RockHolm Mountains
+@if bitcheck `t14 4 0 then do
+  @begin
+@if `i61 > 0 then do
+  @begin
+  @show
+`r0`c  `%`r1  Ghostly Passage  `r0
+
+  `%You step out onto the dock, looking around at the calm waters.  You
+  notice fog begining to build up.  You look in your pouch quickly to find
+  the ring you have glowing.  The patch of fog slowly moves towards you
+  within it you can make out a tranparent boat!  With caution, you test it
+  then climb aboard - it takes you to the other side.
+`\`k
+  @do x is 41
+  @do y is 10
+  @drawmap
+  @update
+  @closescript
+  @end
+@end
+@DO SAYBAR
+`2That cave across the lake looks very mysterious.
+
+@#GOBACK
+;Getting back from the above cave
+@show
+`r0`c  `%`r1  Ghostly passage back `r0
+
+  `%You step out into the water, again looking.  You notice fog again
+  comes to greet you.  You ride the ghostly vessle back.
+`\`k
+@do x is 41
+@do y is 16
+@drawmap
+@update
+
+@#GHOST
+;The ghost's body in the old cave
+@if bitcheck `t14 4 0 then do
+  @begin
+@if `i61 > 0 then do
+  @begin
+  @bitset `t14 4 1
+  @do `i61 - 1
+  @do `p18 + 5
+  @do `p04 + 5
+  @show
+`r0`c  `%`r1  Ghost Body  `r0
+
+  `%You kneel before the body in the corner of the cave.  This must be the
+  body of the man who haunts the ArrisVille Inn.  The glow of the ring seems
+  to be pulsating.  Kindly, you put the ring on the body's finger.  The blue
+  glow engulfs the body, and for a second you see the ghost from before, then
+  it all fades...
+  `3"Thank you, I now pass my `%STRENGTH `3to you ..."
+
+  `%YOU'VE COMPLETED A MAJOR QUEST (+ 5 Quest Points)
+
+  `%YOU FEEL STRONGER (+ 5)
+`\`k
+  @drawmap
+  @update
+  @closescript
+  @end
+@end
+@DO SAYBAR
+`3Some poor guy's body.
+
+@#LEG
+;Leg inside the cave
+@DO SAYBAR
+`2Some poor bastard's rotten leg
+
+@#HEAD
+;Head inside the cave
+@DO SAYBAR
+`2Someone got eaten pretty bad here.  This head is old.
+
+@#Teller
+;The Man up in the dangerous RockHolm Mountains who tells important info.
+@do moveback
+
+@do `p20 random 9 1
+@if `p20 is 1 then saybar
+`%Man: `0Careful, the monsters around here are REALLY dangerous...
+@if `p20 is 2 then saybar
+`%Man: `0If the owner of the nearby castle lets you in, you can get stuff..
+@if `p20 is 3 then saybar
+`%Man: `0I'm lost.  I've been lost for years.
+@if `p20 is 4 then saybar
+`%Man: `0Pirates suck.  Because of them there will never be a LORD 3...
+@if `p20 is 5 then saybar
+`%Man: `0.doG a si theS
+@if `p20 is 6 then saybar
+`%Man: `0There's a ghost who haunts the sleeping in ArrisVille
+@if `p20 is 7 then saybar
+`%Man: `0The Koshi can do things you never imagined.
+@if `p20 is 8 then saybar
+`%Man: `0You need the cloud sword to enter the Koshi Mountains.
+@if `p20 is 9 then saybar
+`%Man: `0If you win this thing, you WILL get special powers.
+
+@#done
diff --git a/xtrn/lord2/rules.ref b/xtrn/lord2/rules.ref
new file mode 100644
index 0000000000000000000000000000000000000000..be40c6ebe14a57857385bb55a9168e50e668a7bd
--- /dev/null
+++ b/xtrn/lord2/rules.ref
@@ -0,0 +1,34 @@
+@#rules
+
+;Rules for LORD II: New World.  You can change #'s here to affect the
+;rules of the game.
+
+;change the 0 below to a 1 to show an optional opening message.
+
+@if 0 is 1 then do
+  @begin
+  @show
+`r0`c  `r1  `%WELCOME TO THE REVOLUTION  `r0
+
+  `2The`0 (put BBS name here) `2is proud to be an official beta site of `0LORD2`2.
+
+  Please report any problems to the sysop here or email `0sethable@rtsoft.com`2
+  directly.
+
+  Have fun!
+
+`k
+  @end
+
+;*** example of showing users a message ****
+
+@do `v03 is 0 ;Can players die unlimited times per day?  0 is no, 1 is yes
+@do `v05 is 3000 ;turns per day given to a player, 0 for unlimited
+@do `v06 is 0 ; Make this 1 to activate CLEAN mode, this means 'dirty' things
+              ; will not happen, like there won't be whores at the Sea Hag
+              ; hotel
+@do `v07 is 4 ; Max random quests possible per day
+@do `v08 is 20 ; Max uses of the slot machines/craps per day
+@do `v09 is 15 ; Level at which players can be attacked in Inns. 0 for never
+
+@#NOMORE
diff --git a/xtrn/lord2/stoneb.ref b/xtrn/lord2/stoneb.ref
new file mode 100644
index 0000000000000000000000000000000000000000..df5a248ca22ae3cf7735135ec860d2fff38285ee
--- /dev/null
+++ b/xtrn/lord2/stoneb.ref
@@ -0,0 +1,1204 @@
+;stoneb.ref, for the town of Stonebrook and nearby.
+
+
+@#JACK
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c`%  `r1 Jack's Restaurant `r0
+
+`2  You grab a seat and wait for some service.
+
+`k  A stocky man with curly hair appears to take your order.
+
+`k
+
+@label jackstart
+@show
+`r0`c`%  `r1 Time to tempt your tummy `r0
+
+`2  Jack fiddles with his pencil while waiting for you.
+
+@do write
+`x`x
+@choice
+Look at the menu.
+Order something
+Stand up
+@
+
+@if response is 1 then do
+ @begin
+ @show
+`r0`c  `%Welcome to Jack's!
+
+  `5For your dining pleasure we offer several specialties not found
+  anywhere else.  You will want to try 'em all!
+
+`k  `#Spider Soup (`$$20`#)
+
+  `5The delicate Black Widow spider not only makes a great pet `#-`5 but also
+  makes a delicious lunch.  Grown especially for Jack's, they are always
+  the biggest, plumpest and juiciest you'll find anywhere!
+
+  `#Earwig SoufflŠ (`$$30`#)
+
+  `5You'll die of satisfaction when you taste this fabulous dessert!  Created
+  with NightHawk egg whites and topped with crunchy earwig body parts, this
+  scrumptious delight will leave you breathless!
+  
+  `#Whole Gloworm (`$$50`#)
+
+  `5Extremely rare and famous for the light they give off after biting into
+  one, these magical crawlers will squiggle in your mouth providing fun
+  incandescent entertainment for the whole family!  Yummy!
+
+`k
+@do goto jackstart  
+ @end
+
+@if response is 2 then do
+   @begin
+   @do write
+`\`\  `2Order what?  (`0You have `$&money`2)`\`\`x`x
+   @do `v01 is 1
+   @choice
+`#Spider Soup (`$$20`#)
+`#Earwig SoufflŠ (`$$30`5)
+`#Whole Gloworm (`$$50`5)
+`#Nuthin'
+   @
+
+   @if response is 1 then do
+    @begin
+    @if money < 20 then do
+      @begin
+      @show
+`\`\  `4You can't afford that, poor s&boy.`\`\`k
+      @do `v01 is 2
+      @do goto jackstart
+      @end
+    @do money - 20
+    @show
+`r0`c  `r1  Chow Time  `r0`\`\  `2Jack brings out the bowl of soup.  You pick at it
+  carefully with your spoon `0-`2 looks ok.  You slurp some up.
+`\`k  `4A spider tries to crawl out of your mouth!
+`\`k  `%But you kind of like it!!!  Yum.
+`\`k
+    @end
+
+   @if response is 2 then do
+    @begin
+    @if money < 30 then do
+      @begin
+      @show
+`\`\  `4You can't afford that, poor s&boy.`\`\`k
+      @do `v01 is 2
+      @do goto jackstart
+      @end
+    @do money - 30
+    @show
+`r0`c  `r1  Chow Time  `r0`\`\  `2Jack brings out the SoufflŠ.
+`\  You see tiny earwigs crawling in and out of it!  
+`\`k  `4The earwigs crunch noisily!
+`\`k  `%You enjoy the sensation!!!!  What fun!
+`\`k
+    @end
+
+   @if response is 3 then do
+    @begin
+    @if money < 50 then do
+      @begin
+      @show
+`\`\  `4You can't afford the gloworm.`\`\`k
+      @do `v01 is 2
+      @do goto jackstart
+      @end
+    @do money - 50
+    @show
+`r0`c  `r1  Chow Time  `r0`\`\  `2Jack brings out the Gloworm.
+`\  You take a close look at the little guy.
+`\`k
+    @routine showworm
+    @show
+`k`r0`c  `r1  GOOD GOD!  `r0
+`\  `4The worm is ugly as sin!
+`\`k  `2Are you sure you wanna eat this thing?`\
+    @do write
+`x`x
+    @do `v01 is 1
+    @choice
+Chomp on him
+Put him in your pocket for later
+    @if response is 1 then do
+     @begin
+     @show
+`\`\  `2You carefully put the squirming worm between your lips, being careful
+  `2not to let it bite you.
+`\`k  `2You play with the morsel with your tongue, oooh, it tickles!
+`\`k  `0You finally decide the fun is over and bite the worm in half.  Juices
+  pour into your mouth, hey look, your mouth is glowing!  Yay!
+`\`k
+      @do `v01 is 2
+      @do goto jackstart
+     @end
+     @show
+`\`\  `2You carefully put the worm in your pocket.  You never know when you
+  might need it.
+`\`k
+      @do `i17 + 1
+      @do `v01 is 2
+      @do goto jackstart
+    @end
+
+
+
+   @do `v01 is 2
+   @do goto jackstart
+   @end
+
+@drawmap
+@update
+
+@#SHOWWORM
+@pauseoff
+@show
+`c°°±²þú    ²±°ÄÄÄ°±²²  
+°°   ²±²²²²²²²²²²²²²²±±±±±
+±°°°°±±±±          °°°°°°²°²²
+²²
+ı°±²       °²±°ÄÄ
+°±²² °²±²²²²²²²²²²²²²²²²±±±
+±±±±±±±°°°°°°±±±   ²²²²  °
+° ²±²þú  
+²²²²²²²    °°°° ²±°²±²²²²²²
+²²²²²²²²²²²²±±±±±±±±±±±±±°°°°°°°°°°°±±
+°°±²²²²²°°²    
+ þú  ²±Äı² °°    
+²±²²±±²²²²²²²²²±±±±±±±±±±±±±±±±±
+±±±°°°°°°°°°°°±±°°°°±²²  °    
+²     ²²²²²² ²þ²²±±²±±
+± þþúú°°±±±±±±±±±±°°  þþúú
+°°°°°°°°°°±±  °°°°° ²
+±           ²þ²²²±±±±þú   °
+°±±± þþú°°°°±±±±°°°° þþú °°
+±±±±±°°°°°°°°°°°±±   ° ²±°
+Ä °°      ²±²²²±±Ý  
+±±±±±²²²²²±±±°° þú°°±±°°þú °°±±
+±±±²²²²±²±²±Û°±±°°°°°±±±±±°°Ä
+Ä°°°°°    ²±²²±Ý  ±±±
+±±²²²²²²²²²±²±°° .°°°°Ý ±±±±±±²²²²²²
+°Û±Û±Û°Û°°±°°°°
+±°°°°°°°
+° °°   ²²²²²  ²±±±²²²²
+²²²²²²²±²±²±²°° °°Ý±²²²²²²²²²²²Û°
+Û° °°°±±°°±°±±±±°°±°±±±
+±   ²²±±Ä°±²² ²²°°
+Û°Û°Û°Û
+°°Û° ° ° °°°° °°
+ݱ°°Û°Û°Û°
+Û°Û°Û°°°
+Û°±±°°°±°±± þú  
+²²²²
+²²²²±±Ä°±²²    ²²°°°°Û
+°Û°°±° ° °°°²²
+°°þ°°°°°°±°°°°
+Û° ° ° ±°°±±°°°±°±±±
+        °
+°²þú              ²²°
+°°°±±²Û²±±°²°°°°°°±°
+±±±±°°°°°±±°°°±±²Û²±±°±±°±±±°°
+°°°°°±± °
+        °°    ²±²  ²²°°°
+°°±²±°²°°°°°þ°±
+±  ±°±°°°°°²±°°°±²±°±°°
+°±±±±   ²±°Ä°±²²
+²²    °°°°°° ²±°°±² ²±°°°°°
+±°°°°°°±±°°°°°°°°±±±±±°°°°°°°°
+°±°°°°±±±±    ²±°ÄÄ
+Ä°±±
+±±²     °°  ²±°Ä°±²  ²±
+²²²±°°°°þ±±°°°
+±±±±±±±±±±±±±±°°°°°°°±°°±±±±     ²±°
+ÄÄÄÄÄ°°
+°±±²²²²²²²²²±°Ä°±²     ²±²²±
+°²²þ±±²Ý ²
+Ý ²Ý ²Ý ²
+±±±±±±°°°°°±±±±        ²±°
+ÄÄÄÄÄÄ
+ÄÄ°±±±±±±±±±°Ä°±²     ²²  ²
+±±²±±°²Ýþ²²
+Ýþ²°°°°°°°ÄÄÄ°
+±² þú       ²±°ÄÄÄÄÄ
+ÄÄÄ°°°°°°°°°Ä°±²þú   ²±±±
+    ²±±þ²Ý 
+²Ý ²°°°°±±±
+±ÄÄÄÄ°±²         ²±°ÄÄÄÄ
+ÄÄÄÄÄÄÄÄÄÄ°±²þú    ° ²±°±²  
+°  ²±°±±±±±±°°°°°°°°°
+°°±±±± ²±°ÄÄÄÄÄ°±²     
+°  ²±°ÄÄ
+ÄÄÄÄÄÄÄÄÄÄÄ°±²    °°° ²±±²
+ °°°²±± ²±°°±±±±°°°°
+°°±±±±± ú   ²±°ÄÄÄÄÄ
+°±² °°°°°   ²±
+°`%
+@pauseon
+
+@#JACKSIGN
+@do moveback
+@do saybar
+`6<--- This way to Jack's Restaurant.
+
+@#JACKSEAT
+@do moveback
+@do saybar
+`6Please seat yourself.
+
+
+@#COATRACK
+@do moveback
+@do saybar
+Nice coat rack.
+
+
+@#CAVESIGN
+@do moveback
+@do saybar
+`6Cave condemned, stay out.  - City council of Stonebrook
+
+@#BIRD
+@do moveback
+@if `t08 not 0 then do
+  @begin
+  ;already got the bird
+  @do saybar
+The nest is empty, save some bird crap.
+  @closescript
+  @end
+
+@if `t05 < 4 then do
+  @begin
+  ;doesn't know about Hector yet
+  @do saybar
+You see a nest... Hmm, whatever lives here must be out.
+  @closescript
+  @end
+
+
+
+@show
+`r0`c  `r1 `0POLLY WANTS A CRACKER `r0
+
+`2  You find a nest!  There is a parrot in it!  It looks at you fearfully
+  in an almost human way.
+
+  `0"Awk!  Leave me alone! Awk!"
+
+`k  You squint at the parrot. `$"What is your name, bird?"
+
+  `0"I'm Hector - an old witch cast an enchantment on me! Awk!"
+
+  `2You look at the bird skeptically.
+
+  `0"She wants to eat me!  Awk! I have been hiding from her for years!"
+
+`k  `$"Why didn't you just fly away, silly?" `2you ask.
+
+`0  "She clipped my wings every week - maybe I could now...Awk."
+
+`k  `$"Tough luck.  You're coming with me!"  `2you laugh as you scoop
+  the bewildered parrot up.
+
+  `%YOU HAVE THE PARROT! (AND 3 MORE QUEST POINTS!)
+
+`k
+@do `i18 is 1
+@do `t08 is 1
+@do `p18 + 3
+@drawmap
+@update
+
+@#CHEST1
+ @do moveback
+ @if `t06 is 0 then do
+  @begin
+  @do `t06 is 1
+  @do money + 35
+  @do saybar
+`0You find `$35 `0gold pieces!
+  @closescript
+  @end
+
+  @do saybar
+`0The chest is empty.
+
+
+
+@#CHEST2
+ @do moveback
+ @if `i07 is 0 then do
+  @begin
+  @do `i07 is 1
+  @do saybar
+`0You find an Ancient flute!
+  @closescript
+  @end
+
+  @do saybar
+`0The chest is empty.
+
+
+
+@#FALL
+
+  @do X is 20
+  @do Y is 9
+  @do map is 1518
+  @loadmap 1518
+
+@show
+`r0`c  `4OH NO.
+
+`2  You have tripped and banged your head a good one `0-`2 just when you were
+  doing so good!  Maybe if you had some light, you would have avoided that
+  hole.. Haw!
+
+`k  `2You wake up a few hours later outside.  Strange, who could have helped
+  you?
+
+`k
+@drawmap
+@update
+
+@#SNAKE
+  @do saybar
+`2Ouch!  A snake bit you for `b5`2 damage!
+  @do `p02 - 5
+  @if `p02 < 1 then do
+    @begin
+    @do enemy is a`xsnake
+    @run die in gametxt.ref
+    @end
+
+
+@#CAVE
+  @do X is 39
+  @do Y is 19
+  @do map is 1289
+  @loadmap 1289
+  @drawmap
+  @update
+  @do saybar
+Arg!  You can't see a thing, it's pitch black in here!
+
+@#OLDWOMAN
+@offmap
+@do moveback
+@do `v01 is 1
+@label oldstart
+@show
+`r0`c  `%`r1  THE OLD WOMAN'S HOUSE  `r0 
+
+`2  You are greeted by the smell of decay and rot.
+@if `t05 is 0 then do
+ @begin
+ @show
+`\  `2You hear a voice from the back.  `0"Come in, dearie!!!"
+ @end
+
+@if `t05 is 1 then do
+ @begin
+ @show
+`\  `2The old woman is looking at you expectantly.
+ @end
+
+@if `t05 is 2 then do
+ @begin
+ @show
+`\  `2The old woman is tidying up the shack.
+ @end
+
+
+@do write
+`\`x`x
+@choice
+=`t05 0 Whatup, ugly hag?
+=`t05 0 Hi.  Damn you're ugly!
+=`t05 0 Good lord, woman!! What happened to your face?
+=`t05 1 Ask to taste her brew.
+=`t05 1 >`i11 0 <`p07 -5 `4Offer your little friend as an ingredient.
+=`t05 1 >`i01 0 Offer some wildberries as an ingredient.
+=`t05 1 >`i08 0 Offer momma's pie as an ingredient.
+=`t05 1 >`i03 0 Offer milk as an ingredient.
+=`t05 2 Ask to taste her stew.
+=`t05 3 Hector?  Who the hell is Hector?
+=`t05 4 Talk to the woman.
+=`t08 3 =`t05 4 Um yeah.. I sort of let Hector fly away.  Ya mad?
+=`i18 1 Hey.  I brought your damn bird.
+=`t05 5 =`t08 0 Anything new, old woman?
+=`t05 5 =`t08 3 Anything new, old woman?
+=`t05 1 >`i43 0 Offer an Egg as an ingredient.
+Leave
+@
+
+
+@if `v01 is 1 then do
+  @begin
+  @show
+`\`\  `0"Not much, young man! I'm merely cooking my stew!" `2she cackles.
+
+`k
+  @do `t05 is 1
+  @do goto oldwoman
+  @end
+
+@if `v01 is 2 then do
+  @begin
+  @show
+`\`\  `0"Thankyou for noticing that.  Wanna test my stew?" `2she asks.
+
+`k
+  @do `t05 is 1
+  @do goto oldwoman
+  @end
+
+@if `v01 is 3 then do
+  @begin
+  @show
+`\`\  `0"My face?  How do you mean?  No mind!  I'm making stew!" `2she exclaims.
+
+`k
+  @do `t05 is 1
+  @do goto oldwoman
+  @end
+
+@if `v01 is 5 then do
+  @begin
+  @do `i11 is 0
+  @do `p07 - 2
+  @do `t06 + 2
+  @show
+`\`\  `0"Ahh!  Fresh meat!" `2the woman screams.  She takes the struggling
+  small child from you and prepares her for the stew.
+
+  You wonder why your heart has grown so cold.
+
+  `4ALIGNMENT GOES DOWN BY TWO.
+
+`k
+  @do goto oldwoman
+  @end
+
+@if `v01 is 6 then do
+  @begin
+  @do `i01 - 1
+  @do `t06 + 1
+  @show
+`\`\  `0"Wildberries?  Ok!" `2the woman takes your berries and throws them
+  into the evil looking brew.
+
+`k
+  @do goto oldwoman
+  @end
+
+@if `v01 is 16 then do
+  @begin
+  @do `i43 - 1
+  @do `t06 + 1
+  @show
+`\`\  `0"An egg?  Ok!" `2the woman takes the egg and throws it
+  into the evil looking brew.
+
+`k
+  @do goto oldwoman
+  @end
+
+
+@if `v01 is 7 then do
+  @begin
+  @do `i08 - 1
+  @do `t06 + 1
+  @show
+`\`\  `0"A pie?  Ok!" `2the woman takes your pie and smashes it up - then
+  sprinkles the goo into the iron cauldron.
+
+`k         
+  @do goto oldwoman
+  @end
+
+@if `v01 is 8 then do
+  @begin
+  @do `i03 - 1
+  @do `t06 + 1
+  @show
+`\`\  `0"Milk?  Ok!" `2the ever-so-wrinkled woman carefully empties your
+  bottle of milk into the bubbling liquid.
+
+`k
+  @do goto oldwoman
+  @end
+
+
+
+@if `v01 is 4 then do
+  @begin
+@show
+`\`\  `0"Sure!  How is it?" `2the elderly one dips a stained ladle into the
+  boiling broth and offers it to you.
+
+  `0After carefully blowing on it, you slurp it up.
+
+@
+
+
+
+  @if `t06 is 0 then do
+   @begin
+
+  @do `p02 - 2
+  @if `p02 < 1 then `p02 is 1
+  @show
+`k  `4It tastes horrible.  `$"GAWD WOMAN!" `2you scream, `$"LEARN HOW TO
+  COOK!!!"
+
+`2  The old woman's face falls.  `0"I must still be missing a few
+  ingredients... Just you wait, this will eventually be the best stew
+  you've ever tasted!"
+
+  `2Amused at her antics you forgive her for the pain in your stomach.   
+
+`k
+  @end
+
+  @if `t06 is 1 then do
+   @begin
+   @show
+`k  `2It tastes like crap basically.. but not quite as bad as before...
+`\`k
+  @end
+
+
+  @if `t06 > 1 then do
+   @begin
+   @do `p03 + 5
+   @do `p02 is `p03
+   @do `t06 is 0
+   @do `t05 is 2
+   @show
+`k  `%IT TASTES GREAT.  `$"Old woman! I love this!" `2you tell her.
+
+`k`0  "Thank you so much, dearie!  Would you like some more?" `2she smiles.
+
+  `2You finish off the pot.
+
+  `%HEALTH RAISED BY 5.
+
+`\`k
+  @end
+
+
+  @do goto oldwoman
+  @end
+
+@if response is 9 then do
+  @begin
+  @show
+`\`\  `0"Sorry s&boy,  you have already drank the last of it." `2the old woman
+  tells you sadly.
+
+  `$"Well, make more!  Now!" `2you demand.
+
+  `0"I can't!"`2 cries the woman, `0"Not without my Hector!"
+`\`k
+  @do `t05 is 3
+  @do goto oldwoman
+  @end
+
+@if response is 10 then do
+ @begin
+ @show
+`\`\  `0"Hector is my friend.  He disappeared a few months ago - I need him!"
+
+  `$"Geez...  Someone like you really needs friends, I'll do everything in
+  my power to find 'em for ya, ma'am," `2you console her.
+
+`k
+ @do `t05 is 4
+ @do goto oldwoman
+ @end
+
+@if response is 11 then do
+ @begin
+ @show
+`\`\  `0"Where is Hector?!?! Where is he?!"
+
+  `$"Um, I'll be right back...With Hector!" `2you lie glibly.
+
+`k
+ @do goto oldwoman
+ @end
+
+@if response is 12 then do
+ @begin
+ @show
+`\`\  `0"YOU LET HIM FLY AWAY!!?!?  I HATE YOU!!  GET OUT!"
+
+`2  It looks like she means it.  You decide to take off.
+
+`k
+@do `t05 is 5
+ @end
+
+@if response is 13 then do
+ @begin
+ @show
+`\`\  `0"Ahhh!  You found my little friend!"
+
+`2  She puts him in a cage and starts a cookin' away.
+
+  `$"Cool, are you gonna put him in your brew for some special sauce or
+  something?" `2you ask.
+
+`k  `0"Of course not!!  That would be inhumane.  He just inspires me!!  Here,
+  try this.."
+
+  `%THE FOOD GIVES YOU 2 EXTRA MUSCLE!
+
+`k
+@do `t05 is 5
+@do `p04 + 2
+@do `i18 is 0
+ @do goto oldwoman
+ @end
+
+@if response is 14 then do
+ @begin
+ @show
+`\`\  `0"No, not really.  Same old crap." `2she sighs.
+
+`k
+ @do goto oldwoman
+ @end
+@if response is 15 then do
+ @begin
+ @show
+`\`\  `0"Get out, homewrecker!" `2she screams, throwing pots and pans at you!
+
+`k
+ @end
+
+
+@drawmap
+@update
+
+
+
+@#grocery
+@offmap
+@do moveback
+@do `v01 is 1
+@label grab
+@show
+`r0`c  `%The Stonebrook Grocery
+
+`2  The store is nice and cool inside.
+
+@do write
+`x`x
+@choice
+Buy some groceries.
+Go outside.
+@show
+`\
+@if responce is 1 then do begin
+ @begin
+@buymanager
+  3
+  1
+  @end
+
+@if responce not 2 then goto grab
+@drawmap
+@update
+
+
+@#healers
+@offmap
+@do moveback
+@do `v01 is 1
+@show
+`r0`c  `%The Healers
+
+`2  You see a sign on the wall that says healing cost 1/2 gold per hitpoint
+  needed.
+
+`2  Gretchen looks you over for wounds.
+
+@do write
+`x`x
+@if `p02 < `p03 then do
+ @begin
+@do `p20 is `p03
+@do `p20 - `p02
+@do `p20 / 2
+
+
+
+ @show
+`0"You don't look so good, friend!  I'll fix ya up for `$`p20`0 gold, k?"
+
+@do write
+`x`x
+@choice
+Heal yourself for `$$`p20`%. (you have `$$&money`%)
+Limp on out.
+@show
+`\
+@if response is 1 then do begin
+ @begin
+ @if money < `p20 then do
+  @begin
+  @show
+  `0"Sorry, I'm not gonna perform those services for free!"
+
+@if sexmale is 1 then do
+ @begin
+ @do write
+`x`x
+ @choice
+For `$$`p20`%, you better perform some other services too, whore!
+How about I pay with my good looks, honey?
+How 'bout you and me go in the back and I show you my sword?
+Meekly accept, and compliment her on her dress
+@show
+
+
+@if response is 4 then do
+ @begin
+ @show
+  `0"That's a good lad, now get along with you!" `2 she laughs.
+
+`k
+ @end
+
+@if response is 1 then do
+ @begin
+ @show
+  `0"How dare you say that to me!  Get out!!!!" `2 she screams.
+
+`k
+ @end
+@if response is 2 then do
+ @begin
+ @show
+  `0"I'd rather kiss a troll." `2 she informs you.
+
+`k
+ @end
+@if response is 3 then do
+ @begin
+ @do `p02 = 1
+ @show
+  `0"How 'bout I show you my fists?" `2 she yells as she sticks a needle in you!
+
+  `4HIT POINTS GO DOWN TO 1.
+
+`k
+ @end
+
+
+
+ @end
+
+  @drawmap
+  @update
+  @closescript
+  @end
+
+@do money - `p20
+@do `p21 = `p03
+@do `p21 - `p02
+@do `p02 = `p03
+@show
+  `2You feel much better as `0`p21`2 hitpoints are restored.
+
+`k
+  @end
+  @drawmap
+  @update
+  @closescript
+@end
+
+@show
+`0"You are a perfect picture of health, dear `$`n`$!" `2Gretchen exclaims.
+
+`k
+@drawmap
+@update
+
+
+@#winthrog
+@offmap
+@do moveback
+@do `v01 is 1
+@label rog1
+@show
+`r0`c  `%Winthrog's Weapons
+
+`2  An elderly man sits, absently playing with knife.
+
+@do write
+`x`x
+@choice
+Examine his wares.
+Ask him to buy some of your stuff.
+Gossip with Winthrog
+Go outside.
+@show
+`\
+@if responce is 1 then do begin
+ @begin
+ @clearblock 8 14
+ @do move 1 7
+ @buymanager
+  4
+  9
+  @end
+
+@if responce is 2 then do begin
+ @begin
+@show
+  `!"I don't think so - Go sell it to the Pawn Shop - I do all my business
+  with them!" `2the codger relates.
+
+`k
+@do goto rog1
+  @end
+
+@if responce is 3 then do begin
+ @begin
+@show
+  `!"Gossip, eh?  Well, I heard a crazy old man lives in a shack south of
+  here... "
+
+  `$"Really?  What else?" `2you ask.
+
+  `!"That old shack has a fake wall section somewhere inside..."
+
+`k
+@do goto rog1
+  @end
+
+
+@if responce not 4 then goto winthrog
+@drawmap
+@update
+
+@#pawn
+@offmap
+@do moveback
+@do `v01 is 1
+@label pawn1
+@show
+`r0`c  `%The Pawn Shop
+
+`2  Hagar motions you to approach.  He reeks of wine.
+
+@do write
+`x`x
+@choice
+Examine his wares.
+Ask him to buy some of your stuff.
+Gossip with Hagar
+Go outside.
+@show
+`\
+@if responce is 1 then do begin
+ @begin
+ @clearblock 8 14
+ @do move 1 7
+ @buymanager
+  5
+  6
+  20
+  @end
+
+@if responce is 2 then do begin
+ @begin
+ @clearblock 8 14
+ @do move 1 7
+ @sellmanager
+  @end
+
+@if responce is 3 then do begin
+ @begin
+@show
+  `0"Wanna know something really strange?  I heard there is a tree on
+  Neb's Road that has magical powers..."
+
+  `2You stare at him in disbelief.  `$"Yeah right, quit telling me stories,
+  Hagar!  You ain't exactly the most trustworthy man in town, ya know."
+
+`k
+  @end
+
+
+
+@if responce not 4 then goto pawn1
+@drawmap
+@update
+
+@#tree
+@offmap
+@do moveback
+@show
+`r0`c  `%The Tree Hollow
+
+`2  You find a hollow in a tree.
+
+@if `p98 is 0 then do begin
+ @begin
+ @show
+  There is a chest here.  What could it be?
+
+ @end
+
+@if `p98 more 0 then do begin
+ @begin
+ @show
+  There is an open chest here.  It is empty.
+
+ @end
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+=`p98 0 Open the chest - something good must be inside, baby!
+=`p98 1 Kick the crappy chest.
+=`p98 0 Carefully open the thing.  Could be a trap?
+Leave.
+@show
+
+
+@if response is 1 then do begin
+ @begin
+ @do `p98 is 1
+ @do money + 25
+
+ @show
+  `2You find the chest opens easily.
+
+  `%YOU FIND 25 GOLD PIECES!
+
+  `2You exit the hollow to find yourself in the sunlight once again.
+
+`k
+ @end
+
+@if response is 3 then do begin
+ @begin
+ @do `p98 is 1
+ @do money + 25
+
+ @show
+  `2You spend half an hour opening a harmless chest.  Isn't a damn trap!
+
+  `%YOU FIND 25 GOLD PIECES!
+
+  `2You exit the hollow to find yourself in the sunlight once again.
+
+`k
+ @end
+
+
+
+@if response is 2 then do begin
+ @begin
+ @show
+  `2You defiantly strike the chest with your foot.  Satisfaction is
+  gained.
+
+  Actually, you feel kind of stupid and decide to take off.
+
+`k
+ @end
+
+
+@drawmap
+@update
+@#nothing
+@#sign1
+
+@do saybar
+`2Sign reads: `0`4Danger! `0This area is not safe.  Run.  Run!
+@do moveback
+
+@#sign2
+@do saybar
+`2Sign reads: `0Welcome to `%Stonebrook`0 - the quaintly small town!
+@do moveback
+
+@#greensign
+@do saybar
+`2Sign reads: `0 <-- Greentree         StoneBrook -->
+@do moveback
+
+
+@#fightned
+@fight
+;name
+Neb Stringly
+;string said when you see him
+You lunge at Neb, your `0s&weapon `2ready!
+;power move kill string
+You cleanly cut off one of Neb's hands!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+punches you in the face|10
+low blows you|15
+socks you in the jaw|7
+NONE|NONE
+NONE|NONE
+;defense
+5
+;gold reward
+50
+;experience
+20
+;hit points
+25
+;if win: ref file|name or NONE
+STONEB.REF|BEATNEB
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;If runs: ref file|name or NONE
+STONEB.REF|NEBRUN
+
+@#NEBRUN
+@show
+`c  `r1 YOU WEENIED OUT `r0
+
+  `2Neb kicks you in the seat of your pants as you scurry away.
+
+`k
+@DRAWMAP
+@UPDATE
+@#BEATNEB
+@do `s01 is BITCH
+@if `v06 is 1 then `s01 is punk
+;clean mode fix
+@show
+`c  `r1 YOU CRUSHED THE NEBSTER `r0
+
+  `$"Whatup, `s01?" `2you ask Neb as he struggles to get up.  You finally
+  take your foot off his neck.
+
+  `2Neb scrambles to his feet.  `0"Geez s&man, what's wrong with you?  I waz
+  jes' joking with ya's anyway!"
+
+  `2You can't help but laugh, what a fool. `%(YOU GET 5 QUEST POINTS!)
+
+`k
+@do `p18 + 5
+@do `t03 is 2
+@drawmap
+@update
+@#NEB
+@if `t03 more 1 then do
+  @begin
+  @do saybar
+`2Neb meekly lets you pass.
+  @closescript
+  @end
+
+@if &lastx is 9 then do
+ @begin
+ @do x is 11
+  @do saybar
+`2Neb trips you as you walk by!
+  @closescript
+ @end
+
+@do moveback
+@busy
+@show
+`r0`c  `r1 NEB STRINGLY `r0
+
+@if `t03 is 0 then do
+ @begin
+ @do `t03 is 1
+ @show
+  `0"STOP RIGHT THERE, KID!" `2a tall and gangly youth with some serious
+   acne problems shouts.
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+Who me?  Am I in the way?
+May I please pass?  I have important business.
+Shutup crater face before I knock your head off.
+@show
+
+
+  `0"I'm Neb Stringly and you will do what I say!" `2he commands.
+
+`k  `2You roll your eyes.  Who IS this freak?
+
+`k`c  `r1`% MEETING NEB `r0
+
+@end
+@show
+  `0"Alright you!  This is MY road and no one crosses without my permission."
+
+  `$"And just how would I get that?" `2you ask sarcastically.
+
+  `0"Pay me `$50 `0gold pieces, you bumwisket!"
+
+@do write
+`x`x
+@do `v01 is 1
+@choice
+>&money 49 Pay the man.
+<&money 50 Offer Neb the `$$&money `%you are holding.
+Beat the @#$% out of 'em.
+Find something else to do.
+@if response is 3 then do
+  @begin
+  @do goto fightned
+  @end
+
+@if response is 2 then do
+  @begin
+  @do money is 0
+  @show
+
+
+  `0"Thanks kid," `2Neb laughs - `2as he `bsteals`2 all your gold!
+
+  `$"You'll pay for this Neb!  I don't know how and I don't know where, but
+  someday... you might." `2you finish rather impotently.
+
+`k
+  @end
+
+@if response is 1 then do
+  @begin
+  @do money - 50
+  @show
+
+
+  `0"Thanks kid," `2Neb laughs as you quickly move past him.
+
+`k
+  @do x is 9
+  @end
+
+
+@drawmap
+@update
+@#nothing
diff --git a/xtrn/lord2/stonep.ref b/xtrn/lord2/stonep.ref
new file mode 100644
index 0000000000000000000000000000000000000000..b43dd881b27bf4d870139834b7678c99cfadb9b5
--- /dev/null
+++ b/xtrn/lord2/stonep.ref
@@ -0,0 +1,1020 @@
+;File for the Eastern Stone Path area & stuff.
+
+@#lodgeansi
+@pauseoff
+@show
+`r0°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²ßß     
+°  ÜÜ°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß 
+ÜÜ° ܲ± ²±  °±°    
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°°ß²°  
+   °þ°°Û Û
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß  ß°°²±° °±°
+°°±°  °°°°°°  
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß °      ÜÜܲÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝܲÛÛ
+  ° ÜÜ ß° ßß 
+° ° °° °
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û °Ü°°
+    Þ°°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ  Ü
+Ü
+ÛÛÛÛÛÛÛÛÛÛßßßßßß  ßßßßßßßÛ°ÛÛÛ
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÝ °°ßܱ Ü ß
+ÛÛÛÛÛÛß      ß °   ÜÜ° 
+²Û°Ü ÜÜÜ ßßßßßÛÛÛÛÛÛÛÛ
+  °°²±° ±°ÝÞÝ
+ÛÛ°ßßÜÜÜ Ü°°°°Û²²ß
+  ßßÛ²  °°²±° °²°
+°°°°ÜÜ ÜÜ ßßß 
+°°ÜÜÜ ÜÜÜ ±
+ÛÛß  ß°°²²°°   °ß±°°  
+ß°°   °  ° °°  °°±° °°±
+°°ß °ÜÜÜ Þ²±
+ ²±Ý°
+ÛÝ °  °°°°  °°ÜÜÜ
+ °²ÜÜÛ²  ÜÜܲ±  ÜÜ° °°°°
+±²°°° °Ü ß
+ÛÝß° ÜÜ°²²Ü ß²
+°Û²²  °°²²° °±°
+²±° °°²²°° °²
+°ÜÜÜ°°ß°  ÜÜ
+° Ý   ° ²²±°° 
+° °°±° °Ü  °°ß°°°
+   ±²°° ÜÜ  ܱ°  ß±Ü
+ °°
+Û ° °ß°°ÜÜÜ
+°²ÜÜ °²ÜÜ Ü°
+²² °²ÜÜ °ÜÜ °°Ü  °°
+ °²± °°°  °°°
+Û °° °  °Û²²ß °°
+°°°²° °±±°  ±°° °²° ²Û
+° °ÜÜ  °  °°  
+ÛÛÜÜ°°°ÜÜ° °  
+Ü° °° °°°²°  
+°°              
+ÛÛ°ÝÜ ÜßßßßßßÜ
+Ü°° °              
+ÛßÛÝ  °Þ°°ÞÝ  Ü°
+°                   
+ ß  ß °ß°ÜÜ
+ß ÜÜ°     °    
+            
+° °° °°°ÞÛÛÝ
+Þ²²°  ÜÛÛ 
+Üßß°You see a warm
+Ý  Þ ° °  °
+°ßßß° ßß°° ° ²ÛßÞ
+ÛÛ² little Lodge!
+±  Þ Ü°ÜÛÛÝÞÛ
+Ü °  ° ÜÜÜ°
+ ßß °
+   ² ß±  °ß
+²ß ß²ß  °°°°   
+Þ²ÛÝÞ²ÝÞ°Yum
+, something
+   °°  °ß ÜÜ Ü°°
+°° ßßß  ßß  
+smells good     
+ °°  °    
+ ßßß°°° inside! `k
+@
+
+
+
+@#cloudtable
+@do moveback
+@if `i34 > 0 then do
+  @begin
+  @do saybar
+`%Your hand passes through the table.  It is empty.
+  @closescript
+  @end
+
+@do saybar
+`%You find a Cloud Sword on the table! (AND 5 QUEST POINTS!)
+@do `i34 = 1
+@do `p18 + 5
+@#showangel
+@pauseoff
+@show
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ  ÜßÜÜ°°°°±°Ü
+°±°ÛÜß°° ß ÛÜÜÛßßßßß
+²±°Û°Ûß°Ûݱ±±°
+ÛÛ ±°ÛÞÛÛÛ°° 
+°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Ý  ²²±±±°°
+ßÜÛßß°ÜÜÜ°°±ÝÜ 
+ßÜÜÜßßß²°ßÛÛ ²±°
+Û°ÝÞ°ÛÞÛÛÛÛ°Û
+ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ  ÛÛ²²±±ß °°°
+ÛÛß   ß±±ßßß °Ü
+²ÜÛÛÛÛ²ÜÜß°ÛÛÝÞ
+²±° Û °Ý°ÛÛÛ
+°±°
+ÝÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ ÞÛ²²±ßÜ
+±°°  ßÛÝ ²Ü   ÜÜÜ
+ÛÛÛÛÛÛ²²²ÛÛ۲ܰ  ß°Û
+Þ²²±°° ±° ÛÛÜß²±
+°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ Þ²Ý±²Û
+ß²±°Üß°ÜßÜ °²ÜÛÛÛÛÛÛ
+ÛÛÛ²²²ÛÛÛÛÛ۲ܰ  ßÞÛ²²±°
+ °ÛÝ°ÛÛÝÞ²
+°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ Þ²°°ß
+ÛÛ²²±ÝÛ±° ÞÝÞÞÛÛ
+ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßßÛÛÛ°  ÛÛ²²±ÝÞÛ
+°ÛÞÛÛ ²±
+°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ  ±ÝÝ°ÛÛ²±°
+  ° ܱßܲÛ
+ÛÛÛÛÛÛßßß ÜÜÜÜÜÜ°²ÛÛÛ²
+° ÞÛÛ²ßÜ°ÛÛÛÛÛ
+ÛÝÞ°
+°°°  ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ  ²±°²
+ ²±°   ÞÝÜÜÜÜßßßÛ²ÛÛÛ
+°ßßßßßÜ  ßßßßßßÛ
+²Ü ²²±ÝÜ ßÜß°
+ÛÛÛÜÛ
+°ÛÜÜÛÛÛÛÛÛÛÜÜÛÛÛÛÛ Ý Þ
+±Þݲ±°°Ý°°ÞÝ
+°°Ü ßßßÛÛÛÛÜ  ß² °
+° ß° ß ÜÛÛ²° ±±° 
+ÜÛ °°ÛßÛÛ°ß
+ÝÛÛÛÛÛÛÛÛÛÛÛÛÛ ÛÜÜÛÛ  ° 
+Û°Þ°° ° ÞÝ
+°  °ß ÜÜÛÛÛ²ÛÛÛÜÜÜÜ ß ÜÜÛÛÛÛ
+Û°Þ±°Ýß°ÞÝÞ ÛÛ Ûß°
+ ÛÛÛÛÛÛÛÛÛÛÛÛÛÝÛÛÛÛÛÝ ÞÝÞÝÝ°±
+   Ý° ÜÜÜÛÛÛÛÛÛ
+²ÛÛÛÛÛÛÛÛÛÛÛ²²ÛÛÛÛÛÝÞ°
+ÛÝÜ ° ÛÝÞ°Û
+°ÛÛ
+ ÛÛÛÛÛÛÛÛÛ²²ÛÛÛÛÛÛÛÛÛ  Û ßÝÛ°Ý 
+Þ°ÞÝÞ²ÛÛÛÛÛ²Û
+²²ÛÛÛÛÛÛÛ²²ÛÛÛÛÛÛ۲ݰ
+ÛÛ ÝÞ²Þ°
+ °±°ßÛ°
+ÝßßßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ ÞÝ ÛÞ±°
+  ÛÜßÜÛÛÛÛÛÛÛÛÛ±²ÛÛÛÛÛ
+ÛÛÛ²²²ÛÛÛÛÝݱ°  ܲ
+Ý° Û°ß ÜÛ°
+±°°ÛÛÛÛÛßÛÛÛÛÛÛÛÛÛÛÛÛÛÝ ß
+ ÞÝÛ°   ß°²ÛÛÛÛÛÛ
+²ÜÜÜÛÛÛÛÛÛÛÛÛÛÛ²²²ÛÛÝÞ
+²Ý ßÛß ÝÞÛ Û Û°°
+°²ÛÛÛÜÜÛ° ßÛÛÛÛÛÛÛÛÛÛÛÛÛ
+Ü  Û ÛÝßß²ÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ÛÛÛÛÛÛÛ²²ÛÛÝÞ± ±°  
+Þ ÛÝÞÛÛ Û°
+ÛÛÛÛÛÛÛÛ   ßßß ° ÛÛßßßÛÛÛÝ 
+Þ° Û  ÞÛÛÛÛÛßßß 
+°  ßßßßßÜÛ²ÛÛÛ²ÝÛ ܲ
+ܲ°ÞÝ°Û ÛÛÛÜÛ
+°ÛÛÛÛÛÛÛÝ  ÜÜÜÛ²ÛÛÜÜÜÛÛÛßÛ  
+±Ý Û   ÞÝ Û²Û
+ÛÜ ß°  Ü°ßßÜÜÛÛÛÛÛÛÛßÞÝÞ
+ÛÛ²²Ý Û °°ÜÛ
+°Û°
+±ÛÛÛÛÛÛÛÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜÛÛÝ Þ°
+  ß  ÛÛ  ß°ßÛÛÛÛÛÜÜÜÛÛÛÛÛÛÛÛ²
+ß ÜßܲÛÛÛÛ²  
+ÛÜßÛ°±°ß
+°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ°Û  Û  
+ÛÜ ÞÛÝ ÞÜ ßÛßßÛÛÜÜÜÛÛ
+ÛÛ²²ß  Üܲ²ÛÛÛ²ÛÛ
+Ý  ßÛÛÛ°ÛÛ
+°ÛÛ²Û²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛܲÝ ÞÝ 
+ÞÛÛÜÛÛ ÛÛÛÜ  ßßß°ßßßßßß
+ß  Ü°²ÛÛÛÛÛ²²²ÛÛÛÛß
+ÛÛ
+°ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ ß
+  ÛÛÛÛÛÛÜÛÛÛÝ        ÜÜÜܲÛÛÛ
+ÛÛÛÛ²²ÛÛÝÞ°Û °
+°°    °²°°²ÛÛÛÛÛÛÛÛÛÛÛÛÛ
+ÛÛÜ  °°°°°
+±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß   ßß 
+`k
+@pauseon
+
+@#CLOUDRAN
+@do saybar
+`7The cloud feels light and airy under your feet.
+
+@#CLOUD
+@do moveback
+@do `v01 is 1
+@busy
+@label cloudstart
+@show
+`r0`c  `r1 `%The City In The Sky `r0
+
+  `7You can't believe your eyes!  A naked woman stands before you - (this
+  isn't what is strange, you've seen quite a few of those) she has tiny
+  wings protruding from the small of her back.
+
+  `%"Greetings, `n.`% We've been expecting you," `7her voice
+  echoes in your head.
+
+@do write
+`x`x
+@choice
+Please, oh naked angel, send me back
+What is this sanctuary?
+How did you know my name?
+Look at her
+>`i34 0 What good is this Sword?
+Leave
+@if responce is 4 then do
+  @begin
+  @routine showangel
+  @do goto cloudstart
+  @end
+
+@if responce is 5 then do
+  @begin
+  @show
+`\`\  `$"Look at this sword I sto..I mean found.  What good is it?" `2you
+  ask her.
+
+`k  `0"We left that for you.  You are not required to use it, but it is
+  your key to our high mountain palace - west of Arrisville - you must
+  NEVER lose it."
+
+`k
+  @do goto cloudstart
+  @end
+
+@if response is 6 then do
+ @begin
+ @drawmap
+ @update
+ @closescript
+ @end
+
+@if responce is 2 then do
+  @begin
+  @show
+`r0`c  `r1 `%There IS a heaven.. of sorts. `r0
+
+  `%"We are the Koshi.  This is a magical place we've created for emergencies
+  that our people have, we were very suprised to see YOU were the one who
+  invoked the magic in our staff."
+
+`k  `$"I'll invoke another staff if you don't put some clothes on," `7you laugh
+  merrily.
+
+  `7The girls face turns sad. `%"Your people hate us - they just don't
+  understand.  But you may be different..."
+
+`k
+  @do goto cloudstart
+  @end
+
+@if responce is 3 then do
+  @begin
+  @show
+`r0`c  `r1 `%The Koshi `r0
+
+  `%"You wouldn't understand, human.  Sometimes we know things.. Know things
+  before they happen."
+
+  `$"So you are a witch then?!" `7you accuse.
+
+`k  `%"No!  We are telepathic - our ancestors are very different than yours."
+
+`k
+  @do goto cloudstart
+  @end
+
+;if they got here, they want to leave
+  @show
+`r0`c  `r1 `%The Vacation Is Over `r0
+
+  `$"I wanna leave!  You have totally weirded me out here," `7you explain.
+
+  `%"We will not keep any soul against their will.  Where would you like
+  to return?" `7she asks sorrowfully - while looking down at the world beneath.
+
+@do write
+`x`x
+@choice
+Stonebrook
+Greentree
+Porttown
+Stay here
+@if response is 4 then do
+ @begin
+ @do goto cloud 
+ @end
+
+@show
+`\`\  `%"Alright but.." `7she suddenly giggles.
+
+  `$"What is so funny?" `7you demand.
+
+`k  `%"No one is going to believe you were here!" `7she smiles.
+
+  `7Before you can reply, she shoves you over the edge.
+
+`k
+ @if response is 1 then do
+ @begin
+ @do map is 1359
+ @loadmap 1359
+ @do x is 50
+ @do y is 6
+ @end
+
+ @if response is 2 then do
+ @begin
+ @do map is 1356
+ @loadmap 1356
+ @do x is 27
+ @do y is 5
+ @end
+
+ @if response is 3 then do
+ @begin
+ @do map is 956
+ @loadmap 956
+ @do x is 11
+ @do y is 14
+ @end
+
+@drawmap
+@update
+
+@#BEACHSIGN
+;Sign overlooking the beach
+@DO SAYBAR
+`2Beach observation deck.
+@do moveback
+
+@#BLOOK
+;Looking off the beach deck
+@DO SAYBAR
+`2The view of the sea is breathtaking.
+
+@#BDOOR
+;Back door to the lodge
+@DO SAYBAR
+`2A sign reads: Exit Only
+@do moveback
+
+@#ATREE
+;Lookin at the apple tree stumps
+@DO SAYBAR
+`2Hmm ... someone's been cutting down apple trees.
+@do moveback
+
+
+@#BRIDGE
+;Stupid guard on the bridge that doesn't let u pass.
+
+@IF &lasty is 12 then do
+@BEGIN
+@DO SAYBAR
+`2The lazy guard seems content sitting on a rock.
+@CLOSESCRIPT
+@END
+
+@BUSY
+@Do MOVEBACK
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1 The Bridge guard `r0
+
+  `2A rather bulky looking guard looks sitting down looks up at you. `0"Hey
+  you got anything to eat?  I'm just starving up here on patrol.  Oh, maybe
+  you're interested in passing the bridge eh?  Well it'll cost ya, 200 up
+  front."
+
+@DO WRITE
+`x`x
+@CHOICE
+>&money 200 Pay him the dough `$(you have &money)
+>`i19 0 Give him an apple
+Sorry I don't have anything
+>`i01 0 Give him some berries
+>`i03 0 Offer him some milk
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@do money - 200
+@Show
+`\`\ `$"Here, let me show you the money," `2you say as you hand over the cash.
+`\`k
+@DRAWMAP
+@UPDATE
+@DO SAYBAR
+`2The bridge creaks as you pass over it.
+@Do y - 2
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@do `i19 - 1
+@Show
+`\`\  `$"Here you go buddy,"`2 you say and throw the apple to the guard.
+`\`k
+@DRAWMAP
+@UPDATE        
+@DO SAYBAR
+`2The bridge creaks as you pass over it.
+@Do y - 2
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 3 THEN DO
+@Begin
+@Show
+`\`\  `2You wonder where you could find something for him...
+`\`k
+@label bdone
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 4 THEN DO
+@Begin
+@Show
+`\`\  `2The guard looks at you funny, `0"I don't want that crap," `2he barks.
+`\`k
+@do goto bdone
+@End
+@IF RESPONSE IS 5 THEN DO
+@Begin
+@Show
+`\`\  `2The guard looks at you funny, `0"I don't want that crap," `2he barks.
+`\`k
+@do goto bdone
+@End
+
+@#APPLE
+;Getting the apple for the bridge guard
+@If `i19 > 0 then do
+@BEGIN
+@DO SAYBAR
+`2You don't need another apple.
+@do moveback
+@CLOSESCRIPT
+@END
+@DO SAYBAR
+`2Hey, you find an apple up here in the tree!
+@DO `i19 + 1
+
+@#BED
+;Bed's in the StonePass lodge (tm)
+@DO SAYBAR
+`2A nice comfortable bed!
+
+@#BEDAM
+;Bed with amulet under it in StonePass lodge (tm)
+@IF `i31 > 0 then do
+  @begin
+  @DO SAYBAR
+`2A nice comfortable bed!
+  @closescript
+  @end
+@DO SAYBAR
+`2Hey, there's an amulet under this bed!!
+@Do `i31 + 1
+@end
+
+@#LODGE
+;Fun at the StonePass lodge (tm)
+@offmap
+@Do MOVEBACK
+@routine lodgeansi
+@label open
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1`% StonePass Lodge `r0
+
+  `2You step inside the lodge door and the heat inside engulfs you.  In the
+  corner of the big wooden room is a piano piping out merry tunes for the
+  patrons.  Adventurers adorne the lodge engaging in their tales and food.
+  What do you want to do?
+
+  `2(you have `$$&money`2)
+
+@DO WRITE
+`x`x
+@CHOICE
+>&money 10 Buy a $10 meal
+>&money 20 Buy the $20 `3BIG `%meal
+Take a seat & listen a while
+>&sex 0 =`v06 0 Flirt with the local women
+Get a room for the night
+Leave this place
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@do money - 10
+@Show
+`\`\  `$"One order of clam soups," `2you say getting a taste of the cuisine.
+
+  `%YOU FEEL PARTIALLY REFRESHED
+`\`k
+@do `p02 + 5
+@if `p02 > `p03 then `p02 is `p03
+@do goto open
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@do money - 20
+@Show 
+`\`\  `$"Give me an order of shark ribs," `2you indulge in the sea cuisine.
+
+  `%YOU FEEL FULLY REFRESHED
+`\`k
+@if `p02 < `p03 then `p02 is `p03
+@do goto open
+@DRAWMAP
+@UPDATE        
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 3 THEN DO
+@Begin
+@Show
+`\`\  `2You grab a chair by the fire and listen to local fisherman's tales...
+`\`k
+@do `p20 random 5 1
+@routine story`p20 
+@do goto open
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+  @IF RESPONSE IS 4 THEN DO
+@Begin
+@Show
+`\`\  `2You smile at a rather voluptuous waitress, `$"Hey baby, when do you
+  get off?"  `2She turns to look at you and `l.`l.`l.
+@do write
+`\`k
+@do `p20 random 6 1
+@IF `p20 is 1 then do
+  @Begin
+  @Show
+  `0"Same time you do baby," `2she smiles.  All right!
+`\`k
+  @do goto open
+  @End
+@IF `p20 is 2 then do
+  @Begin
+  @Show
+  `0"Not 'till two hours into it," `2she smiles.  You Stallion!
+`\`k
+  @do goto open
+  @End
+@IF `p20 is 3 then do
+  @Begin
+  @Show
+  `0"Whenever you want me to big boy," `2she smiles.  Go man!
+`\`k
+  @do goto open
+  @End
+@Show
+  `2Slaps you across the face.  Guess not any time soon.
+`\`k
+@do goto open
+  @End
+@IF RESPONSE IS 5 THEN DO
+@Begin
+@pauseoff
+@do `v01 is 1
+@Show
+`\`\  `$"Pardon me sir, I'm interested in a room for the night."
+  `0"A room here will cost ya only 40."
+
+@DO WRITE
+`x`x
+@CHOICE
+>&money 40 Go ahead and get a room
+Forget this place
+@IF RESPONSE IS 1 THEN DO
+@BEGIN
+@do money - 40
+@do x = 27
+@do y = 9
+@loadmap 70
+@do map = 70
+@drawmap
+@update
+@closescript
+@END
+@IF RESPONSE IS 2 THEN DO
+@do goto open
+@End
+@IF RESPONSE IS 6 THEN DO
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+@#GATE
+;Gate to StonePass
+
+@IF &lasty is 14 then do
+@BEGIN
+@DO SAYBAR
+`2The guard nods as you pass.
+@CLOSESCRIPT
+@END
+                
+@BUSY
+@DO `v01 is 1
+@SHOW
+`r0`c  `r1 You approach the hulking gates `r0
+
+  `2The guard yells `0"Halt!! Citizen, you must have a travel pass to continue
+  beyond this point.  The land of GreenTree cannot be resposible for your 
+  safety if you continue this way."
+                      
+@DO WRITE
+`x`x
+@CHOICE
+>`i21 0 Show him your travel pass
+You don't have one, guess you'll leave
+@IF RESPONSE IS 1 THEN DO
+@Begin
+@Show
+`\`\  `$"Here you go,"`2 you say and show the pass to the guard.
+`\`k
+@DRAWMAP
+@UPDATE        
+@DO SAYBAR
+`2You feel the beach breeze as you pass the gate.
+@CLOSESCRIPT
+@End
+@IF RESPONSE IS 2 THEN DO
+@Begin
+@Show
+`\`\  `2You wonder where you could find a pass...
+`\`k
+@DO MOVEBACK
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+@End
+
+@#STORY1
+@Show
+`c  `r1`%  A Dark Monster from the past  `r0
+
+  `2One of the older sailors speaks up.  `0"I remember when we used to sail
+  these seas without worries of pirates or harsh weathers, just the worry of
+  one thing ... The great giant Squid."  `2You hear the crowd around you ooh
+  to his story, the piano dies down a bit.
+
+`k  `0"I've heard that he was as big as PortTown, able to crush the biggest
+  galleons under his grasp.  More tentacles than ships have crew hands, and
+  each as powerfull as an arm of the Red Dragon!"  `2The crowd falls into a
+  dead silence.
+
+`k  The old fisherman slowly raises his mug.  `0"A drink, for that nobody here
+  ever has the horrible punishment to encounter that beast."
+  `$"Here Here," `2 shouts the crowd.
+`\`k
+@
+
+@#STORY2
+@Show
+`c  `r1`%  High Seas Legend  `r0
+
+  `2A scruffy looking fellow stands up.  He has no arm and a patch over his
+  left eye.  His voice is raspy,  `0"I know of a man who's name should be
+  known.  McCarith the Vile ..."
+
+`k  `0"The law of the land hates and fears him, passing him off as only a
+  ruffian of the sea.  Without mercy or purpose, killing, destroying and
+  questing only for money and goods.  But he is truly a man of honor, a
+  man who vows to those who struggle in the world, ally to those who are
+  made to suffer from a greater evil."
+
+`k  `2You hear the rowdy ones in the tavern cheer in the background.  `0"Yes
+  speak up and be proud of this man.  If your ship ever falls under his prey
+  show your good not to the crown, not to him, but to the good men of the sea
+  and maybe ... just maybe he'll spare you."  `2The crowd around you begins
+  to roar with praise, guess this McCarith is a popular guy.
+`\`k
+@
+
+@#STORY3
+@Show
+`c  `r1`%  Lands of the West  `r0
+
+  `2Slowly a beautiful women stands from the crowd.  Her eyes seem to glow
+  with happiness and mystery.  She speaks with a soft voice.  `0"I ... I
+  know of a land, a hidden land.  Where the light grows and people strive to
+  a better life for all."  `2The crowd begins to quiet and the room seems to
+  become soothing & warm.
+
+`k  `0"To the west it lies, high in the mountains there.  The people who
+  inhabit it are ... mysterious to outsiders.  But they are peaceful and kind
+  - they know much about the world and answers to our questions.  If you see
+  these people, befriend them for they may aid you greatly on you quest in
+  life."  `2She smiles and sits.
+`\`k  `2One older sailer stands up. `0"Oh Wanda!  You know that's a load of
+  crap!" `2He then promptly sits down.
+`\`k
+@
+
+@#STORY4
+@if `v06 is 1 then do
+  @begin
+  @show
+`c  `r1`%  Woman better have my Money  `r0
+
+  `2This story has been `bcensored`2, the game is running in clean mode.
+
+`k
+  @closescript
+  @end
+
+@Show
+`c  `r1`%  Bitch better have my Money  `r0
+
+  `2A man with a rather large hat stands.  He is adorned with what looks like
+  exotic furs and golds.  He has a certain .. flavor to himself.  He speaks.
+
+`k  `0"Bitch better have my money.  She should have it good and true.
+  Bitch better have my money, else you don't wanna know what I'll do to you.
+  Bitch better have my money, rolled and ready to go.
+  Bitch better have my money, or else I'm gonna slap you ho."
+`\`k
+@
+
+@#STORY5
+@Show
+`c  `r1`%  Fear Denied  `r0
+
+  `2A man who looks pale as a ghost stands.  He seems to have wounds on his
+  body, they seem fairly recent.  He speaks.
+
+`k  `0"The Dragon still is alive my friends.  Take care in your quests for he
+  does exist.  I was captured by the Dragon Tooth Cult, they .. they showed
+  me that he was alive.  The Dragon ..  will be coming soon!  You must ..."
+
+  `2He begins to babble and become lost.  A few men from the bar stand and
+  him outside.  One of the elders in the lodge stands.
+
+  `0"My friends, do not worry of what he speaks.  Nearly a drunk with an
+  active imagination.  I assure you, the Dragon is gone ..."
+`\`k
+@
+
+@#STORY6
+;whoever added this story, tell me who you are!!! (Seth and Pap don't know?!)
+@Show
+`c  `r1`%  The Sand Cat  `r0
+  `2Here we go said the pussy
+`\`k
+@
+
+;ALL MONSTERS ARE BELOW HERE!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+@#monster1
+@fight
+;name
+Beached Pirate
+;string said when you see him
+A constant "arr" sound comes from behind you.
+;power move kill string
+`$"Say hi to Davey Jones for me," `2 you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+slices your arm with his cutlass|14
+backstabs you|44
+gets a hold with his garrot|54
+NONE|NONE
+NONE|NONE
+;defense
+20
+;gold reward
+76
+;experience
+98
+;hit points
+75
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Thief
+;string said when you see him
+A man in a cloak approches you, with a dagger in each hand.
+;power move kill string
+He should know, you've got insurance.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+jabs with his daggers|17
+gets a good gash in your leg|10
+cuts your arm|12
+blows a strange powder into your eyes|32
+NONE|NONE
+;defense
+9
+;gold reward
+187
+;experience
+65
+;hit points
+60
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+STONEP.REF|THIEF
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Sand Worm
+;string said when you see him
+The sand in front of you begins to move
+;power move kill string
+`$"Go in the ground and stay there," `2 you command.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+draws blood with its teeth|43
+wraps around & squeezes you legs|14
+gets ahold with his sucker|27
+NONE|NONE
+NONE|NONE
+;defense
+12
+;gold reward
+0
+;experience
+189
+;hit points
+102
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Vagabond Cutthroat
+;string said when you see him
+Suddenly a mad heckling yell approches.
+;power move kill string
+That's one less bum on the beach.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+slices a with his saber|32
+throws a handfull of sand in your eyes|16
+gets you in a strangle hold|26
+throws a rock|23
+NONE|NONE
+;defense
+19
+;gold reward
+103
+;experience
+127
+;hit points
+83
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Beached Man o' War
+;string said when you see him
+Foolishly you approach a blubbery organism
+;power move kill string
+`$"I think it's really dead this time," `2you hope.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+touches you with a blubbery tentacle|30
+leashes out with smile|35
+rubs against your leg with paralysing poison|40
+rolls into you|42
+NONE|NONE
+;defense
+25
+;gold reward
+103
+;experience
+77
+;hit points
+80
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+Giant Crab
+;string said when you see him
+You see a rather large looking crab, but it also sees you!
+;power move kill string
+`$"I had a bad case of crabs, but killed em."
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+snaps at your leg|15
+cracks into your leg|18
+grabs your hand with a pincher|25
+tramples into you|12
+NONE|NONE
+;defense
+12
+;gold reward
+45
+;experience
+72
+;hit points
+50
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Rogue Bard
+;string said when you see him
+You hear really crappy music approaching you...
+;power move kill string
+Shut up, please just shut that thing up!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+sings about his past loves|10
+attempts to dance for you|15
+smacks you with his lute|13
+NONE|NONE
+NONE|NONE
+;defense
+15
+;gold reward
+34
+;experience
+26
+;hit points
+40
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+              
+@#FIGHT
+@do `p20 random 12 1
+@if `p20 is 1 then do
+ @begin
+ @run GENRAN in GENRAN.REF
+ @end
+@busy
+@do `p20 random 7 1
+@do goto monster`p20
+
+@#THIEF
+@do money / 4
+@do money * 3
+@SHOW
+`r0`c  `r1`% Defeat by the Thief `r0
+
+  `2The Thief raises his dagger to deliver the blow to your skull...
+
+`k  `0"Don't worry, I'm not all about killing, I'm about money.  So I'm sure
+  you'll understand if I relieve you of a little." `2He proceeds to raid
+  your gold bag.  But at least you have your life.
+
+`4  You lose `b1/4th`4 of your loot.
+
+`k
+@do `p02 is 5
+@DRAWMAP
+@UPDATE
+@CLOSESCRIPT
+
+@#done
diff --git a/xtrn/lord2/training.ref b/xtrn/lord2/training.ref
new file mode 100644
index 0000000000000000000000000000000000000000..0525b24057230bf4c6d035101bf9e8e3eed4b9b5
--- /dev/null
+++ b/xtrn/lord2/training.ref
@@ -0,0 +1,239 @@
+;training
+@#WIN
+
+@do `p21 is 5
+@do `p03 + `p21
+
+@do `p22 is 2
+@do `p04 + `p22
+
+@do `p23 is 1
+@do `p05 + `p23
+
+
+@do `p09 + 1
+
+@do addlog
+  `r4  `r0 `0`n`2 has beaten `0`e`2 and become level `p09! `r4  `r0
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+@do `p02 is `p03
+@show
+`r0`c  `r1 YOU HAVE FACED YOUR DARKEST FEAR AND TRIUMPHED! `r0 
+
+  `2You wake up well rested.
+
+  `%YOU ARE NOW LEVEL `p09.
+
+  `2You gain `0`p21`2 hitpoints,`0 `p22`2 muscle and `0`p23`2 dodge.
+
+`k
+@run barak in gshops.ref
+
+@#DIE
+@do `p02 is 1
+@do `t04 is 1 
+@show
+`r0`c  `r4 YOUR NIGHTMARE HAS BESTED YOU `r0 
+
+  `2You wake up screaming to find four men holding you down.
+
+  You have failed.
+
+`k
+@run barak in gshops.ref
+
+@#WAKEUP
+@do `t04 is 1 
+@show
+`r0`c  `r4 YOU ESCAPE - THE ONLY WAY YOU KNOW HOW `r0 
+
+  `2You suddenly sit up in bed.  Wiping the beads of sweat from your brow,
+  you wonder how you could have thought you were ready for this...
+
+`k
+@run barak in gshops.ref
+
+@#arena1
+@show
+`c  `r1                           `4SKY WORLD                           `r0
+
+  `9Your body shoots up through the roof at an incredible speed - you gasp
+  as your head pokes through a wall of clouds.
+
+  You gently land on a soft bed of white.  What a ride!
+
+@
+
+
+@#arena2
+@show
+`c  `r1                           `4BACKYARD                            `r0
+
+  `3You see your house... wait, those berries look familiar.  You are in 
+  your own backyard.  You squint into the sun, you are not alone.
+
+@
+
+@#arena3
+@show
+`c  `r1                           `4SWAMP                              `r0
+
+  `2You open your eyes to find green spongy soil beneath your feet.  Awful
+  smells waft up from the dark and mysterious waters nearby.
+
+@
+
+
+
+
+@#master1
+@show
+  A cackling laughter draws your attention - a blindingly white skeleton
+  is casually juggling bones nearby.  He sees you and roars in fury!
+
+`k
+@fight
+;name
+Skeleton Warrior
+;string said when you see him
+The thing whips out its bone and lunges at you!
+;power move kill string
+Unfortunatly the thing had to split - be split, rather.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+cackles a death chant|`p22
+bites you|`p22
+painfully prods you|`p22
+NONE|NONE
+NONE|NONE
+;defense
+`p23
+;gold reward
+0
+;experience
+0
+;hit points
+`p21
+;if win: ref file|name or NONE
+TRAINING.REF|WIN
+;if lose: ref file|name or NONE
+TRAINING.REF|DIE
+;if runs: ref file|name or NONE
+TRAINING.REF|WAKEUP
+@closescript
+
+@#master2
+@show
+  The is a looking glass nearby.  To your suprise, your reflection begins to
+  leer at you.  It then steps out of the mirror!
+
+`k
+@do `p29 is 1
+@if sexmale is 0 then `p29 is 2
+@fight
+;name
+Mirror Image
+;string said when you see him
+Your clone smiles at you..just before s&he attacks!
+;power move kill string
+Ouch.. killing yourself hurts somehow.
+;sex - 1 is male, 2 is female, 3 is it
+`p29
+;weapon and strength for the weapon, up to 5
+attacks with s&his s&weapon|`p22
+plays mind games with you|`p22
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+`p23
+;gold reward
+0
+;experience
+0
+;hit points
+`p21
+;if win: ref file|name or NONE
+TRAINING.REF|WIN
+;if lose: ref file|name or NONE
+TRAINING.REF|DIE
+;if runs: ref file|name or NONE
+TRAINING.REF|WAKEUP
+@closescript
+
+@#master3
+@show
+  A swamp dago covered in slime is patiently watching you from a distance.
+
+`k
+@do `p29 is 1
+@if sexmale is 0 then `p29 is 2
+@fight
+;name
+Swamp Dago
+;string said when you see him
+You pull your weapon and attack the dago!
+;power move kill string
+You wipe the slime off your hand.. yuck.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+hugs you|`p22
+throws green slime on you|`p22
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+`p23
+;gold reward
+0
+;experience
+0
+;hit points
+`p21
+;if win: ref file|name or NONE
+TRAINING.REF|WIN
+;if lose: ref file|name or NONE
+TRAINING.REF|DIE
+;if runs: ref file|name or NONE
+TRAINING.REF|WAKEUP
+@closescript
+
+
+
+
+@#startfight
+
+;do math to create monster
+
+@do `p21 is `p03
+@do `p25 is `p09
+;@do `p25 * `p25
+@do `p25 random `p25
+@do `p21 + `p25
+
+@do `p22 is S&wep_num
+@do `p22 + `p04
+
+@do `p23 is S&arm_num
+@do `p23 + `p05
+
+@do `p24 random `p22
+@do `p21 + `p24
+@do `p24 random `p22
+@do `p21 - `p24
+
+@do `p24 random `p22
+@do `p24 / 5
+@do `p22 - `p24
+
+
+;pick arena
+@do `p20 random 3 1
+@routine arena`p20
+;pick master
+@do `p20 random 3 1
+@routine master`p20
+@#closescript
diff --git a/xtrn/lord2/travel.ref b/xtrn/lord2/travel.ref
new file mode 100644
index 0000000000000000000000000000000000000000..bad3597700bc3a4cf64ead70e89af0f0b133dd74
--- /dev/null
+++ b/xtrn/lord2/travel.ref
@@ -0,0 +1,417 @@
+;some monsters for above Greentree and abouts, they are just a bit
+;tougher then the Stonebrook ones.
+
+@#fight
+@do `p20 random 12 1
+@if `p20 is 1 then do
+ @begin
+ @run GENRAN in GENRAN.REF
+ @end
+@busy
+@do `p20 random 11 1
+@do goto monster`p20
+
+@#sossign
+@do moveback
+@do saybar
+`0Sign: `2<--- Sosen Village, 10 miles.
+
+@#chest4
+;secret
+@do moveback
+@if bitcheck `t13 5 1 then do
+  @begin
+  @closescript
+  @end
+@bitset `t13 5 1
+@do saybar
+`%You find a Red Potion in the tree!  How odd.
+@do `i52 + 1
+
+@#chest5
+;secret
+@do moveback
+@if bitcheck `t13 6 1 then do
+  @begin
+  @do saybar
+You soil your hands looking for more treasures, but find nothing..of value.
+  @closescript
+  @end
+@bitset `t13 6 1
+@do saybar
+`%You find a Red Potion in the toilet!
+@do `i52 + 1
+
+@#chest6
+;secret
+@do moveback
+@if bitcheck `t13 7 1 then do
+  @begin
+  @do saybar
+There is nothing on the table.
+  @closescript
+  @end
+@bitset `t13 7 1
+@do saybar
+`%You find a Moonstone on the table!
+@do `i57 + 1
+
+@#chest8
+;secret
+@do moveback
+@if bitcheck `t13 0 1 then do
+  @begin
+  @do saybar
+The waterfall is beautiful!
+  @closescript
+  @end
+@bitset `t13 0 1
+@do saybar
+`%You find a Moonstone in the waterfall!
+@do `i57 + 1
+
+
+
+@#monster1
+@fight
+;name
+Highway Rogue
+;string said when you see him
+`0"Put down your arms!" `2you hear from behind.
+;power move kill string
+`2You carefully rifle through the Rogue's purse.. hehe!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+punches you|6
+backstabs you|9
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+3
+;gold reward
+26
+;experience
+23
+;hit points
+20
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster2
+@fight
+;name
+Striped Tiger
+;string said when you see him
+You hear a deep throated growl in the bushes ahead.
+;power move kill string
+To the victor go the spoils!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+rips into your arm|13
+bats you with a paw|9
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+4
+;gold reward
+47
+;experience
+36
+;hit points
+27
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster3
+@fight
+;name
+Angry Dwarf
+;string said when you see him
+You see an irritable looking dwarf approaching.
+;power move kill string
+`$"Next time you'll pick on somebody your own size, peck," `2you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+headbutts you|6
+swings his axe at you|10
+shouts obcenities|7
+NONE|NONE
+NONE|NONE
+;defense
+2
+;gold reward
+17
+;experience
+14
+;hit points
+12
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster4
+@fight
+;name
+Rock Monster
+;string said when you see him
+A large stone sprouts legs and lunges at you!
+;power move kill string
+With a mighty swing of your s&weapon you split it in two.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+jumps on your foot|8
+throws itself at your head|12
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+8
+;gold reward
+63
+;experience
+67
+;hit points
+38
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster5
+@fight
+;name
+Rude Boy
+;string said when you see him
+`0"Hey!  Don't I know you, punk?!" `2a voice yells.
+;power move kill string
+`$"You kids will never learn your lesson," `2you sigh.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+socks you in the jaw|10
+kicks you in the nads|15
+NONE|NONE
+NONE|NONE
+NONE|NONE
+;defense
+5
+;gold reward
+44
+;experience
+35
+;hit points
+25
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster6
+@fight
+;name
+Mary
+;string said when you see him
+An extremely muscular woman looks down at you fiercly.
+;power move kill string
+That wasn't even close! Too easy you think to yourself.
+;sex - 1 is male, 2 is female, 3 is it
+2
+;weapon and strength for the weapon, up to 5
+pulls your hair|14
+slaps you|9
+calls you a bitch|7
+pouts|10
+NONE|NONE
+;defense
+0
+;gold reward
+22
+;experience
+19
+;hit points
+15
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster7
+@fight
+;name
+Lost Monkey
+;string said when you see him
+`0"Oo oo oo," `2you hear from behind.
+;power move kill string
+`2Bad monkey, boy did you spank him!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+twists your arm|8
+sweeps your feet|11
+bites at your finger|7
+whips you with his tail|8
+NONE|NONE
+;defense
+5
+;gold reward
+23
+;experience
+15
+;hit points
+20
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster8
+@fight
+;name
+Lost Knight
+;string said when you see him
+`0"Halt you must be an enemy of this land," `2says a confused voice.
+;power move kill string
+`$"And you think I'm lost?" `2you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+smacks your face with his gauntlet|14
+hits with his longsword|9
+brawls with you|6
+stabs with a shortsword|7
+NONE|NONE
+;defense
+10
+;gold reward
+52
+;experience
+42
+;hit points
+34
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster9
+@fight
+;name
+Wild Dog
+;string said when you see him
+You hear a sharp growl from the bushes ahead.
+;power move kill string
+Stay boy, stay.  Good Dog..why is there gold in his ass?!
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+takes a bite out of your arm|10
+shows you his sharp paw|7
+barks up your tree|8
+NONE|NONE
+NONE|NONE
+;defense
+3
+;gold reward
+10
+;experience
+14
+;hit points
+15
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster10
+@fight
+;name
+Caribou
+;string said when you see him
+You see what you think is a huge deer!!
+;power move kill string
+`$"Now we have food for tonight," `2you laugh.
+;sex - 1 is male, 2 is female, 3 is it
+3
+;weapon and strength for the weapon, up to 5
+headbutts you|12
+kicks with his hind legs|10
+smashes you into a tree|7
+NONE|NONE
+NONE|NONE
+;defense
+4
+;gold reward
+16
+;experience
+18
+;hit points
+18
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+@#monster11
+@fight
+;name
+Thug
+;string said when you see him
+You see an masked person with a club.
+;power move kill string
+`$"Go away," `2you scream in fear.
+;sex - 1 is male, 2 is female, 3 is it
+1
+;weapon and strength for the weapon, up to 5
+shows you a club|7
+sucker punches you|5
+kicks you down|6
+NONE|NONE
+NONE|NONE
+;defense
+3
+;gold reward
+8
+;experience
+6
+;hit points
+10
+;if win: ref file|name or NONE
+NONE|NONE
+;if lose: ref file|name or NONE
+GAMETXT.REF|DIE
+;if runs: ref file|name or NONE
+NONE|NONE
+
+
+@#done
diff --git a/xtrn/lord2/turgon.ref b/xtrn/lord2/turgon.ref
new file mode 100644
index 0000000000000000000000000000000000000000..a98d7002d1083b1367316f201d231dab7e9eb1ac
--- /dev/null
+++ b/xtrn/lord2/turgon.ref
@@ -0,0 +1,330 @@
+@#turgbarak
+@show
+
+  `0"That rascal!  How dare the council let Barak take my position!"
+
+  `$"Yeah, well, they did.  Any ideas?  I've pretty much done all the
+  detective work I can..."
+
+  `2Turgon looks discouraged.  `0"I know Barak is at fault - if only you can
+  prove it!"
+
+`k
+@do `t01 is 8
+
+@#turgmeet
+@do `t01 is 1
+@do `v01 is 1
+@pauseoff
+@show
+`r0`cÜÛÜ  ÛÜß    Üß ßÛÛÛÜÛÛÛÜÛÛÜÜ ÜÜ
+   ÜÜÜÛß  Ü    ÛßÜÜÜÜÜßßÛÛÛßß Û
+   ÛßÜÛ ÛÜÛÜßßßß ßÞß ß
+   ÛÜÜ ÛßßÛÝ
+    ÛÛßßÜþß ßÛÛTurgon 
+is a bearded old man - you
+   Û ÛÜ    ÛÛßß  ßÛÜ ÜÜ   Üß ÜÛ ÛÛsee mu
+ch wisdom in his eyes - but
+   ÜßÛÛÛ   Û ÛßßßßÜÛÛÛßÛÛÜÛÛÛÛ ÛÛÛÛÜalso there is 
+sadness.
+  ÛÛ   ßÜ    ßÛÛÛßÛÛÛßßÛÜÛÛßÛÛÛÛÛÛÛÛÝ
+ ÛÜÛÜÜßÛ ÛÛ ÛÛß ÛÛÛÛß  ÜÛÛÛÛÛÛÛÛ
+ßÜÛÜÛ   ÛÜßÜÛÛÛÜÜß ßÜÛß ßßÛÛÛÜÜ
+ÛÜ  ßÛÜ ÛÛßÜÛÛÛßÛÜ    ÜÜ Ûßß
+ ÛÜ   ÛÛÛ  ÜÜ Ûß Ü ÜÛÛÛÛÝ
+Û
+  ÜÛ  Üß  ÛÜßÜ    ÜÜßÜÛÛÜß ÜÜÜÛßÛ
+ ÜÛß   ß ÛÛÜÜßÜ   Û ÛÛ ßÜ
+ÛÛß   ÜÛßÜÜÜßÜÜÛ ÛÛÝÛÜ Û  
+ßßÛÛÛÛß
+ú ß ß ÛÛÜßÛßÛÜß   ÛÝß ÛÛÛÛÛÜ
+ÜÜÜÜÛÜ
+ßÜÛ ß ÛßÜÛÜÛÜßÜ    ÛÜßÜßÛÛÛÛÛÛ
+ÛÛÛß
+
+`k`c  `r1 MEETING THE ANCIENT ONE. `r0
+
+  `0"My name is Turgon.  I was once a great warrior, lad."
+
+  `2You can't help but giggle - he looks so old and frail!
+
+  `0"Stop that giggling, I say!" `2the elderly one shouts.
+
+@pauseoff
+@do write
+`x`x
+@choice
+If you were such a great warrior, why do you live in this dump?
+Obnoxiously giggle even louder.
+@if response is 1 then do
+ @begin
+ @show
+`\`\  `0"I was banished from Greentree, where I used to train.
+
+  `$"What the hell is Greentree?" `2you politely ask.
+
+  `0"A city - a great city northwest of here." `2he sighs.
+
+`k  `0"Besides, it's my father's house, not a dump.  There may be something of value
+  here..   You look like a smart s&boy, if you can find it, you can have it."
+
+ `k
+ @end
+
+@if response is 2 then do
+ @begin
+ @show
+`\`\  `0"You annoying little brat!  Begone from me!" `2Turgon shouts.
+
+  `$"Not until you tell me why you live out here in the sticks!"
+
+  `0"I was banished from my home town, Greentree, are you happy?! Get out!"
+
+ `k
+ @end
+
+@#TURGON
+;@do `t01 is 0 (I used this to test this .ref file)
+@do moveback
+@if bitcheck `t19 1 1 then do
+  @begin
+   @do saybar
+`0Goat Boy:`2  Get out of here!  I live here now!
+   @closescript
+  @end
+@busy
+@if `t01 more 0 then do
+ @begin
+ @show
+`r0`c  `2Turgon looks at you expectantly.
+
+ @end
+
+@if `t01 is 4 then do
+ @begin
+ @show
+  `0"Did you find a way to clear my name?"
+
+ @end
+
+@if `t01 = 0 then do
+ @begin
+ @show
+`r0`c  `2An old man with a white beard stands before you.
+
+ @end
+@do `v01 is 1
+@do write
+`x`x
+@choice
+=`t01 0 What is your name, old man with a white beard?
+=`t01 1 Tell me about Greentree, I wanna go there, sounds cool.
+=`t01 2 Come on you old codger!  Why were you kicked out of Greentree?
+=`t01 2 >`i08 0 Offer Turgon your berry pie.
+=`t01 3 Tell me about Greentree, I wanna go there, sounds cool.
+-`t19 0 =`t01 4 No, not really - you better get used to living here.
+=`t01 5 I have news - Barak stole your old position!
+=`t01 8 =`i74 1 I found something!  Barak's Diary!
+Leave.
+@do write
+`\`\
+@if responce is 8 then do
+ @begin
+ @pauseoff
+@do addlog
+  `r1  `r0 `0`n`% has cleared Turgon's name! `r1  `r0
+@writefile lognow.txt
+                                 `2-`0=`2-`%=`2-`0=`2-
+@do `p18 + 30
+@bitset `t19 1 1
+@do `i74 = 0
+@do x is 23
+@do y is 16
+@do map is 68
+@loadmap &map
+ @show
+`k`c  `r1  Talking To Turgon `r0
+
+  `2Turgon reads the diary quietly.  He looks sad.
+
+  `0"I knew Barak to be juvenile - but I never dreamed he felt this way.  We
+  must go to the city council and show them."
+
+`k  `2You agree to go with Turgon.  A short while later you pass through
+  the Greentree gates.  Turgon dabs his eyes quickly.
+
+`k  `2People eye him as you pass - the guards do not stop him - many
+  probably trained under him.  A crowd begins to form behind you.
+
+`k  The walk ends in front of the city council.  Turgon goes in and comes
+  out a few minutes later with the town elders.
+
+`k`c  `r1`%  Clearing His Name  `r0
+
+  `0"Turgon is innocent!  Turgon is innocent!" `2a young child screams
+  excitedly.  Other voices join his cry - by the time the group reaches
+  the training center there are hundreds.
+
+`k  Turgon stands erect - for the first time since you met him you now
+  understand what being a `0level 12`2 master is all about.  He demands that
+  Barak see him.
+
+`k  `2You see Barak's face look out a window.  When his eyes fall upon the
+  small book you are clutching he screams.  `0"`n`0!  Why have you
+  done this to me?!  You have ruined me!"
+
+  `$"You ruined yourself.  Don't forget this." `2you reply stonily.
+
+`k  `%YOU RECIEVE 30 QUEST POINTS.
+
+  `2You give the diary back to the sobbing Barak.
+
+`k
+  @drawmap
+  @update
+ @end
+
+@if responce is 1 then do
+ @begin
+ @routine turgmeet
+ @drawmap
+ @update
+ @closescript
+ @end
+
+@if responce is 7 then do begin
+ @begin
+ @routine turgbarak
+ @drawmap
+ @update
+ @closescript
+ @end
+
+
+@if responce is 2 then do begin
+ @begin
+@show
+  `0"It is a beautiful land.  Ahh, memories.  Sweet Abdul, obese Arthur and
+  childish Barak.  I knew these people you see." `2Turgon smiles.
+
+  `$"They sound like freaks.  Why did they kick you out?" `2you demand.
+
+  `0"I would rather not speak of this subject anymore," `2Turgon's voice cracks
+  with emotion.
+
+`k
+ @do `t01 is 2
+ @do goto turgon
+ @end
+
+@if responce is 3 then do begin
+ @begin
+
+@show
+  `0"No, child.  I will not speak of it!" `2Turgon shouts.
+
+  `2He seems pretty determined. If only you had some kind
+  of peace offering...
+
+`k
+ @do goto turgon
+ @end
+
+@if responce is 4 then do begin
+ @begin
+
+@show
+  `0"A pie?  For me?!  Such a good s&boy!" `2Turgon exclaims.
+
+  `$"Yeah... Yeah I am." `2you agree wholeheartedly.
+
+`k  `%You get a quest point!
+
+`k
+ @do `t01 is 3
+ @do `p18 + 1
+ @do `i08 - 1
+ @do goto turgon
+ @end
+
+@if responce is 6 then do begin
+ @begin
+
+@show
+  `0"Don't worry, s&boy, I'll find a way somehow..." `2Turgon promises.
+
+`k
+ @do goto turgon
+ @end
+
+
+@if responce is 5 then do begin
+ @begin
+
+@show
+  `0"Alright, I'll tell you what happened."
+
+  `2You sit down in front of the old man and cross your legs.  Story time!
+
+`k`c  `r1  TURGON'S STORY HOUR `r0
+
+`0  "I was once a level 12 master.  People would come from distant lands just
+  to train with me," `2the elderly one whispers with a far away look in his eyes.
+
+  `$"Yeah, I'm happy for you and everything, but what did you do that got you
+  banished?  Are you that guy in the story I heard where he was exiled for
+  having relations with a goat?" `2you ask curiously.
+
+`k  Turgon is indignant.  `0"That is a crazy old legend to scare people.
+  There was never such a person."
+
+  `2You snicker - is he telling the truth?
+
+`k  `0"The truth is this - it was soon after the great Red Dragon had been
+  slain when.."
+
+  `$"Red dragon?" `2you rudely interrupt in astonishment.
+
+  `0"Nevermind.. suffice to say we were very happy and celebrating with a great
+  feast when something awful happened," `2Turgon continues.
+
+`k  `0"An anonymous report had led the city council to my door.  They forced the
+  door and searched my home.  They found a satchel of stolen Gems."
+
+`$  "Why'd you take 'em, old man?!" `2you ask puzzled.
+
+  `0"I didn't take them!" `2he screams.
+
+  `2His haggard eyes convince you - you vow to clear his name!
+
+`k
+ @do `t01 is 4
+ @do goto turgon
+ @end
+
+
+
+@drawmap
+@update
+
+@#CHEST
+@do moveback
+@if `t02 is 0 then do
+ @begin
+ @do saybar
+  You find a `+10!
+ @do `i10 + 1
+ @do `t02 = 1
+ @closescript
+ @end
+
+@if `t02 is 1 then do
+ @begin
+ @do saybar
+  There is nothing on the table.
+ @end
+
+@#NOTHING
+
+
+
diff --git a/xtrn/lord2/world.dat b/xtrn/lord2/world.dat
new file mode 100644
index 0000000000000000000000000000000000000000..661eca9837571b9bfdc056de50697203fd83c08b
Binary files /dev/null and b/xtrn/lord2/world.dat differ