Mirror Universe mod development

Mirror Universe mod; showcase and support/discussion/questions/suggestions/reviews

Moderator: thunderchero

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

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Thu May 07, 2020 1:17 pmnote; I noticed there looks to be an extra agenda at end of list?
Yes, sort of a shared emergency program for all AI empires.

See: viewtopic.php?f=218&t=707#p34142
And also: viewtopic.php?f=221&t=2401#p34166


Great if the AI keeps using colony ships during wartime, one problem is they stay dormant in many situations.


And be careful with federation cmp 1 checks, many of them just look like race ID checks.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Spocks-cuddly-tribble wrote: Thu May 07, 2020 1:39 pm Great if the AI keeps using colony ships during wartime, one problem is they stay dormant in many situations.
not as long as they keep expanding, even after max tech (400+ turns) they are still searching for new systems and terraforming old ones in my tests. it may be slow work but you see them always moving to systems that need terraforming. if they don't get destroyed. :wink:
Spocks-cuddly-tribble wrote: Thu May 07, 2020 1:39 pm And be careful with federation cmp 1 checks, many of them just look like race ID checks.


I know, but even after changing every one in AI sections of code, the Terrans still will not;

1. Declare war (major or minor race)
2. subjugate any major or minors system, even after minor has declared war on them they just ignore them.

now I think I found some cmp 1 that allowed them to harass and raid but needs further testing.

even your code location suggestion for "federation don't invade free minors" does not work, I suspect this is due to they are unable to declare war themselves. I have not tested "federation free subjugated minors" and "federation prefer to attack subjugated systems?".

unfortunately this maybe a deal breaker for this mod, if Terrans are this weak.
as it is right now, players would need to play only as Terrans. :sad:

as for AI build requirements, I got that working good. home system only structures are not built more than once or at other systems in most cases, but scanners I settled on only giving AI basic scanners to prevent upgrade issues. And this looks to have no ill effects. From my tests AI majors don't even bother to build them. Issue was mainly happening at minor race systems any way since they were only ones building them.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1953
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Thu May 07, 2020 11:21 pmit may be slow work
That's the problem. They should colonise and max terraform each and any system as soon as possible (since target selection is crap and AI systems micro-management is not a turn-lag issue). Controlled population is main winning condition and meant to be overall power indicator, albeit diminished by (scrapping-)exploits.

EDIT: Plus AI benefits from the range of the shipyards in all those systems. I'd use extra AI shipyard option for new colonies. See: viewtopic.php?f=160&t=64#p33179 :wink:

Dormant colony ships in vanilla happens most when superior opponents within range (they cannot just colonise towards 'safer' directions and won't even terraform own systems in need). But if they are in an alliance then 'suizidal' colonising tasks oftentimes start again. Sadly I could not find the code for this behavior.


1. Declare war (major or minor race)
2. subjugate any major or minors system,
Strange, even default fed AI declares war on other majors. Many vanilla player complained about the federation being too warlike and declaring war on all other empires.

As a first step change all fed IDs in my post to other or invalid. viewtopic.php?f=221&t=2401#p50814

Note most following codes only apply when possible target systems within medium range.

Change or remove this or jump to 431124 for terrans:

Code: Select all

AUTO:0043110E                 cmp     dx, 1           ; federation ?
AUTO:00431112                 jz      short feds_loc_
lower all terran modifiers:

Code: Select all

58F84C AI_fleet_deviation_floats_1_2__1_3__1_3__1_1__1_25 (card-rom)
58F860 AI_mil_4_sector_distance_floats_1_35__1_5__1_7__1_2__1_5 (card-rom)
Also I'd lower this terran modifier:

Code: Select all

58F874 AI_fleet_values_0_5__0_9__1_75__0_5__0_5 (card-rom)
EDIT:

Remove/change also this:

Code: Select all

AUTO:00430F95                 cmp     dx, 1           ; Federation ?
AUTO:00430F99                 jnz     short loc_430FA0

And maybe just copy and paste AI task modifiers from an other AI over federation values? viewtopic.php?f=221&t=2401#p34081


EDIT:

One more modifier, this time it has to be increased:

Code: Select all

AUTO:00420034                 fld     ds:I_Task_2_1_1_2_2[eax*4] ; Federation Ferengi deviation

Let's see if this improves the issue.

even after minor has declared war on them they just ignore them.
Some code for this might still be hiding.... Since federation cannot conquer any free minors in vanilla IIRC.
now I think I found some cmp 1 that allowed them to harass and raid but needs further testing.
I posted one switch for this, but IIRC this deviation to other majors occurs only when in 'cold war'.
even your code location suggestion for "federation don't invade free minors" does not work, I suspect this is due to they are unable to declare war themselves. I have not tested "federation free subjugated minors" and "federation prefer to attack subjugated systems?"
'federation prefer to attack subjugated systems' & 'federation don't invade free minors' are part of same code but there could be more, even in other areas of trek.exe

In fact they do declare war under certain conditions (mostly after freeing minors, see the requested fix for that), but cannot conquer any free minors in vanilla. See above.

And with doesn't work you mean they actually conquer free minors (it's not about members of enemy empires) via bombing and TTs?
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

I changed all code and modifiers exactly as you suggested and saw no change in Terran behavior.
Spocks-cuddly-tribble wrote: Thu May 07, 2020 12:21 pm I'm afraid there is no realistic, useful advices on improving the AI's map datas, fleet handling and diplomacy at this point. As told these mechanics are implemented in a very intricate and primitive manner and should be replaced entirely, together with the turn lag (not possible with unknown core files).
I am afraid this would be only way to get the goals I am wanting.
Spocks-cuddly-tribble wrote: Fri May 08, 2020 9:30 am Strange, even default fed AI declares war on other majors. Many vanilla player complained about the federation being too warlike and declaring war on all other empires.
was the Federation declaring war on their own? or did the Federation enter into a war pact and declared war as part of the war pact. It is tough to tell the difference if you are already at war with requesting race.

in my last test yesterday I was playing as Romulans vs Federation (no other majors involved), I took out 3/4 of there fleet raided for 100 turns and they still never declared war on me. they only sent ships to the border to defend and requested non aggression treaties.

note; I would need to test this in vanilla to verify results.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

well it took 130 turn before they finally declared war on me.
note; vanilla test
war.jpg
war.jpg (399.25 KiB) Viewed 867 times
I had to bribe just about all it's minors away from them, then I subjugate them.
while I destroyed there fleet and allowed them to rebuild a fleet.

edit; I went a few more turns and they went after the minors I subjugated, they liberated the Bajorans but next turn they declared war on the Bajorans? :shock:
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1953
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Fri May 08, 2020 2:16 pmI changed all code and modifiers exactly as you suggested and saw no change in Terran behavior.
That's a pity. But there is too many unknown and broken functions involved.

In most cases the ferengi AI makes the best calls. But how does it perform when stripped of the best total income plus income increasing special buildings (i.e. largest fleets), free trade routes and ships with best nominal firepower (i.e. better in 1:1 auto-battle vs other AIs)?

I advised you to lower attack thresholds to make them more aggressive. Maybe that is wrong. Ferengi thresholds are the highest, even higher than federation, and yet they declare more wars than federation?

thunderchero wrote: Fri May 08, 2020 2:16 pmwas the Federation declaring war on their own? or did the Federation enter into a war pact and declared war as part of the war pact.
Yes they did also on their own, but I was used to play on lower starting levels vs AI (+ high difficulty). Meaning AI had larger and more tech advanced fleets. I was never aware of federation AI being the only AI avoiding war decarations vs a stronger player empire (having no allies at least)?

thunderchero wrote: Sat May 09, 2020 1:43 pmthey liberated the Bajorans but next turn they declared war on the Bajorans? :shock:
That's what I said above. My fix should prevent this in vanilla (they do not conquer them after war declaration anyway).

EDIT2: Using info from 'Keep AI Federation from declaring War on Minor Races (Fix)' I found one more check:

Code: Select all

federation check Subjugated systems in range before war declaration vs major?
0041428C                 cmp     word ptr [esi+8], 1  // 0x13690

EDIT: As a last resort you might try to increase this 4 sector map-scan distance limit for many offensive AI ship tasks. Not sure it will help or even worsens the turn lag:

Code: Select all

AUTO:0042D56D                 fcomp   ds:577C54 AI_4_0
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

First off My first objective is to get Terrans to declare war on minors. (since they can not subjugate them unless they are at war)

well I figured if I changed enough code I would get some kind if change eventually. and I did...

subsection AI_AIEmpDip_414310 is the starting point for declare war

declare war on minors start point

Code: Select all

00414425 83 F8 01                cmp     eax, 1
00414428 0F 85 35 FF FF FF       jnz     loc_414363
declare war on Majors start point

Code: Select all

004143BE 83 F8 01                cmp     eax, 1
004143C1 75 A0                   jnz     short loc_414363
if I change "1" to to an invalid race no one declares war, if I set it to a valid race "0" all race will declare war as soon as they meet and if they meet again declare war again :sad:
but at least I found spot for Terrans to declare war.
If I no-op jump statement (force false) all race will declare war as soon as they meet and if they meet again declare war again.

I have also started to use the debugging function of IDA on those breakpoints "004143BE and 00414425" to follow the functions it uses to find where it decides if to declare war or not. the problem is I can not tell what race it is testing at that time. (i followed 40 functions before it got to late tonight before I told it to end)

So maybe in time I will get this figured out.

I suspect it is calling some kind of morality multiplier somewhere that I need to find.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

I played around with the IDA debugger and did an instruction trace of subsection 414310.

the below files are next 1000 instructions starting at 414310

for this test I used vanilla un-edited (except starting pop of T1 set to 0 for all races)
Federation and Romulans T2 start other races T1 start (so the died on turn 1)
I used -n for same starting seed of both saved games.
game conditions; large irregular, no minors, impossible, auto combat, borg and random off,
the trace was done on turn 2 after other races died.

here is the text files for both trace instructions if anyone else want to take a look.
414310.zip
(12.97 KiB) Downloaded 13 times


The one thing I noticed first off was the first lines and think it is the stack info? and they are different.
federation starts with ST0= 0.0 ST1= 0.0
while
romulan starts with ST0=-2.3699149751242749089e4932 ST1=-2.3794628450093341279e4932

So I am suspecting the modifier is already applied before this subsection is entered?

any thoughts
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1953
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Mon May 11, 2020 11:29 pmFirst off My first objective is to get Terrans to declare war on minors. (since they can not subjugate them unless they are at war)
Note that, as told, in vanilla they cannot subjugate any minor even if at war, regardless of who declared the war (IIRC).

thunderchero wrote: Mon May 11, 2020 11:29 pmsubsection AI_AIEmpDip_414310 is the starting point for declare war

declare war on minors start point

Code: Select all

00414425 83 F8 01                cmp     eax, 1
00414428 0F 85 35 FF FF FF       jnz     loc_414363
declare war on Majors start point

Code: Select all

004143BE 83 F8 01                cmp     eax, 1
004143C1 75 A0                   jnz     short loc_414363
These cmp 1 checks are for the result from sub_413FF0, which checks for scheduled Invade or Harass ship tasks against said minor or major races. Meaning the code does not decide upon war declaration but just executes decisions of other codes. Parts of this code look strange, but can not cause federation related issues, since bugs here would affect all empires.

Code: Select all

00414013                 cmp     edx, 7          ; Invade

00414018                 cmp     edx, 0Fh        ; Harass

EDIT:

One more federation check:

Code: Select all

00430FBD                 cmp     si, 1  ; Federation  0x303C0 // if no score_tech_deviation__SphOfIn_issues skip if sympathy neutral+
And my 'Harass' labeled check turned out more important, I renamed it into -> various offensive tasks

Code: Select all

0043031A                 cmp     word ptr [ebx+8], 1 ; Federation  0x2F71E // skip various offensive tasks
Plus some more unknown treaty float modifiers:

Code: Select all

0058F888 AI_treaty_floats_450_200_400_250_350 (card-rom)

Here again the whole switch list for reference:

Code: Select all

-INVADE-
0040E958                 cmp     cx, 1 // 0xDD6E                ; Federation prefer to attack subjugated systems (???)
0040EA8E                 cmp     word ptr [ebx+8], 1 // 0xDE92  ; Federation don't invade free minors
0041E758                 cmp     word ptr [eax+8], 1 // 0x1DB5C ; Federation free subjugated minors

0043031A                 cmp     word ptr [ebx+8], 1 ; Federation  0x2F71E // skip various offensive tasks

0041428C                 cmp     word ptr [esi+8], 1 ; Federation  0x13690 // negative diplomatic shift vs. empires with subjugated system in range of federation
0043110E                 cmp     dx, 1               ; Federation  0x30511 // same as above but only if no score or tech deviation issue resp SphOfIn issue

00430F95                 cmp     dx, 1  ; Federation  0x30398 // skip if sympathy neutral+
00430FBD                 cmp     si, 1  ; Federation  0x303C0 // if no score_tech_deviation__SphOfIn_issues skip if sympathy neutral+

00422FE5                 cmp     word ptr [esi+8], 1 ; Federation  0x223E9 // some minor race attitude bonus +50  (???)

00422FF8                 cmp     word ptr [esi+8], 0 ; Cardassians 0x223FC // some minor race attitude penalty -50  (???)

EDIT2: There is one more switch in sub_42FA50. A strange code checking inter alia, in very special situations, for free and taken minor races in the SphOfIn.

You can jump federation code to other empire locations at:

Code: Select all

0042FAD9 jmp : card 42FAA4 / ferengi 42FAF6 / klingons 42FA5E(always 0 bug?) / rom 42FB29(same behavior as ferengi)

So using a save game with T5 terran AI empire with nearby minors you can check progress. Good luck!
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Hi Spocks-cuddly-tribble,

Thank you for all your efforts on this.

I have a lot of code to test... :grin:

but so far no positive results yet. but still have more testing to do.

Last night I started to get better organized, making patch files for all these changes instead of doing each one manually. I also setup a good testing starting seed to keep my tests consistent.

I noticed something strange on starting seed I am using, federation is on far right and Ferengi is on far left. those are the 2 races I am playing as human. (play feds to see other 4 AI races and play Ferengi to see Federation as AI). The strange thing is turn processing is much quicker playing as Ferengi over the same amount of turns. test was 75 turns just holding (T) key of keyboard. (test was without any of the above patches on MUM)
playing as federation took 15 min 2 sec
playing as Ferengi took 12 min 17 sec
that is 2 min 45 sec quicker, now I expected a little difference but that was much more than I expected.
so it makes me wonder if Ferengi code is more complicated or screwed up a little?
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Hi Spocks-cuddly-tribble,

I take it back I am seeing progress. :grin:

The Terrans are starting to subjugate minors, but only if there is a negative tech deviation.

I also started to notice Ferengi and Romulans have same issue. From what I see in code they have same tech check?

is there any way to remove all that code that checks sympathy neutral+ and tech_deviation?

Code: Select all

0041428C                 cmp     word ptr [esi+8], 1 ; Federation  0x13690 // negative diplomatic shift vs. empires with subjugated system in range of federation
0043110E                 cmp     dx, 1               ; Federation  0x30511 // same as above but only if no score or tech deviation issue resp SphOfIn issue

00430F95                 cmp     dx, 1  ; Federation  0x30398 // skip if sympathy neutral+
00430FBD                 cmp     si, 1  ; Federation  0x303C0 // if no score_tech_deviation__SphOfIn_issues skip if sympathy neutral+
great work
Image
you have saved the day again

after all this testing I see some adjustments I still need to make,
1. lower ship range (short med and long) I hope this does not kill AI expansion.(tech 20 is 5/7/9)
2. lower tech levels of minor (at least by 2 techs) currently they are even with all majors at each tech start

thunderchero
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

I am still trying to improve Terrans ability to subjugate, they are still way behind other races. I am hoping I can find an AI modifier that will help but there is a lot of them and have been testing them all.
Spocks-cuddly-tribble wrote: Fri May 08, 2020 9:30 am
thunderchero wrote: Thu May 07, 2020 11:21 pmit may be slow work
That's the problem. They should colonise and max terraform each and any system as soon as possible
while testing other AI modifiers I jacked up the "AITerra" modifiers to extreme value "1000" and all AI race were dropping colony ships and terraforming the complete system within a couple turns on every system even doing minors to max.

I am not sure what one or if multiple values are need. but here is locations I raised up.

Code: Select all

0x1752e4 AITerra
0x01752e4 00 00 00 00 00 00 3E 40 30.0
0x01752ec 00 00 00 00 00 00 49 40 50.0
0x01752f4 00 00 00 00 00 00 22 40 9.0
0x01752fc 00 00 00 00 00 00 E8 3F 0.75
I suspect it is the 50.0 is main modifier?

I will test further when I have time.

ECM beta version T5 large irregular many minors impossible human player romulan
turn 20
cardassians, 3 colonized system 100% terraformed
Klingons, 2 colonized systems 100% terraformed, 2 minors subjugated 1 100% with colony ship moving to 2nd minor.
feredation, 3 colonized systems, 2 100% with colony ship heading to last system
Ferengi 3 colonized systems, 1 100% 2 just dropped, 4 subjugated minors, 1 100% terraformed

turn 40, feds and cards at war
cardassians, 3 colonized system 100% terraformed (lost 1 system to fed war)
Klingons, 5 colonized systems, 3 100% terraformed, 3 minors subjugated 2 100% 3rd 80%.
feredation, 4 colonized systems, 4 100%, 1 subjugated 100% (by ferengi)
Ferengi 5 colonized systems, 2 100%, 3 just dropped, 5 subjugated minors, 1 100% terraformed 1 work, but to be fair each system has 4 - 7 planets.

I would say that is a quick positive result test.
only change was
0x01752ec 00 00 00 00 00 00 49 40 -> 00 00 00 00 00 00 59 40 (100.0)
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1953
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Thu May 14, 2020 10:37 amfederation is on far right and Ferengi is on far left...
turn processing is much quicker playing as Ferengi over the same amount of turns. test was 75 turns just holding (T) key of keyboard. (test was without any of the above patches on MUM)
playing as federation took 15 min 2 sec
playing as Ferengi took 12 min 17 sec
that is 2 min 45 sec quicker, now I expected a little difference but that was much more than I expected.
so it makes me wonder if Ferengi code is more complicated or screwed up a little?
Not sure about your mod's test setting and is this is two different save games or switching player empire in same save game?

Unmodded I'd expect it's caused by:

- the ferengi building more/most ships
- various offensive ship tasks the federation skips in early game

Also the map scan position (top/left vs bottom/right) and empire ID processing order (card 0 vs rom 4) might affect some AI codes.

And these are horrible turn calculation times. If you have save game with big AI empires (star systems wise) and massive turn lag, you could test if removing this eliminates turn lag mostly:

Code: Select all

004072E6                 call    sub_4101D0 AI_Ship_Tasks -> remove
I suggested to test moving this call to asm-407310. Reviewing the code I'm not so sure anymore. It might break some features.


thunderchero wrote: Thu May 14, 2020 11:02 pmFrom what I see in code they have same tech check?
Each case switch is different. Ferengi and Romulans have only in sub_42FA50 the same behavior. Also sometimes federation and klingons are same, other time completely different.

thunderchero wrote: Thu May 14, 2020 11:02 pmis there any way to remove all that code that checks sympathy neutral+ and tech_deviation?
It's a complex matter.

First if you want to increase chance of war you should lower the sympathy/attitude defaults of said minors vs said empires. Btw is there also default sympathy/attitude values of each AI empire vs each minor? I only know the default attitude of AI empires vs archenemies is lower than neutral in vendetta mode.

Another factor is the internal AI war type. It looks as if sub_410AB0 sets it vs minors (the four switches you quoted affect this as well).

In the end the AI ship tasks decide upon war. Even hostile minors declare war only after an evolution jump providing them with warships.

Also note that these codes are:

- shared for all starting levels i.e. the decision to befriend or conquer must (sort of) work for all situations

- often shared for many different things like AI agenda, diplomacy/war type vs majors & minors, production focus...

- just paraphrased, analysing them exactly takes time (for example they also check if the empire is expanding via colonise tasks, the number of internal wars...)

thunderchero wrote: Thu May 14, 2020 11:02 pm2. lower tech levels of minor (at least by 2 techs) currently they are even with all majors at each tech start
Note the check paraphrased 'score, tech deviation' does not refer to minors tech levels but other empires. And tech check (plus intel check) is mostly used by cardassians IIRC, only score deviation is shared by all AIs.


thunderchero wrote: Sat May 16, 2020 1:36 pmI suspect it is the 50.0 is main modifier?

I would say that is a quick positive result test.
only change was
0x01752ec 00 00 00 00 00 00 49 40 -> 00 00 00 00 00 00 59 40 (100.0)
I did not test this, but wrt Terraform 5774EC the value 50.0 is also found in the code loading it (four bytes part of 8 byte float each):

Code: Select all

0041BA10                 mov     edi, 40490000h
0041BA2A                 push    40490000h
In the end the question is: Does the AI get more total population (and expansion potential in terms of range, future pop growth) with this?
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
User avatar
thunderchero
Site Administrator aka Fleet Admiral
Site  Administrator aka Fleet Admiral
Posts: 7959
Joined: Fri Apr 25, 2008 2:00 am
Location: On a three month training mission, in command of the USS Valiant.

Re: New Mirror Universe mod

Post by thunderchero »

Spocks-cuddly-tribble wrote: Tue May 19, 2020 2:53 pm Not sure about your mod's test setting and is this is two different save games or switching player empire in same save game?
no saved game, both were new games using starting seed command line. but galaxy placement is exact match (majors, minors and free systems).
Spocks-cuddly-tribble wrote: Tue May 19, 2020 2:53 pm First if you want to increase chance of war you should lower the sympathy/attitude defaults of said minors vs said empires.
I tried this already, minor will declare war on Terrans, but after that Terrans will ignore that minor.
Spocks-cuddly-tribble wrote: Tue May 19, 2020 2:53 pm In the end the question is: Does the AI get more total population (and expansion potential in terms of range, future pop growth) with this?
in that test new colonies were already well over 50% of max population and that was by turn 40. I would expect that would help in expansion and range.
User avatar
Spocks-cuddly-tribble
Code Master
Code Master
Posts: 1953
Joined: Sun Apr 27, 2008 2:00 am

Re: New Mirror Universe mod

Post by Spocks-cuddly-tribble »

thunderchero wrote: Sat May 16, 2020 1:36 pmI am still trying to improve Terrans ability to subjugate, they are still way behind other races. I am hoping I can find an AI modifier that will help but there is a lot of them and have been testing them all.
I can't see more federation switches/modifiers at the moment. But all required switches must be set at the same time.

Not recommended, but for testing you can try modifying sub_430F40 & sub_431040 at the beginning each (removes many codes for sympathy checks and other stuff):

mov eax, 1 (= set agro mode)
retn

These switches are part of these codes and can be ignored after that (but I'd keep them in patch code anyway):

Code: Select all

0043110E                 cmp     dx, 1               ; Federation  0x30511 // same as above but only if no score or tech deviation issue resp SphOfIn issue

00430F95                 cmp     dx, 1  ; Federation  0x30398 // skip if sympathy neutral+
00430FBD                 cmp     si, 1  ; Federation  0x303C0 // if no score_tech_deviation__SphOfIn_issues skip if sympathy neutral+
Also with this you can ignore sub_42FA50 (the strange check for score deviations and other stuff, where eax 1 means stay peaceful in some special cases).

Otherwise it can be added to the switch list:

Code: Select all

0042FAD3                 cmp     di, 1  ; Federation  0x2EED6 // invalid = sub_42FA50 always eax 0 same as klingons

This should make the search for remaining switches easier.
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 “Mirror Universe mod”