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