While researching how to tame the insta-terraforming exploit, I accidentially found the ground combat tech level multiplier in trek.exe.
How Ground Combat works:
viewtopic.php?name=Forums&file=viewtopic&t=56
The tech level influence is expressed by the factor
1 + 0.1 * [current weapon tech level]
The 0.1 is stored in trek.exe.
position: 0x178B04
length: 8 bytes
--------------
Update:
There's a second instance of the ground combat tech level multiplier at position 0x178A4C. It is only used during ground combat calculation and therefore not visible in the game. But since this one is a shared multiplier, changing it could have negative side effects.
Instead, you can change the critical reference to the second instance of the multiplier to a reference to the primary multiplier by changing
"4C AC 57 00"
to
"04 AD 57 00"
at position 0x6670E in trek.exe. This way you can be sure that your changes are consistent.
(this will also be done for BoP asap)
--------------
Negative values are possible and can lead to a negative ground combat strength. For some strange reason, this did not cause a crash when I tested it. I successfully conquered Bynaus (Ground Defense 15) with a Cardassian TT2 that had a Ground Combat value of -25. Funny ^^
The actual task has become a lot harder to reach, unfortunately. As if there weren't enough ties and bounds regarding the work rates of TTs and Colony Ships, there's another problem to deal with:
As you probably know, the work rate of a TT is divided by 10 when calculating its ground combat strength. But that's not the problem. The point is that the remainder is discarded. So a TT must have a work rate of 10 at the least, or it will have zero strength, no matter how high the race-specific constant is. Now this really sucks.
I've tested every 0.01, 0.1, 10.0 and 100.0 in trek.exe, but this issue didn't change. I've also tested about 70% of all occurences of "0A00" (=10) in trek.exe, with no result as well. I'll not test the other 30% - too many crashes, a few times trek.exe even deleted my stbof.ini while crashing
The Ground Combat Tech Level Multiplier
Moderator: thunderchero
The Ground Combat Tech Level Multiplier
Last edited by Gowron on Sun Aug 01, 2010 10:25 am, edited 2 times in total.
If a colony ship has a production value of 9 and a TT 10, then the insta-terraforming shouldn't be such a problem anymore. Adding TT's to the task force would be roughly the same as adding additional colony ships.
One would only need to modify the combat multipliers and outpost/starbase industry costs.
One would only need to modify the combat multipliers and outpost/starbase industry costs.
Correct. That's almost exactly what I did in Balance of PowerDCER wrote:If a colony ship has a production value of 9 and a TT 10, then the insta-terraforming shouldn't be such a problem anymore. Adding TT's to the task force would be roughly the same as adding additional colony ships.
One would only need to modify the combat multipliers and outpost/starbase industry costs.
In addition, I made TTs about twice expensive as colony ships.
A discovery consists in seeing something everybody has seen and at the same time thinking something nobody has thought yet.
- Spocks-cuddly-tribble
- Code Master
- Posts: 1926
- Joined: Sun Apr 27, 2008 2:00 am
Re: The Ground Combat Tech Level Multiplier
Is in trek.exe at 0x49C5C // asm code loc_44A835Gowron wrote:the work rate of a TT is divided by 10 when calculating its ground combat strength. But that's not the problem. The point is that the remainder is discarded. So a TT must have a work rate of 10 at the least, or it will have zero strength, no matter how high the race-specific constant is. Now this really sucks.
I've tested every 0.01, 0.1, 10.0 and 100.0 in trek.exe, but this issue didn't change. I've also tested about 70% of all occurences of "0A00" (=10) in trek.exe, with no result as well. I'll not test the other 30% - too many crashes, a few times trek.exe even deleted my stbof.ini while crashing
Be careful not "accidentially" to replace "idiv" with "imul".
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.