Jump to content


Photo

Max Soldier Stats At 255


  • Please log in to reply
5 replies to this topic

#1 qcvar

qcvar

    Rookie

  • Forum Members
  • Pip
  • 0 posts

Posted 12 October 2008 - 12:53 PM

Hi guys,

I've gotten back into X-Com and I'm wondering where in GEOSCAPE.EXE (or BATTLESCAPE.EXE?) I'd edit to raise the stat caps for soldiers. Since the values wrap at 255, I'd probably set the caps there (except for strength due to objects hitting the "roof").

I know NKF and others have put up reasons as to why the current caps make sense (thrown objects intersecting with the roof, soldiers running faster than a tank), but I want to do this for two reasons.

a) Except for PSI Strength, all of my soldiers become identical after a few missions with maxed out health, TUs, strength, reactions, and firing accuracy. I'd like to see that super combat capable veteran with terrible PSI strength still have some advantage after several missions. I know they will still cap out at 255, but at least this gives greater leeway.

B) I want heroic veterans, who can kill aliens by sweating.

Yes, I could modify the soldiers through an editor, but I want this growth to happen "naturally", through combat, if I can.

I'm running collector's edition with XcomUtil. I don't have the old DOS version with uncapped stats (nor do I want it, since I don't want wrapping past 255).

Thanks much for the help.

Edited by qcvar, 12 October 2008 - 12:53 PM.


#2 Zombie

Zombie

    Colonel

  • Xenocide Creative-Text Departmen
  • 2,947 posts

Posted 12 October 2008 - 02:55 PM

Well, we don't know where the caps are for soldier stats in the executable. I tried doing a compare between the dos v1.0 and the v1.2 patch, but the differences start early in the exe and thus propagate to the end of the file. It'll have to be a manual compare until I find a different program to do this. :)

There are other issues when raising the caps besides the stats you mentioned. Firing Accuracy beyond about 150-160 will sometimes wrap the base chance to hit to a really low number, especially when using the super-accurate aimed shot of sniper weapons. Strength greater than 71 has a tendency to actually make a soldier weaker and unable to throw objects. High Time Units are fine, but this stat is used for a lot of calculations and hence energy is adversely affected. Finally, if you get health too high and a soldier gets wounded, he will be in the infirmary for a very long time. So it's not a bad idea to have these caps in place. But for modders, well, we want it our way! ;)

- Zombie
The Mr. Grognard of X-COM

Zombie: Empirical data's your only man, when formulating a research plan.
A soldier's death is never in vain if it makes the formula more plain.
A few dozen make a better case for refining that third decimal place.
They call me Zombie because I don't sleep, as I slowly struggle to climb this heap,
of corpses, data points, and trials, but from the top - I'll see for miles!


#3 NKF

NKF

    Commander

  • [Global Moderators]
  • PipPipPipPipPipPip
  • 4,798 posts

Posted 13 October 2008 - 02:01 AM

Some stats don't really need any tweaking. Strength at 70 allows you to carry pretty much any item combination. Accuracy is quite impressive already when it caps at 120~125 maximum (138~143 when kneeling). The stats that would probably benefit the most from a 255 cap include TUs, energy and reactions. Health too as long as you don't mind the potential worst case scenario bed rest time of 127~381 days! :D The Psi skill cap can already be broken in-game.

When we find the caps and are able to fiddle with them, you will also have to take into account that some stats can award experience a few points over the cap, so a cap of 255 could cause some stats to wrap around if they get a good final roll! Some will have to be wired at 254 or 250.

----

The problem with finding some of the caps in the executable the old fashioned way (i.e. diving through the code looking for number patterns) is that their values are very common. For example, values of 60, 70, 100 and 120 are VERY common throughout the executable. (In ascii text they look like <, F, d and x). Also we don't know whether they are part of instructions that are actioned during run-time (somewhere in the middle of the executable) or if they're in a table (generally at the end of the executable).

Seb76 might be of some assistance here, his ability to track things down through assembly code has made incredible leaps and bounds with regards to hunting for bits of data or code in the executables.

- NKF


P. S: Random interesting but useless tidbit. There's only 1 occurrence of lower case 'x' in the UFO soldier name table.

Edited by NKF, 13 October 2008 - 02:05 AM.

Lord High Generalissimo Ruler Supreme of Norm's Anti Pedant Society (NAPS).

Number of members: 1

#4 stewart

stewart

    Programming Department

  • [Xenocide Senior Members]
  • 10,528 posts

Posted 13 October 2008 - 10:44 AM

<Note> Xenocide use int not short </Note>

BTW Pocket UFO doesnt seem to have these problems; I've got soldiers now who can run clear across the map and still do 3 snapshots with a heavy laser.

Bet they used int!
Posted Image
I'm starting to like the heavy cannon more and more.

#5 qcvar

qcvar

    Rookie

  • Forum Members
  • Pip
  • 0 posts

Posted 13 October 2008 - 12:18 PM

Awww... looks like I won't have my natural supersoldiers anytime soon. Thanks to everyone for looking into this, though. Though if I could change the caps, given the overflow and how game mechanics works, I'd probably cap accuracy at 150, keep strength at 70, and have TU, reaction, energy at 250 (in case of overflow).

#6 Zombie

Zombie

    Colonel

  • Xenocide Creative-Text Departmen
  • 2,947 posts

Posted 13 October 2008 - 01:12 PM

Don't give up hope yet though, we'll find them eventually. :)

The problem with finding some of the caps in the executable the old fashioned way (i.e. diving through the code looking for number patterns) is that their values are very common. For example, values of 60, 70, 100 and 120 are VERY common throughout the executable. (In ascii text they look like <, F, d and x). Also we don't know whether they are part of instructions that are actioned during run-time (somewhere in the middle of the executable) or if they're in a table (generally at the end of the executable).

I've pretty much got the last part of the CE executable completely mapped out now, and I haven't seen anything which looks even remotely like solider caps in there. It's most likely earlier in the exe somewhere like you mentioned. ;)

- Zombie
The Mr. Grognard of X-COM

Zombie: Empirical data's your only man, when formulating a research plan.
A soldier's death is never in vain if it makes the formula more plain.
A few dozen make a better case for refining that third decimal place.
They call me Zombie because I don't sleep, as I slowly struggle to climb this heap,
of corpses, data points, and trials, but from the top - I'll see for miles!