/*
 * Hamlet
 *
 * Vocabulary
 *
 */

var Synonyms = new Object;
NUM_SYNS = 0;

function words(string)
{
	if(string.indexOf('.')==-1)  // er... I have no idea why this should be
		string += '.' + string;  // necessary, but nothing works without it!
	
	Synonyms[++NUM_SYNS] = string.substring(0,string.indexOf('.')) +
	  '.' + string + '.';
}

// All recognised words, and their synonyms
// Names of persons, places and things need not be listed here,
// unless they have synonyms

// directions come first...
words('north.n');
//words('northeast.north-east.ne');
//words('northwest.north-west.nw');
words('south.s');
//words('southeast.south-east.se');
//words('southwest.south-west.sw');
words('east.e');
words('west.w');
words('down.d.descend.downward');
words('up.u.ascend.upstair.upward.climb');
words('out.exit.exeunt.outward.outside');
words('in.enter.inward.inside');
// ...so that we can do this
DIRECTIONS='';
for(var i=1;i<=NUM_SYNS;++i)
	DIRECTIONS+=Synonyms[i];
// all other words come now.


// added for engine v0.4
words('undo');
words('transcript');
words('terse.unverbose');
words('verbose.unterse');
words('wait.z');

words('all.everything');
words('dir');
words('it.them');
words('him.her');
words('help');
words('score.points');
words('inventory.inv.invent.i.list.carrying.stuff.possession');
words('game');
words('restart.restart');
words('save');
words('load');
words('delete');
words('take.get.pick.grab.catch');
words('drop.put');
words('talk.tell.chat.ask.speak.say.question');
words('give.show.present.bequeathe.offer.proffer.feed');
words('wake.awake.awaken');
words('portrait.picture.painting.poster');
words('table.desk');
words('look.l.x.lookat.lookit.looky.examine.exam.see.view.read.peruse.search.describe.what');
words('fight.hit.kill.smite.punch.kick.stab.attack.batter.bash');
words('wear.puton.don');
words('remove.takeoff.unwear.doff.disrobe');
words('on');
words('off');
words('push.press');
words('button.switch');
words('kiss.snog.smooch');
words('gertrude.gert.gerty.mother.mum.ma.mom.mommy.mummy.queen');
words('claudius.uncle.uncy.king.stepfather.stepdad');
words('ghost.father.dad.daddy');
words('self.hamlet.me.you.myself.yourself');
words('ophelia.girlfriend');
words('gravedigger.digger');
words('rosencrantz');
words('guildenstern');
words('laertes');
words('polonius');
words('horatio');
words('richard.rich.richy.richie.dick.dicky.dickie.third.iii');
words('nell.quickly.mistress.barmaid.landlady');
words('sailor.captain.capn');
words('juliet.capulet.jules.julie.jule');
words('romeo.montague');
words('start.begin');
words('make.tidy');
words('bed');
words('door.doorway');
words('gate.gateway');
words('open');
words('close.shut');
words('window');
words('lake.pond.pool');
words('stairs.staircase.steps');
words('lisp.impediment');
words('skull.yorick');
words('chalice.cup.potion.poison');
words('shovel.spade');
words('pirate.buccaneer');
words('handkerchief.hanky.napkin');
words('othello.moor');
words('desdemona.dessie.wife');
words('curtain.arras.drape.drapery');
words('ride.mount.straddle');
words('dress');
words('dig');
words('sea.ocean');
words('swim.paddle');
words('ticket');
words('certificate.medical');
words('sit');
words('sleep');
words('throne.chair');
words('chandelier');
words('grave.headstone');
words('machine.machinery.grindstone');
words('ship.boat.ferry');
words('cliff');
words('form.audition');
words('carrot.vegetable');
words('crown');
words('grind.sharpen');
words('scissors.scissor.nailscissor');
words('cut.snip.chop');
words('thread.string');
words('dagger');
words('stain');
words('eat.munch.chew.swallow');
words('drink.quaff');
words('body.corpse');
words('jump.leap');
words('mist.fog');
words('theatre.stage.acting.drama.dramatic');
words('move');
words('quince.peter');
words('suite.private');
words('couch.sofa');
words('smell.sniff.inhale.breathe');
words('chest.treasure');
words('coins.coin.money.gold.doubloon');
words('buy.purchase');
words('whisky.whiskey.flask');
words('pepper.jar');
words('salt.packet');
words('postcard.card');
words('wall');
words('ground.floor');
words('ceiling.roof');
words('cupboard.cabinet');
words('oven.cooker');
words('nose');
words('blow');
words('shout.scream.yell');
words('sneeze');
words('bat.fruitbat');
words('wave.flap');
words('book.cookbook.recipe');
words('cook');
words('rope');
words('telegram.letter.note');
words('play');
words('monk.friar.john');
words('flute');
words('swear.' + rot13('shpx.sneg.phag.nefr.pbpx.jnax.fuvg.fuvgr.funt.obyybpxf'));
words('tower.dunsinane');
words('nail.fingernail');
words('calendar');
words('hairspray.spray.spraycan.aerosol');
words('britney.spears');
words('lager.cans.tin.tincan.beer');
words('sonnet.soliloquy.soliloquise.soliloquize.speech');
words('bury');

words('be');
words('not.don\'t');
words('alas');
words('nunnery.convent');

words('robin.johnson');

function rot13(txt)
{
	var rot_alpha = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLM';
	var op = '';
	for(var i=0;i<txt.length;++i)
	{
		var c = txt.charAt(i);
		if(rot_alpha.indexOf(c)!=-1)
			op += rot_alpha.charAt(rot_alpha.indexOf(c)+13)
		else
			op += c;
	}
	return(op);
}
