Rebel fleet pursuit in FTL:Faster than Light

Add topics here with methods, analysis, code snippets, mods etc. for a certain game that normally won't make it in the Tables or Requests sections.
Post Reply
What is cheating?
What is cheating?
Posts: 3
Joined: Sun Jun 25, 2017 5:50 pm
Reputation: 0

Rebel fleet pursuit in FTL:Faster than Light

Post by Karyoplasma » Tue May 28, 2019 11:44 pm

Got pretty much everything I wanted to work with FTL (got stuff like invulnerable crew, instant weapon recharge, godmode for ship and systems, pointers to resources, etc.), but I cannot seem to be able to deactivate fleet pursuit. I just cannot find the value that represents it. I tried a scan on all types with only changed/unchanged, tried increasing/decreasing both ways on all types, tried to look at beacon jump counters to check if that is related but I came up empty. Out of ideas here, can anyone lend a hand?

EDIT: Found it by getting lucky and getting an event that disables fleet advance for 2 turns. For anyone having trouble to find it: It's a 4 byte value that gets initialized to FFFFFC41 at the start of a sector and increases by 40h every jump. In Sector 8, the value gets set to 3C and stays there. If you set it to 3C in any non-Last Stand sector, every beacon will be taken control of by the rebels instantly. There is a jump that checks for this case and I assume there is some kind of random beacon overtaking logic past that point, but I didn't look for it.

Here are the instructions that set it:

Code: Select all

"FTLGame.exe"+1D0F60: 8B B3 80 00 00 00     -  mov esi,[ebx+00000080]  ;my script injects here and moves FFFFFC41 into esi
"FTLGame.exe"+1D0F66: 83 FE 3B              -  cmp esi,3B ;Sector 8 check (I assume)
"FTLGame.exe"+1D0F69: 0F 8F F1 00 00 00     -  jg FTLGame.exe+1D1060 ;the jump moves 3C into eax and returns to +1D0F87
"FTLGame.exe"+1D0F6F: 89 D9                 -  mov ecx,ebx
"FTLGame.exe"+1D0F71: E8 4A 55 FF FF        -  call FTLGame.exe+1C64C0  ;not sure what that does, I assume some kind of random
"FTLGame.exe"+1D0F76: 01 F0                 -  add eax,esi ;eax is usually 40h at this point, probably not in last sector
"FTLGame.exe"+1D0F78: 83 F8 3B              -  cmp eax,3B  ;Sector 8 check 2 (I assume)
"FTLGame.exe"+1D0F7B: 89 83 80 00 00 00     -  mov [ebx+00000080],eax ;ebx+80 is the address of fleet pursuit value
"FTLGame.exe"+1D0F81: 0F 8F D9 00 00 00     -  jg FTLGame.exe+1D1060
"FTLGame.exe"+1D0F87: 89 83 80 00 00 00     -  mov [ebx+00000080],eax ;not sure why it does this twice, doesn't matter tho
"FTLGame.exe"+1D0F8D: 8B 83 98 04 00 00     -  mov eax,[ebx+00000498] ;end of things I care about

Post Reply

Who is online

Users browsing this forum: No registered users