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 +[34C[0mÜÜÜÛÛÛÛÛÛÛÛÛÜÜÜ +[29CÜÛÛ[1;30;47m°°°°[0;47mÛ[1;30m°[0;47mÛÛÛÛÛÛÛÛÛÛÛ[40mÜ +[28CÛ[1;30;47m°°°°[0;47mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[40mÝ +[27CÛ[1;30;47m°±±°[0;47mÛÛÛÛÛÛÛÛ[1;30mÞÜ[0;47mÛÛÛÛÛÛÛÛÛ[40mÛ +[19CÜÜ[5CÞ[1;30;47m°±²°[0;47mÛÛÛÛÛÛÛÛÛÛ[1;30mÛÛßß[0;47mÛÛÛÛÛ[40m +[A[50C[47m[1;30mÞ[0mÛÛ +[18CßÜÛÝ [1;30;47m°±²±°[0;47mÛÛÛÛÛ[1;30mÜ Ý[0;47mÛ[1;30mÞÛÜ[40m +[A[43C[0;47mÛÛÛÛÛ[1;30mÜܲ[0mÛ[47mÛ[1C[40mÜ[1;47m±²[40mÜ +[17C[30mÜ[47m°[0;47mÛÛ[1mÜ[0mÜ [1;30;47m±²±° [0;47mÛÛ[1;30m°[40m +[A[34C[0;47mÛ[1;30m°°²ÝÜß°Ü[0;47mÛ[1;30m°[0;47mÛÛÛÛ[1;30mß²Ý[40m +[A[52C[47m[0mÝ[1;30mÜ[47m°[0;47mÛ[1m±[40mÝ +[17C[30;47m²±°[0;47mÛÛ[1mßÜ[0mÜ [1;30mÞ[0mÜßß [1;30mßß²[47m[40m +[A[37C[47m²²°Ü[40m²ßß[5C[0mßß[1;30;47mß[40mÞ[47m±°[0mß ß +[18C[1;30mßßß[47m°°[0;47mÛ [1;30m°[1C[0mÜ [31mß [1;30m±² +[A[38C[47m²²°[40m± [0;31mß [37mÞÝ[1;30;47m²[40mß +[23C[0mß[1;30;47m°±[40mÝ[0mÞÛÜÜ ÜÜ[1;30;47mß[0mßß[1;30mß +[A[41C[47mß[0mÜÜ ÜÛ[1;47mÜ[0mÝ[1;30mÝ +[25C[47m²[40mß[0mÜ[1;30;47mÜ [0;47mÛÛ[1;30mßßÜÜß[0mÝ [1;30mÝ [0mÞ +[A[42C[1;30;47mÜÜßß[0;47mÛÛÛÛ[1mßÜ[0mÜ +[26CÛ[1;30;47mß[0;47mÛÛÛÛ[1;30mܲ²Ü[0;47mÛ[2C[1;30;40m²Ü [47m°±[40m +[A[44C[47m°[0;47mÛÛÛÛÛ[40mßß +[27CßÛÛ[1;30;47m°²[40m²±²[47m°[0mÜÜ[1;30;47m°²±°±[40m²ß[0mß ßßßß +[29C[1;30mÜÜ ßÜ [0mßß[1;30mßß ß[0mß[1;30mß Üß [47m²±[0mÜ +[27CÜ[1;30;47m°±²[40mÝ ß [47m°[0mÝ[1;47m²Û[40mÞÛ[0mßÜ[1;30;47m[40m +[A[43C[47m°[40mß Ü [47m±°[0;47mÛ[40mÜ +[22C[1mÜ [47m±°[30m°°[40mß [0mÜ [1;30mß [0mÜ Ü[1mÜ Ü[0mÜ Ü +[A[45C[1;30mßÜ[47m°[1C[0mß[47m [1m±[40mÜÜÜ +[19CÜ[47m²²±°°[30m±[0mÝß ÜÛÛ[1;30;47mÞ[0;47mÛ[40mÜÜ ÜÜÜÜÜ ÜÜ +[A[45C[1;30;47m°±[0;47mÛÛ[40mÜ ß[1;30;47m±[37m°±[40mß[47m²[40m +[19C[0;31mÜ [37mÜßÛ[1;30;47m±[40mß[0;33mܲÜÜ [37mß[1;47mßÜ[30m[40m +[A[34C[47mß[0;47mÛÛÛ[1;30mÜß[0;47mÛÛÛÛ [1mÜß[0mß [33mÜÜÝ[1;30mÞ +[A[53C[47m±[0mÜÝ[31mÜ +[17C°±²ÛÜ[37mß[1;30mß[0;31mÜÜÜ[33;41mßßßß[40mÜ [37mß[1;47mß[40m +[A[35C[0;47mÛÛ[1;30mܱ[40m²[47m±Ü[40mß[47mÜ[37mß[0mß [31mÜ +[A[48C[33;41mßßß[31;40mÜÜ[1;30mß[0;31mÜÜÛ²±° + + `%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 +[44C[1;30m°°ßß[0m [1;30m°Ü[0;32mÜÜÜÛ[1;30;42m°°[32m°°±²ßß[0;32mÛÛ +[A[65C[1;30;42m°°[0;32mÛÛÛÜÜÜ[1mÜÜÜÜÜÜ +[A[79CÜ[26C[33m [12C[30m°°[0m [1;30mß[0m [1;30mÜÜ[42m²²±±°°[40m +[A[54C[42m[0;32mÛßßßßß[3CÜÜÜÜÛ[1;42m°°[33m°[32m±²²²[40mÛÛÛ[42m²[40m +[A[79C[42m²[3C[0;33mÜ[37m [33mnighthawk[21C°Ü[6C[1;30m°[0m +[A[45C[1;30mÞ[42mÛ²²±[40mßß°[0m [32m°°ÜÜÜ[1;30;42m ° [32m°°°°[40m +[A[69C[42m±±²²[40mÛÛÛÛÛ[42mÛ[40m +[A[79C[42m²[0m [1;33mß[0;33mßܲßßß°[1mßß[0;33mß[37m [33m° +[A[14C[1;30m°ß[6C[0;33mß[37m [33m°°[1;30m°[4Cß[0m [1;33mß +[A[35C[43m°[40mÜ[0;33mßß[1;30mß[3CÝ[0m [1;30mÛßß[4C[0;32mÜÜ +[A[54C[1;42m²²±±°°°[30m [32m° °°°°°°[33m°[32m±±²²²²²±[40m +[A[79C[42m±[0m [33m°°[1;43m²[31C[0;33m°[1;43m°[0;33m°[5C +[A[43C[1;30mÝ[0m [1;30m°°[0;32mÜÜ[1;42m±±²²²±±±±°°[33m°[0;32mÛÛ +[A[64CÛÛÛÛ[1;42m°°°°°±±±±±±[40m +[A[79C[42m°[0m [33m°[1;43m°[32C[0;33m°[6C[1;30mß[0m [32mÜ +[A[46C[1;42m°±²²²²[40mÛÛÛ[42m²±°°[33m°°[0;32mÛÛ[1;30;42m°°[0;32m +[A[65Cßß[1;30;42m°[0;32mÛÛßßß[5Cß +[A[79C[1;33;42m°[3C[0;33mÜ[4C[1;30mStanding before you is a[4C +[A[36C[0;33m°[6C[1;30m°[0m [1;32;42m±±²²[40mÛ[42mÛ²²²²±±±°°[40m +[A[60C[42m[0;32mßß[4C[1m°[0;32mÞ +[37m [33m°°[1;43m°[40C[0;32mÞ[1;42m°±±²²²±±±±[0;32mßß[10CÞ +[3C[33mß[4C[1;30mNighthawk. With the body [9C[0;32mÞ[1;42m°°°±±±[40m +[A[51C[42m[0;32mß²Ý[3C[1;30m°[8C[0;31m°[37m [1m Ü[0;31mÜ[6C +[A[77C[1;30m°[0m° +[A[79C [3C[1;33mÜ[32C[0;33m°[8C[1;42m°°[32m°°[3C[0;32m°[1mÝ +[A[54C[10C[0;31mÜ[1;33;41m°[0m [32m°[37m [1m °[0;35;41m°[40m +[A[72C[41m[31;40m°[37m [1;30m°[0m° + [33m°[1;43m°[0;33m°[3C[1;30mof a man and head of a [C[0;33m± +[A[37C[1;30m°[5C°[0;32m ß[7C[1mß[6C[30m°[0m°± [1;31;41m°[40m +[A[65C[41m[0;31m²°[4CÞ° +[3C[33m²[32C°[6C[32m²° [10C[1;30m°°[0m°[4C[1;30m°[0m [31mß +[A[66C[37m° [1m°[0;31m° +[3C[33m°[4C[1;30mchicken, this abomination[9C°[32;42m²°[0;32m° +[A[46C[37m [1;30mÜÜ[0m [32m°[15C[31mß +[43C[1;32mÛ[42m²[33m°[0m [1;30mß²²[42m²²±±[40mÜÜ[0;32mÜÜÜÜ[6Cß +[A[68C[10CÜ +[A[79CÛ[3C[33m°[4C[1;30mof nature must be slain.[11C[0;32m [1mßß +[A[46C[0;32mßÜ[37m [32m [37m [1;30mßßßßßßß²[42m°°[0;32mÛÛÛÛÛ +[A[68C[1;42m°°°[33m°[0;32mÜÜÜÜÛÛ[1;33;42m°[40m +[A[79C[42m°[3C[0;33m±[32C°[6C[1;32;42m²²[40mÜÜ[0;32m [37m +[A[50C[1;30mßßÜÜ[0;32mÜÜÜÜÜÜ[7Cß[1;33;42m°[0;32mßßßßßßÛ[1;33;42m°[40m +[A[77C[42m°±[40m +[A[79C[42m±[3C[43m°[0;33m°[30C°[1;43m°[0;33m°[4C[1;30m° +[A[43C[32;42m°°±²[40m²ÛÜ[7C[30mßß[42m²ÜÜÜÜ°[0;32mÜÜÜÜÜ[37m +[A[71C[1;30m°°[5C[0;32mß +[A[79Cß[37m [1;33mßÜß[0;33mßß[37m [1;33mß[0;33mß[37m [33m°° +[A[13C[7C[1;30m°°[8C[33mßß[0;33mß [1mß[0;33mßÜ[1;30mß°[2C +[A[46C + +`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 +[34C[0mÜÜÜÛÛÛÛÛÛÛÛÛÜÜÜ +[29CÜÛÛ[1;30;47m°°°°[0;47mÛ[1;30m°[0;47mÛÛÛÛÛÛÛÛÛÛÛ[40mÜ +[28CÛ[1;30;47m°°°°[0;47mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[40mÝ +[27CÛ[1;30;47m°±±°[0;47mÛÛÛÛÛÛÛÛ[1;30mÞÜ[0;47mÛÛÛÛÛÛÛÛÛ[40mÛ +[19CÜÜ[5CÞ[1;30;47m°±²°[0;47mÛÛÛÛÛÛÛÛÛÛ[1;30mÛÛßß[0;47mÛÛÛÛÛ[40m +[A[50C[47m[1;30mÞ[0mÛÛ +[18CßÜÛÝ [1;30;47m°±²±°[0;47mÛÛÛÛÛ[1;30mÜ Ý[0;47mÛ[1;30mÞÛÜ[40m +[A[43C[0;47mÛÛÛÛÛ[1;30mÜܲ[0mÛ[47mÛ[1C[40mÜ[1;47m±²[40mÜ +[17C[30mÜ[47m°[0;47mÛÛ[1mÜ[0mÜ [1;30;47m±²±° [0;47mÛÛ[1;30m°[40m +[A[34C[0;47mÛ[1;30m°°²ÝÜß°Ü[0;47mÛ[1;30m°[0;47mÛÛÛÛ[1;30mß²Ý[40m +[A[52C[47m[0mÝ[1;30mÜ[47m°[0;47mÛ[1m±[40mÝ +[17C[30;47m²±°[0;47mÛÛ[1mßÜ[0mÜ [1;30mÞ[0mÜßß [1;30mßß²[47m[40m +[A[37C[47m²²°Ü[40m²ßß[5C[0mßß[1;30;47mß[40mÞ[47m±°[0mß ß +[18C[1;30mßßß[47m°°[0;47mÛ [1;30m°[1C[0mÜ [31mß [1;30m±² +[A[38C[47m²²°[40m± [0;31mß [37mÞÝ[1;30;47m²[40mß +[23C[0mß[1;30;47m°±[40mÝ[0mÞÛÜÜ ÜÜ[1;30;47mß[0mßß[1;30mß +[A[41C[47mß[0mÜÜ ÜÛ[1;47mÜ[0mÝ[1;30mÝ +[25C[47m²[40mß[0mÜ[1;30;47mÜ [0;47mÛÛ[1;30mßßÜÜß[0mÝ [1;30mÝ [0mÞ +[A[42C[1;30;47mÜÜßß[0;47mÛÛÛÛ[1mßÜ[0mÜ +[26CÛ[1;30;47mß[0;47mÛÛÛÛ[1;30mܲ²Ü[0;47mÛ[2C[1;30;40m²Ü [47m°±[40m +[A[44C[47m°[0;47mÛÛÛÛÛ[40mßß +[27CßÛÛ[1;30;47m°²[40m²±²[47m°[0mÜÜ[1;30;47m°²±°±[40m²ß[0mß ßßßß +[29C[1;30mÜÜ ßÜ [0mßß[1;30mßß ß[0mß[1;30mß Üß [47m²±[0mÜ +[27CÜ[1;30;47m°±²[40mÝ ß [47m°[0mÝ[1;47m²Û[40mÞÛ[0mßÜ[1;30;47m[40m +[A[43C[47m°[40mß Ü [47m±°[0;47mÛ[40mÜ +[22C[1mÜ [47m±°[30m°°[40mß [0mÜ [1;30mß [0mÜ Ü[1mÜ Ü[0mÜ Ü +[A[45C[1;30mßÜ[47m°[1C[0mß[47m [1m±[40mÜÜÜ +[19CÜ[47m²²±°°[30m±[0mÝß ÜÛÛ[1;30;47mÞ[0;47mÛ[40mÜÜ ÜÜÜÜÜ ÜÜ +[A[45C[1;30;47m°±[0;47mÛÛ[40mÜ ß[1;30;47m±[37m°±[40mß[47m²[40m +[19C[0;31mÜ [37mÜßÛ[1;30;47m±[40mß[0;33mܲÜÜ [37mß[1;47mßÜ[30m[40m +[A[34C[47mß[0;47mÛÛÛ[1;30mÜß[0;47mÛÛÛÛ [1mÜß[0mß [33mÜÜÝ[1;30mÞ +[A[53C[47m±[0mÜÝ[31mÜ +[17C°±²ÛÜ[37mß[1;30mß[0;31mÜÜÜ[33;41mßßßß[40mÜ [37mß[1;47mß[40m +[A[35C[0;47mÛÛ[1;30mܱ[40m²[47m±Ü[40mß[47mÜ[37mß[0mß [31mÜ +[A[48C[33;41mßßß[31;40mÜÜ[1;30mß[0;31mÜÜÛ²±° + + `%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 +[2J[0;1;30;47m°[0mßß[34m Ü ÜÜ [37mßßÛ[1;30;47m°°°[0mÛÛß +[A[27C[34m Ü ÜÜßßßÛÛ[1;44mÜÜÜÜ[0;34mÛÜ [37mßÛ[1;30;47m°°[0mÛÛÛÛÛÛ +[A[54CßßÛÛßßÛÛÛÛÛÛßÛÛÛ[1;47m°°°ÜÜÜÜÜ[0mÛ +[A[79C [34m ÜÛßßß °° þ [37mß[1;30;47m°[0mß[34mÜÜß °° ÜÛ +[A[35C[1;44mÜÛÛÛ²²±[0;36;44m°[34;40mÛÜ [37mßÛÛÛÛÛ[1;30;47m °[0m Û +[A[56CßßßßßßßßßßßßßßßßßßßßÛ[1;47mÛ[0mÛ +[A[79C [36;44m°[34;40mÛ[1;44mÜÜ[0;34mÛÛÜÜ °° ßÜ Þ²° [4CÜÛ +[A[33C[1;44mÜÛÛÛ²²±±°°[0;34mÛÛÛ [37mÞÛÛÛÛÛ[1;30;47m°[0;34m [37mÛ +[A[56C[20CÛ[1;47mÞ[0mÛ +[A[79C [1;34;44m²ÛÛÛÛÛÜÜÜ[0;34mÛÜÜ ÜÜ [3C ²þß ÜÜßßßßßÛÛ[1;44mßÛ²±±[40m +[A[39C[44m°°[0;34mÛÛÛ[30;44m°°[34;40m± [37mÛÛÛÛÛÛ[34m [1;30;47m°[40m +[A[56C[47m[0;34m [37mYou think you [2C[1;30;47m°[37mÞ[0mÛ +[A[79C [1;34;44m±²²²ÛÛÛÛÛ²°[0;34mßßß ßßÜß ß[9Cßß[36;44m°[1;34m[40m +[A[37C[44m±°[0;34mÛÛÛ[30;44m°°[34;40m±° [37mÞÛÛÛ[1;47m°[0mÛß +[A[55C[1;30;47m°[0;34m [37m [C[1;30;47m°[37mÞ[0mÛ +[A[79C [1;34;44m°°±±²²²Û²°[0;34mß[37m [33mÜÜÛ[1;31;43m ÜÜ[0;33mÜ +[A[20CÜßßÛ[1;31;43m°ÜÜÜÜÜ[40mÜÜ[0;33mÜÜ[37m [34mÞÛÛ[30;44m°°°[40m +[A[42C[44m[34;40m±° Ý [37mß[1;47mÜÛÜ[0mÛ[34m [1;30;47m°[2C[40m +[A[58C[47m[0mknow what this[4C[1;30;47m°[37m°[0mÛ +[A[79C [34mÛÛ[1;44m°°±±±²[0;34mÛÝ[37m [33mÜÛ[1;31;43m°Ü[40mÛÛÛÛÛ +[A[20CÛÛÛÜÜßßÛÛÛÛÛ[43mÛ[40mÛ[43mÜ°[0m [34mÛ[30;44m°[34;40m±°° +[A[45CÛ[3C [37mÞ[1;47mß[0mÛÛ[34m [37mÛ[34m [1;35m +[A[71C [2C[0mÛ[1;47m °[40m +[A[79C[0m [34m²²ÛÛ[1;44m°°°ß[0;34mß[6C[1;31mßßßßÛÛÛÛÛÛÛÛÜÜßßÛÛÛÛ +[A[35C[43mÝ[0;33mÝ[34mÞÛ°[5CÝ° [37mÛÛÛ[34m [37mÛ[1;35m [37m +[A[57C [0mwoman wants even[2CÛ[1;47m Þ[40m +[A[79C[0m [34m°±²²²ß[5C[1;31m [0;33mßÛ[1;31;43m°²[40mÛÜÜÜ ßßÛÛÛ +[A[27CÛÛÛÛÜßßß[3C[0;34mÛÝ[4C[36;44m°[34;40m°[3C [37mÞÛÛ[34m +[A[55C[1;37;47m°[40m [3C[0mÛ[1;47m Þ[40m +[A[79C[0m [34m °°°²Ý[37m ÜÜÝ[1;31m [34mÜ[4C[31mßßßßÛÛÛÜÜÛÛÛÛÛÛ +[A[31C[0m [1;30mܲß[0m [1;30m°[0;34m Û [7C [37mÞÛÛß[1;30;47m[40m +[A[55C[47m°[2C[0mbefore she asks.[2C[1;30;47m°[37m°Þ[40m +[A[79C[0m [3C[34m°°Ý[37m [1;47m°²[31;40m [36;44m°[0;34mÝ[1;37m +[A[12Cþß[31m [34m°[0;34mÞ[1;44m°[0m Ü [1;31m ßÛÛÛÛÛÛÛÝ[0m ° +[A[34C[36m [4C[34mÞÛ[7C° [37mÛ[1;47mÜ[0mÛ[34m [1;30;47m°[20C[40m +[A[76C[47m°[37m Þ[40m +[A[79C[0m [4C[34m [37m [1;47m²Û[40mÝ[31m [0;34mß[1;36m°[0m +[A[15C[1;34m [0;34mÜß[1;31m [0mÜ[1;47m°[0mßß[1;31m ÜÛÛÛÛÛÛÛ[0m +[A[33C[36m°[1;30mÝ[0;31m [4C[34mßÛÜ°[5C [37mÞÛ[1;47mÝ[0mÛ[34m +[A[54C [1;30;47m°[2C[37;40m <press a key> [3C[30;47m°[37m Þ[40m +[A[79C[0m [4C[34m° [37m [33mÜ[37m [1mß[9C[31mÜÜÜÛÛÛ[43mÛ[40m +[A[26CÛ[43mÛ²[40mÛÛ[43m²[40mÝ[0m [1;30m°[7C[0;34m ßßÜ [37mÞ +[A[51CÛ[1;47mÝ[0mÛÛÛ[20CÛ[1;47m Þ[40m +[A[79C[0m [3C[34m°Ý [33mÛ[1;31;43m°²[40mÛÛÛÜÜÛÛÛÛßßÜÛÛÛÛÛÛÛÛÛÛÛ +[A[32C[43m°[40m [0m [1;30m°[0;34m [9CÛ [1;37;47m Ý[0mÛßÛ +[A[56C[20CÛ[1;47m ²[40m +[A[79C[0m [34m °ÞÝ [33m°²[1;31;43mß[40mÛÜÜßßßÜÛÛÛÛÛÛÛ[43mÛÛ[40m +[A[25CÛÛ[47mÛÛ[40mÛÛÛÛ[43mÜ[0;33mÜÜÜ[1;31m [0;31m [37m [33mܲ +[A[44C [37m [34mÞÝ [1;37;47mÜ[40mÛ[47mÝ [0m ßßßßßßßÛÛßßßßßÛÛÛßÛÛ +[A[75CÛÛ[1;47m Þ[40m +[A[79C[0m [3C[34m°ßÜ[37m [1;31m [0;33mß²[1;31;43mÛ[40mÛÛÛÛÛ +[A[16C[47m²²²[40mÛÛÛÛÛ[43mÛÛ[40mÛÛÛ[43m²[40mÛÛÛÛÛÛ[43mÜÜÜÜܲ°[40m +[A[43C[43m[0;33mÝ[34m Üß [1;37mÞÛÛ[47mÝ [0mÛÛ[1;47m ÜÜÛÛÛÛÛÛÜ[40m +[A[68C[47mÜ ÜÛ[40m +[A[79C[0m [5C[34m ßÜ [33m°[1;31;43m±[40mÛÛÛ[47m²²²²[40mÛÛÛÛÛ +[A[23C[43mÛÛÛ[40mÛ[47mÛ[43mÛ²[40mÛÛÛÛÛÛ[47m²²[40mÛÛÛÛ[43m°[0m +[A[44C[34mÞ² [1;37mÛÛÛÛ[47m ²[40mÛÛÛ[47mß°ß[40mÛ[47mÛÛ[40m +[A[67CÛÛ[47mÛÝ° Ü[40mÛ[47mÛ[40mÛ +[A[79C[0m [34m°[4C ÞÝ[33m Û[1;31;43mÛ[40mÛÛ[47m²²[40mÛÛÛÛÛÛÛÛÜ +[A[25CßßßßÛÛÛÛÛ[47mÛÛ[40mÛÛÛÛÛ[43m²[0;33mÝ[37m [34m²° [1;37mÛÛ +[A[51CÛÛÛ[47mÜÜ[40mÛÛÛÛÛÛ[47mÜ[40mÛÛ[47mÛ[40mÛÛÛÛ[47mÛÜÜÜÛ[40mÛ +[A[76CÛ[47mÛÛ[40m +[A[79C[0m [6C[34m°°²[33m ²[1;31;43mÞ[40mÛÛÛ[47mÛÛ[40mÛÛÛÛÛÛÛÛÛÛ +[A[27CÛÛÛÛÛÛÛÛÛÛÛÛÛ[43m²[0;33m²[1;31m [0;34mÞ° [1;37mÛÛÛÛÛÛÛÛÛÛ +[A[59CÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47mÛÛ[40mÛÛÛ +[A[79C[0m [7C[34m²Ý[33m [1;31;43m°²[40mÛÛÛÛÛÛÛÛÛÛßßßßßßßÛÛÛÛÛÛÛÛÛ +[A[38CÛ[43m²[0;33mÛ°[34m Û [3C[37m [1mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +[A[72C[47mß[40mÛÛÛÛÛÛ +[A[79C[0m [6C[34mÜß[33m ²[1;31;43m²[40mÛÛÛÛÛ[47mÛ[40mÛß[37m +[A[20C[31mÜ[0;31mÜ°[1m [0;31m [1m [0;31m [3C[1m ßßÛÛÛÛ[43m²°[40m +[A[40C[43m[0;33m°[37m [34mß[5C[37m [1mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[47m[40m +[A[70C[47m²[40mÛÛÛÛÛÛÛÛ +[A[79C[0m [5C[34mÞÝ[33m ±[1;31;43m°[40mÛÛÛÛÛÛÛÜÜÜÜ [0;31mßßþ +[A[26C[1m [0;31m [1m ÜÜÜÛÛÛÛÛ[0;33mß[37m [34m°[4C[37m [34m +[A[48C[37m [1mÞÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +[A[79C[0m [6C[34mßÜ [33m°ß[1;31mßÛÛÛÛÛÛÛÛÛÛ[43mܲ[0;33mÜÜ[1;31m +[A[26CÛÛÛÛÛÛÛÛÛßß[0m ° [1mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ +[A[79C[0m [6C[34m°°ßßÜ [1;35m [0m [1;31mßßßßßÛÛÛÛÛÛÛÛßßß[8C[0m +[A[39C [1mßßßßß +@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[255D[0;35m°°±²[1;37;45mþú [0;35m²±°[1;30mÄÄ[0mÄ[35m°±²²[45m [40m +[A[22C[45m[1;37m°° [0;35;42m²±[1;32m²²²²²²²²²[40m²²²²²±±±±± +[A[48C[0;32m±°°[1m°°[0;35m±±±±[45m [1;37m°°°°°°[0;35m²°²² +[A[77C²² +[A[79C[1;30mÄ[0;35m±°±²[45m [1;37m°[0;35m²±°[1;30mÄ[0mÄ +[A[17C[35m°±²²[45m [1;37m°[0;35;42m²±[1;32m²²²²²[40m²²²²²²²²²²²±±± +[A[44C±±±±±±[0;32m±°°°°[1m°°[0;35m±±±[45m [40m²²²²[45m [1;37m°[40m +[A[70C[45m° [0;35m²±²[1;37;45mþú [40m +[A[79C[0;35m²²²²²²²[45m [1;37m°°°° [0;35m²±°[42m²±[1;32m²²²²²²[40m +[A[26C[42m[40m²²²²²²²²²²²²±±±±±±±[0;32m±±±±±±°°°°°°°°°[1m°°[0;35m±± +[A[64C°°±²²²²²°°²[45m [40m +[A[79C[45m [1;37mþú [0;35m²±[1;30mÄ[0mÄ[35m±²[45m [1;37m°° [40m +[A[17C[45m[0;35;42m²±[1;32m²²±±[40m²²²²²²²²²±±±±±±±±±±±[0;32m±±±±±± +[A[49C±±±°°°°°°°°°°[1m°[0;35m±±°°°°±²²[45m [1;37m° [40m +[A[79C[0;35m²[45m [40m²²²²²²[45m [42m²[1;37mþ[32m²²±±[40m²±± +[A[21C± [37mþþúú[6C[0;32m°°±±[1m±±±±±[0;32m±±±°° [1;37mþþúú[5C +[A[58C[0;32m°°°°°°°°[1m°°[0;35m±±[45m [1;37m°°°°° [0;35m² +[A[79C±[45m [42m²[1;37mþ[32m²²²[40m±±±±[37mþú [0;31m° +[A[26C°±±± [1;37mþþú[0;32m°°°°±[1m±±[0;32m±°°°° [1;37mþþú [0;31m°° +[A[53C±±±±±°°[32m°°°°°°°[1m°°[0;35m±±[45m [1;37m° [0;35m²±° +[A[79C[1;30mÄ[45m [37m°° [0;35;42m²±[1;32m²²²[40m±±[37mÝ +[A[19C[0;31m±±±±±²²²²²±±±°° [1;37mþú[0;32m°°±±°°[1;37mþú [0;31m°°±± +[A[50C±±±²²²²±²±²±Û°[32m±±°°°[1m°°[0;35m±±±±±°°[1;30mÄ +[A[79C[0mÄ[1;45m°°°°° [0;35;42m²±[1;32m²²[40m±[37mÝ [0;31m±±± +[A[20C±±²²²²²²²²²±²±°° [1;37m.[0;32m°°°°[1;37mÝ [0;31m±±±±±±²²²²²² +[A[56C[1;41m°[0;31mÛ±Û±Û[1;41m°[0;31mÛ[1;41m°[0;31m°[32m±°°[1m°° +[A[71C[0;35m±°°°°°°° +[A[79C°[45m [1;37m°° [0;35m²²²²²[45m [30;41m²[2C[31;40m±±±²²²² +[A[23C²²²²²²²±²±²±²°° [32m°°[1;37mÝ[0;31m±²²²²²²²²²²²Û[1;41m°[0;31m +[A[56CÛ[1;41m° °°°±±[37m°°[0;31m±°[35m±±±±°°±°±±± +[A[79C±[45m [40m²²±±[1;30mÄ[0;35m°±²²[45m [30;41m²²[C[1;31m°°[40m +[A[18C[41m[0;31mÛ[1;41m°[0;31mÛ[1;41m°[0;31mÛ[1;41m°[0;31mÛ +[A[25C[1;41m°[37m°[0;31mÛ[1;41m° ° ° °[37m°°[0;31m° [32m°°[1;37m +[A[41CÝ[0;31m±[1;41m°°[0;31mÛ[1;41m°[0;31mÛ[1;41m°[0;31mÛ[1;41m°[40m +[A[51C[41m[0;31mÛ[1;41m°[0;31mÛ[1;41m°[0;31mÛ[1;41m°[37m°[31m°[40m +[A[59C[41m[0;31mÛ[1;41m°±±[37m°°°[0;31m±°[35m±±[45m [1;37mþú [40m +[A[75C[45m[0;35m²²²² +[A[79C²²²²±±[1;30mÄ[0;35m°±²²[45m [30;41m²²[C[1;31m°°°°[0;31mÛ +[A[22C[1;41m°[0;31mÛ[1;41m°°[37m±° [31m° °[37m°°[0;30;41m²²[40m +[A[36C[41m[32;40m°°[1;37;42mþ[32m°[40m°[0;32m°°°[31m°±[1;41m°°°°[40m +[A[50C[41m[0;31mÛ[1;41m° ° ° [37m±[31m°°±±[37m°°°[0;31m±°[35m±±± +[A[70C[45m [1;37m°[40m +[A[79C[0;31;45m°[35;40m²[1;37;45mþú [0;30;41m²²[1;31m°[40m +[A[20C[41m°[37m°°±±²Û²±±°[0;30;41m²[32;40m°°°°[1;42m°°[40m±° +[A[40C[0;32m±±±±°°°°[31m°±[1;41m±°[37m°°±±²Û²±±°[0;31m±±°[35m±±±°° +[A[70C°°°°°±±[45m [1;37m°[40m +[A[79C[45m °° [0;35m²±²[45m [42m²[30;41m²[1;31m°°°[37m[40m +[A[23C[41m°°±²±°[0;30;41m²[32;40m°°°°°[1;37;42mþ[32m°[2C[40m± +[A[40C[0;32m± [1m±°[0;32m±°°°°[31m°²[1;41m±°°[37m°±²±°[0;31m±°° +[A[63C[1;32m°[0;35m±±±±[45m [40m²±°[1;30mÄ[0;35m°±²² +[A[79C²²[45m [1;37m°°°°°° [0;35m²±°°±²[45m [42m²±[32;40m°°°°° +[A[26C[1;37;41m±[0;32m°°°°°[1;42m°[40m±±°°[0;32m°°°°°°±±±±±°°°°°°°° +[A[56C°[1;37;41m±[0;32m°°[1m°°[0;35m±±±±[45m [40m²±°[1;30mÄÄ +[A[75C[0mÄ[35m°±± +[A[79C±±²[45m [1;37m°° [0;35m²±°[1;30mÄ[0;35m°±²[45m [42m²±[40m +[A[22C[42m[1;32;40m²²²±[37;42m°[32;40m°°°[37;42mþ[32;40m±±°°° +[A[36C[0;32m±±±±±±±±±±±±±±°°°°°°°±[1m°°[0;35m±±±±[45m [40m²±° +[A[72C[1;30mÄÄÄ[0mÄÄ[35m°° +[A[79C°±±²²²²²²²²²±°[1;30mÄ[0;35m°±²[45m [42m²±[1;32;40m²²± +[A[27C[42m°[40m²²[37;42mþ[32;40m±±[0;30;47m²[1;37mÝ [0;30;47m²[40m +[A[37C[47m[1;37mÝ [0;30;47m²[1;37mÝ [0;30;47m²[1;37mÝ [0;30;47m²[40m +[A[46C[47m[C[32;40m±±±±±±°°°[1m°°[0;35m±±±±[45m [40m²±° +[A[73C[1;30mÄÄÄ[0mÄÄÄ +[A[79CÄÄ[35m°±±±±±±±±±°[1;30mÄ[0;35m°±²[45m [40m²²[45m [42m²[40m +[A[26C[42m±[1;32;40m±²±±[42m°[C[0;30;47m²[1;37mÝþ[0;30;47m²[5C²[40m +[A[43C[47m[1;37mÝþ[0;30;47m²[2C[32;40m°°°°°[1m°°[30mÄÄ[0mÄ[35m° +[A[59C±²[45m [1;37mþú [0;35m²±°[1;30mÄÄ[0mÄÄÄ +[A[79CÄÄÄ[35m°°°°°°°°°[1;30mÄ[0;35m°±²[1;37;45mþú [0;35m²±±±[45m[40m +[A[24C[45m [42m²±[1;32;40m±[37;42mþ[4C[0;30;47m²[1;37mÝ [40m +[A[39C[47m[0;30;47m²[1;37mÝ [0;30;47m²[5C[32;40m°°[1m°°[0;35m±±± +[A[55C±[1;30mÄÄ[0mÄÄ[35m°±²[45m [40m²±°[1;30mÄÄÄ[0mÄ +[A[79CÄÄÄÄÄÄ[1;30mÄÄÄÄ[0;35m°±²[1;37;45mþú ° [0;35m²±°±²[45m [40m +[A[27C[45m[1;37m° [0;35;42m²±[1;32m°[40m±±±±±±°°°°°[0;32m°°°°[1m +[A[48C°°[0;35m±±±±[45m [40m²±°[1;30mÄÄ[0mÄÄÄ[35m°±²[45m [40m +[A[71C[45m[1;37m° [0;35m²±°[1;30mÄÄ +[A[79C[0mÄÄÄÄÄÄÄÄÄÄ[1;30mÄ[0;35m°±²[45m [1;37m°°° [0;35m²±±² +[A[25C[45m [1;37m°°°[0;35m²±±[45m [42m²±[1;32m°°[40m±±±±°°°° +[A[45C[0;32m°°[35m±±±±±[45m [1;37mú [0;35m²±°[1;30mÄÄ[0mÄÄÄ +[A[65C[35m°±²[45m [1;37m°°°°° [0;35m²± +[A[79C°`% +@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[2J[0;1;34;44m°°[0;34mÛÛÛÛÛÛÛÛÛÛÛÛÛÛ²ßß[37m [34m [37m [1;31m [3C +[A[27C[30m°[0m [34mÜÜ[30;44m°[34;40mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß[37m [33m +[A[53CÜÜ°[37m [33mܲ±[37m [33m²± [37m [33m°±[1;30m° [0;33m +[34mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[30;44m°[34;40m°[1;30mß[44m²[40m°[0;33m [34m +[A[22C[33m [34m [33m°[1;30mþ°[0;30;44m°[34;40mÛ[30;44m [34;40mÛ +[A[32CÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß [33m ß°[1;30m°[0;33m²±[1;30m°[0m [33m°±° +[A[60C[1;30m°[0;33m°±° [37m [33m°°[1;30m°°[0;33m°°[37m [33m +[34mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßß [1;30m° [0;34m ÜÜܲÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝܲÛÛ +[A[51C[37m [33m°[37m [1;30mÜÜ[0m [33mß[3C°[37m [1;30mßß[0m +[A[67C[1;30m°[0m [1;30m°[0m [1;30m°°[0m [1;30m° +[0;34mÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[30;44m°[34;40mÛ[37m °[1;30mÜ[3C[0m°[1;30m° +[A[24C[0m [34mÞ[1;44m°°[0;34mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[11C[1;30m Ü +[A[66CÜ +[0;34mÛÛÛÛÛÛÛÛÛÛßßßßßß[37m [1;30mßß[8C[0;34mßßßßßÛ[1;44m°[0;34mÛÛÛ +[A[38CÛÛÛÛÛÛÛÛÛÛÛÛÛÝ[37m °[1;30m°[6Cß[0mÜ[1m±[0m Ü [1;30mß +[0;34mÛÛÛÛÛÛß [37m [34m [1;30mß[6C °[0m [31m [33mÜÜ°[37m +[A[29C[33m²Û[1;43m°[0;33mÜ[37m [33mÜÜÜ[37m [34mßßßßßÛÛÛÛÛÛÛÛ[37m +[A[51C [1;30m°[6C°[37;47m²±°[0m [1;47m±[36m°[0mÝ[1;30mÞÝ +[0;34mÛÛ[1;44m°[0;34mßß[3C[33mÜÜÜ Ü[1;30m°°°[31;43m°[0;33mÛ²²ß +[A[21C[37m [33mßßÛ² [37m [33m°°²±° [1;31;43m°[0;33m²[1;37;43m°[40m +[A[38C[43m[0;33m°°[1;43m°[37m°[0;33mÜÜ[37m [33mÜÜ[34m ßßß[37m +[A[52C[1;30m°[7C[0;33m°[1;37mÜ[0mÜÜ[1m [0mÜÜÜ [1;30m± +[0;34mÛÛß [37m [1;30mß°[31;43m°[0;33m²²°° [37m [33m°ß±°°[37m +[A[22C[1;30mß°°[3C[0m [33m °[37m [33m° °°[37m [33m°°±° °°± +[A[48C[1;43m°[37m°[0;33mß[37m [33m°ÜÜÜ[37m [4CÞ[1;47m²[40m±[0m +[A[64C [1;47m²±[0mÝ[1;30m° +[0;34mÛÝ [1;30m°[0m [1;30m°°[0;33m°°[37m [1;30m°°[4C[0;33mÜÜÜ +[A[21C[37m [33m°²ÜÜÛ²[37m [33mÜÜܲ±[37m [33mÜÜ[3C° [3C°°°[3C° +[A[54C±²[1;43m°[37m°[0;33m°[37m [33m°Ü[37m ß +[34mÛÝ[1;30mß[3C°[0m [33mÜÜ[1;31;43m°[0;33m²²Ü[37m [33mß² +[A[17C[1;31;43m°[0;33mÛ²²[37m [33m°°²²°[37m [33m°±[1;31;43m°[40m +[A[32C[43m[0;33m²±°[37m [33m°[1;31;43m°[0;33m²²°°[37m [33m°² +[A[45C[1;43m°[0;33mÜÜ[3CÜ[3C°°[3Cß°[37m [33mÜÜ +[1;34;44m°[0;34m [1;30mÝ[0;34m [37m [1;30m°[0m [33m²²±°°[37m +[A[14C[1;30m°[0m [33m°°±°[37m [33m°[6CÜ[37m [33m°°[6Cß°[4C°° +[A[47C[37m [33m ±²°°[37m [33mÜÜ[37m [33mÜ[4C±°[37m [33mß±Ü +[A[71C[37m °° +[34mÛ [1;30m°[0;34m [3C[1;30m°[0;33mß°[4C[1;31;43m°[0;33mÜÜ[5CÜ +[A[23C[1;31;43m°[0;33m²ÜÜ[37m [33m°²ÜÜ[37m [33mÜ[1;31;43m°[0;33m +[A[35C²²[1;30m [0;33m°²ÜÜ[37m [1;31;43m°[0;33mÜÜ °°Ü[37m [33m°° +[A[54C[37m [33m°²±[37m [1;31;43m°[33m°[0;33m°[37m [33m°[3C°° +[34mÛ [1;30m°°[0;34m [5C[33m°[1;30m [0m [33m°Û²²ß[37m [33m°°[3C +[A[24C°°[3C°²°[37m [33m°±±°[37m [33m ±°°[37m [33m°²°[37m [33m²Û +[A[49C°[37m [33m°ÜÜ[37m [33m ° [37m [33m°°[6C +[34mÛÛÜÜ[4C[1;30m°[5C[0;33m°°[12C[1;30mÜÜ[3C°[0m [33m°[37m +[A[38C[1;30mÜ[0;33m°[37m [1;30m°°[0m [33m°[3C°[3C°²°[37m [33m +[A[57C°°[4C[37m +[34mÛÛ[1;44m°[0;34mÝ[4C[1;33mÜ[0m [1;33mÜ[11C[30mßß[26Cßß[3CßßÜ +[A[58CÜ°°[0;34m [1;30m°[C[0m +[34mÛ[1;44mß[0;34mÛÝ[37m [33m°[1mÞ[43m°[40m°ÞÝ[0m [1;30mÜ[6C° +[A[22C°[3C[0m [15C[34m [19C[37m +[A[79C [34mß[37m [34mß[37m [3C[33m°[1mß[5C[30m°[7C[33mÜÜ[0m +[A[25Cß [1;33mÜÜ[9C[30m°[10C [0;34m [33m°[34m [1;30m [4C +[A[63C[0m +[34m°[37m °[34m°[37m [1;30m°[9C°[5C[0m°[1;33mÞ[37;43mÛÛ[33;40mÝ +[A[26CÞ[43m²[40m²[0m°[19C[34m [1;30m [33mÜÛ[37;41mÛ[0;34m +[A[55C[1;33mÜ[0mßß°[3CYou see a warm +[34mÝ[37m [34mÞ[37m [1;30m°[6C[0m [33m°[37m [1;30m°[4C[0;33m +[A[21C°[1mßßß[0m°[1;33m ßß°[17C°[0m [33m°[34m [1;33;41m²[40mÛßÞ +[A[55CÛ[37;41mÛ[33m²[0;34m [3C[37mlittle Lodge! +[34m±[37m [34mÞ [7C[37mÜ°[8C[1;33mÜÛ[37;43mÛ[33;40mÝÞ[37;43mÛ[40m +[A[28C[43m[33;40mÜ[0m [33m°[37m [1;33m°[15C[30m [33mÜÜÜ[0m° +[A[54C[34m [1;33mßß[30m [0;33m° +[34m [37m [34m²[1;33m [30mß[8C[0;33m±[37m [1;30m°[4C[33mß +[A[23C[43m²[40mß[0m [1;33mß[43m²[40mß[0m [1;30m°°[12C°°[0m +[A[50C[1;33mÞ[43m²[37;41mÛ[33;40mÝÞ[43m²[40mÝ[0;33mÞ[37m°[3CYum +[A[65C, something +[34m [37m [34m°[10C[33m°[37m [1;30m°[4C[0;33mß ÜÜ[37m [33mÜ°° +[A[30C[3C[1;30m°°[14C[33m [0mß[1;33mßß [0;34m [1;33mßß[0;34m +[A[59C[3C[37msmells good[C +[A[79C [5C[1;30m°[8C[0;33m°[37m [1;30m°[9C[0;33m [20C[34m +[A[51C[37m [33mßßß°°°[34m [3C[37minside! `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 +[2J[0mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ [35mÜß[1mÜ[0;35mÜ[1;45m°°°°±°[0;35mÜ +[A[32C[1;45m°±°[0;35mÛÜß[1;30;45m°°[0m [35mß[37m [35mÛÜÜÛßßßßß +[A[52C[1;45m²±°[0;35mÛ[1;45m°[0;35mÛß[1;45m°[0;35mÛÝ[1;45m±±±°[40m +[A[66C[45m[0;35mÛÛ[37m [1;35;45m±°[0;35mÛÞÛÛÛ[1;30;45m°°[0m +[A[79C[1;30m°[0mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[1;47m [0mÝ [1;35;45m²²±±±°°[40m +[A[28C[45m[0;35mßÜÛßß[1;45m°[0;35mÜÜÜ[1;30;45m°°±[0;35mÝÜ[37m +[A[43C[35mß[4C[33mÜÜÜ[3C[35mßßß[1;45m²°[0;35mßÛÛ [1;45m²±°[40m +[A[66C[45m[0;35mÛ[1;45m°[0;35mÝÞ[1;45m°[0;35mÛÞÛÛÛÛ[1;45m°[0;35mÛ +[A[79C[37m ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ [1;35m [45mÛÛ²²±±[0;35mß [1;45m°°°[40m +[A[31C[45m[0;35mÛÛß [33m [35m ß[1;30;45m±[0;35m±ßßß[37m [33m°Ü +[A[46C[1;31;43m²ÜÛ[40mÛ[43mÛÛ²[40mÜÜ[3C[0;35mß[1;45m°[0;35mÛÛÝÞ +[A[64C[1;45m²±° [0;35mÛ[37m [1;35;45m°[0;35mÝ[1;30;45m°[0;35mÛÛÛ +[A[76C[1;45m°±°[40m +[A[79C[0;35mÝ[37mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ [1;35mÞ[45mÛ²²±[0;35mß[1mÜ +[A[26C[45m±°°[34m [35m [0;35mßÛÝ [33m²Ü[35m [37m [33mÜÜ[1;31mÜ +[A[43CÛÛÛÛÛÛ[47m²²²[40mÛÛÛ[43m²[0;33mÜ°[37m [35mß[1;45m°[0;35mÛ +[A[63C[1mÞ[45m²²±°°[0m [1;35;45m±°[0;35m ÛÛÜß[1;45m²±[40m +[A[79C[45m°[0mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ [1;35mÞ[45m²[0;35mÝ[1;45m±²[40mÛ +[A[25Cß[45m²±°[0;35mÜß[1;45m°[0;35mÜßÜ[37m [1;31;43m°²Ü[40mÛÛÛÛÛÛ +[A[45CÛÛÛ[47m²²²[40mÛÛÛÛÛÛ[43m²[0;33mÜ°[37m [35mß[1mÞ[45mÛ²²±°[40m +[A[69C[45m[0m [1;35;45m°[0;35mÛÝ[1;30;45m°[0;35mÛÛÝÞ[1;45m²[40m +[A[79C[45m°[0mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ [1;35mÞ[45m²[40m°[45m°[0;35mß +[A[24C[1;45mÛÛ²²±[0;35mÝÛ[1;45m±°[0m [35mÞÝ[33mÞ[1;31;43mÞ[40mÛÛ +[A[40CÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßßÛÛÛ[0;33m°[37m [1;35;45mÛÛ²²±[0;35mÝÞÛ +[A[71C[1;45m°[0;35mÛÞÛÛ[37m [1;35;45m²±[40m +[A[79C[45m°[0mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ [1;35;45m±[0;35mÝÝ°[1;45mÛÛ²±°[40m +[A[29C[45m[34m [0;35m [1;45m°[0;33m ܱ[35mß[33mÜ[1;31;43m²[40mÛ +[A[39CÛÛÛÛÛÛßßß[0m [1;35mÜ[0;35mÜÜÜÜÜ[1;43m°[31;45m²[40mÛÛÛ[43m²[40m +[A[61C[43m[0;33m°[37m [1;35mÞ[45mÛÛ²[0;35mßÜ[34;45m°[35;40mÛÛÛÛÛ +[A[75CÛÝÞ[1;45m°[40m +[A[79C[0;34;45m°[1;37;47m°° [0mÛÛÛÛÛÛÛÛÛÛÛÛÛÛ [1;35;45m²±°[0;35m² +[A[24C [1;45m²±° [0;35m ÞÝ[1;30mÜ[0;35mÜÜÜ[1;31mßßßÛ[43m²[40mÛÛÛ +[A[45C[35;43m°[0;35mßßßßß[34mÜ[37m [1;31m [0;35mßßßß[1;31mßßÛ +[A[61C[43m²[0;33mÜ[37m [1;35;45m²²±[0;35mÝ[33mÜ[35m ßÜß[1;45m°[40m +[A[74C[45m[0;35mÛÛÛÜÛ +[A[79C[1;30;45m°[0mÛ[1;47mÜÜÛÛÛÛÛÛÛÜÜ[0mÛÛÛÛÛ[1;47m [0mÝ [35mÞ +[A[21C[1;45m±[0;35mÞݲ[1;45m±°°[0;35mÝ[1;30m°[0;33m°[35mÞÝ[1;30m +[A[33C°[0;34m°[1mÜ[37m [0;35mßß[1;31mßÛÛÛÛÜ [0m ß² [1;34m°[0;34m +[A[51C°[37m [1mß[34m°[0m ß[1;31m ÜÛÛ[43m²°[0m [1;35;45m±±°[0m +[A[68C[33mÜÛ[37m [34;45m°[1;35m°[0;35mÛßÛÛ[1;45m°[0;35mß +[A[79CÝ[1;37;47mÛÛÛÛÛÛÛÛÛÛÛÛÛ [0mÛ[1;47mÜÜÛÛ[0m [1;35;45m°[0;35m +[A[23CÛ[1m°[0;35mÞ[1;45m°[34m°[0;35m [1;30m°[0;33m [35mÞÝ[1;34m +[A[33C°[0;34m [1m [0m°ß [1;31mÜÜÛÛÛ²ÛÛÛÜÜÜÜ[0m [34mß[1;31m ÜÜÛÛÛÛ +[A[61CÛ[0;33m°[35mÞ[1;45m±°[0;35mÝ[33mß°ÞÝ[35mÞ ÛÛ Ûß[1;30;45m°[40m +[A[79C[0m [1;47mÛÛÛÛÛÛÛÛÛÛÛÛÛÝÛÛÛÛÛ[40mÝ[0m [35mÞÝÞÝÝ[1;45m°±[40m +[A[28C[45m[0;35m [1;31m [0;33mÝ[1;35;45m°[0m [1;31mÜÜÜÛÛÛÛÛÛ +[A[43C[43m²[40mÛÛÛÛÛÛÛÛÛÛÛ[43m²²[40mÛÛÛÛÛ[0;33mÝ[35mÞ[1;45m°[40m +[A[65C[45m[0;35mÛÝ[33mÜ[37m [1;31;43m°[0m [35mÛÝÞ[1;45m°[0;35mÛ +[A[76C[1;45m°[0;35mÛÛ +[A[79C[37m [1;47mÛÛÛÛÛÛÛÛÛ²²ÛÛÛÛÛÛÛÛÛ[0m [35mÛ ßÝÛ[1;45m°[0;35mÝ +[A[30C[33mÞ[1;31;43m°[0;35mÞÝ[1;31mÞ[43m²[40mÛÛÛÛÛ[47m²[40mÛ +[A[43C[43m²²[40mÛÛÛÛÛÛÛ[47m²²[40mÛÛÛÛÛÛÛ[43m²[0;33mÝ[1;35;45m°[40m +[A[64C[45m[0;35mÛÛ[37m [1;31mÝ[0;33mÞ[1;31;43m²[0;35mÞ[34;45m°[40m +[A[72C[45m[37;40m [1;35;45m°±°[0;35mßÛ[34;45m°[40m +[A[79C[35mÝ[1;37;47mßßßßÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[40mÝ[0m [35mÞÝ ÛÞ[1;45m±°[40m +[A[29C[45m[0;35m [37m [33mÛÜ[35mß[1;31mÜÛÛÛÛÛÛÛÛÛ[43m±²[40mÛÛÛÛÛ +[A[51CÛÛÛ[47m²²²ÛÛÛ[40mÛ[43mÝ[0;33mÝ[1;35;45m±°[0m [1;31mÜ[43m²[40m +[A[69C[43m[40mÝ[0;34;45m°[35;40m Û[1;45m°[0;35mß ÜÛ[1;45m°[40m +[A[79C[45m±[37;47m°°[0mÛÛÛÛÛ[1;47mßÛÛÛÛÛÛÛÛÛÛÛÛÛ[40mÝ[0m [35mß +[A[24C[37m [35mÞÝÛ[1;45m°[0;35m [37m [33mß[1;31;43m°²[40mÛÛÛÛÛÛ +[A[41C[43m²[0;33mÜÜ[1;31mÜÛÛÛÛÛÛÛÛÛÛÛ[47m²²²[40mÛÛ[43mÝ[35;40mÞ +[A[63C[45m²[0;35mÝ[1;31m ß[43mÛ[40mß[0m [35mÝÞÛ Û Û[1;30;45m°°[40m +[A[79C[35;45m°[37;47m²[40mÛÛ[47mÛÜÜ[0mÛ[1;47m° ßÛÛÛÛÛÛÛÛÛÛÛÛÛ[40m +[A[23CÜ[0m [35mÛ ÛÝ[4C[33mßß[1;31;43m²[40mÛÛÛÛ[43mÛ[40mÛÛÛÛÛÛÛÛ +[A[50CÛÛÛÛÛÛÛ[47m²²[40mÛÛ[43mÝ[0;35mÞ[1;45m±[0m [33m±°[37m +[A[69C[35mÞ[37m [35mÛÝÞÛÛ Û[1;45m°[40m +[A[79C[0;35mÛ[1;37;47mÛÛÛÛÛÛÛ ßßß ° [0mÛÛ[1;47mßßßÛÛÛ[40mÝ[0m +[A[26C[35mÞ[1;45m°[0;35m Û[4C[37m [33mÞ[1;31mÛÛÛÛÛßßß[0;31m +[A[46C[33m°[31m [1m ßßßßßÜÛ[47m²[40mÛÛÛ[43m²[0;33mÝ[35mÛ [33mܲ +[A[66C[1;31;43mÜ[0;33m²°[35mÞÝ[34;45m°[35;40mÛ[37m [35mÛÛÛÜÛ +[A[79C[1;30;45m°[37;47mÛÛÛÛÛÛÛÝ ÜÜÜÛ²ÛÛÜÜÜ[0mÛÛÛ[1;47mßÛ[0m +[A[27C[1;35;45m±[0;35mÝ Û [37m [1mÞÝ[31m [0;33mÛ[1;31;43m²[40mÛ +[A[40CÛÜ[0;31m ß° Ü°[33mß[31mß[1mÜÜÛÛÛÛÛÛÛ[0;33mß[35mÞÝ[33mÞ +[A[64C[1;31mÛÛ[43m²²[0;33mÝ[37m [35mÛ[37m [34;45m°°[35;40mÜÛ +[A[76C[1;45m°[0;35mÛ[1;30;45m°[40m +[A[79C[45m±[37;47mÛÛÛÛÛÛÛÜÛÛÛÛÛÛÛÛÛÛÛÛÛÛÜ[0mÛÛÝ [35mÞ[1;45m°[0;35m +[A[29C ß [1;37mÛÛ[0m [33mß[1;31;43m°ß[40mÛÛÛÛÛÜÜÜÛÛÛÛÛÛÛÛ[43m²[40m +[A[58C[43m[40mß[0;33m Ü[35mß[33mÜ[1;31;43m²[40mÛÛÛÛ[43m²[0m +[A[71C[35mÛÜßÛ[1;45m°±°[0;35mß +[A[79C[1;30;45m°[37;47mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÝ°[0mÛ [35mÛ[37m +[A[31C[1mÛÜ[0m [1mÞÛÝ[0m [1mÞÜ[0m [33mßÛ[1;31;43mßß[40mÛÛÜÜÜÛÛ +[A[52C[43mÛÛ²²[40mß[0m [33mÜ[1;31;43mܲ²[40mÛ[43mÛÛ[47m²[43mÛÛ[40m +[A[69C[43m[40mÝ[0m [35mßÛÛÛ[1;45m°[0;35mÛÛ +[A[79C[1;45m°[37;47mÛÛ²Û²ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛܲ[40mÝ[0m [35mÞÝ[37m +[A[31C[1mÞÛÛÜÛÛ[0m [1mÛÛÛÜ[0m [33mßßß[1;31;43m°ßßßß[0;33mßß +[A[54C[1;31mß[0m [33mÜ[1;31;43m°²ÛÛÛÛÛ[47m²²²[40mÛÛ[4C[0;35mÛÛß +[A[77CÛÛ +[A[79C[1;30;45m°[37;47mÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ[40mÛÛÜ[0m [35mß +[A[30C[37m [1mÛÛÛÛÛÛÜÛÛÛÝ[0m [3C[33mÜÜ[1;31;43mÜܲÛÛ[40mÛ +[A[62CÛÛÛÛ[47m²²[40mÛÛÝ[3C[0;35mÞ[34;45m°[35;40mÛ [1;30;45m°[40m +[A[79C[45m°[46C[0;33m°[37m [33m°²[1;31;43m°°²[40mÛÛÛÛÛÛÛÛÛÛÛÛÛ +[A[69CÛÛÜ[0m [34;45m°°[1;35m°[30m°°[40m +[A[79C[45m±[40mßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß ßß +`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[4C[0mÜÛÜ ÛÜ[1mß Üß [0mß[1mÛÛÛ[0mÜÛ[1mÛÛ[0mÜÛÛÜÜ [33mÜ[1;37mÜ + [0mÜÜÜÛß [1mÜ [0mÛß[5C[33mÜÜÜÜÜ[37mßßÛÛÛß[33mß [1;37mÛ + [0mÛßÜÛ Û[1mÜÛ[8C[0;33mÜßß[5Cßß [37mß[33mÞß [37mß + ÛÜÜ [1mÛß[21C[0;33mßÛÝ + [37mÛÛ[1mß[9C[0;33mßÜ[9C[1;37mþ[0;36mß [33mßÛÛ[9C[1;37mTurgon +[A[49Cis a bearded old man [0m- [1myou + [0mÛ ÛÜ [33mÛÛßß ßÛÜ ÜÜ [36mÜ[1mß [0;33mÜÛ ÛÛ[8C[1;37msee mu +[A[48Cch wisdom in his eyes [0m- [1mbut + [0mÜßÛ[1mÛÛ [0;33mÛ ÛßßßßÜÛÛÛßÛÛÜÛÛÛÛ ÛÛÛÛÜ[6C[1;37malso there is +[A[56Csadness. + [0mÛÛ ßÜ [33mßÛÛÛßÛÛÛßßÛÜÛÛßÛÛÛÛÛÛÛÛÝ + [37mÛÜÛÜÜßÛ [1mÛ[5C[0;33mÛ ÛÛß ÛÛÛÛß ÜÛÛÛÛÛÛÛÛ +[37mßÜÛÜÛ [1mÛÜ[7C[0;33mßÜÛÛÛÜÜß ßÜÛß ßßÛÛÛ[46mÜ[1;36;43mÜ[40m +[0mÛ[1mÜ ß[0mÛÜ ÛÛ[8C[33mßÜÛÛÛßÛÜ [1;37mÜ[0mÜ Û[1;36mß[0;33mß + [37mÛÜ [1mÛ[0mÛÛ [1mÜ[7C[0;33mÜ Ûß [1;37mÜ Ü[0mÛÛ[1mÛ[0mÛ[1mÝ +[A[32CÛ + Ü[0mÛ Üß ÛÜ[1mßÜ [0;33mÜÜß[37mÜÛÛÜ[1mß [0;33mÜÜÜÛßÛ + [37mÜÛ[1mß ß [0mÛ[1mÛÜ[0mÜß[1mÜ [0;33mÛ [37mÛÛ ß[8C[33mÜ +[37mÛ[1mÛß [0mÜ[1mÛß[0mÜÜ[1mÜß[0mÜÜ[1mÛ [0;33mÛÛÝ[37mÛÜ Û [33m +[A[26CßßÛÛÛÛß +[1;30mú [37mß ß [0mÛÛ[1mÜß[0mÛß[1mÛÜß [0;33mÛÝ[37mß [1mÛ[0mÛÛÛÛÜ +[A[28CÜ[1mÜÜÜÛ[0mÜ +ßÜ[1mÛ [0mß [1mÛ[0mßÜÛÜÛ[1mÜß[0mÜ [33mÛÜ[37mßÜ[1mß[0mÛÛÛÛÛ[1mÛ +[A[30C[0mÛÛ[1mÛß +[0m +`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