Code: Select all
/*******************************/
/* THIEF3: No Equipment Limits */
/*******************************/
by Gamall Wednesday Ida
-> gamall-ida.com
-> gamall.ida@gmail.com
IN SHORT
=-=-=-=-=
This utility removes the limits to the equipment Garrett can carry at once (5 Gas Arrows, 15 Fire Arrows etc...). In fact, that limit is pushed to 999.
WHY ?
=-=-=-=-=
I don't know about you, but I hate that kind of limit, especially since the extra equipment simply disappears when you attempt to take it. One might argue that these limits are there for realism's sake, but throughout the game Garrett hauls around tons and tons of coins, jeweled glasses, silverware, tapestries, paintings and so on and so forth, without any sign of fatigue. Even Black Market Bertha says that "[Garrett] must be awfully stroooong...". Since he is strong enough to carry all the riches of the City on his back, I see no reason why he shouldn't be strong enough to carry more than 5 Gas Arrows at a time... and no reason at all why equipment should vanish at his mere touch when he has reached the limit.
HOW ?
=-=-=-=-=
These values are stored somewhere in System\T3Gamesys.t3u. Thanks to a guy named Saracoth for finding out where exactly. Here follows a snippet from the program's code, which summarizes the info you need to carry out the operation manually with your favourite hexadecimal editor, if you don't want to use my program.
=================================================
struct Operation
{
string desc;
int offset;
char defval[4];
char val[4];
};
const int items = 12;
Operation OP[items] =
{
{"Broadhead Arrows",0x2FD8C, {30, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Water Arrows ",0x2531D, {25, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Moss Arrows ",0x2618C, {20, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Fire Arrows ",0x26382, {15, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Noise Arrows ",0x2924C, { 5, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Gas Arrows ",0x2B0B8, { 5, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Health Potions ",0x53ACD, {10, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Flashbombs ",0x26D36, {20, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Explosive Mines ",0x2BC21, { 5, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Oil Flasks ",0x41847, { 5, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Holy Water ",0x2D11C, { 5, 0, 0, 0}, {0xE7, 3, 0, 0}},
{"Gas Bombs ",0x351BA, { 5, 0, 0, 0}, {0xE7, 3, 0, 0}},
};
=================================================
HOW TO USE
=-=-=-=-=-
- PATCHING
1° Backup System\T3Gamesys.t3u.
2° Drag T3Gamesys.t3u onto the icon of the program. The program will check whether the file has the right length. If everything goes right, you should see the table of the default game values (screen1).
3° Answer "y" to proceed. (screen2)
- CHECKING
4° Now, if you submit T3Gamesys.t3u to the program again, you should see that all the limits are 999. (screen3)
5° I recommend you check the MD5 sums:
Original File: dbefda1507ec3c1fe1932efbd90a706f
Patched File: 4a2933ade5eb9669b1a81b6371ed5164
FINAL WORD
=-=-=-=-=-
Have fun, use at your own risk ;-)
Offsets Archive
Code: Select all
Offset - Item, Default (decimal)
Maximums:
2531D - Water Arrow, 19 (25)
2618C - Moss Arrow, 14 (20)
26382 - Fire Arrow, 0F (15)
26D36 - Flashbomb, 14 (20)
2924C - Noisemaker Arrow, 05 (5)
2B0B8 - Gas Arrow, 05 (5)
2BC21 - Explosive Mine, 05 (5)
2D11C - Holy Water, 05 (5)
2FD8C - Broadhead Arrow, 1E (30)
351BA - Gas Bomb, 05 (5)
41847 - Oil Flask, 05 (5)
53ACD - Health Potion, 0A (10)
Prices:
291F6 - Noisemaker Arrow, E1 (225)
2A6F5 - Water Crystal, 64 (100)
2FD37 - Broadhead Arrow, 64 (100)
34EFD - Practice Lock (Fancy, Gold), E803 (1000) - untested
35088 - Practice Lock (Square, Silver), EE02 (750) - untested
35307 - Practice Lock (Shield, "Default" ... Iron?), F401 (500) - untested
354AA - Practice Lock (Diamond, "Default" ... Iron?), FA (250) - untested
3DC07 - Fire Crystal, FA (250)
3F239 - Moss Crystal, 7D (125)
3FAAE - Gas Crystal, 4501 (325)
46C4E - Oil Flask, AF (175)
50F48 - Gas Bomb, 7701 (375)
53A7A - Health Potion, C8 (200)
4F850 - Explosive Mine, 1301 (275)
4FC29 - Flashbomb, 64 (100)
98858 - Climbing Gloves, D007 (2000) - untested