Ultima underworld trainer

Ultima underworld trainer

Ultima underworld trainer

Text file description:

Ultima Underworld Character Editor
by Phat Tran
June 16, 1992
This editor was written for Ultima Underworld version F1.50S, but it
will probably work for other versions as well.  To see what version you
have, enter the Abyss and press Alt-F7.  The version information will
scroll up in the message area.
To install UWEditor, just copy it into your UnderWorld directory.
For example, mine is d:gamesuw.  DON'T copy it into the SAVEx
subdirectories!  Type UWEDITOR at the DOS prompt to start it.
This editor decodes the file PLAYER.DAT based on a hunch of mine, one
which may not apply universally.  If the decoder messes up, it will
require you to tell it a value for one of the attributes so that it can
get its bearings again.  Once it knows what one attribute is, it will
most certainly be able to decode the rest.
If you have any problems with it, feel free to contact me either on
NaNet (the games conference) or the Internet (cdexcms@watdcs.uwaterloo.ca).
[Note: my Internet account may not be around for long.]
If you have the patience, you can also mail me at
        81 Lennox Cr.
        Kitchener, Ontario
        Canada N2N 2P5
UWEditor is completely free, but don't let me stop you from sending me
your loose change!  Knock yourself out!
How it works:
 BBS: System EX-10 Canada
Date: 06-16-92 (15:59)             Number: 58
From: PHAT TRAN                    Refer#: NONE
  To: ALL                           Recvd: NO
Subj: Underworld Editor              Conf: (58) Games-Int
I spent last night hacking away at the PLAYER.DAT file in one of my
saved games, trying to get myself out of a trap (I was locked in a room
with an unbashable porticulis(sp), and no lever in sight!).  What I did
was nudge my character up against the porticulis, saved my game, and
hex-edited PLAYER.DAT, changing my east-west position so that when I
loaded up my game again, I was on the other side of the porticulis!
It's a neat trick for getting past certain pitfalls.  If you're ever in
the same predicament, the bytes that determine your east-west position
are found at sector 0, offset 85-86 of PLAYER.DAT, least-significant
byte first.  If you're trapped by a north-south door, let me know and
I'll try to locate the bytes for the north-south position.
While dissecting the PLAYER.DAT file, I also found which bytes
determined each of my character's attributes.  The bytes at offset 31 to
55 (decimal) determine your strength, dexterity, intelligence, attack,
defense, ..., appraise, swimming, vitality, and mana attributes.
However, the guys at Origin encoded the data by XORing each byte with
a corresponding term from the sequence n + 0, n + 3, n + 6, n + 9, and
so on, where n is a number that is derived from you character's name
(and so is different for each person).  For my mage, the table of
attributes and coding term goes as follows (remember, it's different
for each character):
Attribute        Offset        Coding Term
                (Decimal)        (Hex)
Strength        31                4a
Dexterity       32                4d
Intelligence    33                50
Attack          34                53
Defense         35                56
Unarmed         36                59
.               .                 .
Mana            41                68
.               .                 .
Any of the skills left out are in the same order as they are listed
on the character panel.           .
.               .                 .
Appraise        52                89
Swimming        53                8c
Vitality        54                8f  'These are "reservoir" attributes,
Mana            55                92  'not skills.
As you can see, each coding term is 3 greater than the previous coding
term.  If you know one of your attributes, then you can easily find out
the coding term for that attribute, and then extrapolate to find the
coding term for each of the other attributes.  For example, my mage has
strength 20 (dec), and the byte at offset 31 decimal, which holds my
strength, in PLAYER.DAT is 5e (hex). To find the coding term, I would
exclusive-or 20 decimal (which is 14 hex) with 5e hex:  14 XOR 5e = 4a
(which is the coding term!). Add three to 4a, and I would get 4d, the
coding term for the next attribute, and so on.  If I want to change my
strength to 50 decimal or 32 hex, I would XOR it with 4a:  32 XOR 4a =
78 hex, which I would change the byte at offset 31 into.
If you want to edit your character using the above method, here are a
few pointers:
-Normally, praying at a shrine will not increase a skill above 30, so if
you want to be partially honest, don't give yourself a skill above that.
-Your mana reservoir is determined by your mana skill, and your
vitality is a combination of several, as of yet unknown, factors.  Don't
change your mana and vitality directly since they will be reset the next
time you pray at a shrine.  Instead, change your mana skill and your
strength, etc., then pray at a shrine and your vitality and mana
reservoirs will increase in capacity.
-Increasing your strength will increase your carrying capacity.
-You should always pray at a shrine after editing your character to
"register" your new attributes with the game. -Very high skills may
"wrap around" so that you may be worse off than before.  Don't raise any
skill above 50!
-Don't go overboard and max out everything--you'll just end up wrecking
the game for yourself.
If anyone's interested, I gave my mage a strength attribute of 50, so
that he now has a carrying capacity of about 93 units!  I also fudged
his lore, sword, and mana skills.  With a mana skill of 30, my mana
reservoir is now at 127/127!  I once had it up to 255/255, but didn't
feel secure with it since it was way over the game's design limit.
Well, I hope this information will be useful to some of you.  If you
have any questions, just ask.  I'll work on an editor utility if there's
demand for it, though I'm still a neophyte DOS programmer.  In the
meantime, enjoy!
Phat Tran.
  SLMR 2.1a

File information

Trainers are memory resident programs that alter the behaviour of a game.

Your anti-virus software and web browser may detect them as malware (viruses, worms, trojans, bots etc.).

This is almost always a false alarm.

File name: uweditor.zip

File size: 41.48 KB

Mime type: First entry not deflated or stored -- use unzip compressed-encoding=application/zip; charset=binary

Trainer FAQ