Getting more bang for your buck in a combat round:
Piecemeal armor: Avoid armor that takes up multiple body spots, in favor of single-location items, to take advantage of more magical enhancements. You would think that a sleeve mail coat (defense 25) is better than mail sleeves (5), a mail shirt (10) and mail leggings (5) (total 20). But a sleeve mail coat++ (defense 45) can't compare to combination of mail sleeves++ (25), a mail shirt++ (30) and mail leggings++ (25) (total 80). (Down sides: You may not find all of those ++ items, and your inventory may get crowded with piecemeal armor. Up sides: There are other improvements available to piecemeal armor; most characters can wear gauntlets instead of mail sleeves, and a thief can wear the Cloak of Thieves instead of a mail shirt.)
Save/reload exploits: You do this in every game, right? Save the game before training, to avoid getting jilted on skill points or hits, or to make sure you get that new spell list. Boxes and chests yield random loot, some of it very good in the tougher dungeons, so save the game and try opening them several times.
Deadly Strike is a battle-winner. It's not just that your thief can drop an enemy in one hit; it's that their turn then resumes as if they had made no attacks at all! As long as you have movement remaining, you can walk from one enemy to another, and swat them like flies. Once you use up your movement, you can still make a bow attack. If you can get the thief's movement high enough (with a Ring of Speed, a Thieves Ring, a Belt of Speed, a Cloak of Thieves, and/or a Swift Killer), they can mop up an entire battlefield before anyone else bats an eyelid. (Note that some monsters (like giants) are less susceptible to Deadly Strike, so your other characters won't be useless.) I hit "P" after a Deadly Strike to avoid taking unfair advantage of this glitch.
Items that can be used (by pressing "i") do not have to be equipped. This even goes for weapons! You could give that awesome Staff of Minds (which can only be equipped by a Mentalist) to your Fighter (or whomever), who can use its special power to cast Mass Domination, without ever putting down their Grey Sword. Sneaky!
If you start a new game in a particular save slot, but quit during character creation, the party that was in that save slot beforehand will be introduced into the new game, the next time you load that slot.
The Power Ring and the Ring of Power give a character ten extra bow shots. This is almost certainly an oversight, as it allows a decent low-level archer to effortlessly rip through mid-level opponents. These rings aren't rare: They can be bought at a few shops.
You can run right past all of the monsters in a dungeon. Hit "R" to run away from every fight, and go straight for the nice loot, the quest item, or the boss battle. (The monsters will still be there when you pass that way next.)
There is a glitch in how the game handles character swapping, that you can use to duplicate items and money. Exactly how to do this is explained in an Open Office document sent to me by volti-115.
First off, there's the character editor. Sure, editors can be used to make games absurdly easy, but they can also be used to make slight adjustments, to change things about the characters that you aren't quite happy with. You can save inventory space by ditching armor and editing characters' defense to reflect the armor they had. Or adjust a hireling to have the skill levels that you would have given them, had you created them. Or pretend that you have enough skill points when training to check every slot.
Saved games are broken up into several files, which you can use to your advantage simply by moving them around. Party.dat holds your party statistics and equipment. So try this: Go into a dungeon. Save the game in slot 1. Drop a really nice piece of equipment. Save the game in slot 2. Copy the party.dat file from the SAVE1 subdirectory to the SAVE2 subdirectory. Now load the game from the second slot. Your party (with the nice item) can now pick up that same item from the dungeon floor. Now you have two of them! Try this with both, and you'll have four! I advise saving also to the third or fourth slot beforehand as a backup, just in case you screw something up.
If you're feeling really munchkinish, you could win the game, save, start a new game in a different slot, then copy your game-winning party into the new game. (Now you'll have a use for that stupid Champion Sword! Seriously, what were you supposed to do with it after winning the game?) The map.rsc file records which parts of the dungeon maps are exposed and which are still black, so if you copy that over as well, you'll be able to see where you're going. (Theoretically, that is. I haven't tried it yet this way.)
The file stores.dat holds the current store inventories. So if you really wish some store had a larger supply of rings of speed, or elven longbows, you could copy the stores.dat file from a new game in a different slot, and buy the "restocked" items.
The file T1.rsc holds the current state of the dungeons. You could move either that or party.dat to do things like repeat a dungeon crawl, or multi-loot a box or chest.
Many aspects of the save files have not made it into my character editor, but you can play with them yourself. Just make sure to save a backup in case you break the save files.
Savegame.dat stores the party's current X and Y coordinates on the map at offsets 58 and 60, respectively. Fiddle with those to move your party around.
Item records (found in your characters' inventories and in item.dat) are 78 bytes long. Bytes are signed (except perhaps for use results).
|Item Offsets and Values|
|0-1||Index||2-7||Cost (float)||8||# of uses||9||Name length|
|10-25||Name (unidentified)||26||Name length||27-42||Name (identified)||43||"Use Item" result|
|44||"Use Item" 2nd result||45||Movement||46||Extra shots||47||Defense|
|48||Spell Points||49||Pick Locks||50||Disarm Traps||51||Deadly Strike|
|52||Trading||53||Read Runes||54||Unarmed Combat||55||Handheld Arms|
|56||Bows||57||Item Identification||58||Hits||59||Extra swings|
|60||Maximum damage||61||Minimum damage||62||Difficulty to use1||63||Race restriction2|
|64||Body slot3||65||Class restriction4||66||Mythic Lore||67||Woods Lore|
|68||Mountaineering||69||Detect Traps||70||Perception||71||Cursed (1=cursed)|
|72||Equipable (1=yes)||73||Fire resistance||74||Cold resistance||75||Water resistance|
|76||Mind resistance5||77||Shock resistance5|
Party.dat contains up to six character records, each 1886 bytes long. Bytes and integers are signed. Note that character statistics herein include bonuses granted by equipment and ability scores.
|Character Offsets and Values|
|0||Name length||1-15||Name||16||Race length||17-32||Race|
|33||Class length||34-47||Class||48-49||Active Status1||50-51||Level|
|52-71||???||72-73||Weapon swings||74-75||Bow shots||76-79||???|
|80-81||Movement||82||Inventory size||83||???||84-89||Experience (float)|
|90-95||Gold (float)||96-97||???||98-99||Pick Locks||100-101||Disarm Traps|
|102-103||Deadly Strike||104-105||Trading||106-107||Read Runes||108-109||Unarmed Combat|
|110-111||Handheld Weapons||112-113||Bows||114-115||Identify Item||116-117||Defense|
|118-119||Hits max||120-121||Hits left||122-123||Spell Points max||124-125||Spell Points left|
|134-153||???||154-169||Stat Bonuses2||170-185||Final Bonuses3||186-221||???|
|222-1781||Inventory||1782-1801||Equipped items4||1802-1821||Identified items5||1822-1823||Fire Resistance|
|1824-1825||Cold Resistance||1826-1827||Water Resistance||1828-1829||Mind Resistance||1830-1831||Shock Resistance|
|1832-1833||Detect Traps||1834-1835||Perception||1836-1837||Mythic Lore||1838-1839||Spell List|
|1858-1871||Spell lists known||1872-1885||???|
Lobosolitario offers the following information (which I have not checked, but I trust him) regarding the contents of the stores.dat file. "The first part of the file is split up into entries 2541 bytes long, each covering one store in the game. These entries contain the following information:"
|Store Contents Offsets and Values|
|0||Store name length||1-40||Store name||41||Item 1 name length||42-83||Item 1 name 1|
|84-2090||Item 2-50 names (same format as item 1)||2091-2096||Item 1 price||2097-2390||Item 2-50 prices|
|2391-2392||Item 1 ID2||2393-2490||Item 2-50 IDs||2491||Item 1 quantity in stock||2492-2540||Item 2-50 quantities|
Lobosolitario suggests: "It would be possible to set up a 'Sneaky Pete's Bargain Magical Weapons Shop' where the item name states 'Broadsword ++' and the price is slightly higher than a normal broadsword, but the item ID is that of a normal broadsword. It would also be possible to set up a scenario where trading between towns was possible by setting different prices in different locations."