Domination victory conditions

Domination victory conditions & Borg invasion; support/discussion/questions

Moderator: thunderchero

Post Reply
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1870
Joined: Sun Apr 27, 2008 2:00 am

Domination victory conditions

Post by Spocks-cuddly-tribble »

As soon as the turn number exceeds 60, subroutine 44E170 starts checking for domination victories:

Code: Select all

44E138  cmp  ds:5A2918(TurnNumber), 3Ch
The check for single domination victory seems to work according to the game manual i.e. requirements are over 60% of the cumulated current population of all empires and over 60% of all systems on the map.


Multiplier for single domination:

ds:579044 (default: 0.6) // i.e. at 0x176E44 (8 bytes)

Applied at 44E238 for the population check and at 44E47A for the systems count.

Note: Possible inconsistencies of the system count (ds:5A36BC) regarding additional starting/adjacent systems or destruction of star systems (supernovas) could distort both calculations!



Multiplier for team domination / Alliance:

ds:57904C (default: 0.67) // i.e. at 0x176E4C (8 bytes)

Note: According to the game manual this value should be 0.75 !

A serious defect apart from this is here the missing star system count. So, in the majority of cases, the alliance domination is easier to reach - even if the ally would have zero systems. :?



Borg Invasion: (loc_44E2DB)

If one of the empires reaches 50% of the cumulated current population of all empires then BotF adds a borg-cube to the game (assuming random events / BORG = ON & borg-cube cost check vs. empire fleets = OK, see HERE).
Last edited by Spocks-cuddly-tribble on Fri Apr 29, 2022 7:07 pm, edited 1 time in total.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
Peter1981
Rear-Admiral
Rear-Admiral
Posts: 1118
Joined: Tue May 06, 2008 2:00 am
Location: England

Post by Peter1981 »

i always thought the alliance domination was easy but i just never thought it was massively flawed :)

good work Spocks-cuddly-tribble
User avatar
Turner
Ensign
Ensign
Posts: 31
Joined: Fri May 09, 2008 2:00 am

Re: Domination victory conditions

Post by Turner »

Spocks-cuddly-tribble wrote: Multiplier for single domination:

ds:579044 (default: 0.6) // i.e. at 0x176E44 (8 bytes)

Applied at 44E238 for the population check and at 44E47A for the systems count.

Note: Possible inconsistencies of the system count (ds:5A36BC) regarding additional starting/adjacent systems or destruction of star systems (supernovas) could distort both calculations!
Today I've tried to reduce the value for the single player domination. But I still have the problem, that I've to kill all other empires to win the game without an ally in domination mode. I started with two additional systems, so maybe this could be the problem. But regardless of that, I would like to know, if there is a possibility to disable the system count for single player domination, because I've never had this problem, when I was playing in an ally.
User avatar
Gowron
Code Master
Code Master
Posts: 304
Joined: Sat Apr 26, 2008 2:00 am
Location: 50° N, 11° E

Re: Domination victory conditions

Post by Gowron »

Turner wrote:
Spocks-cuddly-tribble wrote: Multiplier for single domination:

ds:579044 (default: 0.6) // i.e. at 0x176E44 (8 bytes)

Applied at 44E238 for the population check and at 44E47A for the systems count.

Note: Possible inconsistencies of the system count (ds:5A36BC) regarding additional starting/adjacent systems or destruction of star systems (supernovas) could distort both calculations!
Today I've tried to reduce the value for the single player domination. But I still have the problem, that I've to kill all other empires to win the game without an ally in domination mode. I started with two additional systems, so maybe this could be the problem. But regardless of that, I would like to know, if there is a possibility to disable the system count for single player domination, because I've never had this problem, when I was playing in an ally.
According to the information that SCT posted, you can disable the system count check by replacing

Code: Select all

0F 86 2E FE FF FF
with

Code: Select all

90 90 90 90 90 90
at position 0x4D8A7 in trek.exe :)
A discovery consists in seeing something everybody has seen and at the same time thinking something nobody has thought yet.
User avatar
Turner
Ensign
Ensign
Posts: 31
Joined: Fri May 09, 2008 2:00 am

Post by Turner »

Thank you, Gowron :D
Now the game ends when it should end :wink:
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1870
Joined: Sun Apr 27, 2008 2:00 am

Domination Victory Borg Invasion Fix & Vendetta Enemies

Post by Spocks-cuddly-tribble »

Spocks-cuddly-tribble wrote:Borg Invasion: (loc_44E2DB)

If one of the empires reaches 50% of the cumulated current population of all empires then BotF adds a borg-cube to the game (assuming random events / BORG = ON & borg-cube cost check vs. empire fleets = OK, see HERE).
A bug blocks the new cube and can even prevent random borg from entering the game (BorgTimeOut & load-game borg data errors):


:arrow: Domination Victory - Borg Invasion bug fix: (domination mode feature only)

Code: Select all

trek.exe at 0x4D6FD
replace: (24 bytes)
E8 62 0F 00 00 85 C0 74 15 B8 24 00 00 00 BD 01 00 00 00 E8 0B CF FF FF
with:
8B 2D E0 FD 58 00 33 C0 B0 24 E8 14 CF FF FF 3B 2D E0 FD 58 00 74 07 45


44E2FD     8B2D E0FD5800  MOV EBP, [58FDE0]  // number of cubes
44E303     33C0           XOR EAX, EAX  // prepare for...
44E305     B0 24          MOV AL, 24h  // Borg ID
44E307     E8 14CFFFFF    CALL 44B220  // monster to random position
44E30C     3B2D E0FD5800  CMP EBP, [58FDE0]  // if cube blocked...
44E312     74 07          JE SHORT 44E31B  // skip borg done marker
44E314     45             INC EBP  // prepare borg done marker

:arrow: NOTE: Savegame fixes for Borg data: viewtopic.php?p=51581#p51581 :!:

Code: Select all

NAME: Allow Domination Victory Borg Invasion without Random Events

>> 0x4D6F2 74 27
<< 0x4D6F2 90 90

#0044E2F2           jz    short vic_0_67_? (domination only) // 0x4D6F2 74 27 90 90



Vendetta Enemies - Vanilla Defaults:

0 Cardassians -> 1 + 3
1 Federation -> 0 + 4
2 Ferengi -> 3 + 4
3 Klingons -> 0 + 2
4 Romulans -> 1 + 2

:arrow: Vendetta Enemy Empire IDs at asm-58FDB9 // 0x18DBB9 (03 01 00 04 03 04 00 02 01 02) two bytes card-rom

AI Vendetta Enemy Table at asm-58AF18 // (0x188D18 + 20*EmpireID + 4*OpponentID) 1 = enemy, else 0

Code: Select all

00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 // Cardassian AI
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 // Federation AI
00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 // Ferengi AI
01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // Klingon AI
00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 // Romulan AI
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
Post Reply

Return to “Domination victory conditions & Borg invasion”