[comp.sys.m6809] Rogue: How to Cheat!

megabyte@chinet.UUCP (03/29/87)

The following is from Mike Ward and concerns some ways to
"cheat" on the OS9 (Tandy CoCo) version of "rogue".  At the end is a short
Basic09 program to do the patch to rogue they talk about.
--------
Here are some things Bill Dickhaus and I have discovered about the
"Rogue" game from Tandy.  If you're not really into Rogue. now's the
time to stop reading.

I'll start off with a discussion of the items you'll find so that what
follows afterward may be a bit clearer.

In the dungeon you can find:

 10 kinds of weapons.
  8 kinds of armor.
 15 scrolls.
 14 potions.
 14 rings.
 14 wands AND/OR staffs.  More on this later.

The weapons and armor have only one name associated with them.  For
example the weapons are:

 0  Mace
 1  Long sword
 2  Short bow
 3  Arrows
 4  Dagger
 5  Two handed sword
 6  Dart
 7  Crossbow
 8  Crossbow bolt
 9  Spear

The armor types are:

 0  Leather armor
 1  Ring mail
 2  Studded leather armor
 3  Scale mail
 4  Chain mail
 5  Splint mail
 6  Banded mail
 7  Plate mail

Why the numbers before the items?  Read on McDuff...

The Scrolls, Potions, Rings, Wands, and Staffs all have 2 names
associated with them.  The first name is the name of the item before it
has been identified.  The second name is its "identified" name.  For
example, you may find an Amber potion which may become a "potion of
poison" after it's identified.

The "first" name for these 5 types of items is selected at random from
tables within Rogue itself.  There are:

 25 possible names for the 14 potions
 26 possible names for the 14 rings
 20 possible names for the staffs
 20 possible names for the wands

What about the scrolls?  Rogue makes up 15 names at random when you
start a new (not a saved) game and uses them for the "first names" for
the scrolls.

What about the staffs/wands?  You can have a total of 14 wands/staffs. 
Whether it's a wand or a staff is determined when you pick it up.  One
time it may be a "staff of light", next time it may be a "wand of
light".

There are 14 "indentified" or second names for wands/staffs and they
are:

 0  Light
 1  Striking
 2  Lightning
 3  Fire
 4  Cold
 5  Polymorph
 6  Magic missile
 7  Haste monster
 8  Slow monster
 9  Drain life
 A  Nothing
 B  Teleport away
 C  Teleport to
 D  Cancellation

The second or "identified name" for these 5 items is picked at random
from its associated table of second names when a new (not saved) game is
started.  This is why an Amber potion may be a potion of healing in one
game and be a potion of poison in another.

Here are the "identified" names for the rest of the items.


15 Scrolls:

 0  Monster confusion
 1  Magic mapping
 2  Hold monster
 3  Sleep
 4  Enchant armor
 5  Identify
 6  Scare monster
 7  Food detection
 8  Teleportation
 9  Enchant weapon
 A  Create monster
 B  Remove curse
 C  Aggravate monsters
 D  Blank paper
 E  Vorpalize weapon


14 Potions:

 0  Confusion
 1  Paralysis
 2  Poison
 3  Gain strength
 4  See invisible
 5  Healing
 6  Monster detection
 7  Magic detection
 8  Raise level
 9  Extra healing
 A  Haste self
 B  Restore strength
 C  Blindness
 D  Thirst quenching


14 Rings:

 0  Protection
 1  Add strength
 2  Sustain strength
 3  Searching
 4  See invisible
 5  Adornment
 6  Aggravate monster
 7  Dexterity
 8  Increase damage
 9  Regeneration
 A  Slow digestion
 B  Teleportation
 C  Stealth
 D  Maintain armor

Now the reason for those numbers in front of all the "identified" names.

It seems that the authors of Rogue were kind enough to leave their
de-bugging tools behind when they were finished with the dungeon and
they can be fun to play with.

To enable this "command" mode you'll need to make a 1-byte zap to the
Rogue program itself so be sure to only do this with a backup copy.

Use your favorite disk zapper and change the byte at +$4AA9 in
CMDS/ROGUE from a $26 to a $20 and be sure to re-verify Rogue so that
the CRC gets fixed up else you won't be able to use it.

Now crank up Rogue.  When you've got it going and you're at the point
where you can enter commands, enter:  <CTRL-O> immediately followed by
<CTRL-up-arrow> and you'll see "cmd:" pop on in the upper left-hand
corner of the screen.

You are now in "command mode".  To see an expanded list of the commands,
type a "?" and then another "?" for more of the menu. <spacebar> exits
"command" mode.

A little (or a lot) of experimentation will reveal what the commands do
but "<c>reate" can be tough to figure out so here are a couple of
examples.

You want to create a Long sword.  Look at the instructions that came
with Rogue on page #4 and you'll see a list of the ascii characters used
in the ascii version of the game.

Type "c" at the "cmd:" prompt and it'll ask:
 "Type of thing:"

The ascii value for a weapon is a "carat" symbol and can be produced by
typing <CTRL-3> at the "Type of thing:" prompt.

Next it'll ask:
 "Which ^ do you want? (0-f)"

Look back at the list of weapons in this listing you're reading and
you'll see that a Long sword is a "1".  Type a "1" for a Long sword.

Next it'll ask:
 "Blessing? (+,-,n)"

This is to make it a strong or weak weapon.  Pick whatever makes you
happy and type it in.

Creating items that have 2 names is tricky so let's create a "ring of
see invisible".

At the "cmd:" prompt type "c".  The "type of thing" is a ring which is
lower-case "o" (from page #4 in the Rogue manual) so type an "o" for
"Type of thing".

For "Which o do you want" look at the list above and you'll see that a
"ring of see invisible" is a "4" so type a "4".  It'll tell you that you
"Now have a Emerald or jade or Topaz" or whatever ring.  Use the <i>dent
option and you'll see that no matter what "first name" Rogue gave it,
it'll be a "ring of see invisible".

Now you can Create to your hearts content!

I hope you enjoy these extra "tools" and if you have questions just
leave them here on the Forum or Eplex.

Happy Roguing!

Mike
-----
How to do that pact they talk about:
1. On a BACKUP disk of rogue, run the following Basic09
program with /d?/cmds as you data directory:

PROCEDURE frog
DIM path:BYTE
DIM iochar:STRING[1]
REM 
OPEN #path,"rogue":UPDATE
SEEK #path,$4AA9
iochar=CHR$($20)
PUT #path,iochar
CLOSE #path
END 

After this the program is patche but the module header is wrong.
Use the Verify command as in "verify u <rogue > rogue.new" command
and the ne be sure and do a "attr rogue.new e" or you might be
able to do a load and a save, but I'm not sure.  Hope this helps
you all!!
-- 
UUCP:	(1) seismo!why_not!scsnet!sunder		Mark E. Sunderlin
	(2) ihnp4!chinet!megabyte			aka Dr. Megabyte
CIS:	74026,3235					(202) 634-2529
Mail:	IRS  PM:PFR:D:NO  1111 Constitution Ave. NW  Washington,DC 20224