Page 1 of 1
Unlocking Empire Borders for all Treaties
Posted: Mon Aug 29, 2011 7:04 pm
by Spocks-cuddly-tribble
Tethys wrote:could you find a way to keep empire borders unlocked after signing a non aggression treaty?
That's easy via empsInfo or sector.lst. Code locations are known from ferengi trade route code & territorial claims -projects.
This should work for non aggression & friendship:
Re: Standard Trek.exe IDA Database
Posted: Tue Aug 30, 2011 12:07 am
by Tethys
Thank you SCT this seems to allow entry regardless of treaty status. Interestingly enough the AI does not send any messages regarding my intrusion, but the sympathy toward me does go down 1 bar per 2 turns my ship is in their territory.
Re: Standard Trek.exe IDA Database
Posted: Tue Aug 30, 2011 12:31 pm
by thunderchero
Spocks-cuddly-tribble wrote:
he is suggesting this
at 0x5e431
0F 85 CC 00 00 00
to
90 90 90 90 90 90
thunderchero
Unlocking Empire Borders Options
Posted: Tue Mar 20, 2012 3:53 pm
by Peter1981
Code: Select all
In trek.exe:
0045F02D cmp dword ptr [esi+64h], 2 // compare treaty type
0045F031 jnz loc_45F103 // jump if not affiliation
Sorry to ask what I'm sure is a very noobish (pakled) asm question but here goes:
AFAICT this is the test for treaty type that has locked boarders, in this case both non-aggression and friendship have locked boarders.
Am I correct in assuming that:
- 00 = Non-Aggresion
01 = Friendship
02 = Affiliation
EDIT:
So as i understand it changing 02 to 00 would lock the boarders for friendship and affiliation trieties.
changing the jnz (0F 85) to a jz (0F 84) and would make the locked boarders only for affiliation trieaties I think.
Further: I'd like to include a race id test for 02 ferengi (TOS MOD Tholians) so that affiliation treaties with this race would have locked boarders. ie 02 territory is locked but 02 ships can enter affiliate's territory -- this would certainly be more in character for the tholians in the TOS MOD. Sadly there seems to be very little space to put the code in; so i'm guessing mor of a re-write job and that where i fall down as i'm not competent to make that kind of change.
Re: Unlocking Empire Borders for all Treaties
Posted: Tue Mar 20, 2012 4:23 pm
by Tethys
I would also like to report that if you are bombing a system you are at war with and sign a non agression, your ships co0ntinue to bomb the system and also it DOES kill population. Goes without saying that the ships do not return to friendly space once treeaty is signed.
Re: Unlocking Empire Borders for all Treaties
Posted: Tue Mar 20, 2012 5:46 pm
by Peter1981
interesting -> has anyone ever managed to test being at war and then getting an affiliation treaty in vanilla; is this even posible?
Re: Unlocking Empire Borders Options
Posted: Thu Mar 22, 2012 3:16 pm
by Spocks-cuddly-tribble
Peter1981 wrote:I'd like to include a race id test for 02 ferengi (TOS MOD Tholians) so that affiliation treaties with this race would have locked boarders. ie 02 territory is locked but 02 ships can enter affiliate's territory
Most of your assumptions are correct. Sub_45EF70 is for treaty label 3 i.e. not for Alliance. There is no info on the "treaty" savegame file, but looking at the code 1=Friendship and 2=Affiliation should be right.
See ->BotF Wiki -> savegame files -> empsInfo
Offset 0x0110 to 0x0123 (5empires * 4bytes) = treaty label: 0=Neutral, 1=War, 2=Alliance, 3=Peace
Offset 0x0124 to 0x0137 (5empires * 4bytes) = territory accessible: 0=No, 1=Yes
Offset 0x0138 to 0x014B (5empires * 4bytes) = trade allowed: 0=No, 1=Yes
For the Tholian special feature you could try this: (Note: Disables the ferengi free trade to majors for non-aggression!)
Code: Select all
0045F14B 75 73 JNZ SHORT 0045F1C0
0045F14D 90 NOP
0045F14E 90 NOP
0045F14F 90 NOP
0045F150 90 NOP
0045F15E C78483 24010000 01000000 MOV DWORD PTR DS:[EBX+EAX*4+124],1
0045F16F C78481 24010000 00000000 MOV DWORD PTR DS:[ECX+EAX*4+124],0
0045F181 ^E9 DFFEFFFF JMP 0045F065
0045F18E ^75 F1 JNZ SHORT 0045F181
0045F195 C78483 24010000 00000000 MOV DWORD PTR DS:[EBX+EAX*4+124],0
0045F1A6 C78481 24010000 01000000 MOV DWORD PTR DS:[ECX+EAX*4+124],1
0045F1BB ^E9 A5FEFFFF JMP 0045F065
Race ID:
0045F151 cmp word ptr [esi+34h], 2
0045F18A cmp di, 2
EDIT: Corrected mistake [empsInfo+110h -> +124h]
Re: Unlocking Empire Borders for all Treaties
Posted: Tue Apr 24, 2012 2:47 pm
by Peter1981
thanks SCT This is going in the TOS MOD
P.S. saw the post in the AI topic literally my jaw droped to the floor so many thing to test
Re: Unlocking Empire Borders for all Treaties
Posted: Fri Jun 17, 2016 1:06 pm
by Dewbacca
I am looking at this and wondering... is there a BOTF patcher script for this?
Re: Unlocking Empire Borders for all Treaties
Posted: Fri Jun 17, 2016 1:54 pm
by thunderchero
Dewbacca wrote:I am looking at this and wondering... is there a BOTF patcher script for this?
it is a simple one that I already had for UDM
just copy code below to a notepad and save as "Unlocking_Borders .patch" then add file to patch folder of BOTF patcher
Code: Select all
NAME: Unlocking Empire Borders for all Treaties
AUTHOR: Spocks-cuddly-tribble
URL: https://www.armadafleetcommand.com/onscreen/botf/viewtopic.php?f=123&t=2200
TAG: fix
>> 0x0005e431 0F 85 CC 00 00 00
<< 0x0005e431 90 90 90 90 90 90
Re: Unlocking Empire Borders for all Treaties
Posted: Fri Jun 17, 2016 2:40 pm
by Dewbacca
Thank you sir.
Re: Unlocking Empire Borders for all Treaties
Posted: Tue Jul 19, 2016 4:29 pm
by EnPhreg
is it also possible to prevent that signing a non-aggression pact shows the whole empire territory?
searched forum, found nothing, only this unlocking borders thread.
Re: Unlocking Empire Borders for all Treaties
Posted: Tue Jul 19, 2016 6:53 pm
by thunderchero
I don't know of any posted code change like that.
but this change might cause problems since it displays those systems so trade routes can be established.
Re: Unlocking Empire Borders for all Treaties
Posted: Thu Jul 21, 2016 11:49 am
by EnPhreg
simple non-aggression pacts didn't show the star names, only the whole territory. so maybe this won't be a potential conflict.
only ferengi getting the system names with the simple non-aggression pact, but this code has already discovered.
Re: Unlocking Empire Borders for all Treaties
Posted: Wed Nov 02, 2022 11:31 pm
by thunderchero
Hi Everyone,
I wanted to test a little, I am looking to always keep normal ship range.
non-aggression (un-changed, sometimes range is limited)
peace (no increase in range, range is still calculated by your systems/bases)
alliance (no increase in range, range is still calculated by your systems/bases)
war (un-changed, range is still calculated by your systems/bases)
what I am think is when AI signs peace or alliance and ship range increase turn processing quadruples.
any idea on code changes?