diff --git a/xtrn/lord/gravyard/gravyard.gra b/xtrn/lord/gravyard/gravyard.gra
new file mode 100644
index 0000000000000000000000000000000000000000..9e21c0279ebb84e52ddf822dba926f6bb6ab1270
--- /dev/null
+++ b/xtrn/lord/gravyard/gravyard.gra
@@ -0,0 +1,238 @@
+@#MAIN
+
+  `5.�`#��`2[`0The Graveyard`2]`#��`5�.
+       
+`2    As you enter the Graveyard, you can smell the overpowering scent
+`2  of rotting flesh. `0"Ahh nothing like the smell of rotting flesh 
+`2  `0in the morning" `2you say jokingly.  But for some reason you feel 
+`2  a little uneasy.
+`2    There are graves as far as the eye can see.  You see a shack
+`2  a little ways away. You also notice a `$Lemon-Aide Stand`2!?
+`2    A Grave Digger looks up as you enter.
+
+        `5�`2[`0e`2]`5� `2Enter Shack
+        `5�`2[`0t`2]`5� `2Talk to Grave Digger
+        `5�`2[`0g`2]`5� `2Search the Newly Dug Gave
+        `5�`2[`0s`2]`5� `2Check Out the Stand!
+        `5�`2[`0l`2]`5� `2Flee In Terror!!!!
+
+@#DIGGER
+                                      
+  `5.�`#��`2[`0The Grave Digger`2]`#��`5�.
+
+`2    You walk up to this dirty scarred man. Even though his outer
+`2  appearance is revolting, you can tell he has a warm heart by his
+`2  friendly smile.`0 "E'ye don't get many a visitor down here, what can
+`0  I do you for?"`2 he asks. What should you talk about???
+
+        `5�`2[`0w`2]`5� `2Who's The Lucky Person?
+        `5�`2[`0g`2]`5� `2Ghosts.
+        `5�`2[`0t`2]`5� `2Treasure.
+        `5�`2[`0h`2]`5� `2Old Hag.
+        `5�`2[`0l`2]`5� `2That's All For Now.
+
+@#SHACK
+
+  `5.�`#��`2[`0In The Shack`2]`#��`5�.
+
+`2    Upon entering the shack you are surprised to see another. But this
+`2  Hag's looks surprise you more! Not since Grizilda the Hun have you
+`2  ever seen such a beastly looking woman. She greets you by saying
+`0  "Hi! I'm Helga! Who are you?"`2.  The stench of garlic is overpowering.
+
+        `5�`2[`0a`2]`5� `2Ask Hag To Make You A Potion.
+        `5�`2[`0p`2]`5� `2Play A Game With The Hag.       
+        `5�`2[`0l`2]`5� `2Leave Before You Pass Out.
+
+@#LEMON
+
+  `5.�`#��`2[`0Ye Olde Lemon-Aide Stand`2]`#��`5�.
+
+`2    You wander over to what seems to ba a Lemon-Aide Stand, and to
+`2  your suprise, That's what it is! You wonder what the heck a Lemon-Aide
+`2  Stand could be doing in the middle of a graveyard, `0"Hmmm I wonder 
+`0  how much corpses drink!", `2you think to yourself. You stop yourself
+`2  From Laughing though as not to hurt the man's feelings.
+
+        `5�`2[`0b`2]`5� `2Buy Some Lemon-Aide.
+        `5�`2[`0t`2]`5� `2Talk To The Juice Seller.
+        `5�`2[`0l`2]`5� `2Get Out before You Pass Out.
+
+@#AIDETALK
+
+  `5.�`#��`2[`0Talking To The Juice Seller`2]`#��`5�.
+
+     `0"Who the hell buys yer Juice???? This is a graveyard dead people are
+   `0buried here if you didn't already know!!"`2, you scream into the
+   `2Mans face. `0"I know that!!!! What do you think I am Stupid???"`2, says
+   `2the Man in rebuttle. I make it fer the Ghosts here!!!"`2. `0"Ghosts??? Of 
+   `0who???"`2, you ask. `0"Well There is George Price, The Ex-Towne Banker.
+   `0Tanya Travis, an Ex umm well....Whore!  Mike The Knife, an Ex-Towne Pimp!
+   `0And of course Jim Bob Jones, The best Warrior there ever was."
+
+   `0  "Damn there are so many.....Where do I find them all???"`2, you ask.
+   `0"You find Ghosts the same way you go places, if you know what I mean
+   `0You just need to know where they hang out!
+
+@#BUYAIDE
+
+  `5.�`#��`2[`0Buying Some Lemon Aide`2]`#��`5�.
+
+    `2You look at the Lemon-Aide the Juice-Seller is pushing on you, and
+  `2say, `0"What the hell is in that stuff???? It almost looks green!?"
+  `2The Juice-Seller says, `0"Well it's `$Lemon-Aide`0! Duh. Why else would
+  `0I be at a Lemon-Aide stand!? Well that greenish tinge is from the special
+  `0ingredient I add......It has some weird effects, but the ghosts seem to
+  `0like it."
+
+@#GEORGEMENU
+
+  `5.�`#��`2[`%Ghostly Event`2]`#��`5�.
+
+  `2  George just smiles and says, `0"Is there anything I can do for you?
+  `0I'd be glad to help a young adventurer like yourself!" `2You wonder
+  `2why this ghost is so nice, but also why he can talk!?
+
+          `5�`2[`0a`2]`5� `2Ask for a little help.
+          `5�`2[`0t`2]`5� `2Talk to this Ghost.
+          `5�`2[`0l`2]`5� `2Leave this Ghost to his Hauntings.
+
+@#FOUNDGEORGE
+
+  `2  You decide to look for the fabled ghost of the recently deaceaced
+  `2town banker, George Sharp. `0"He'll be able to help me", `2you
+  `2assure yourself still uneasy about the idea of ghosts.
+  
+  `2  You approach this transparent figure carefully as not to scare him.
+  `2As if he knew you were behind him he turns around and glides over.
+  `2you see a faint smile on his face.
+
+  `% **** `0YOU FOUND GEORGE THE GHOST!!!!! `%****
+
+@#FLIRTTANYA
+
+  `2  You begin to flirt with Tanya. You use all your worst pick-up lines,
+  `2well you think they're good, but no one else does. `0"So what's a ghoul like
+  `0you doing in a place like this?"`2, even after that winner of a line
+  `2Tanya still seems uninterested...
+  
+  `0  "If you want to get to know me, why don't you just say so!?"`2, asks Tanya
+  `2rather bluntly. You just smile....you emerge some time later a satisfied
+  `2man.
+
+  `%YOU SPENT THE NIGHT WITH TANYA THE GHOST!!!
+
+@#FOUNDTANYA
+
+  `2  After hearing stories of the ex-Lady of the Night, Tanya Travis,
+  `2you decide to look for her. Thinking this as good a place as any
+  `2you begin to look around.
+  
+  `0You find TANYA!!!!
+
+  `2  You approach this transparent figure carefully as not to scare her.
+  `2Even in death she hasn't lost her figure! You smile at her and she
+  `2floats towards you. 
+  
+  `% **** `0YOU FOUND TANYA THE GHOST!!!!! `%****
+
+@#TANYAMENU
+
+  `5.�`#��`2[`%Ghostly Event`2]`#��`5�.
+
+  `2  Tanya just looks at you and says, `0"I know there is something *I* can
+  `0DO for you. Just ask, your wish is my command...", `2You wonder why this
+  `2ghost is so nice, But after remembering her late profession you realize 
+  `2that her niceness is probably just a habit by now.
+
+          `5�`2[`0a`2]`5� `2Ask For A Little Help.
+          `5�`2[`0t`2]`5� `2Talk To This Ghost.
+          `5�`2[`0f`2]`5� `2Flirt with Tanya.
+          `5�`2[`0l`2]`5� `2Leave This Ghost to her Hauntings.
+
+@#TANYATALK
+
+  `0  "Wow!! I'm not used to guys wanting to talk to me!!! You really
+  `0are different now aren't you!?" `2purrs Tanya.
+
+  `0  "Well I can tell you this, Finding Jim is purely random. I'm not
+  `0sure where he likes to hang out, but well maybe you do? Also, I hear
+  `0that George likes to hang out around the graves. Maybe you should look
+  `0for him there. Gee this feels wierd, I'm not used to talking with
+  `0people." 
+  
+  `2You can't help but feel a little sad for this old Ghost.
+
+@#TANYAPOTION
+
+  `2  You ask Tanya for a little help. `0"That's all you want; help???
+  `0Well I guess I can help you, but what a strange guy you are!"`2, she
+  `2says confused.
+
+  `2  Tanya pulls out a potion and gives it to you. `0"Here I don't need this
+  `0anymore. It's really no use to someone who has passed on."`2, she grins.
+
+  `%YOU GOT A POTION FROM TANYA!!!!
+  
+@#FLIRTMIKE
+
+  `2  You begin to flirt shyly with Mike. You bat your eyelashes and bite
+  `2your lips seductivly. Mike just looks at you and smiles. `0"You don't
+  `0have to be so coy with me. Come here baby! Papa will show you some fun!"
+  `2After an hour of fun you emerge satisfied...
+
+  `0"I never knew Ghosts could do *THAT*!"`2, you think to yourself.
+
+  `%YOU SPENT THE NIGHT WITH MIKE THE GHOST!!!!
+
+@#FOUNDMIKE
+
+  `2  After hearing stories of the legendary Gigalo, Mike the Knife, and his 
+  `2BODY, you decide to look for him. Thinking this as good a place as any
+  `2you begin to look around.
+  
+  `0You found MIKE!!!!
+
+  `2  You approach this transparent figure carefully as not to scare him.
+  `2But after looking at him, could you really scare a tough guy like this!?
+
+  `% **** `0YOU FOUND MIKE THE GHOST!!!!! `%****
+
+@#MIKEMENU
+
+  `5.�`#��`2[`%Ghostly Event`2]`#��`5�.
+
+  `2  Mike just looks up at you, smiles, and says, `0"Hey baby! Come over here
+  `0and let Papa make it all better.", `2You wonder how even in the afterlife
+  `2a guy could be such a pig. You shrug it off, that's just the way he is.
+  `2  Mike continues to watch you while flipping his coin in the air. 
+
+          `5�`2[`0a`2]`5� `2Ask For A Little Help.
+          `5�`2[`0t`2]`5� `2Talk To This Ghost.
+          `5�`2[`0f`2]`5� `2Flirt with this Ghostly Pimp.
+          `5�`2[`0l`2]`5� `2Leave This Ghost to his Coin Flipping.
+
+@#MIKEASK
+
+  `0  "Hey babe, you and I know that you aren't the best looking thing
+  `0in this world of ours. Luckily, I did study plastic surgery when I
+  `0went to The DragonVille Collegiate, maybe I can help?"
+
+  `2  You agree, and lay down on the ground. `0"Ok I'll give you a little
+  `0of this Dragon's spit, should put you right out!"`2, the room slowly
+  `2fades to black.
+
+  `2When you awake you notice that you have gotten `%Prettier!
+  
+  `%YOU'VE GAINED 2 CHARM!!!!
+
+@#TALKMIKE
+
+  `0"Wow, what can I say 'cept that Papa can make you REAL happy!"`2, he smiles.
+
+  `0  "Well I can tell you this, Finding Jim is purely random. I'm not
+  `0sure where he likes to hang out, but well maybe you do??? Also,
+  `0George likes to hang out around the graves. Maybe you should look for
+  `0him there. But why would you want the others when you can have me!
+
+@#
diff --git a/xtrn/lord/gravyard/gravyard.js b/xtrn/lord/gravyard/gravyard.js
new file mode 100644
index 0000000000000000000000000000000000000000..08f6651d4684ec9fe618ff39d3d121974b8c8b37
--- /dev/null
+++ b/xtrn/lord/gravyard/gravyard.js
@@ -0,0 +1,1771 @@
+'use strict';
+/* 	
+	The Warrior's Graveyard
+	Javascript version for JSLord (LoRD v5)
+	(c) 2023 Lloyd Hannesson - dasme@dasme.org
+*/
+var graName = 'The Warrior\'s Graveyard';
+var graNameFancy = ' `$- `%The Warrior\'s Graveyard `$- ';
+var graVersion = 'JS v1.0';
+var graDebug = false;
+var menu_redisplay = true;
+var menu_file;
+var menu_index = {};
+var graFile;
+var graRecord;
+
+var Graveplots = [
+	{
+		name:'Edward Drake',
+		desc1:'       A good man, who lived a short',
+		desc2:'       life. Died by the hands of the',
+		desc3:'       of the evil Barbarrion Syril.',
+		desc4:'           May He Rest In Peace.',
+		desc5:'',
+		good:true,
+		sex:'M',
+		gold:1024,
+		gems:5
+	},
+	{
+		name:'Sir Thomas of Marks',
+		desc1:'       This Valliant knight, who faught hard',
+		desc2:'       in every battle. Died by arrow from an',
+		desc3:'       archer, while he slept. A tragic loss.',
+		desc4:'           May He Rest In Peace.',
+		desc5:'',
+		good:true,
+		sex:'M',
+		gold:1200,
+		gems:4
+	},	
+ 	{
+		name:'Duke Osgood',
+		desc1:'       A good man, who lived a short life.',
+		desc2:'       Whilst walking through his castle',
+		desc3:'       castle one day, a Battle axe suddenly',
+		desc4:'       fell and split him in two!',
+		desc5:'           May They Rest In Two Places.',
+		good:true,
+		sex:'M',
+		gold:1000,
+		gems:2
+	},
+ 	{
+		name:'Chelsea Cruz',
+		desc1:'       She was a sinner.  She sold her body',
+		desc2:'       for a few measly pieces of gold. She',
+		desc3:'       died from a VD she caught from her goat.',
+		desc4:'           May She Rest In Peace.',
+		desc5:'',
+		good:false,
+		sex:'F',
+		gold:2000,
+		gems:7
+	},
+ 	{
+		name:'Lady Claria',
+		desc1:'       A tragic loss to her family,',
+		desc2:'       and all who knew her. Janet',
+		desc3:'       Claria died giving birth to',
+		desc4:'       her son Marcus.',
+		desc5:'          May She Rest In Peace',
+		good:true,
+		sex:'F',
+		gold:3000,
+		gems:7
+	},
+	{
+		name:'Princess Scarlet',
+		desc1:'       She died a quick death. Sentenced',
+		desc2:'       to beheading after her husband',
+		desc3:'       found her in bed with 3 other men!',
+		desc4:'            May She Rest In Pieces',
+		desc5:'',
+		good:false,
+		sex:'F',
+		gold:4000,
+		gems:2
+	},
+ 	{
+		name:'Baron Vandersquat',
+		desc1:'       Many have praised the death of',
+		desc2:'       this cold hearted landlord. It\'s',
+		desc3:'       not hard to believe that he won\'t',
+		desc4:'       be missed.',
+		desc5:'            May He Rest In Peace',
+		good:false,
+		sex:'M',
+		gold:5000,
+		gems:11
+	},
+ 	{
+		name:'Red, the BlackSmith',
+		desc1:'       Thought of to be the most dedicated',
+		desc2:'       man in town, Red worked long and hard',
+		desc3:'       for 50 years as the town Smith. Red',
+		desc4:'       died of natural causes.',
+		desc5:'           May He Rest In Peace',
+		good:true,
+		sex:'F',
+		gold:1024,
+		gems:4
+	},
+ 	{
+		name:'Joe The Town Leper',
+		desc1:'       Died after he was beaten by the',
+		desc2:'       town drunk. He kind of crumbled.',
+		desc3:'             May He Rest In Chunks.',
+		desc4:'',
+		desc5:'',
+		good:true,
+		sex:'M',
+		gold:1500,
+		gems:8
+	},
+ 	{
+		name:'Cliff The Town Drunk',
+		desc1:'       Died from leprosy. Caught it from Joe',
+		desc2:'       the Town Leper. Sadly, he also crumbled.',
+		desc3:'             May He Rest In Chunks',
+		desc4:'',
+		desc5:'',
+		good:false,
+		sex:'M',
+		gold:480,
+		gems:2
+	},
+ 	{
+		name:'Glyn, The Royal Hog Farmer',
+		desc1:'       He lived a happy life, killing pigs here,',
+		desc2:'       killing pigs there, here, there, E-I-E-I-O!',
+		desc3:'       Sadly he died when his pigs stampeded.',
+		desc4:'                  May He Rest Flat',
+		desc5:'            He always did like pancakes.',
+		good:true,
+		sex:'M',
+		gold:2024,
+		gems:5
+	},
+ 	{
+		name:'Mike Fergiono a.k.a. Bandit. [`@Donated!`%]',
+		desc1:'      He lived a rich life, but by his name',
+		desc2:'      it makes you wonder how it was achieved!',
+		desc3:'      He stole from the rich and gave to the',
+		desc4:'      poor [`@Sysops!?`%].',
+		desc5:'            May He Rest In Peace',
+		good:true,
+		sex:'M',
+		gold:2040,
+		gems:8
+	},
+ 	{
+		name:'Bennie Hutto',
+		desc1:'      A king among men. It\'s a shame to see',
+		desc2:'      him go. But the tales of the things he',
+		desc3:'      did [`@Beta Test!?`%] will live on for ever.',
+		desc4:'      You can find and talk to his ghostly spirt',
+		desc5:'               The Wall BBS.',
+		good:true,
+		sex:'M',
+		gold:1745,
+		gems:6
+	}	
+]	
+	
+var Graveyard_Defs = [
+	{
+		prop:'lrdrecord',
+		name:'Lord Player Record #',
+		type:'SignedInteger',
+		def:-1
+	},
+	{
+		prop:'day',
+		name:'Lord Day last played.',
+		type:'Integer',
+		def:123456
+	},
+	{
+		prop:'potioned',
+		name:'Drank a Potion',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'flirted',
+		name:'Flirted Today (Mike or Tanya)',
+		type:'Boolean',
+		def:false
+	},	
+	{
+		prop:'graverobbed',
+		name:'Grave Robbed Today',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'lemonaide',
+		name:'Drank Lemon-Aide Today',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'ghost',
+		name:'Visited one of the 2 special ghosts?',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'seenjim',
+		name:'Seen Jim Bob Jones',
+		type:'Boolean',
+		def:false
+	},	
+	{
+		prop:'kitten',
+		name:'Found the Kitten Today',
+		type:'Boolean',
+		def:false
+	},
+	{
+		prop:'gamed',
+		name:'Played a Game of Chance Today',
+		type:'Boolean',
+		def:false
+	}
+];
+
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+/*	Utility Functions                                                                   */ 
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+
+function exit_game() {
+	sclrscr();
+  	lln('`2Thanks for playing`% '+graName+' `0'+graVersion);
+  	lw('`2Now returning to Other Places');
+	for (i = 0; i < 5; i++) {
+		mswait(300);
+		lw('`4.');
+	}
+	//Catch any unsaved record changes and close out all open files.
+	graFile.put();
+	player.put();
+	graFile.close();
+	menu_file.close();	
+}
+
+function build_menu_index() {
+	// Ripped from lord.js -- better than rolling my own. 
+	// Would be great for the internal functions to support passing a 3rd party file
+	// for use in IGMs.
+
+	var l;
+
+	menu_file = new File(js.exec_dir+'gravyard.gra');
+	if (!menu_file.open('r')) {
+		sln('Unable to open '+menu_file.name+'!');
+		exit(1);
+	}
+
+	while (true) {
+		l = menu_file.readln();
+		if (l === null) {
+			break;
+		}
+		if (l.substr(0,2) === '@#') {
+			menu_index[l.substr(2)] = menu_file.position;
+		}
+	}
+}
+
+function display_menu(fname, more) {
+	// Ripped from lord.js -- better than rolling my own. 
+	// Would be great for the internal functions to support passing a 3rd party file
+	// for use in IGMs.
+	
+	var ln;
+	var mc = morechk;
+
+	sclrscr();
+	
+	if (more === undefined) {
+		more = false;
+	}
+
+	if (menu_index[fname] === undefined) {
+		return;
+	}
+	menu_file.position = menu_index[fname];
+
+	if (!more) {
+		morechk = false;
+	}
+	while(true) {
+		ln = menu_file.readln(65535);
+		if (ln === null) {
+			break;
+		}
+		if (ln.search(/^@#/) === 0) {
+			break;
+		}
+		lln(ln);
+	}
+	morechk = mc;
+	curlinenum = 1;
+}
+
+function command_prompt(currentPlace,menu_keys) {
+	var ch;
+
+	sln('');
+	lln('  `#[`5'+currentPlace+'`#]  `2(? for menu)');
+	lw('`2  Your command, `0'+player.name+'`2 : ');
+	
+	do {
+		ch = getkey().toUpperCase();
+	}while (menu_keys.indexOf(ch) === -1);
+	
+	lw('`2'+ch);
+	return(ch);
+}
+
+function press_a_key(no_clear) {
+	var ch;
+	lw('  `2<`0MORE`2>');	
+	ch = getkey();
+	if(no_clear) {
+		dk.console.print('\r');
+		dk.console.cleareol();
+	} else {
+		sclrscr();
+	}
+}
+
+function are_you_sure() {
+	var ch;
+	
+	sln('');
+	lw('  `2Really QUIT? [`0Y`2/`0N`2]  ');
+	ch = getkey().toUpperCase();
+	if(ch === 'Y') {
+		return(true);
+	}
+	sln('');
+	return(false);
+}
+
+// Adding in some functions to match the old door driver I used..
+function CharmCheck(Charm) {
+	player.cha = player.cha + parseInt(Charm);
+	if (player.cha > 32000) {
+		player.cha = 32000;
+	}
+	if (player.cha < 0) {
+		player.cha = 0;
+	}	
+}
+
+function GemCheck(Gems) {
+	player.gem = player.gem + parseInt(Gems);
+	if (player.gem > 32000) {
+		player.gem = 32000;
+	}
+	if (player.gem < 0) {
+		player.gem = 0;
+	}	
+}
+
+function GoldCheck(Gold) {
+	player.gold = player.gold + parseInt(Gold,10);
+	if (player.gold > 2000000000) {
+		player.gold = 2000000000;
+	}
+	if (player.gold < 0) {
+		player.gold = 0;
+	}
+}
+
+function DefCheck(Def) {
+	player.def = player.def + parseInt(Def);
+	if (player.def > 32000) {
+		player.def = 32000;
+	}
+	if (player.def < 0) {
+		player.def = 0;
+	}
+}
+
+function StrCheck(Str) {
+	player.str = player.str + parseInt(Str);
+	if (player.str > 32000) {
+		player.str = 32000;
+	}
+	if (player.str < 0) {
+		player.str = 0;
+	}	
+}
+
+function ForestCheck(Forest) {
+	player.forest_fights = player.forest_fights + parseInt(Forest);	
+	if (player.forest_fights > 32000) {
+		player.forest_fights = 32000;	
+	}
+	if (player.forest_fights < 0) {
+		player.forest_fights = 0;
+	}
+}
+
+function ExpCheck(Exp) {
+	player.exp = player.exp + parseInt(Exp,10);	
+	if (player.exp > 2000000000) {
+		player.exp = 2000000000;
+	}
+	if (player.exp < 1) {
+		player.exp = 1;
+	}
+}
+
+function HitMaxCheck(HitMax) {
+	player.hp_max = player.hp_max + parseInt(HitMax);
+	if (player.hp_max > 32000) {
+		player.hp_max = 32000;
+	}
+}	
+
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+/*	Other Functions                                                                     */
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+
+function doRandomStuff() {
+	var num;
+
+	num=random(100);
+	if (num==1 && graRecord.seenjim == false) {
+		// Write this out to the lord player log
+		log_line('`0  Jim Bob Jones `2visited `%'+player.name+' `2today in `5The Warrior\'s Graveyard!');
+		graJimBob();
+		graRecord.seenjim = true;
+		graRecord.put();
+		menu_redisplay=true;
+	}
+}
+
+function graIntro() {
+	//	Last version (gra1_8.zip) was released in 2002... it's been a while...
+	lln('`%'+graName+' - Ver '+graVersion);
+	sln('');
+	lln('`2An IGM for LORD by `0SETH ABLE ROBINSON');
+	lln('`2Thanks to Stephen Hurd (Deuce) and other contributors');
+	lln('`2for porting LORD to JS!');
+	sln('');
+	lln('`2JS Version is based on The Warrior\'s Graveyard v1.8 (2002)');
+	sln('');
+	lln('`2Written By `%Lloyd Hannesson');
+	lln('`2Email me for support/bug reports: `%dasme@dasme.org');
+	sln('');
+	lln('`4Copyright (c) 1995-2023 - Lloyd Hannesson');
+	sln('');
+	press_a_key();
+}
+
+function graMaint() {
+	graRecord.day = state.days;
+	graRecord.potioned = false;
+	graRecord.flirted = false;
+	graRecord.graverobbed = false;
+	graRecord.lemonaide = false;
+	graRecord.ghost = false;
+	graRecord.seenjim = false;
+	graRecord.kitten = false;
+	graRecord.gamed = false;
+	graRecord.put();	
+}
+
+function graInitialize() {
+	var i;
+	var recordFound=false;
+
+	graFile = new RecordFile(js.exec_dir+'gravyard.dat', Graveyard_Defs);
+	js.on_exit('graFile.locks.forEach(function(x) {graFile.unLock(x); graFile.file.close()});');
+
+	if (graFile.length < 1) {
+		graRecord = graFile.new();
+		graRecord.lrdrecord = player.Record;
+		graRecord.day = state.days;
+		graRecord.put();		
+	} else {
+		
+		/*
+		We will have to iterate through all of the records. If we can't match the
+		LoRD record ID, we'll have to create a new record. 
+		*/
+		for (i = 0; i < graFile.length; i++) {
+			graRecord=graFile.get(i);
+			if(graRecord.lrdrecord == player.Record) { 
+				recordFound=true;
+				break; 
+			}
+		}
+
+		// If we didn't find our record, we'll have to add one here.
+		if(!recordFound){
+			graRecord = graFile.new();
+			graRecord.lrdrecord = player.Record;
+			graRecord.day = state.days;
+			graRecord.put();		
+		}
+		
+		// If we do have a record and it's a new day, reset all of the booleans. 
+		if(graRecord.day != state.days){
+			graMaint();
+		}
+	}
+
+}
+
+function graPlayGame() {
+	var ch;
+	var menu_keys;
+	var bet;
+	var gold;
+	var rand;
+	var tempStr;
+	
+	if(player.gold <= 0) {
+		sln('');
+		lln('`2  Wait, you don\'t have any money on you! Come back when you are less poor.');
+		press_a_key();
+	} else {
+		sclrscr();
+		sln('');
+		lln('  `5.�`#��`2[`0Game of Chance`2]`#��`5�.');
+		sln('');
+		lln('  `0"Let\'s play a game!" `2you say to the Old Hag. She thinks for a second');
+		lln('  `2and then agrees to play a game. I have four marbles in this bag, 2 are');
+		lln('  `0GREEN`2, and 2 are `9BLUE`2. What you hafta do is pull out 2 marbles one at');
+		lln('  `2a time. The order and the colors you pull them determine if you win or lose!');
+		sln('');
+		lln('  `2   Here are the different combinations and their prize values: ');
+		lln('                  `9Blue  `2and `9Blue  `4: LOSE ALL YOUR BET.');
+		lln('                  `9Blue  `2and `0Green `4: LOSE HALF YOUR BET.');
+		lln('                  `0Green `2and `9Blue  `%: WIN YOUR BET BACK.');
+		lln('                  `0Green `2and `0Green `%: DOUBLE YOUR BET.');
+		sln('');
+
+		
+
+		lw('  `2Do you want to play? [`0Y`2/`0N`2]  ');
+
+		menu_keys = ['Y','N'];
+		do {
+			ch = getkey().toUpperCase();
+		}while (menu_keys.indexOf(ch) === -1);
+
+		lw('`2'+ch);
+		sln('');
+		sln('');
+		
+		switch (ch) {
+			case 'N':
+				sln('');
+				lln('`2  "Huh. Well thanks for wastin\' my time!" shouts the Hag as she');
+				lln('  returns to her book...');
+				sln('');
+				press_a_key();
+				break;
+			case 'Y':
+
+				graRecord.gamed = true;
+				graRecord.put();
+
+				gold = (player.gold > 1000000)? 1000000 : player.gold;
+				
+				lw('`2  You have a total of '+pretty_int(player.gold)+' gold to wager');
+				if(player.gold > 1000000){
+					lln(' but you can only risk');
+					lln('   a max of 1,000,000 coins.');
+				}
+				sln('');
+				lln('  `2Please enter your wager. (A number between 1 and '+pretty_int(gold)+')');
+				lw('  `2: ');
+
+	//                x, y, length, foreground, background, default value, options, 
+	//function getstr(x, y, len, c, c1, str, mode)
+				bet = getstr(0, 0, 53, 1, 15, '', {integer:true, min:1, max:gold});
+				if(bet == '') { bet =1; }
+				sln('');
+				sln('');
+				lln('`2  Alright, well your wager of '+pretty_int(bet)+' gold is on the line!');
+				
+				rand = random(4);
+				sln('');
+
+				switch (rand) {
+					case 0:
+						// lose your full bet
+						lln('  `2You plunge your hand in and pull out a `9BLUE `2marble.');
+						mswait(800);
+						lln('  `2Your second pick is a `9BLUE `2marble.');
+						mswait(800);
+						sln('');
+						lln('  `0"Awwww darn! You lost all of your bet! I\'m *so* sorry." `2laughs the Hag.');
+						lln('  `4YOU LOST '+pretty_int(bet)+' GOLD!');
+						sln('');
+						lln('`2  You can hear the Hag laughing to herself as she counts the coins.');
+						sln('');
+						GoldCheck(-bet);
+						player.put();					
+						break;
+					case 1:
+						// lose half your bet
+						bet=Math.round(bet/2);
+						lln('  `2You plunge your hand in and pull out a `9BLUE `2marble.');
+						mswait(800);
+						lln('  `2Your second pick is a `0GREEN `2marble.');
+						mswait(800);
+						sln('');
+						lln('  `2You lost half of your bet. `0"Better luck next time!" `2laughs the Hag.');
+						lln('  `4YOU LOST '+pretty_int(bet)+' GOLD!');
+						sln('');
+						GoldCheck(-bet);
+						player.put();
+						break;				
+					case 2:
+						//win your bet back
+						lln('  `2You plunge your hand in and pull out a `0GREEN `2marble.');
+						mswait(800);
+						lln('  `2Your second pick is a `9BLUE `2marble.');
+						mswait(800);
+						sln('');
+						lln('  `0"Dangnabit! You win all of your bet back!" `2whines the Hag.');
+						sln('');
+						tempStr = center('  `%YOU WON '+pretty_int(bet)+' GOLD!');
+						lln('`%'+tempStr);
+						sln('');
+						GoldCheck(bet);
+						player.put();
+						break;				
+					case 3:
+						//double gold back
+						bet = bet*2;
+						lln('  `2You plunge your hand in and pull out a `0GREEN `2marble.');
+						mswait(800);
+						lln('  `2Your second pick is a `0GREEN `2marble.');
+						mswait(800);
+						sln('');
+						lln('  `0"DAMN YOU!" `2screams the Hag in anger, `0"You took my lunch money from me!"');
+						sln('');
+						tempStr = center('YOU WON DOUBLE YOUR BET BACK! YOU WON '+pretty_int(bet)+' GOLD!');
+						lln('`%'+tempStr);
+						sln('');			
+						lln('`2  You place your winnings into your pockets and thank the Hag for funding your');
+						lln('`2  night at the tavern!');
+						sln('');
+						GoldCheck(bet);
+						player.put();
+				}
+				
+			press_a_key();
+		}
+	}	
+
+}
+
+function graFlirtMike() {
+	log_line('`%  '+player.name+' `2spent the night with `!Mike The Ghost!');
+
+	player.laid += 1;
+
+	display_menu('FLIRTMIKE');
+	press_a_key();
+}
+
+function graFlirtTanya() {
+	log_line('`%  '+player.name+' `2spent the night with `#Tanya The Ghost!');
+
+	player.laid += 1;
+
+	display_menu('FLIRTTANYA');
+	press_a_key();
+}
+
+function graBuyAide() {
+	var ch;
+	var menu_keys;
+	var rand;
+	var tempStr;
+	var price;
+	var gold;
+
+	// Level less than 4 $1000 else $10000
+	price = (player.level <= 4) ? 1000 : 10000;
+
+	sclrscr();
+	sln('');
+	lln('  `5.�`#��`2[`0Buying Some Lemon Aide`2]`#��`5�.');
+	sln('');
+	lln('    `2You look at the Lemon-Aide that the Juice-Seller is pushing on you and');
+	lln('  `2ask, `0"What the hell is in that stuff? It almost looks green!?"');
+	lln('  `2The Juice-Seller says, `0"Well it\'s `$Lemon-Aide`0! Duh. Why else would');
+	lln('  `0I be at a Lemon-Aide stand!? That greenish tinge is from the special');
+	lln('  `0ingredient I add... It has some weird effects, but the ghosts seem to');
+	lln('  `0like it."');
+	sln('');
+	lw('  `2  Do you want to try the `$Lemon-Aide`2? It\'s only '+price+' Gold! [`0Y`2/`0N`2]  ');
+	
+	menu_keys = ['Y','N'];
+	do {
+		ch = getkey().toUpperCase();
+	}while (menu_keys.indexOf(ch) === -1);
+	
+	lw('`2'+ch);
+	sln('');
+	sln('');
+	
+	switch (ch) {
+		case 'N':
+			lln('`0    "Well fine then. That just means more for my transparent friends!"');
+			lln('`2  barks the Juice-Seller.');
+			sln('');
+			break;
+		case 'Y':
+			gold = player.gold;
+			
+			if(gold >= price) {
+			
+				GoldCheck(-price); // pay for the juice...
+
+				lln('  `2You take the sweet smelling `$Lemon-Aide`2, and swallow it in 1 gulp.');
+				sln('');
+				lln('  `2You start to feel weird and notice that.......');
+				sln('');
+				press_a_key(1);
+
+				rand=random(4);
+				switch (rand) {
+					case 0:
+						lln('  `2You feel like you\'ve been fully healed!');
+						sln('');
+						lln('  `%YOUR HIT POINTS ARE MAXED OUT!');
+						sln('');
+						player.hp = player.hp_max;
+						player.put();
+						break;
+					case 1:
+						lln('  `2You feel vigorous once again! Maybe you could try flirting?');
+						sln('');
+						lln('  `%WHAT COULD THIS MEAN!?');
+						sln('');
+						lln('  `2Oh yeah, I already told you...');
+						sln('');
+						player.seen_violet = false;
+						player.seen_bard = false;
+						player.flirted = false;
+						player.put();
+						graRecord.flirted = false;
+						graRecord.put();
+						break;
+					case 2:
+						lln('  `2You feel like you are slightly glowing! A Fairy flys over and enters');
+						lln('  `2your pocket.');
+						sln('');
+						lln('  `%YOU NOW HAVE A FAIRY!');
+						sln('');
+						player.has_fairy = true;
+						player.put();
+						break;
+					case 3:
+						lln('  `2You feel lucky! You look down by your feet and notice something sticking out ');
+						lln('  `2from under a rock. Upon closer look you see that it\'s a small bag!');
+						lln('  `2You empty it\'s contents into your hand and find...');
+						sln('');
+						lln('  `%YOU FOUND `65 `%GEMS!');
+						sln('');
+						GemCheck(5);
+						player.put();
+				}
+				graRecord.lemonaide = true;
+				graRecord.put();
+			
+			} else {
+				sln('');
+				lln('  `0"Hey! You don\'t have '+price+' gold coins! Thanks for wastin\' my time buddy!"');			
+				sln('');
+			}
+	}
+
+	press_a_key();			
+
+}
+
+function graGetPotion(only_good) {
+	var rand;
+	var num
+	var temp;
+
+	lln('  `2You swallow the thick concoction and......');
+	sln('');
+	num = (only_good == true)? 6 : 12;
+	rand = random(num);
+	
+	switch (rand) {
+		case 0: 
+			lln('  `2You feel somewhat better looking! `%CHARM RAISED BY 2!!!!');
+			CharmCheck(2);
+			break;
+		case 1:
+			lln('  `2You feel somewhat more agile! `%DEFENCE UP BY 2!!!');
+			DefCheck(2);
+			break;
+		case 2:
+			lln('  `2You feel somewhat stronger! `%STRENGTH RAISED BY 2!!!!');
+			StrCheck(2);
+			break;
+		case 3:
+			lln('  `2You feel less tired! `%FOREST FIGHTS UP BY 5!!!');
+			ForestCheck(5);
+			break;
+		case 4:
+			temp=player.level*1024;
+			lln('  `2You feel somewhat wiser! `%EXPERIENCE UP BY '+temp.toString()+'!!!!');
+			ExpCheck(temp);
+			break;
+		case 5:
+			lln('  `2You feel a lot healthier! `%MAX HIT POINTS UP BY 1!!!!');
+			HitMaxCheck(1);
+			break;
+		case 6:
+			lln('  `2You feel the same as before. I guess the stupid potion did nothing.');
+			break;
+		case 7:
+			lln('  `2You feel as though nothing has happened.');
+			break;
+		case 8:
+			lln('  `2You feel as though you died! `4YOUR HIT POINTS ARE WAY DOWN!');
+			player.hp=1;
+			break;
+		case 9:
+			lln('  `2You feel somewhat weaker! `4STRENGTH DOWN BY 2!!!!');
+			StrCheck(-2);
+			break;
+		case 10:
+			lln('  `2You feel somewhat slower! `4DEFENCE DOWN BY 2!!');
+			DefCheck(-2);
+			break;
+		case 11:
+			lln('  `2You feel UGLY! `4CHARM DOWN BY 1!!!!');
+			CharmCheck(-1);
+	}
+	sln('');
+}
+
+function graJimBob() {
+	var menu_keys;
+	var ch;
+	var tempPick;
+	
+	sclrscr();
+	sln('');
+	lln('  `%ULTRA GHASTLY EVENT!!!!!!');
+	lln('`5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ');
+	sln('');
+	lln('  `2Seemingly out of nowhere a Ghost materializes in front of you.');
+	lln('  `0"I am Jim Bob Jones! The Greatest Warrior that ever lived. I see that');
+	lln('  `0you have a lot of potential, and I have decided to help you on your quest."');
+	lln('  `2You stare in awe at this muscular Ghost, still adorned in his armor and');
+	lln('  `2weapon. You wonder what he could do to help you?');
+	sln('');
+	lln('  `0"I am prepared to help you on your quest. What would help you the most?"');
+	sln('');
+	lln('       `2(`0S`2)trength');
+	lln('       `2(`0D`2)efence');
+	lln('       `2(`0E`2)xperience');
+	lln('       `2(`0G`2)ems');
+	lln('       `2(`0C`2)harm');
+	lln('       `2(`0R`2)iches');
+	sln('');
+	lw(' `2Choose Carefully : ');
+	
+	menu_keys = ['S','D','E','G','C','R'];
+	do {
+		ch = getkey().toUpperCase();
+	}while (menu_keys.indexOf(ch) === -1);
+	
+	lw('`2'+ch);
+	sln('');
+	
+	switch (ch) {
+		case 'S':
+			menu_redisplay=true;
+			lln(' `2You ask Jim Bob Jones for some Strength.');
+			lln(' `0"Yes, I can see why you asked, my Grandma could have killed you!!');
+			sln('');
+			tempPick=player.level*5;
+			lw(' `5JIM INCREASED YOUR STRENGTH BY ');
+			lw(tempPick.toString());
+			lln(' !!!');
+			StrCheck(tempPick);
+			break;
+		case 'D':
+			menu_redisplay=true;
+			lln(' `2You ask Jim Bob Jones for some Defence.');
+			lln(' `0"Yah you do look a little soft.');
+			sln('');
+			tempPick=player.level*5;
+			lw(' `5JIM INCREASED YOUR DEFENCE BY ');
+			lw(tempPick.toString());
+			lln(' !!!');
+			DefCheck(tempPick);
+			break;
+		case 'E':
+			menu_redisplay=true;
+			lln(' `2You ask Jim Bob Jones for some Experience.');
+			lln(' `0"Ok I see that you are a little Unexperienced.');
+			sln('');
+			tempPick=player.level*1024;
+			lw(' `5JIM INCREASED YOUR EXPERIENCE BY ');
+			lw(tempPick.toString());
+			lln(' !!!');
+			ExpCheck(tempPick);
+			break;
+		case 'G':
+			menu_redisplay=true;
+			lln(' `2You ask Jim Bob Jones for some Gems.');
+			lln(' `0"Gems eh? Well ok I guess I can spare you a few.');
+			sln('');
+			tempPick=4;
+			lw(' `5JIM GAVE YOU ');
+			lw(tempPick.toString());
+			lln(' GEMS!!!');
+			GemCheck(tempPick);
+			break;
+		case 'C':
+			menu_redisplay=true;
+			lln(' `2You ask Jim Bob Jones for some Charm.');
+			lln(' `0"Yes you are kind of UGLY. I\'ll try.');
+			sln('');
+			tempPick=player.level;
+			lw(' `5JIM INCREASED YOUR CHARM BY ');
+			lw(tempPick.toString());
+			lln(' !!!');
+			CharmCheck(tempPick);
+			break;
+		case 'R':
+			menu_redisplay=true;
+			lln(' `2You ask Jim Bob Jones for some Gold.');
+			lln(' `0"Well, I guess you are a little poor!!');
+			sln('');
+			tempPick=player.level;
+			tempPick=tempPick*5000;
+			lw(' `5JIM GAVE YOU ');
+			lw(tempPick.toString());
+			lln(' GOLD COINS!!!');
+			GoldCheck(tempPick);
+	}
+	
+	sln('');
+	press_a_key();
+	
+}
+
+function graKitten() {
+	
+	var TempInt;
+
+	log_line('`%  '+player.name+' `2has found `0The Kitten `2in `5The Warrior\'s Graveyard!');
+
+	sln('');
+	lln('  `2You hear a scratching sound coming from an old box to your left');
+	lln('  `2and decide to check it out. To your surprise you see a small kitten');
+	lln('  `2licking it\'s paws. You bend down for a closer look and notice that');
+	lln('  `2this isn\'t any normal kitten...');
+	sln('');
+	lln('  `% **** `0YOU FOUND THE KITTEN!!!!! `%****');
+	mswait(600);
+//	press_a_key(1);
+	sln('');
+	lln('  `2The kitten notices your presence and starts purring. The fact that');
+	lln('  `2it is glowing and translucent (as most ghosts are) doesn\'t seem to');
+	lln('  `2bother you as much as it should. It slowly walks over, and you');
+	lln('  `2pick it up.');
+	mswait(600);
+//	press_a_key(1);
+	sln('');
+	lln('  `2It lightly kisses your nose and you notice that...');
+	mswait(600);
+//	press_a_key(1);
+	sln('');
+
+	switch (random(4)) {
+		case 0:
+			TempInt = player.level;
+			lw('  `0You gain '+TempInt.toString()+' Strength!');
+			sln('');
+			StrCheck(TempInt);
+			sln('');			
+			press_a_key();
+			break;
+		case 1:
+			TempInt = player.level;
+			lw('  `0You gain '+TempInt.toString()+' Defence!');
+			sln('');
+			DefCheck(TempInt);
+			sln('');			
+			press_a_key();
+			break;
+		case 2:
+			lw('  `0You gain 1 Charm!');
+			sln('');
+			CharmCheck(1);
+			sln('');			
+			press_a_key();
+			break;
+		case 3:
+			lw('  `0You gain 15 Forest Fights for today!');
+			sln('');
+			ForestCheck(15);
+			sln('');			
+			press_a_key();
+	}
+
+}
+
+function graGraveRob() {
+	var menu_keys;
+	var menu_choice;
+	var ch;
+	var gold;
+	var gems;
+	var pot;
+	var rand;
+	var chance;
+	var limit;
+
+	rand = random(13);
+	sclrscr();
+
+    sln('');
+    lln('`2  Looking upon the Tombstone you read...');
+    sln('');
+    lw('`%       Here lies ');
+
+	lln(''+Graveplots[rand].name);
+	sln('');
+	lln('  '+Graveplots[rand].desc1);
+	lln('  '+Graveplots[rand].desc2);
+	lln('  '+Graveplots[rand].desc3);
+	if(Graveplots[rand].desc4 != '') {
+		lln('  '+Graveplots[rand].desc4);
+	}
+	if(Graveplots[rand].desc5 != '') {
+		lln('  '+Graveplots[rand].desc5);
+	}
+	sln('');
+	lln('`2  You think to yourself, `0"Surely there must be some riches to be found here!"');
+	sln('');
+	
+	pot = random(2); // Is there also a potion in the grave?
+	gold = Graveplots[rand].gold * player.level;
+	gems = Graveplots[rand].gems;
+
+	lw('`2  You dig up the grave of this`0 ');
+	lw((Graveplots[rand].good == true ? "Good" : "Evil"));
+	lw(' ');
+	lw((Graveplots[rand].sex == "M" ? "Man" : "Woman"));
+	lln('`2, and find...');
+	lw('  `0 ');
+	lw(gold.toString());
+	lw('`2 gold, and`0 ');
+	lw(gems.toString());
+	lln('`2 gems.');
+	sln('');
+	lw('  `2Do you want to rob the grave of this ');
+	lw((Graveplots[rand].good == true ? "Good" : "Evil"));
+	lw(' person? `0[`2Y`0/`2N`0]`2 : ');
+	
+	menu_keys = ['Y','N','G'];
+	do {
+		ch = getkey().toUpperCase();
+	}while (menu_keys.indexOf(ch) === -1);
+	
+	lw('`2'+ch);
+	sln('');
+	
+	switch (ch) {
+		case 'N':
+			sln('');
+			lln('  `2You decide to let this corpse keep it\'s valuables...');
+			if(Graveplots[rand].good == true) {
+				sln('');
+				lln('  `0For leaving this grave alone you gain `%1 CHARM!');
+				sln('');
+				CharmCheck(1);	
+				press_a_key();
+			}
+			break;
+		case 'Y':
+			chance=random(100);
+			limit = (Graveplots[rand].good == true) ? 10 : 5; // 5 or 10% chance of failure...
+			if(chance <= limit) {
+				sln('');
+				lln('`2  Just as you are about to shove some of the valuables into your pockets,');
+				lln('  you hear a twig crack just behind you.  You turn around just in time to');
+				lln('  feel the Gravediggers shovel hitting your skull....Just before you drift');
+				lln('  off to dreamland you hear the Gravedigger say sadly,`0 "What did I tell you');
+				lln('`0  about grave robbing? And to think that I thought you were a good person.."');
+				sln('');
+				lln('`2  As the Gravedigger trudges away you notice that you still have a little ');
+				lln('`2  life left in your old body. You chalk this up to experience and decide to');
+				lln('`2  not make this mistake again.');
+				// This IGM used to kill people here... that's no fun, so let's just leave them with 1 HP
+//				lln('`2  You drift off into unconscienceness....maybe you shouldn\'t steal anymore!?');
+				log_line('  `%'+player.name+' `2was caught Grave Robbing today in `5The Warrior\'s Graveyard!');
+				sln('');
+				player.hp=1;
+				press_a_key();
+			} else {
+				sln('');
+				lln('  `2Thinking nothing of it you bend down and stuff all this corpse\'s valuables');
+				lln('  into your pockets.`0 "Geeze! This is too easy!"`2, you exclaim.');
+				sln('');
+				lln('`%  YOU GET...');
+				lln('   '+gold.toString()+' `0GOLD PIECES AND`% '+gems.toString()+' GEMS!!!`2 What an easy score!');
+				GemCheck(gems);
+				GoldCheck(gold);
+				if(pot == 1){
+					sln('');
+					lln('  `2You also find `%A POTION!!!!');
+					lln('  `2You decide to drink it.......');
+					graGetPotion();
+				}
+				sln('');
+				sln('');
+				press_a_key();				
+			}
+			break;
+		case 'G':
+			graGhostGeorge();
+	}
+
+}
+
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+/*	Menus
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+
+function graDebugMenu() {
+// not included in official release.
+}
+
+function graGhostMike() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+	var mike_ask = false;
+
+	sclrscr();
+	log_line('`%  '+player.name+' `2has found `!Mike the Ghost `2in `5The Warrior\'s Graveyard!');
+	display_menu('FOUNDMIKE');
+    press_a_key(); 
+
+	do {
+		if (menu_redisplay == true) {
+			display_menu('MIKEMENU');
+			menu_redisplay = false;
+		}
+
+		menu_keys=['A','T','F','L','?','V'];
+		menu_choice = command_prompt('Ghostly Event',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case 'A':
+				menu_redisplay=true;
+				if(!mike_ask) {
+					display_menu('MIKEASK');
+					CharmCheck(2);
+					lln('  `2You thank Mike with a full passionate kiss, he just smiles.');
+					sln('');
+					press_a_key(true);
+					mike_ask=true;
+				} else {
+					sln('');
+					lln('  `2Don\'t you think you\'ve already asked enough of Mike?');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case 'T':
+				menu_redisplay=true;
+				display_menu('TALKMIKE');
+				press_a_key();
+				break;
+			case 'F':
+				menu_redisplay=true;
+				if(!graRecord.flirted) {
+					graFlirtMike();
+					graRecord.flirted = true;
+					graRecord.put();
+				} else {
+					sln('');
+					lln('  `2I think once is enough! Flirt with this ghost too much and he might');
+					lln('  `2get sick of you!');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;			
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'L':
+				menu_done = true;			
+				menu_redisplay = true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+	} while (!menu_done);
+	
+}
+
+function graGhostTanya() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+	var tanya_ask = false;
+
+	sclrscr();
+	log_line('`%  '+player.name+' `2has found `#Tanya the Ghost `2in `5The Warrior\'s Graveyard!');
+	display_menu('FOUNDTANYA');
+    press_a_key(); 
+
+
+	do {
+		if (menu_redisplay == true) {
+			display_menu('TANYAMENU');
+			menu_redisplay = false;
+		}
+
+		menu_keys=['A','T','F','L','?','V'];
+		menu_choice = command_prompt('Ghostly Event',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case 'A':
+				menu_redisplay=true;
+				if(!tanya_ask) {
+					display_menu('TANYAPOTION');
+					graGetPotion(true);
+					press_a_key(true);
+				} else {
+					sln('');
+					lln(' `2She already gave you a potion!!! Whatmore could you want from her!!!!');
+					lln(' `2Then again.........');
+					press_a_key();
+				}
+				break;
+			case 'T':
+				menu_redisplay=true;
+				display_menu('TANYATALK');
+				press_a_key();
+				break;
+			case 'F':
+				menu_redisplay=true;
+				if(!graRecord.flirted) {
+					graFlirtTanya();
+					graRecord.flirted = true;
+					graRecord.put();
+				} else {
+					sln('');
+					lln('  `2I think once is enough! Flirt with this ghost too much and she might');
+					lln('  `2get sick of you!');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;			
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'L':
+				menu_done = true;			
+				menu_redisplay = true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+	} while (!menu_done);
+
+}
+
+function graGhostGeorge() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+	var rand;
+	var talked = false;
+	var asked = false;
+
+	log_line('`%  '+player.name+' `2has found `0George the Ghost `2in `5The Warrior\'s Graveyard!');
+
+	display_menu('FOUNDGEORGE');
+	press_a_key();
+
+	do {
+
+		if (menu_redisplay == true) {
+			display_menu('GEORGEMENU');
+			menu_redisplay = false;
+		}
+
+		menu_keys = ['T','A','V','L','?'];
+		menu_choice = command_prompt('Ghostly Event',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case 'A':
+				menu_redisplay=true;
+				sln('');
+				lln('  `2You ask nicely if George will help you. He thinks for a while and then...');
+				rand=random(3);
+				if(!asked) {
+					switch (rand) {
+						case 0:
+							sln('');
+							lln('  `0"Well here, I\'ll give you the Strength to fight more monsters today!"');
+							sln('');
+							lln('  `%YOU GET 10 MORE FOREST FIGHTS!!!!!');
+							sln('');
+							ForestCheck(10);
+							press_a_key();
+							break;
+						case 1:
+							sln('');
+							lln('  `0"Hmmm... Well, you could sure use some help in the field..."');
+							sln('');
+							lln('  `%YOU GAIN 1 DEFENSE AND 1 STRENGTH!!!!!');
+							sln('');
+							StrCheck(1);
+							DefCheck(1);
+							press_a_key();
+							break;
+						case 2:
+							sln('');
+							lln('  `0"Well here I have a potion I don\'t need, you can have it!"');
+							sln('');
+							graGetPotion(true);
+							press_a_key();
+					}
+					asked=true;
+				} else {
+					sln('');
+					lln('  `2Better not ask for too many things, George Might get mad at you!!');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case 'T':
+				menu_redisplay=true;
+				if(!talked) {
+					rand=random(3);
+					switch(rand) {
+						case 0:
+							sln('');
+							lln('  `0"Well I\'m not the only ghost in this Graveyard y\'know. You should');
+							lln('  `0be able to find the others like you did me."');
+							sln('');
+							press_a_key();
+							break;
+						case 1:
+							sln('');
+							lln('  `0"Y\'know there is something good to be said about sparing the');
+							lln('  `0graves of Good Hearted people. It\'ll make you look better as a person"');
+							sln('');
+							press_a_key();
+							break;
+						case 2:
+							sln('');
+							lln('  `0"Jim Bob Jones is a tough ghost to get a hold of. You\'d think he would always');
+							lln('  `0be in just one place, but he is a random kinda guy!"');
+							sln('');
+							press_a_key();
+					}
+					talked=true;
+				} else {
+					sln('');
+					lln(' `2You think that you\'ve asked enough of this Ghost for today...');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;					
+			case 'L':
+				menu_done = true;
+				menu_redisplay=true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+
+	} while (!menu_done);
+
+}
+
+function graShack() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+	
+	doRandomStuff();
+	
+	do {
+
+		if (menu_redisplay == true) {
+			display_menu('SHACK');
+			menu_redisplay = false;
+		}
+
+		menu_keys = (player.sex === 'M' ? ['A','P','V','L','?'] : ['1','A','P','V','L','?']);
+		menu_choice = command_prompt('In The Shack',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case 'A':
+				menu_redisplay=true;
+				if(!graRecord.potioned) {
+					sln('');
+					lln('  `2Looking around at all the little labeled bottles the Hag owns you decide');
+					lln('  `2to ask her to make you a potion. Hell what harm could it do!? Hmmmmm.....');
+					sln('');
+					lln('  `0"So you want that I should make you a potion eh??? Well I guess so, but ');
+					lln('  `0just one as I haven\'t much time."`2 she says eagerly. After many minutes,');
+					lln('  `2and just as many broken bottles, the potion is done.');
+					sln('');
+					lln('  `2She holds it before you and smiles. You look at it and take a whiff. ');
+					lln('  `2It smells like yesterday\'s garbage, but you decide to drink it anyways.');
+					sln('');
+					graGetPotion();
+					graRecord.potioned = true;
+					graRecord.put();					
+				} else {
+					sln('');
+					lln('  `2You scream `0"Hey Hag! I want another potion!!"`2. The Hag just looks back');
+					lln('  `2at you and shakes her head. She just goes back to reading.');
+					sln('');
+					lln('  `2I guess she\'s too busy to make you another one. Try again tomorrow.');
+					sln('');
+				}
+				press_a_key();			
+				break;
+			case 'P':
+				menu_redisplay=true;
+				if(!graRecord.gamed) {
+					graPlayGame();
+				} else {
+					lln('');
+					lln('`2  You think that placing another wager today would be unwise, the');
+					lln('`2  Hag is mumbling to herself a little more than usual...');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case '1':
+				menu_redisplay=true;
+				if(!graRecord.ghost) {
+					graRecord.ghost = true;
+					graRecord.put();
+					graGhostMike();
+				}
+				break;
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;					
+			case 'L':
+				menu_done = true;
+				menu_redisplay=true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+
+	} while (!menu_done);
+
+}
+
+function graLemon() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+	
+	doRandomStuff();
+	do {
+
+		if (menu_redisplay == true) {
+			display_menu('LEMON');
+			menu_redisplay = false;
+		}
+
+		menu_keys = ['B','T','V','L','?'];
+		menu_choice = command_prompt('The Lemon-Aide Stand',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case 'B':
+				menu_redisplay=true;
+				if(!graRecord.lemonaide) {
+					graBuyAide();
+				} else {
+					sln('');
+					lln('`2  You think that drinking too much of this stuff would be a bad idea...');
+					sln('');
+					press_a_key();
+				}
+				break;
+			case 'T':
+				menu_redisplay=true;
+				display_menu('AIDETALK');
+				press_a_key();
+				break;
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;					
+			case 'L':
+				menu_done = true;
+				menu_redisplay=true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+
+	} while (!menu_done);
+
+}
+
+function graDigger() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+	
+	doRandomStuff();
+	do {
+
+		if (menu_redisplay == true) {
+			display_menu('DIGGER');
+			menu_redisplay = false;
+		}
+
+		menu_keys = (player.sex === 'M' ? ['1','W','T','G','H','V','L','?'] : ['W','T','G','H','V','L','?']);
+		menu_choice = command_prompt('The Grave Digger',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case 'W':
+				menu_redisplay=true;
+				sln('');
+				sln('');
+				lln('  `2Who is this grave for you ask??? Well it\'s for `%'+player.name+'`2!');
+				lln('  `2Hehehe just kidding. This is actualy a grave for the great warrior');
+				lln('  `2Jim Bob Jones! People say that his generous soul is still roaming the');
+				lln('  `2night, looking for a good deed or two to do. Consider yourself lucky');
+				lln('  `2if you meet him.');
+				sln('');
+				sln('');				
+				press_a_key();			
+				break;
+			case 'G':
+				menu_redisplay=true;
+				sln('');
+				sln('');
+				lln('  `2Ghosts yah say??? Well yah there are always a few ghosts to be found');
+				if (player.sex === 'M') {
+					lln('  `2in a Graveyard, you just hafta know where to `01`2ook! I hear that a few');
+				} else {
+					lln('  `2in a Graveyard, you just hafta know where to 1ook! I hear that a few');
+				}	
+				lln('  `2of the ghosts that have been seen here have actually been friendly!');
+				sln('');
+				sln('');
+				press_a_key();
+				break;
+			case 'T':
+				menu_redisplay=true;
+				sln('');
+				sln('');
+				lln('  `2So you want me to tell you about treasure eh? Well alls I can tell you');
+				lln('  `2is that most Great Warriors ask to be buried intact. That means all of');
+				lln('  `2their Weapons, Armor, and riches! Don\'t be Grave robbing tho, it\'s far');
+				lln('  `2too dangerous for a Warrior like you.');
+				sln('');
+				sln('');				
+				press_a_key();
+				break;
+			case 'H':
+				menu_redisplay=true;
+				sln('');
+				sln('');
+				lln('  `2Hmmmmm, the hag. What can I say about her that her looks don\'t explain');
+				lln('  `2for themselves! As of late the Hag has taken a real likin\' to the art');
+				lln('  `2of Alchemy! Who knows what she can mix up. Legend has it that this Hag');
+				lln('  `2wasn\'t always such a foul creature, people say that she once was even');
+				lln('  `2more beautiful then the Barmaid `5VIOLET`2!!! The stories people make up.');
+				sln('');
+				sln('');
+				press_a_key();
+				break;
+			case '1':
+				menu_redisplay=true;
+				if(!graRecord.ghost) {
+					graRecord.ghost = true;
+					graRecord.put();
+					graGhostTanya();
+				}
+				break;
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;					
+			case 'L':
+				menu_done = true;
+				menu_redisplay=true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+
+	} while (!menu_done);
+
+}	
+
+function mainMenu() {
+	var menu_keys;
+	var menu_choice;
+	var menu_done = false;
+	var ch;
+
+	do {
+		if (menu_redisplay == true) {
+			display_menu('MAIN');
+			menu_redisplay = false;
+		}
+
+		menu_keys=['`','E','T','G','S','L','?','V'];
+		menu_choice = command_prompt('The Graveyard',menu_keys);
+		sln('');
+		
+		switch (menu_choice) {
+			case '`':
+				menu_redisplay=true;
+				if(!graRecord.kitten) {
+					graRecord.kitten = true;
+					graRecord.put();
+					graKitten();
+				}
+				break;
+			case 'E':
+				menu_redisplay=true;
+				graShack();
+				break;
+			case 'T':
+				menu_redisplay=true;
+				graDigger();
+				break;
+			case 'G':
+				menu_redisplay=true;
+				if(graRecord.graverobbed == true) {
+					sln('');
+					lln('  `2You think that robbing more than one grave today would be too DANGEROUS!');
+					lln('  `2So at the last minute you stop yourself.');
+					sln('');
+					lln('  `2Tomorrow is a new day afterall...');
+					sln('');
+					press_a_key();
+				} else {
+					graRecord.graverobbed = true;
+					graRecord.put();
+					graGraveRob();
+				}
+				break;
+			case 'S':
+				menu_redisplay=true;
+				graLemon();
+				break;
+			case 'V':
+				menu_redisplay=true;
+				show_stats();
+				break;			
+			case '~':
+				menu_redisplay=true;
+				graDebugMenu();
+				break;
+			case 'L':
+				if(are_you_sure()) {
+					menu_done = true;
+				}
+				menu_redisplay = true;
+				break;
+			case '?':
+				menu_redisplay=true;
+		}
+	} while (!menu_done);
+}
+
+/* -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- */
+
+function main() {
+	build_menu_index(); //Index the gravayard.gra menu file.
+	graInitialize();  	//Set and read the IGM data file and set any needed variables
+
+	sclrscr();
+	graIntro(); 
+	
+	mainMenu();
+	exit_game();
+}
+
+if (argc == 1 && argv[0] == 'INSTALL') {
+	var install = {
+		desc:'`6- `%The Warrior\'s Graveyard `6-'
+	}
+	exit(0);
+}
+else {
+	main();
+	exit(0);
+}
diff --git a/xtrn/lord/gravyard/gravyard.txt b/xtrn/lord/gravyard/gravyard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a0790aec2a3ff2120d0f605a5c15de6db7c1d39
--- /dev/null
+++ b/xtrn/lord/gravyard/gravyard.txt
@@ -0,0 +1,84 @@
+
+  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+                         The Warrior's Graveyard v 1.0
+         (C) Copyright 1995-2023: Lloyd Hannesson All rights reserved.
+
+  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+
+-> Disclaimer
+
+  Use this software at your own risk.  The only guarantee that you get with
+this program, is that it will take up space. It works fine and all my Beta
+sites. It is as far as I know safe and stable.  To be safe, make sure you
+SCAN the files included within this ZIP for Viruses. Better safe than sorry!
+
+
+-> What the Heck is This!???
+
+  Well hmmm... Good question <G>. The Warrior's Graveyard is an IGM  for the 
+popular door game Legend Of The Red Dragon by Seth Able Robinson. This is an 
+add-on Graveyard. Players can grave rob, find all hidden ghosts, or cool off 
+with a nice glass of enchanted Lemon-Aide!
+
+
+-> Files
+
+Files Included in GRAJS1_0.ZIP, and what they are:
+
+GRAVYARD.JS  : The Warrior's Graveyard IGM for JSLord 5!
+GRAVYARD.TXT : The File you're reading! Duh!
+GRAVYARD.GRA : Menu Data File.
+WHATSNEW.GRA : The Short but Sweet History of The Warrior's Graveyard
+FILE_ID.DIZ  : The Diz.
+DESC.SDI     : Same as the Diz but different.
+
+Files created by The Warrior's Graveyard:
+
+GRAVYARD.GRA : The Player Data File.
+
+
+-> Simple Set-Up
+
+   Setting up The Warrior's Graveyard couldn't be any easier. 
+UNZIP GRAJS1_0.ZIP into a folder named gravyard in your lord directory. Then 
+run the following:
+
+	jsexec lord.js +IGM gravyard/gravyard.js
+
+
+-> Simple Un-Installation
+
+   Un-installing The Warrior's Graveyard is just as easy. Run the following:
+
+	jsexec lord.js -IGM gravyard/gravyard.js
+
+
+-> Q and A
+
+ Q: Where are all the Ghosts Hidden?
+
+ A: Well if I told you that, it wouldn't be a secret any more!
+    ...but I'll give you a few hints.
+      Jim Bob Jones is a random sorta guy.
+      George likes the Graves for some reason.
+      Tanya, well you can only see her if you're male.
+      Mike, he won't talk to guys...so female is the way to go
+    I hope these hints help...but don't ruin the IGM.
+
+=-----
+
+ Q: Why so few Qs?
+ 
+ A: Well this is new... no Qs mean no As!
+
+=-----
+
+
+-> Any Other Questions? Drop me a line at:
+
+  Email:     dasme@dasme.org
+
+
+-> The Warrior's Graveyard (C)Copyright Lloyd Hannesson, 1995-2023
\ No newline at end of file
diff --git a/xtrn/lord/gravyard/whatsnew.gra b/xtrn/lord/gravyard/whatsnew.gra
new file mode 100644
index 0000000000000000000000000000000000000000..21a404cf00f27eaaae597e7fcd7d42f186d1947d
--- /dev/null
+++ b/xtrn/lord/gravyard/whatsnew.gra
@@ -0,0 +1,109 @@
+		       -=-=-=-=-=-=-=-=-=-=-=-
+		       The Warrior's Graveyard
+		       -=-=-=-=-=-=-=-=-=-=-=-
+
+JS v 1.0     - 21 years after the last release, we are back baby!  
+(04/01/23) 
+
+		 - Having recently found out that JS Lord was a thing I decided to port
+	       over my old IGMs! 
+
+	     - This is essentially the same IGM as ver 1.8, with some text
+	       cleanups and some other housekeeping. I also changed a few 
+	       things since... well it ain't the year 2000 any more! :)
+		   
+		 - Cringy text changes and plenty of speelign mistaeks fixed. I'm
+		   sure that there are more, so please let me know if you find them!
+		   
+		 - Removed the comment sheet. All of the BBS I checked have zero custom 
+		   entries, so it doesn't seem to have a use in game these days.
+
+-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+v 1.8        - Fixed a bug that would take away your Fairy upon exit.
+(01/25/02)   
+	     - This is the LAST version of the warrior's graveyard. I don't
+	       see myself releasing any new versions of this IGM unless there
+	       are more bugs that need squashing. Enjoy!                
+
+
+v 1.7        - Fixed the [s]ign comment sheet viewing bug.
+(09/15/00)
+	     - Added key functionality. I was origionally going to brand
+	       individul copies of the IGM and send that to donators... but I
+	       decided to add support for key files.. it'll make things easier,
+	       trust me :)
+
+	     - Fixed the bug where the igm set your screentype to ascii on
+	       exit. These 2 bugs were fixed with the latest KLord Door driver 
+	       from Korombos. I wasn't even aware that these popped up when I 
+	       changed to the newer KLord beta.
+
+	     - Fixed the bug where entering the IGM with 1billion+ exp and gaining
+	       a bit woud reset your exp to a negative. This was actually a long
+	       standing KLord bug that was never reported! So either I'm one of
+	       the few that check for rollovers, or my beta testers are good at
+	       weeding out the bugs! I sincerely hope this hasn't broken any of 
+	       your lord games.
+
+	     - Added another secret into the game. Look around the ..... to find it! 
+	       The kitten goes `meow meow` ;)           
+
+v 1.6        - Added support for processors higher then a P200. This 
+(08/14/00)     should fix all the people who are having the error 
+	       200 problems.
+
+	     - Fixed the cheat where people could re-enter indefinitly
+	       by changing their name in another IGM.
+
+	       NOTE: This changed the data file, you MUST delete your old
+		     player.gra, or the IGM won't work correctly.
+
+	     - Changed the IGM commandline. Unfortunatly that means you'll have
+	       to reinstall this IGM. Or read the README.NOW file and make the
+	       changed manually. Sorry but this had to be done. 
+
+	     - Cleaned up the code and fixed a few spelling mistakes.
+
+	     - Removed the possibility of "flipping" players stats. In that I mean
+	       your stats/gold/exp going over the physical maximum for the data type.
+	       I thought that I had already done that, but I guess not.
+
+	     - Added actual working contact information! Wow.. imagine that! :) 
+
+	     - Players can now view their stats by hitting 'V' from any menu. 
+
+	     - Added an option to Register the IGM for free and get a personalized
+	       copy of this IGM e-mailed to you!. See GRAVYARD.DOC for information.
+
+v 1.5        - Fixed the 'exit/re-enter/buy lemon-aid again' bug :)
+(08/05/97)
+	     - Did some minor code fixes, and fixed alot of spelling
+	       mistakes.
+
+v 1.1        - Fixed the error where you could flirt with the
+(08/06/95)     ghosts forever! I forgot to uncomment some code.
+	       Boy do I feel dumb :>
+
+	     - Fixed a whole heap 'o Spellin Mistakes
+
+
+v 1.0        - Finished the Installation program! Wow!!! <G>
+(07/23/95)
+	     - Added the Lemon-Aide Stand!
+
+	     - Added a few Ghosts :> Hidden of course
+
+--Beta's--
+
+v 0.005Beta  - Added Data file routines so Players couldn't
+(07/11/95)     re-enter and do everything again.
+
+	     - Added a few secrets to make gameplay better.
+
+
+v 0.001Beta  - Original Beta - Tested only at my BBS ****
+(07/05/95)
+	     - Player.Dat was never written to. Made for fair
+	       play testing.
+