Quantcast
Channel: Modding — Beamdog Forums
Viewing all articles
Browse latest Browse all 11774

A Guvner's guide to hex editing the Android version of Planescape: Torment EE

$
0
0
This guide is for members of the Fraternity of Order without access to console commands, who wish to tinker with some of the simpler mechanics of the Planes. Alternatively, one could simply transfer a saved game file from your Android device to a PC and use an editing tool, but where's the fun in that?

I would recommend that you play through an unmodified game of Planescape: Torment at least once. My reason for altering saved game data was to obtain certain dialog options or quests normally impossible to achieve because of mutual exclusion (for example, remaining a member of a faction but setting the flag for membership in a different faction to explore certain options from a person in the Smoldering Corpse Bar and one of the "residents" in the Bones of the Night).

First of all, you will need to find where the saved game folders are located. On my Android 7 device, the path is: Internal Storage / Android / data / com.beamdog.pstee / files / save You will be editing the BALDUR.gam file in the saved game folder.

Always make a backup!

I prefer to edit a quick save, or create an entirely new save called EXPERIMENT. Once you have verified that you haven't screwed anything up and the results are as intended, you can then continue on from there, or overwrite the original save, if desired.

The basics of Android hex editing Infinity Engine games (by Trasd):

https://forums.beamdog.com/discussion/39935/game-data-editing-tutorial-hex-style-android-friendly/p1 If you are not familiar with the lore in the link above, the rest of this guide won't be of much use.

Additional information:

  • Infinity Engine GAM version 1.1 file format: https://gibberlings3.github.io/iesdp/file_formats/ie_formats/gam_v1.1.htm
  • Infinity Engine CRE version 1.2 data format: https://gibberlings3.github.io/iesdp/file_formats/ie_formats/cre_v1.2.htm
  • Item and Spell Lists are attached below.
  • Hexadecimal, Decimal, Octal, and Binary converter

Editing Items:

The length of the BALDUR.sav file cannot be changed. Therefore, items cannot be created or deleted from a game file, and must be transmuted to items which have names with the same number of letters. Consequently, it is useful to always carry a pool of stackable items with 4, 5, 6, 7, and 8-letter names. A stack of Charms of Infinite Recall (LORE) can be used to obtain other four-letter items, such as Abyssal Pipe (PIPE), Scent of the Storm (ACID), the Modron Cube (CUBE), or the Entropic Blade in Dagger form (EDAG). A stack of Handkerchiefs (HANKY) or Cleaning Rags (CRAGS) can be used to obtain other five-letter items, such as Whispering Flask (SPICE), the Vrock Club (CLUB2), Assassin's Knuckles (IRON3), the Ring of Thex (WRING), or the Aegis of Torment (AEGIS). A stack of Needles (NEEDLE) or Embalming Fluid (EMBALM) can be used to obtain other six-letter items. These include the ability score tattoos (TTSTRx, TTINTx, TTWISx, TTDEXx, TTCONx, TTCHAx), all of Nordom's special gear (LENS0x, BOLT0x), all of Quell's magical candies (C_xxxx), many magical rings (RING0x), the rarely-seen Maslow's Pyramid (MASLOW), Cheese (CHEESE), and pet Lim-Lims (LIMLIM). I particularly enjoy releasing a swarm of Lim-Lims to run around and crap all over the dormitories of the Civic Festhall or Fhjull's house, or in Curst in Carceri to add to the chaos. (Fly, my pretties! FLY!!!) A stack of Bandages (BANDAGE) can be used to obtain other seven-letter items. These include all Mage and Priest scrolls (SPWIxxx, SPPRxxx), Ignus' unique spell items (IGNUS0x), the Portal Lens (PORLENS), and the Wish Scroll (WSCROLL). A stack of Heart Charms (HEARCHRM) is extremely valuable all by itself, but can also be used to obtain other eight-letter items. These include most of the other charms, the various Circles of Zerthimon (CIRCLE0x), the Eye of Vecna (EYEVECNA), the Fanged Mirror of Yehcir-Eya (FANGMIRR), Kasseg/Cerebral Parasites (CEREPARA), the Justifier (JUSTFIER), and Celestial Fire in its original sword form (CELESTI2). It is potentially hazardous to obtain quest items by hex editing, as quest flags may not be properly triggered, thereby altering or preventing storyline progress. I have "created" all of the special items in Mistress Vrischika's shop (including the Modron Cube), without any adverse effects. It is also OK to obtain any of the special skulls that Master Lothar desires in this manner.

Known and Memorized Spells:

When viewing the Spellbook in-game, the spells known to the character are the always-lit icons on the right side. Priests automatically learn all spells of the highest level (s)he can access, and do not need to obtain them from scrolls or items. A Mage learns new spells from scrolls or items (like the Circles of Zerthimon), or by directly receiving knowledge of a spell by special circumstances. Intelligence dictates the highest spell level a Mage can access, as well as the number of spells per level that can be learned. Some Mage spells do not have a scroll from which they can be learned. Most of these require a special item to learn the spell. Some of them cannot be learned by TNO, Dak'kon, or Ignus at all, and are only available to NPCs. All of these spells can be edited into the list of known spells.
  • For example, let us say you want to learn Howl of Pandemonium (SPWI603). This cannot be learned from any scroll or item.
  • "Create" a scroll of Chain Lightning Storm (SPWI604). For convenience, create a stack of 2.
  • Learn SPWI604 from the scroll. Save the game.
  • By hex editing, overwrite the SPWI604 entry in the character's spellbook with SPWI603
  • If you still want SPWI604, you will have to learn it again from a scroll (which you already have if you originally created a stack of 2).
In Planescape: Torment, a Mage can learn a spell and inscribe it in his spellbook even if his level is too low to actually memorize and cast the spell; Intelligence is the sole determinant. Also, there is a 100% chance to learn spells which a Mage character can access based upon Intelligence, so there is no need to save scum to avoid spell inscription failure. (In other Infinity Engine games there is a chance that learning a spell can fail depending upon a Mage's Intelligence score.) Intelligence and Mage Spells Table The list of Memorized Spells is on the left side of the Spellbook page. The number of spell slots available to a character depends upon the character's level, bonus slots from magic items, or Wisdom bonuses for Priests (Mages receive no bonus spell slots for high Intelligence). Mage spell slots by level Priest spell slots by level Wisdom spell slot bonuses for Priests Empty slots can be filled with spells from the pool of known spells. Newly-added spells or spells that have been memorized and already cast appear as dark icons. Memorized spells that are ready to be cast appear as lit icons. Resting converts "spent" spells to "ready" status. The number of spell slots per spell level can be hex edited, but spell slots are recalculated by the game to the standard allotment whenever a character gains a level.

Editing Known and Memorized Spells:

Spells cannot be inserted or deleted from a character's list of known and memorized spells by hex editing, just like items in the character's inventory. All spells have seven-letter names. A list of spells is attached below. Mage spells are SPWIxyz (WI-zard), Priest spells are SPPRxyz (PR-iest). The three-digit number indicates the spell, with the first digit being the spell level. The 1st level Mage spell Chromatic Orb is SPWI101, the 1st level Mage spell Armor is SPWI102, the 2nd level Mage spell Adder's Kiss is SPWI201, the 2nd level Priest spell Aid is SPPR201, the 3rd level Mage spell Ball Lightning is SPWI301, the 3rd level Priest spell Call Lightning is SPPR301, etc. Some characters have Innate abilities. The game treats these as a separate spell category, SPINxyz (IN-nate). They are not displayed in the in-game Spellbook, but are shown under the "Special Powers" button on the User Interface. The Nameless One can have Raise Dead, Stories-Bones-Tell (Speak With Dead), and Sensory Touch. Morte can have Litany of Curses and Skull Mob. Fall-From-Grace has Sensory Touch and Kiss (Vampiric Touch). Here is a list of the Innate ability names:
  • SPIN101 - Litany of Curses (Morte)
  • SPIN102 - Skull Mob (Morte)
  • SPIN103 - Stories-Bones-Tell (TNO)
  • SPIN104 - Sensory Touch (TNO, FFG)
  • SPIN107 - Kiss (FFG)
  • SPIN108 - Raise Dead (TNO)
These are keyed to specific characters, so hex editing won't allow, for example, The Nameless One to learn Litany of Curses, which is a darn shame.

Global Variables:

Global variables are often simply a yes/no flag for whether a condition is met or not (00 = No, 01 = Yes). Sometimes, a Global Variable is a counter for a value that can change during the course of a game. To find and edit a Global Variable, you will have to know the name of the desired variable, and use the Search (text) function of your hex editor app to find it. Find the address of the first letter of the variable, and add 2B hex (40 decimal) to get the address of the value of that particular variable. Here are a few interesting Global Variables: LAW This is the Lawful/Chaotic axis of TNO's Alignment. A value of -21 (EB FF) is needed for Chaotic, and +15 (0F 00) for Lawful. To maximally convince a certain Mercykiller that you follow JUSTICE!!!, your LAW value will have to be 23 hex/35 decimal. GOOD This is the Good/Evil axis of TNO's Alignment. A value of -21 (EB FF) is Evil, +15 (0F 00) is Good. ADAHN The number of times you have taken his name in vain. There will be consequences. MEBBETH_ART_ANSWER When Mebbeth asks TNO why he wishes to learn The Art, he can give one of three answers. This value records which one he gave (01, 02, or 03). This will affect an important conversation much later in the game. BD_DAKKON_MORALE The properties of Dakkon's Zerth Blade change depending upon his level and morale. JOIN_ANARCHISTS True = 01, False = 00 JOIN_CHAOSMEN True = 01, False = 00 JOIN_DUSTMEN True = 01, False = 00 JOIN_GODSMEN True = 06, False = 00 JOIN_SENSATES True = 01, False = 00 The process of getting to where you are offered membership usually involves completing quests, with rewards and experience that you may not want to miss. Performing these quests may set other Global Variable flags, which you may have to hunt down and set manually if you decide to instantly join a Faction by hex editing. Joining or renouncing a Faction through in-game dialog will recalculate all of these Faction membership Global Variables, so be careful: you may lose access to Faction stores and become unable to use items keyed to Faction membership. CURST_COUNTER You'll know what this tracks when you get there. A low value makes an opponent stronger, a high value weakens him. I had attained a high value, but wanted a tougher fight so I changed the value. There are minor changes to dialog from your opponent depending upon a low/medium/high value, as well. RAT_EATER The number of Creeden's delicious ratsies you have eaten. GRACE_RING_EQUIPPED The first time you have Fall-From-Grace equip a Ring, she makes a flirtatious comment. The comment is different for the right hand slot than it is for the left hand slot. She only says this once. This Global Variable is set to 01 after she says it. Set it to 00, and she will say it again, and the value will be set to 01. Reset it to 00 as desired. (Not all of these Global Variables are especially useful.)

Viewing all articles
Browse latest Browse all 11774

Latest Images

Trending Articles



Latest Images