X-COM: UFO Defense Hacking Guide version 3.0 By: whatever aizen_myouou@zdnetonebox.com ---------------------------------------------------------------------- Table of Content 1. Introduction 2. Money 3. Soldiers 4. Items and Facilities 5. Weapons 6. Credits 7. Copyright Statement ---------------------------------------------------------------------- 1. Introduction ---------------------------------------------------------------------- This guide is designated to help those, who stuck in X-COM:UFO Defense game. This guide is tested on X-COM: UFO Defense, which is included in X-COM Collectors Edition. Since I don't have the older version, so I can't test on it. The older version might be the same as the Collector Edition, but I can't guarantee. If you find any mistake on this guide, don't hesitate to contact me. I'm looking forward to receive corrections and feed back. A word of warning, by using this guide you've spoiled the entire excitement of the game. If you want to play fair, don't read the rest of the guide. If you decided to make use of this guide, you'll need these: 1. X-COM: UFO Defense game 2. The save game you want to tamper 3. Hex Editor 4. Knowledge of Hexadecimal The game provides 10 slots of save games you can use. Each of the slots is saved in a separate directory named "Game_" appended with the slot number. In Example: You saved your game in the third slot, your save game is inside "Game_3" directory. From here on, I won't touch the save game directory anymore. Below are some basic conversions from decimal to hexadecimal: -------------------------------------- Decimal Hexadecimal -------------------------------------- 1 01 2 02 3 03 4 04 5 05 6 06 7 07 8 08 9 09 10 0A 11 0B 12 0C 13 0D 14 0E 15 0F 16 10 100 64 255 FF 65,535 FF FF 99,999,999 FF E0 F5 05 -------------------------------------- NOTE: Before you start editing, back up the file you're gonna change. ---------------------------------------------------------------------- 2. Money ---------------------------------------------------------------------- Open the file "lilglob.dat" with your Hex Editor. Change the first 4 bytes value to your needs. The recommended value is FF E0 F5 05. This will give you 99,999,999, more than enough to finish the game. You can go up to 2 billions, but I'm afraid it may screw up your save game. ---------------------------------------------------------------------- 3. Soldiers ---------------------------------------------------------------------- The soldiers' data are saved in the file "soldier.dat". Browsing through this file is somehow easy, since the soldier name is saved there as well. The stats for each soldier are several bytes underneath. The total number of soldiers you may have is variable. Thus, it's impossible to list all the offset here. I will use the first soldier as reference for the next soldiers. This is the stats table for the first soldier: ------------------------------------------------------------ Stats Offset Size Max Value ------------------------------------------------------------ Time Unit 002A 1 Byte FF Health 002B 1 Byte FF Stamina 002C 1 Byte FF Reaction 002D 1 Byte FF Strength 002E 1 Byte 64 Firing Accuracy 002F 1 Byte FF Throwing Accuracy 0030 1 Byte FF Psi Strength 0032 1 Byte FF Psi Skill 0033 1 Byte FF Bravery 0034 1 Byte 01 ------------------------------------------------------------ NOTE: If you give Strength above 64, the soldier won't be able to throw anything. Bravery uses the formula below to calculate: 110 - Bravery Hex Value = ------------- 10 I.e.: If your soldier has Bravery 70 points, the hex value is: 110 - 70 -------- = 04 10 To calculate the stat offset for the second soldier, just add 44 to the offset of the first soldier. For the third soldier add (44 x 2) to the offset of the first soldier (The calculation is done in Hexadecimal, you might need a scientific calculator to do so). Example: The Strength offset for the second soldier will be: 002E + 44 = 0072 The Stamina offset for the 11th soldier will be: 002C + (44 x A) = 2D4 = 02D4 ---------------------------------------------------------------------- 4. Items and Facilities ---------------------------------------------------------------------- Items data can be found inside the file "base.dat" in your save game directory. The offset for each item is fixed, just key in the amount of item you want. Just like the soldiers data, I'll use the first base as reference for the next bases. ----------------------------------------------- Item Name Offset Size ----------------------------------------------- Engineer 005E 1 Byte Scientist 005F 1 Byte Stingray Launcher 0060 2 Bytes Avalanche Launcher 0062 2 Bytes Cannon 0064 2 Bytes Fusion Ball Launcher 0066 2 Bytes Laser Cannon 0068 2 Bytes Plasma Beam 006A 2 Bytes Stingray Missile 006C 2 Bytes Avalanche Missile 006E 2 Bytes Cannon Rounds 0070 2 Bytes Fusion Balls 0072 2 Bytes Tank/Cannon 0074 2 Bytes Tank/Rocket Launcher 0076 2 Bytes Tank/Laser Cannon 0078 2 Bytes Hovertank/Plasma 007A 2 Bytes Hovertank/Launcher 007C 2 Bytes Pistol 007E 2 Bytes Pistol Clip 0080 2 Bytes Rifle 0082 2 Bytes Rifle Clip 0084 2 Bytes Heavy Cannon 0086 2 Bytes HC-AP Ammo 0088 2 Bytes HC-HE Ammo 008A 2 Bytes HC-IN Ammo 008C 2 Bytes Auto Cannon 008E 2 Bytes AC-AP Ammo 0090 2 Bytes AC-HE Ammo 0092 2 Bytes AC-IN Ammo 0094 2 Bytes Rocket Launcher 0096 2 Bytes Small Rocket 0098 2 Bytes Large Rocket 009A 2 Bytes Incendiary Rocket 009C 2 Bytes Laser Pistol 009E 2 Bytes Laser Rifle 00A0 2 Bytes Heavy Laser 00A2 2 Bytes Grenade 00A4 2 Bytes Smoke Grenade 00A6 2 Bytes Proximity Grenade 00A8 2 Bytes High Explosive 00AA 2 Bytes Motion Scanner 00AC 2 Bytes Medi-Kit 00AE 2 Bytes Psi-Amp 00B0 2 Bytes Stun Rod 00B2 2 Bytes Electro Flare 00B4 2 Bytes Heavy Plasma 00C2 2 Bytes Heavy Plasma Clip 00C4 2 Bytes Plasma Rifle 00C6 2 Bytes Plasma Rifle Clip 00C8 2 Bytes Plasma Pistol 00CA 2 Bytes Plasma Pistol Clip 00CC 2 Bytes Blaster Launcher 00CE 2 Bytes Blaster Bomb 00D0 2 Bytes Small Launcher 00D2 2 Bytes Stun Bomb 00D4 2 Bytes Alien Grenade 00D6 2 Bytes Elerium-115 00D8 2 Bytes Mind Probe 00DA 2 Bytes Sectoid Corpse 00E2 2 Bytes Snakeman Corpse 00E4 2 Bytes Ethereal Corpse 00E6 2 Bytes Muton Corpse 00E8 2 Bytes Floater Corpse 00EA 2 Bytes Celatid Corpse 00EC 2 Bytes Silacoid Corpse 00EE 2 Bytes Chryssalid Corpse 00F0 2 Bytes Reaper Corpse 00F2 2 Bytes Sectopod Corpse 00F4 2 Bytes Cyberdisc Corpse 00F6 2 Bytes UFO Power Source 0100 2 Bytes UFO Navigation 0102 2 Bytes UFO Construction 0104 2 Bytes Alien Food 0106 2 Bytes Alien Reproduction 0108 2 Bytes Alien Entertainment 010A 2 Bytes Alien Surgery 010C 2 Bytes Examination Room 010E 2 Bytes Alien Alloys 0110 2 Bytes Alien Habitat 0112 2 Bytes Personal Armour 0114 2 Bytes Power Suit 0116 2 Bytes Flying Suit 0118 2 Bytes HWP Cannon Shell 011A 2 Bytes HWP Rockets 011C 2 Bytes HWP Fusion Bomb 011E 2 Bytes ----------------------------------------------- The table above is only for first base. To get the next base offsets just add 124 to the previous base offsets. The calculation is still in hexadecimal. Just use scientific calculator to make life easier. Example: To calculate the Engineer offset for base number 2: 005E + 124 = 182 = 0182 To calculate Flying Suit offset for base number 4: 0118 + (124 x 3) = 484 = 0484 Another easy trick is to change the item amount is the first base and just transfer them to other base. But this method will consume some time to complete. But it is easier than actually changing the item amount in the particular base. The next is the facilities that you can build in the game. I will list out the facility code first. ------------------------------------ Hex Code Facility Name ------------------------------------ 00 Access Lift 01 Living Quarters 02 Laboratory 03 Workshop 04 Small Radar System 05 Large Radar System 06 Missile Defense 07 General Stores 08 Alien Containment 09 Laser Defense 0A Plasma Defense 0B Fusion Ball Defense 0C Grav Shield 0D Mind Shield 0E Psionic Laboratory 0F Hyper-wave Decoder 10 Hangar (Top Left) 11 Hangar (Top Right) 12 Hangar (Bottom Left) 13 Hangar (Bottom Right) FF Empty ------------------------------------ All facilities use 1 block of space, except hangar that uses 4 blocks. Each section of hangar must be placed manually, so it has to like..... /-------------\ | 10 | 11 | | | | |-------------| | 12 | 13 | | | | \-------------/ If you missed any of those bytes, the game may not recognize the hangar's existence. So, you can't place any craft in it. The next is the first Base Layout and the offset of each block. Every block is given FF code when empty, replace it with any of the above code. /-----------------------------------------\ | 0016 | 0017 | 0018 | 0019 | 001A | 001B | | | | | | | | |-----------------------------------------| | 001C | 001D | 001E | 001F | 0020 | 0021 | | | | | | | | |-----------------------------------------| | 0022 | 0023 | 0024 | 0025 | 0026 | 0027 | | | | | | | | |-----------------------------------------| | 0028 | 0029 | 002A | 002B | 002C | 002D | | | | | | | | |-----------------------------------------| | 002E | 002F | 0030 | 0031 | 0032 | 0033 | | | | | | | | |-----------------------------------------| | 0034 | 0035 | 0036 | 0037 | 0038 | 0039 | | | | | | | | \-----------------------------------------/ Next goes to the time taken to finish building base facilities. Again, it is based on the first base. When empty, each block has FF value. Set it to 00 to indicate that the facility is finished. /-----------------------------------------\ | 003A | 003B | 003C | 003D | 003E | 003F | | | | | | | | |-----------------------------------------| | 0040 | 0041 | 0042 | 0043 | 0044 | 0045 | | | | | | | | |-----------------------------------------| | 0046 | 0047 | 0048 | 0049 | 004A | 004B | | | | | | | | |-----------------------------------------| | 004C | 004D | 004E | 004F | 0050 | 0051 | | | | | | | | |-----------------------------------------| | 0052 | 0053 | 0054 | 0055 | 0056 | 0057 | | | | | | | | |-----------------------------------------| | 0058 | 0059 | 005A | 005B | 005C | 005D | | | | | | | | \-----------------------------------------/ In order to get the offset for the rest of the bases, you can use the same calculation examples given in "Items Section" above. ---------------------------------------------------------------------- 5. Weapons ---------------------------------------------------------------------- WARNING: This section completely tampers with the game setting. This section is not recommended for a novice. The changes will affect the whole game, not only a particular save game. Any mistake might screw up the whole game, forcing you to re- install the game. The weapons data can be found in directory "\Geodata", with file named "Obdata.dat". Please, make back up of it before you proceed further. I separate them into 2 parts: human & alien technology. Be very careful when tampering with alien technology. The alien will use them against you. Maximum byte values: Accuracy (in percentage) 64 Time Unit Consumption Rate (in percentage) 01 Power FF Rounds FF Human Technology: 1. Pistol Accuracy: Auto Shot 0020 1 Byte Snap Shot 0021 1 Byte Aimed Shot 0022 1 Byte Time Unit Consumption Rate: Auto Shot 0023 1 Byte Snap Shot 0024 1 Byte Aimed Shot 0025 1 Byte 2. Pistol Clip Power 004C 1 Byte Rounds 005C 1 Byte 3. Rifle Accuracy: Auto Shot 008C 1 Byte Snap Shot 008D 1 Byte Aimed Shot 008E 1 Byte Time Unit Consumption Rate: Auto Shot 008F 1 Byte Snap Shot 0090 1 Byte Aimed Shot 0091 1 Byte 4. Rifle Clip Power 00B8 1 Byte Rounds 00C8 1 Byte 5. Heavy Cannon Accuracy: Auto Shot 00F8 1 Byte Snap Shot 00F9 1 Byte Aimed Shot 00FA 1 Byte Time Unit Consumption Rate: Auto Shot 00FB 1 Byte Snap Shot 00FC 1 Byte Aimed Shot 00FD 1 Byte 6. Heavy Cannon AP Ammo Power 0124 1 Byte Rounds 0134 1 Byte 7. Heavy Cannon HE Ammo Power 015A 1 Byte Rounds 016A 1 Byte 8. Heavy Cannon IN Ammo Power 0190 1 Byte Rounds 01A0 1 Byte 9. Auto Cannon Accuracy: Auto Shot 01D0 1 Byte Snap Shot 01D1 1 Byte Aimed Shot 01D2 1 Byte Time Unit Consumption Rate: Auto Shot 01D3 1 Byte Snap Shot 01D4 1 Byte Aimed Shot 01D5 1 Byte 10. Auto Cannon AP Ammo Power 01FC 1 Byte Rounds 020C 1 Byte 11. Auto Cannon HE Ammo Power 0232 1 Byte Rounds 0242 1 Byte 12. Auto Cannon IN Ammo Power 0268 1 Byte Rounds 0278 1 Byte 13. Rocket Launcher Accuracy: Auto Shot 02A8 1 Byte Snap Shot 02A9 1 Byte Aimed Shot 02AA 1 Byte Time Unit Consumption Rate: Auto Shot 02AB 1 Byte Snap Shot 02AC 1 Byte Aimed Shot 02AD 1 Byte 14. Small Rocket Power 02D4 1 Byte Rounds 02E4 1 Byte 15. Large Rocket Power 030A 1 Byte Rounds 031A 1 Byte 16. Incendiary Rocket Power 0340 1 Byte Rounds 0350 1 Byte 17. Laser Pistol Power 0376 1 Byte Accuracy: Auto Shot 0380 1 Byte Snap Shot 0381 1 Byte Aimed Shot 0382 1 Byte Time Unit Consumption Rate: Auto Shot 0383 1 Byte Snap Shot 0384 1 Byte Aimed Shot 0385 1 Byte 18. Laser Rifle Power 03AC 1 Byte Accuracy: Auto Shot 03B6 1 Byte Snap Shot 03B7 1 Byte Aimed Shot 03B8 1 Byte Time Unit Consumption Rate: Auto Shot 03B9 1 Byte Snap Shot 03BA 1 Byte Aimed Shot 03BB 1 Byte 19. Heavy Laser Power 03E2 1 Byte Accuracy: Auto Shot 03EC 1 Byte Snap Shot 03ED 1 Byte Aimed Shot 03EE 1 Byte Time Unit Consumption Rate: Auto Shot 03EF 1 Byte Snap Shot 03F0 1 Byte Aimed Shot 03F1 1 Byte 20. Grenade Power 0418 1 Byte 21. Smoke Grenade Power 044E 1 Byte 22. Proximity Grenade Power 0484 1 Byte 23. High Explosive Power 04BA 1 Byte 24. Stun Rod Time Unit Consumption Rate: Stun 05A5 1 Byte Alien Technology: 1. Plasma Pistol Accuracy: Auto Shot 0824 1 Byte Snap Shot 0825 1 Byte Aimed Shot 0826 1 Byte Time Unit Consumption Rate: Auto Shot 0827 1 Byte Snap Shot 0828 1 Byte Aimed Shot 0829 1 Byte 2. Plasma Pistol Clip Power 0850 1 Byte Rounds 0860 1 Byte 3. Plasma Rifle Accuracy: Auto Shot 07B8 1 Byte Snap Shot 07B9 1 Byte Aimed Shot 07BA 1 Byte Time Unit Consumption Rate: Auto Shot 07BB 1 Byte Snap Shot 07BC 1 Byte Aimed Shot 07BD 1 Byte 4. Plasma Rifle Clip Power 07E4 1 Byte Rounds 07F4 1 Byte 5. Heavy Plasma Accuracy: Auto Shot 074C 1 Byte Snap Shot 074D 1 Byte Aimed Shot 074E 1 Byte Time Unit Consumption Rate: Auto Shot 074F 1 Byte Snap Shot 0750 1 Byte Aimed Shot 0751 1 Byte 6. Heavy Plasma Clip Power 0778 1 Byte Rounds 0788 1 Byte 7. Blaster Launcher Accuracy: Auto Shot 0890 1 Byte Snap Shot 0891 1 Byte Aimed Shot 0892 1 Byte Time Unit Consumption Rate: Auto Shot 0893 1 Byte Snap Shot 0894 1 Byte Aimed Shot 0895 1 Byte 8. Blaster Bomb Power 08BC 1 Byte Rounds 08CC 1 Byte 9. Small Launcher Accuracy: Auto Shot 08FC 1 Byte Snap Shot 08FD 1 Byte Aimed Shot 08FE 1 Byte Time Unit Consumption Rate: Auto Shot 08FF 1 Byte Snap Shot 0900 1 Byte Aimed Shot 0901 1 Byte 10. Stun Bomb Power 0928 1 Byte Rounds 0938 1 Byte 11. Alien Grenade Power 095E 1 Byte 12. Mind Probe Time Unit Consumption Rate: Use 09DD 1 Byte I have found some anomalies when altering weapon data. If you'd changed the soldier firing accuracy to 255 and the weapon accuracy to 255 as well, it'll result a negative accuracy. So, if you change the soldier firing accuracy to 255, don't set the weapon accuracy for more than 64 (100% Accuracy). Shooting modes for weapon too, can be change. To add, just apply a reasonable value to the designated offsets. To remove, simply change the value to 00 on the desired shooting mode. Changes must be applied on both the Accuracy and Time Unit Usage on that mode. ---------------------------------------------------------------------- 6. Credit ---------------------------------------------------------------------- Special thanks to: -MicroProse, for making such a great tactical game series. -Benjamin Peterson, for writing Advance HeX Editor. ---------------------------------------------------------------------- 7. Copyright Statement ---------------------------------------------------------------------- This document is copyright of Agus Kurniawan, 2001. This document is intended to be posted only on GameFAQs and may not be posted on other site. X-COM Collector Series is a trademark of MicroProse Entertainment, 1999. Advance HeX Editor is copyright of Benjamin Peterson, 1998.