338 "~~~CompactMode (Activate Me!)~~" 0000FF Auto Assembler Script [ENABLE] LuaCall(function cycleFullCompact(sender,force) local state = not(compactmenuitem.Caption == 'Compact View Mode'); if force~=nil then state = not force end; compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'; getMainForm().Splitter1.Visible = state; getMainForm().Panel4.Visible = state; getMainForm().Panel5.Visible = state; end; function addCompactMenu() if compactmenualreadyexists then return end; local parent = getMainForm().Menu.Items; compactmenuitem = createMenuItem(parent); parent.add(compactmenuitem); compactmenuitem.Caption = 'Compact View Mode'; compactmenuitem.OnClick = cycleFullCompact; compactmenualreadyexists = 'yes'; end; addCompactMenu(); cycleFullCompact(nil,true)) [DISABLE] LuaCall(cycleFullCompact(nil,false)) 113687 "Battle Star Galactica Deadlock +DLC 1.5.113 Ship Base (Activate when In tactical Combat or after clicking on a ship)" FF0000 Auto Assembler Script [ENABLE] aobscan(Playership,1B 8B BB 88 02 00 00) // should be unique alloc(shipbase,$4048) alloc(ship,4) registersymbol(ship) label(code) label(return) label(ShipInfo_dradisset_exit) label(ShipInfo_movementset_exit) label(ShipInfo_jumpset_exit) label(jumps_start) label(ShipInfo_firewallset_exit) label(ShipInfo_repairset_exit) label(ShipInfo_hullset_exit) label(ShipInfo_hullset_entry) label(ShipInfo_set_boost_enter) label(ShipInfo_subsytem_exit) label(ShipInfo_weaponset_exit) label(ShipInfo_weaponset_entry) label(ShipInfo_fighterhullset_exit) label(ShipInfo_set_boost_exit) label(ShipInfo_ammo_exit) registersymbol(ShipInfo_repairset_enable) registersymbol(ShipInfo_set_boost_enable) registersymbol(ShipInfo_dradisset_enable) registersymbol(ShipInfo_movementset_enable) registersymbol(ShipInfo_firewallset_enable) registersymbol(ShipInfo_subsytem_enable) registersymbol(ShipInfo_hullset_enable) registersymbol(ShipInfo_weaponset_enable) registersymbol(ShipInfo_fighterhullset_enable) registersymbol(ShipInfo_jumpset_enable) registersymbol(ShipInfo_missileammo_enable) alloc(ShipInfo_set_boost_enable,4) alloc(ShipInfo_dradisset_enable,4) alloc(ShipInfo_movementset_enable,4) alloc(ShipInfo_jumpset_enable,4) alloc(ShipInfo_firewallset_enable,4) alloc(ShipInfo_repairset_enable,4) alloc(ShipInfo_hullset_enable,4) alloc(ShipInfo_subsytem_enable,4) alloc(ShipInfo_weaponset_enable,4) alloc(ShipInfo_fighterhullset_enable,4) alloc(ShipInfo_missileammo_enable,4) shipbase: pushf cmp byte ptr [ebx+000002A8],00 //test if player jne code mov [ship],ebx //<--Ship base //mov edi,[ebx+00000288] //original code cmp dword ptr [ShipInfo_repairset_enable], #0 je ShipInfo_repairset_exit mov edi,[ebx+00000288] test edi, edi je ShipInfo_repairset_exit mov [edi+40], (float)99999 mov [edi+44], (float)99999 mov [edi+48], (float)99999 mov [edi+4C], (float)99999 mov [edi+50], (float)99999 mov [edi+54], (float)99999 mov [edi+58], (float)99999 ShipInfo_repairset_exit: ShipInfo_hullset_entry: cmp dword ptr [ShipInfo_hullset_enable], #0 je ShipInfo_hullset_exit mov edi, [edi+30] test edi, edi je ShipInfo_hullset_exit mov [edi+0C], (float)999999 mov [edi+14], (float)999999 ShipInfo_hullset_exit: cmp dword ptr [ShipInfo_subsytem_enable],#0 je ShipInfo_subsytem_exit mov edi,[ebx+00000288] test edi,edi je ShipInfo_subsytem_exit mov edi,[edi+34] test edi,edi je ShipInfo_subsytem_exit mov ebx,[edi+10] test ebx,ebx je ShipInfo_subsytem_exit mov ebx,[ebx+24] test ebx,ebx je ShipInfo_subsytem_exit fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+14] test ebx,ebx je ShipInfo_subsytem_exit mov ebx,[ebx+24] test ebx,ebx je ShipInfo_subsytem_exit fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+18] test ebx,ebx je ShipInfo_subsytem_exit mov ebx,[ebx+24] test ebx,ebx je ShipInfo_subsytem_exit fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+1C] test ebx,ebx je ShipInfo_subsytem_exit mov ebx,[ebx+24] test ebx,ebx je ShipInfo_subsytem_exit fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+20] test ebx,ebx je ShipInfo_subsytem_exit mov ebx,[ebx+24] test ebx,ebx je ShipInfo_subsytem_exit fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+24] test ebx,ebx je ShipInfo_subsytem_exit mov ebx,[ebx+24] test ebx,ebx je ShipInfo_subsytem_exit fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] ShipInfo_subsytem_exit: cmp dword ptr [ShipInfo_movementset_enable], #0 je ShipInfo_movementset_exit cmp dword ptr [edi+170], #4//test for fight je ShipInfo_movementset_exit mov ebx,[ship] je ShipInfo_movementset_exit test ebx, ebx je ShipInfo_movementset_exit mov [ebx+2B0], (float)1.5 //Max Turnrate mov [ebx+2B4], (float)180 //Max Pitch mov [ebx+2B8], (float)2 //Max Yaw mov edi, [ebx+124] test edi, edi je ShipInfo_movementset_exit mov [edi+10], (float)0 //MinVelocity mov [edi+14], (float)50 //MaxVelocity ShipInfo_movementset_exit: cmp dword ptr [ShipInfo_missileammo_enable], #0 je ShipInfo_ammo_exit mov ebx,[ship] test ebx, ebx je ShipInfo_ammo_exit mov edi, [ebx+210] cmp [ebx+210],0 test edi, edi je ShipInfo_ammo_exit cmp [edi+10], #200 jg ShipInfo_ammo_exit mov [edi+10], #50 cmp [edi+14], #200 jg ShipInfo_ammo_exit mov [edi+14], #50 cmp [edi+18], #200 jg ShipInfo_ammo_exit mov [edi+18], #50 ShipInfo_ammo_exit: cmp dword ptr [ShipInfo_dradisset_enable], #0 je ShipInfo_dradisset_exit mov ebx,[ship] test ebx, ebx je ShipInfo_dradisset_exit mov [ebx+2A0],(float)9999 ShipInfo_dradisset_exit: cmp dword ptr [ShipInfo_firewallset_enable], #0 je ShipInfo_firewallset_exit mov ebx,[ship] test ebx, ebx je ShipInfo_firewallset_exit cmp [ebx+1A0],0 je ShipInfo_firewallset_exit mov edi, [ebx+1A0] test edi, edi je ShipInfo_firewallset_exit mov [edi+3C], (float)9999//Max Defence Points mov [edi+40], (float)9999//Regen Rate mov [edi+4C], (float)9999//Current Defence points ShipInfo_firewallset_exit: {cmp dword ptr [ShipInfo_missileset_enable], #0 je ShipInfo_missileset_exit mov ebx,[ship] test ebx, ebx je ShipInfo_missileset_exit mov [ebx+2DC], #0 //missileCooldownTurns mov edi, [ebx+284] test edi, edi je ShipInfo_missileset_exit mov [edi+BC], #0 //initialMissileDelay mov [edi+C0], #0 //missileCooldown mov ebx,[ship] test ebx, ebx mov edi, [ebx+104] test edi, edi je ShipInfo_missileset_exit mov [edi+50], #1 //TicksBetweenMissileCommands ShipInfo_missileset_exit:} ShipInfo_set_boost_enter: cmp [ShipInfo_set_boost_enable], #0 je ShipInfo_set_boost_exit mov ebx,[ship] test ebx, ebx je ShipInfo_set_boost_exit mov edi, [ebx+1A8] test edi, edi je ShipInfo_set_boost_exit mov [edi+18], 0 //Boost Subsystem Penalty mov [edi+1C], (float)4.0 //boostMaxDistanceBonus 4X mov [edi+20], (float)0.0 //boostTurnPenalty ShipInfo_set_boost_exit: cmp [ShipInfo_fighterhullset_enable], #0 je ShipInfo_fighterhullset_exit mov ebx,[ship] test ebx, ebx je ShipInfo_fighterhullset_exit mov edi, [ebx+F0] test edi, edi je ShipInfo_fighterhullset_exit mov [edi+2C], (float)500 //squadronToSquadronMaxRange mov [edi+34], (float)500 //squadron1v1Distance mov [edi+38], (float)5000 //squadron1v1MoveInSpeed mov [edi+3C], (float)5000//squadron1v1MoveOutSpeed mov [edi+48], (float)1 //defendVelocityOffset ShipInfo_fighterhullset_exit: ShipInfo_weaponset_entry: cmp [ShipInfo_weaponset_enable], #0 je ShipInfo_weaponset_exit mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+10] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je code mov edi, [ebx+26C] test edi,edi je code mov edi, [edi+10] test edi, edi je code mov edi, [edi+20] test edi, edi je code mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ////Next weapon mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+14] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+14] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay /////Next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+18] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+18] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay //////next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+1C] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+1C] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ////Next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ////Next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+24] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+24] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ///next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+28] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+28] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ///next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+2C] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+2C] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ////Next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+30] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+30] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ///next mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+34] test edi, edi je ShipInfo_weaponset_exit mov [edi+64], (float)250 //Accuracy mov [edi+6C], (float)2000 //WeaponMaximumRange mov [edi+64], (float)250 //Accuracy mov [edi+70], (float)180 //ArcAngle mov byte ptr [edi+74], #1 //full360Mode mov ebx,[ship] test ebx, ebx je ShipInfo_weaponset_exit mov edi, [ebx+26C] test edi,edi je ShipInfo_weaponset_exit mov edi, [edi+34] test edi, edi je ShipInfo_weaponset_exit mov edi, [edi+20] test edi, edi je ShipInfo_weaponset_exit mov [edi+08],#1 //Min Firedelay mov [edi+0C],#1 //Max Firedelay ShipInfo_weaponset_exit: jumps_start: cmp [ShipInfo_jumpset_enable], #0 je ShipInfo_jumpset_exit mov ebx,[ship] test ebx, ebx je ShipInfo_jumpset_exit mov edi, [ebx+134] test edi, edi je ShipInfo_jumpset_exit mov [edi+28], #0 //Jump Delay mov [edi+2C], #0 //Jump Duration mov [edi+38], #0 //Jump cooldownTurns mov [edi+3C], #0 //Jump extraMissileDelay mov byte ptr [edi+40], #0 //preventMiniJumpAction mov ebx,[ship] test ebx, ebx je ShipInfo_jumpset_exit mov edi, [ebx+13C] test edi, edi je ShipInfo_jumpset_exit mov edi, [edi+20] test edi, edi je ShipInfo_jumpset_exit mov [edi+8], #0 //Jump Delay Ticks Min mov [edi+C], #0 //Jump Delay Ticks Max mov ebx,[ship] test ebx, ebx je ShipInfo_jumpset_exit mov edi, [ebx+104] test edi, edi je ShipInfo_jumpset_exit mov [edi+78], (float)1 ShipInfo_jumpset_exit: code: //pop edi //pop ebx popf mov edi,[ebx+00000288] jmp return Playership+01: jmp shipbase nop return: registersymbol(Playership) [DISABLE] Playership+01: db 8B BB 88 02 00 00 unregistersymbol(Playership) dealloc(shipbase) dealloc(ship) unregistersymbol(ship) unregistersymbol(ShipInfo_dradisset_enable) unregistersymbol(ShipInfo_movementset_enable) unregistersymbol(ShipInfo_firewallset_enable) unregistersymbol(ShipInfo_repairset_enable) unregistersymbol(ShipInfo_hullset_enable) unregistersymbol(ShipInfo_weaponset_enable) unregistersymbol(ShipInfo_fighterhullset_enable) unregistersymbol(ShipInfo_subsytem_enable) unregistersymbol(ShipInfo_jumpset_enable) unregistersymbol(ShipInfo_set_boost_enable) unregistersymbol(ShipInfo_missileammo_enable) dealloc(ShipInfo_movementset_enable) dealloc(ShipInfo_dradisset_enable) dealloc(ShipInfo_combatantset_enable) dealloc(ShipInfo_firewallset_enable) dealloc(ShipInfo_repairset_enable) dealloc(ShipInfo_hullset_enable) dealloc(ShipInfo_weaponset_enable) dealloc(ShipInfo_fighterhullset_enable) dealloc(ShipInfo_subsytem_enable) dealloc(ShipInfo_jumpset_enable) dealloc(ShipInfo_missileammo_enable) { // ORIGINAL CODE - INJECTION POINT: BDCIFOMGFOM:GNOIAIFNAMA+17e BDCIFOMGFOM:GNOIAIFNAMA+15e: 74 1C - je BDCIFOMGFOM:GNOIAIFNAMA+17c BDCIFOMGFOM:GNOIAIFNAMA+160: 8B 45 E8 - mov eax,[ebp-18] BDCIFOMGFOM:GNOIAIFNAMA+163: 89 04 24 - mov [esp],eax BDCIFOMGFOM:GNOIAIFNAMA+166: 8B 00 - mov eax,[eax] BDCIFOMGFOM:GNOIAIFNAMA+168: FF 90 08 01 00 00 - call dword ptr [eax+00000108] BDCIFOMGFOM:GNOIAIFNAMA+16e: 3B 45 10 - cmp eax,[ebp+10] BDCIFOMGFOM:GNOIAIFNAMA+171: 0F 94 C0 - sete al BDCIFOMGFOM:GNOIAIFNAMA+174: 0F B6 C0 - movzx eax,al BDCIFOMGFOM:GNOIAIFNAMA+177: E9 68 00 00 00 - jmp BDCIFOMGFOM:GNOIAIFNAMA+1e4 BDCIFOMGFOM:GNOIAIFNAMA+17c: 39 1B - cmp [ebx],ebx // ---------- INJECTING HERE ---------- BDCIFOMGFOM:GNOIAIFNAMA+17e: 8B BB 88 02 00 00 - mov edi,[ebx+00000288] // ---------- DONE INJECTING ---------- BDCIFOMGFOM:GNOIAIFNAMA+184: 8B C7 - mov eax,edi BDCIFOMGFOM:GNOIAIFNAMA+186: C7 44 24 04 00 00 00 00 - mov [esp+04],00000000 BDCIFOMGFOM:GNOIAIFNAMA+18e: 89 04 24 - mov [esp],eax BDCIFOMGFOM:GNOIAIFNAMA+191: 8B C0 - mov eax,eax BDCIFOMGFOM:GNOIAIFNAMA+193: E8 38 7E FB F1 - call UnityEngine:Object:op_Equality BDCIFOMGFOM:GNOIAIFNAMA+198: 85 C0 - test eax,eax BDCIFOMGFOM:GNOIAIFNAMA+19a: 74 07 - je BDCIFOMGFOM:GNOIAIFNAMA+1a3 BDCIFOMGFOM:GNOIAIFNAMA+19c: 33 C0 - xor eax,eax BDCIFOMGFOM:GNOIAIFNAMA+19e: E9 41 00 00 00 - jmp BDCIFOMGFOM:GNOIAIFNAMA+1e4 BDCIFOMGFOM:GNOIAIFNAMA+1a3: 39 3F - cmp [edi],edi } 113782 "Max Combat Strenth " 0 FF8000 Float
ship
2AC
113546 "OfficerSkills" 0 FF8000 4 Bytes
ship
28 104
113688 "Infinite Armor" FF8000 Auto Assembler Script [ENABLE] aobscan(inf_armor,0F B6 80 A7 02 00 00 85 C0 75 14) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: push esi cmp byte ptr [eax+000002A8],00//cmp if player jne code mov esi,[eax+30] cmp esi,00100000 jna code mov esi, [esi+20] cmp esi,00100000 jna code mov [esi+10], (float)99999 mov [esi+14], (float)99999 mov [esi+18], (float)99999 mov [esi+1C], (float)99999 mov [esi+20], (float)99999 mov [esi+24], (float)99999 code: pop esi movzx eax,byte ptr [eax+000002A7] jmp return inf_armor: jmp newmem nop 2 return: registersymbol(inf_armor) [DISABLE] inf_armor: db 0F B6 80 A7 02 00 00 unregistersymbol(inf_armor) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: ShipInfo:get_IsCapital+9 2707532E: 00 00 - add [eax],al 27075330: BA 10 EE F1 34 - mov edx,34F1EE10 27075335: E9 EE 6C C0 DE - jmp System.Collections.Generic:List`1:.cctor 2707533A: 00 00 - add [eax],al 2707533C: 00 00 - add [eax],al 2707533E: 00 00 - add [eax],al ShipInfo:get_IsCapital: 55 - push ebp ShipInfo:get_IsCapital+1: 8B EC - mov ebp,esp ShipInfo:get_IsCapital+3: 83 EC 08 - sub esp,08 ShipInfo:get_IsCapital+6: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ShipInfo:get_IsCapital+9: 0F B6 80 A7 02 00 00 - movzx eax,byte ptr [eax+000002A7] // ---------- DONE INJECTING ---------- ShipInfo:get_IsCapital+10: 85 C0 - test eax,eax ShipInfo:get_IsCapital+12: 75 14 - jne ShipInfo:get_IsCapital+28 ShipInfo:get_IsCapital+14: 8B 45 08 - mov eax,[ebp+08] ShipInfo:get_IsCapital+17: 0F B6 80 A6 02 00 00 - movzx eax,byte ptr [eax+000002A6] ShipInfo:get_IsCapital+1e: 85 C0 - test eax,eax ShipInfo:get_IsCapital+20: 0F 94 C0 - sete al ShipInfo:get_IsCapital+23: 0F B6 C0 - movzx eax,al ShipInfo:get_IsCapital+26: EB 02 - jmp ShipInfo:get_IsCapital+2a ShipInfo:get_IsCapital+28: 33 C0 - xor eax,eax ShipInfo:get_IsCapital+2a: C9 - leave } 113793 "Instant Missile Cooldown" FF8000 Auto Assembler Script [ENABLE] aobscan(instant_miss_cooldown, 0F B6 80 A6 02 00 00 85 C0 0F 94) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp byte ptr [eax+000002A8],00 jne code mov word ptr [eax+000002DC],0 code: movzx eax,byte ptr [eax+000002A6] jmp return instant_miss_cooldown: jmp newmem nop 2 return: registersymbol(instant_miss_cooldown) [DISABLE] instant_miss_cooldown: db 0F B6 80 A6 02 00 00 unregistersymbol(instant_miss_cooldown) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: ShipInfo:get_IsCapital+17 13107F24: 00 00 - add [eax],al 13107F26: 00 00 - add [eax],al ShipInfo:get_IsCapital: 55 - push ebp ShipInfo:get_IsCapital+1: 8B EC - mov ebp,esp ShipInfo:get_IsCapital+3: 83 EC 08 - sub esp,08 ShipInfo:get_IsCapital+6: 8B 45 08 - mov eax,[ebp+08] ShipInfo:get_IsCapital+9: 0F B6 80 A7 02 00 00 - movzx eax,byte ptr [eax+000002A7] ShipInfo:get_IsCapital+10: 85 C0 - test eax,eax ShipInfo:get_IsCapital+12: 75 14 - jne ShipInfo:get_IsCapital+28 ShipInfo:get_IsCapital+14: 8B 45 08 - mov eax,[ebp+08] // ---------- INJECTING HERE ---------- ShipInfo:get_IsCapital+17: 0F B6 80 A6 02 00 00 - movzx eax,byte ptr [eax+000002A6] // ---------- DONE INJECTING ---------- ShipInfo:get_IsCapital+1e: 85 C0 - test eax,eax ShipInfo:get_IsCapital+20: 0F 94 C0 - sete al ShipInfo:get_IsCapital+23: 0F B6 C0 - movzx eax,al ShipInfo:get_IsCapital+26: EB 02 - jmp ShipInfo:get_IsCapital+2a ShipInfo:get_IsCapital+28: 33 C0 - xor eax,eax ShipInfo:get_IsCapital+2a: C9 - leave ShipInfo:get_IsCapital+2b: C3 - ret 13107F54: 00 00 - add [eax],al 13107F56: 00 00 - add [eax],al BlackLab.Foundation:MonoBehaviourEx:AKFKBDLDJCI: 55 - push ebp } 113784 ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Must Change to Yes in the Value field on the right!>>>>>>>>>>>>>>>>>>>>>>>>>\" 0000FF 1 113753 "Infinite Missile Ammo" 0:No 1:Yes 0 FF8000 4 Bytes
ShipInfo_missileammo_enable
113808 "Hull Set To Massive " 0:No 1:Yes FF8000 4 Bytes
ShipInfo_hullset_enable
113041 "Subsystems Set to God" 0:No 1:Yes 0 FF8000 4 Bytes
ShipInfo_subsytem_enable
113039 "Firewall Set to Max" 0:No 1:Yes FF8000 4 Bytes
ShipInfo_firewallset_enable
113752 "Repair Rate Set to Massive" 0:No 1:Yes FF8000 4 Bytes
ShipInfo_repairset_enable
113035 "DRADIS Range Set to Massive" 0:No 1:Yes FF8000 4 Bytes
ShipInfo_dradisset_enable
113036 "Movement Set to Massive" 0:No 1:Yes FF8000 4 Bytes
ShipInfo_movementset_enable
113529 "No Penalty from Boost" 0:No 1:Yes 0 FF8000 4 Bytes
ShipInfo_set_boost_enable
113043 "Improved Fighter Squadron" 0:No 1:Yes FF8000 4 Bytes
ShipInfo_fighterhullset_enable
113042 "Improved Weapons (High Accuracy, better arcs, Range, Rapid Fire)" 0:No 1:Yes FF8000 4 Bytes
ShipInfo_weaponset_enable
113785 "Jump Stuff" 0:No 1:Yes 0 FF8000 4 Bytes
ShipInfo_jumpset_enable
113625 "AllowBoarding? ->Select Yes/No" 0:No 1:Yes 0 FF8000 Byte
ship
81
113675 "Player Ship Pointers (Must have ship base activated)" FF0000 1 113536 "Name" -1:Neutral 0:Colonial 1:Cylon 2:SagittaronSeparatist 0 String 30 1 0 1
ship
0C D8
113535 "Faction" -1:Neutral 0:Colonial 1:Cylon 2:SagittaronSeparatist 0 4 Bytes
ship
74
113576 "MaxDRADISRange" 0 Float
ship
2a0
113637 "MaxTurretRange" 0 Float
ship
54 104
113569 "Movement" FF0000 1 113564 "MinVelocity" 0 Float
ship
10 124
113565 "MaxVelocity" 0 Float
ship
14 124
113568 "MaxTurnRate" 0 Float
ship
2b0
113567 "MaxPitch" 0 Float
ship
2b4
113566 "MaxYaw" 0 Float
ship
2b8
113577 "MaxCombatantStrength" 0 Float
ship
2aC
113588 "Hull" FF0000 1 113589 "repairs" 0 Float
ship
08 20
113587 "MaxHullpoints" 0 Float
ship
70
113590 "maxHealth" 0 Float
ship
C 20
113591 "startingMaxHealth" 0 Float
ship
10 20
113592 "currentHealth" 0 Float
ship
14 20
113593 "Boost" 0 Float
ship
18 20
113594 "Subsystems" FF0000 1 113595 "CICmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 10 34 288
113597 "CICcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 10 34 288
113598 "NavmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 14 34 288
113600 "NavcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 14 34 288
113601 "FCmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 18 34 288
113603 "FCcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 18 34 288
113604 "ENGmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 1c 34 288
113606 "ENGcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 1c 34 288
113607 "TechmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 20 34 288
113609 "TechcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 20 34 288
113610 "HangmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 24 34 288
113612 "HangcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 24 34 288
113613 "ArmmaxHealth" 1:Yes 2:No 0 Float
ship
c 24 28 34 288
113615 "ArmcurrentHealth" 1:Yes 2:No 0 Float
ship
14 24 28 34 288
113636 "Firewall" FF0000 1 113538 "MaxFirewallDefence" 0 Float
ship
3C 1A0
113539 "MaxFirewallRegenRate" 0 Float
ship
40 1A0
113541 "CurrentFirewallDefence" 0 Float
ship
4C 1A0
113542 "CurrentFirewallDefence2" 0 Float
ship
58 1A0
113570 "Repair Rates" FF0000 1 113557 "GeneralHullRepairRate" 1:Yes 2:No 0 Float
ship
40 288
113558 "GeneralSubsystemRepairRate" 1:Yes 2:No 0 Float
ship
44 288
113559 "MinGeneralHullRepairPerTick" 1:Yes 2:No 0 Float
ship
48 288
113560 "FocussedRepairRate" 1:Yes 2:No 0 Float
ship
4C 288
113561 "MinFocussedRepairPerTick" 1:Yes 2:No 0 Float
ship
50 288
113562 "FighterRepairRate" 1:Yes 2:No 0 Float
ship
54 288
113563 "MinFighterRepairRate" 1:Yes 2:No 0 Float
ship
58 288
113586 "Armor" FF0000 1 113579 "ArmourFront" 0 Float
ship
10 20 30
113580 "ArmourRear" 0 Float
ship
14 20 30
113581 "ArmourLeft" 0 Float
ship
18 20 30
113585 "ArmourRight" 0 Float
ship
1C 20 30
113584 "ArmourTop" 0 Float
ship
20 20 30
113583 "ArmourBottom" 0 Float
ship
24 20 30
113571 "Jump Stuff" FF0000 1 113547 "Jump Delay" 0 4 Bytes
ship
28 134
113548 "Jump Duration" 0 4 Bytes
ship
2C 134
113549 "Jump cooldownTurns" 0 4 Bytes
ship
38 134
113550 "Jump extraMissileDelay" 0 4 Bytes
ship
3C 134
113551 "preventMiniJumpAction" 1:Yes 2:No 0 Byte
ship
40 134
113552 "Jump Delay Ticks Min" 1:Yes 2:No 0 4 Bytes
ship
8 20 13C
113553 "Jump Delay Ticks Max" 1:Yes 2:No 0 4 Bytes
ship
C 20 13C
113545 "TacticalJumpExclusionRadius" 0 Float
ship
78 104
113572 "Boost" FF0000 1 113554 "Boost Subsystem Penalty" 1:Yes 2:No 0 4 Bytes
ship
018 1A8
113555 "boostMaxDistanceBonus" 1:Yes 2:No 0 Float
ship
1C 1A8
113556 "boostTurnPenalty" 0 Float
ship
20 1A8
113578 "Missile (Don't change Ammo slot amount if its reading a very large number or Zero)" FF0000 1 113573 "Missile Slot 1 Current Ammo" 0 4 Bytes
ship
10 210
113805 "Missile Slot 2 Current Ammo (Only for Missile boats)" 0 4 Bytes
ship
14 210
113806 "Missile Slot 3 Current Ammo (Only for Missile boats)" 0 4 Bytes
ship
18 210
113804 "initialMissileDelay" 0 4 Bytes
ship
bc 284
113574 "missileCooldown" 1:Yes 2:No 0 4 Bytes
ship
C0 284
113575 "missileCooldownTurns (The Real Missile cooldown)" 1:Yes 2:No 0 4 Bytes
ship
2dc
113543 "TicksBetweenMissileCommands" 0 4 Bytes
ship
50 104
113616 "Weapons" FF0000 1 113617 "Accuracy" 0 Float
ship
64 10 26c
113618 "WeaponMinRange" 0 Float
ship
68 10 26c
113619 "WeaponMaxRange" 0 Float
ship
6C 10 26c
113620 "ArcAngle" 0 Float
ship
70 10 26c
113621 "full360Mode" 0:No 1:Yes 0 Byte
ship
74 10 26c
113686 "FocusFireInfo" 0 Float
ship
7C 10 26c
113622 "MaxDamage (Set and Lock at High amount for One Hit KILL)" 0 FF8000 Float
ship
78 10 26c
113623 "FireDelayMin" 0 4 Bytes
ship
8 20 10 26c
113624 "FireDelayMax" 0 4 Bytes
ship
C 20 10 26c
113626 "Fighters" FF0000 1 113627 "squadronToSquadronMaxRange" 0 Float
ship
2C F0
113628 "squadron1v1Distance" 0 Float
ship
34 F0
113629 "squadron1v1MoveInSpeed" 0 Float
ship
38 F0
113630 "squadron1v1MoveOutSpeed" 0 Float
ship
3C F0
113632 "defendVelocityOffset" 0 Float
ship
48 F0
113764 "Campaign Base (resources + other things) open BUY Ships Menu to Populate!" FF0000 Auto Assembler Script { Game : BSG.exe Version: Date : 2021-01-24 Author : Cole This script does blah blah blah } [ENABLE] aobscan(campaign,8B 89 E8 00 00 00 3B) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(campaignBase) alloc(campaignBase, 4) newmem: code: mov [campaignBase], ecx mov ecx,[ecx+000000E8] jmp return campaign: jmp newmem nop return: registersymbol(campaign) [DISABLE] campaign: db 8B 89 E8 00 00 00 unregistersymbol(campaign) dealloc(newmem) unregistersymbol(campaignBase) dealloc(campaignBase) { // ORIGINAL CODE - INJECTION POINT: FleetGroupPanel:BCGJEDKFCMM+8c FleetGroupPanel:BCGJEDKFCMM+71: 74 05 - je FleetGroupPanel:BCGJEDKFCMM+78 FleetGroupPanel:BCGJEDKFCMM+73: 8B 45 0C - mov eax,[ebp+0C] FleetGroupPanel:BCGJEDKFCMM+76: 2B D8 - sub ebx,eax FleetGroupPanel:BCGJEDKFCMM+78: 8B 45 0C - mov eax,[ebp+0C] FleetGroupPanel:BCGJEDKFCMM+7b: 8B 8E 90 00 00 00 - mov ecx,[esi+00000090] FleetGroupPanel:BCGJEDKFCMM+81: 8B D1 - mov edx,ecx FleetGroupPanel:BCGJEDKFCMM+83: 39 12 - cmp [edx],edx FleetGroupPanel:BCGJEDKFCMM+85: 8B 49 2C - mov ecx,[ecx+2C] FleetGroupPanel:BCGJEDKFCMM+88: 8B D1 - mov edx,ecx FleetGroupPanel:BCGJEDKFCMM+8a: 39 12 - cmp [edx],edx // ---------- INJECTING HERE ---------- FleetGroupPanel:BCGJEDKFCMM+8c: 8B 89 E8 00 00 00 - mov ecx,[ecx+000000E8] // ---------- DONE INJECTING ---------- FleetGroupPanel:BCGJEDKFCMM+92: 3B C1 - cmp eax,ecx FleetGroupPanel:BCGJEDKFCMM+94: 0F 9F C0 - setg al FleetGroupPanel:BCGJEDKFCMM+97: 0F B6 C0 - movzx eax,al FleetGroupPanel:BCGJEDKFCMM+9a: 85 C0 - test eax,eax FleetGroupPanel:BCGJEDKFCMM+9c: 0F 94 C0 - sete al FleetGroupPanel:BCGJEDKFCMM+9f: 0F B6 C0 - movzx eax,al FleetGroupPanel:BCGJEDKFCMM+a2: 88 45 C0 - mov [ebp-40],al FleetGroupPanel:BCGJEDKFCMM+a5: 8D 45 0C - lea eax,[ebp+0C] FleetGroupPanel:BCGJEDKFCMM+a8: 89 04 24 - mov [esp],eax FleetGroupPanel:BCGJEDKFCMM+ab: E8 58 3E A7 F8 - call System:Int32:ToString } 113759 " Massive Alliance Points" FF8000 Auto Assembler Script [ENABLE] aobscan(AlliancePoints,8B EC 83 EC 18 8B 45 0C 89 44 24 04 8B 45 08 89 04 24 E8 * * * * 8B 40 24 C9 C3 * * * * * * * * * * * * * * * * * * * * * EC 53 57 56 83 EC 1C 33 FF) // should be unique alloc(newmem,$1000) aobscan(allaince_points_two,8B 47 24 8B 4F 20 8B D8) // should be unique alloc(newmem1,$1000) label(code) label(return) label(code1) label(return1) newmem: code: mov [eax+24],#999 mov eax,[eax+24] leave ret jmp return AlliancePoints+17: jmp newmem return: registersymbol(AlliancePoints) newmem1: code1: mov [edi+24], #999 mov eax,[edi+24] mov ecx,[edi+20] jmp return1 allaince_points_two: jmp newmem1 nop return1: registersymbol(allaince_points_two) [DISABLE] AlliancePoints+17: db 8B 40 24 C9 C3 allaince_points_two: db 8B 47 24 8B 4F 20 unregistersymbol(AlliancePoints) dealloc(newmem) unregistersymbol(allaince_points_two) dealloc(newmem1) { // ORIGINAL CODE - INJECTION POINT: ACAKPLDDHJP:ACFCAJDJMAF+18 18A320E4: 00 00 - add [eax],al 18A320E6: 00 00 - add [eax],al ACAKPLDDHJP:ACFCAJDJMAF: 55 - push ebp ACAKPLDDHJP:ACFCAJDJMAF+1: 8B EC - mov ebp,esp ACAKPLDDHJP:ACFCAJDJMAF+3: 83 EC 18 - sub esp,18 ACAKPLDDHJP:ACFCAJDJMAF+6: 8B 45 0C - mov eax,[ebp+0C] ACAKPLDDHJP:ACFCAJDJMAF+9: 89 44 24 04 - mov [esp+04],eax ACAKPLDDHJP:ACFCAJDJMAF+d: 8B 45 08 - mov eax,[ebp+08] ACAKPLDDHJP:ACFCAJDJMAF+10: 89 04 24 - mov [esp],eax ACAKPLDDHJP:ACFCAJDJMAF+13: E8 18 00 00 00 - call ACAKPLDDHJP:AJFFGDIKPNC // ---------- INJECTING HERE ---------- ACAKPLDDHJP:ACFCAJDJMAF+18: 8B 40 24 - mov eax,[eax+24] // ---------- DONE INJECTING ---------- ACAKPLDDHJP:ACFCAJDJMAF+1b: C9 - leave ACAKPLDDHJP:ACFCAJDJMAF+1c: C3 - ret 18A32105: 00 00 - add [eax],al 18A32107: 00 68 88 - add [eax-78],ch 18A3210A: B4 9D - mov ah,-63 18A3210C: 30 E9 - xor cl,ch 18A3210E: EE - out dx,al 18A3210F: DF 76 EA - fbstp tword ptr [esi-16] 18A32112: 00 00 - add [eax],al 18A32114: 00 00 - add [eax],al } 113763 "Fortified Colonies" FF8000 Auto Assembler Script [ENABLE] aobscan(fortified,8B 45 F0 0F B6 40 10) // should be unique alloc(newmem,$1000) aobscan(fortified_two,0F B6 40 10 85 C0 74 1A) // should be unique alloc(newmem1,$1000) label(code) label(return) label(code1) label(return1) newmem: code: mov eax,[ebp-10] mov [eax+10], #200 movzx eax,[eax+10] jmp return fortified: jmp newmem nop 2 return: registersymbol(fortified) newmem1: code1: mov [eax+10], #200 movzx eax, [eax+10] test eax,eax jmp return1 fortified_two: jmp newmem1 nop return1: registersymbol(fortified_two) [DISABLE] fortified: db 8B 45 F0 0F B6 40 10 fortified_two: db 0F B6 40 10 85 C0 unregistersymbol(fortified) dealloc(newmem) unregistersymbol(fortified_two) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: ACAKPLDDHJP:DFMMIAENLGF+37 ACAKPLDDHJP:DFMMIAENLGF+1c: 8B 46 0C - mov eax,[esi+0C] ACAKPLDDHJP:DFMMIAENLGF+1f: 3B D8 - cmp ebx,eax ACAKPLDDHJP:DFMMIAENLGF+21: 73 3C - jae ACAKPLDDHJP:DFMMIAENLGF+5f ACAKPLDDHJP:DFMMIAENLGF+23: 8B 46 08 - mov eax,[esi+08] ACAKPLDDHJP:DFMMIAENLGF+26: 8D 44 98 10 - lea eax,[eax+ebx*4+10] ACAKPLDDHJP:DFMMIAENLGF+2a: 8B 00 - mov eax,[eax] ACAKPLDDHJP:DFMMIAENLGF+2c: 89 45 F0 - mov [ebp-10],eax ACAKPLDDHJP:DFMMIAENLGF+2f: 8B 40 0C - mov eax,[eax+0C] ACAKPLDDHJP:DFMMIAENLGF+32: 3B 45 0C - cmp eax,[ebp+0C] ACAKPLDDHJP:DFMMIAENLGF+35: 75 09 - jne ACAKPLDDHJP:DFMMIAENLGF+40 // ---------- INJECTING HERE ---------- ACAKPLDDHJP:DFMMIAENLGF+37: 8B 45 F0 - mov eax,[ebp-10] // ---------- DONE INJECTING ---------- ACAKPLDDHJP:DFMMIAENLGF+3a: 0F B6 40 10 - movzx eax,byte ptr [eax+10] ACAKPLDDHJP:DFMMIAENLGF+3e: EB 14 - jmp ACAKPLDDHJP:DFMMIAENLGF+54 ACAKPLDDHJP:DFMMIAENLGF+40: 47 - inc edi ACAKPLDDHJP:DFMMIAENLGF+41: 8B 45 08 - mov eax,[ebp+08] ACAKPLDDHJP:DFMMIAENLGF+44: 8B 40 1C - mov eax,[eax+1C] ACAKPLDDHJP:DFMMIAENLGF+47: 8B C8 - mov ecx,eax ACAKPLDDHJP:DFMMIAENLGF+49: 39 09 - cmp [ecx],ecx ACAKPLDDHJP:DFMMIAENLGF+4b: 8B 40 0C - mov eax,[eax+0C] ACAKPLDDHJP:DFMMIAENLGF+4e: 3B F8 - cmp edi,eax ACAKPLDDHJP:DFMMIAENLGF+50: 7C BE - jl ACAKPLDDHJP:DFMMIAENLGF+10 } 3 "Tylium" 0 4 Bytes
campaignBase
E8
6 "RP" 0 4 Bytes
campaignBase
EC
113773 "<CurrentCylonThreatLevel> (unknown effect)" 0 Float
campaignBase
F0
113783 "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<All of the BYTES you Must select Yes or No on the right>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" 0000FF 1 113765 "LimitFTLRange" 1:Yes 0:No 0 Byte
campaignBase
D0
113766 "AllowFLTCooldowns" 1:Yes 0:No 0 Byte
campaignBase
D1
113767 "Can Create Resource Missions" 1:Yes 0:No 0 Byte
campaignBase
D2
113768 "RemoveAllAlliance" 1:Yes 0:No 0 Byte
campaignBase
D5
113769 "GhostFleetActive" 1:Yes 0:No 0 Byte
campaignBase
D6
113771 "DisableTrade" 1:Yes 0:No 0 Byte
campaignBase
D7
113770 "DisableCylonThreat" 1:Yes 0:No 0 Byte
campaignBase
D8
113779 "AICanBuildFleets" 1:Yes 0:No 0 Byte
campaignBase
f4
113778 "AICanMoveFleets" 1:Yes 0:No 0 Byte
campaignBase
f5
113777 "AIFleetsIgnoreJumpRestrictions" 1:Yes 0:No 0 Byte
campaignBase
f6
113776 "AIFleetsIgnoreJumpCooldowns" 1:Yes 0:No 0 Byte
campaignBase
f7
113775 "AIFleetsJumpDestinationOverride" 1:Yes 0:No 0 Byte
campaignBase
f8
113774 "AIBuildFleetCooldown" 1:Yes 0:No 0 Byte
campaignBase
fc
113780 "CylonFTLCooldown" 1:Yes 0:No 0 Byte
campaignBase
100
113781 "CreateCommanders -> Turn on for more officers" 1:Yes 0:No 0 FF8000 Byte
campaignBase
104
113772 "GenerateCommanderSeed (unsure)???" 1:Yes 0:No 0 000000 4 Bytes
campaignBase
E4
113786 "Round" 0 4 Bytes
campaignBase
B0
113787 "LastStoryMissionCompleted" 1:Yes 0:No 0 4 Bytes
campaignBase
B8
113788 "ActiveStoryMission" 0 4 Bytes
campaignBase
BC
113789 "MissionsCompleted" 0 4 Bytes
campaignBase
B4
113748 "not used" 1 113741 "Original works" Auto Assembler Script [ENABLE] aobscan(Playership,1B 8B BB 88 02 00 00) // should be unique alloc(shipbase,$4048) alloc(ship,8) registersymbol(ship) label(code) label(return) label(exit_shipbase) label(hull) label(exit_hull) label(repairs) label(repairs_exit) label(subsytem_start) label(subsystem_end) label(firewall_begin) label(firewall_end) label(move_start) label(move_end) label(dradis_range) label(dradis_range_exit) shipbase: mov edi,[ebx+00000288] //original code push edi push ebx cmp byte ptr [ebx+000002A8],00 //test if player jne code mov [ship],ebx //<--Ship base exit_shipbase: repairs: test edi, edi je code mov [edi+40], (float)99999 mov [edi+44], (float)99999 mov [edi+48], (float)99999 mov [edi+4C], (float)99999 mov [edi+50], (float)99999 mov [edi+54], (float)99999 mov [edi+58], (float)99999 repairs_exit: hull: mov edi, [edi+30] test edi, edi je code mov [edi+0C], (float)999999 mov [edi+14], (float)999999 exit_hull: subsytem_start: mov edi,[ebx+00000288] test edi,edi je code mov edi,[edi+34] test edi,edi je code mov ebx,[edi+10] test ebx,ebx je code mov ebx,[ebx+24] test ebx,ebx je code fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+14] test ebx,ebx je code mov ebx,[ebx+24] test ebx,ebx je code fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+18] test ebx,ebx je code mov ebx,[ebx+24] test ebx,ebx je code fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+1C] test ebx,ebx je code mov ebx,[ebx+24] test ebx,ebx je code fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+20] test ebx,ebx je code mov ebx,[ebx+24] test ebx,ebx je code fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] mov ebx,[edi+24] test ebx,ebx je code mov ebx,[ebx+24] test ebx,ebx je code fld dword ptr [ebx+0C] fstp dword ptr [ebx+14] subsystem_end: move_start: mov ebx,[ship] //<<----Put it at Ships base, the very beginning of structure easy now! cmp byte ptr [ebx+294], #4 //Test for fighter je code test ebx, ebx je code mov [ebx+2B0], (float)1.5 //Max Turnrate mov [ebx+2B4], (float)180 //Max Pitch mov [ebx+2B8], (float)2 //Max Yaw mov edi, [ebx+124] test edi, edi je code mov [edi+10], (float)0 //MinVelocity mov [edi+14], (float)50 //MaxVelocity move_end: dradis_range: mov [ebx+2A0],(float)9999 dradis_range_exit: firewall_begin: cmp [ebx+1A0],0 je code mov edi, [ebx+1A0] test edi, edi je code mov [edi+3C], (float)9999//Max Defence Points mov [edi+40], (float)9999//Regen Rate mov [edi+4C], (float)9999//Current Defence points firewall_end: code: pop edi pop ebx mov edi,[ebx+00000288] jmp return Playership+01: jmp shipbase nop return: registersymbol(Playership) [DISABLE] Playership+01: db 8B BB 88 02 00 00 unregistersymbol(Playership) dealloc(shipbase) dealloc(ship) unregistersymbol(ship) 4 "Resources and CampagnState (open Build Ships to populate)" FF0000 Auto Assembler Script [ENABLE] aobscan(resource,8B 89 E8 00 00 00 3B C1 0F 9F) // should be unique alloc(newmem,$4000) label(code) label(return) registersymbol(Campaignbase) registersymbol(CampaignManager_tyliumset_enable) registersymbol(CampaignManager_rpset_enable) //registersymbol(CampaignManager_colonyset_enable) registersymbol(CampaignManager_ftlset_enable) alloc(Campaignbase, 4) alloc(CampaignManager_update_enable, 4) alloc(CampaignManager_set_enable, 4) alloc(CampaignManager_tyliumset_enable, 4) alloc(CampaignManager_rpset_enable, 4) alloc(CampaignManager_colonyset_enable, 4) alloc(CampaignManager_ftlset_enable, 4) label(CampaignManager_tyliumset_exit) label(CampaignManager_rpset_exit) //label(CampaignManager_colonyset_exit) //label(CampaignManager_colonyset_entry) label(CampaignManager_ftlset_exit) newmem: mov ecx,[ecx+000000E8] push ecx push ebx push edi mov [Campaignbase], ecx cmp dword ptr [CampaignManager_tyliumset_enable], #0 je CampaignManager_tyliumset_exit mov [ecx+000000E8], #999999 mov ecx,[ecx+000000E8] CampaignManager_tyliumset_exit: cmp dword ptr [CampaignManager_rpset_enable], #0 je CampaignManager_rpset_exit mov ebx, [Campaignbase] test ebx, ebx je CampaignManager_tyliumset_exit mov [ebx+EC], #999999 CampaignManager_rpset_exit: cmp dword ptr [CampaignManager_ftlset_enable], #0 je CampaignManager_ftlset_exit mov ebx, [Campaignbase] test ebx, ebx je CampaignManager_ftlset_exit mov byte ptr [ebx+D0], #0 //Limit FLT Range mov byte ptr [ebx+D1], #0 //Allow Cooldown CampaignManager_ftlset_exit: {CampaignManager_colonyset_entry: cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+14] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+18] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+1C] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+20] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+24] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+28] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+2C] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+30] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? cmp dword ptr [CampaignManager_colonyset_enable], #0 je CampaignManager_colonyset_exit mov ebx, [Campaignbase] test ebx , ebx je CampaignManager_colonyset_exit mov ebx, [ebx+1C] test ebx, ebx je CampaignManager_colonyset_exit mov ebx, [ebx+8] test ebx, ebx je CampaignManager_colonyset_exit mov edi, [ebx+10] test edi, edi je CampaignManager_colonyset_exit mov edi, [ebx+34] test edi, edi je CampaignManager_colonyset_exit mov byte ptr [edi+10], #1 //Fortified mov byte ptr [edi+11], #0 //Hostile mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+20], #200 //Last AlliancePoints mov byte ptr [edi+28], #1 //AlliancePoints Status? CampaignManager_colonyset_exit:} code: pop ecx pop ebx pop edi mov ecx,[ecx+000000E8] jmp return resource: jmp newmem nop return: registersymbol(resource) [DISABLE] resource: db 8B 89 E8 00 00 00 unregistersymbol(resource) dealloc(newmem) unregistersymbol(Campaignbase) unregistersymbol(CampaignManager_tyliumset_enable) unregistersymbol(CampaignManager_rpset_enable) unregistersymbol(CampaignManager_colonyset_enable) unregistersymbol(CampaignManager_ftlset_enable) dealloc(Campaignbase) dealloc(CampaignManager_update_enable) dealloc(CampaignManager_set_enable) dealloc(CampaignManager_tyliumset_enable) dealloc(CampaignManager_rpset_enable) dealloc(CampaignManager_colonyset_enable) dealloc(CampaignManager_ftlset_enable) { // ORIGINAL CODE - INJECTION POINT: 230C4784 230C4769: 74 05 - je 230C4770 230C476B: 8B 45 0C - mov eax,[ebp+0C] 230C476E: 2B D8 - sub ebx,eax 230C4770: 8B 45 0C - mov eax,[ebp+0C] 230C4773: 8B 8E 90 00 00 00 - mov ecx,[esi+00000090] 230C4779: 8B D1 - mov edx,ecx 230C477B: 39 12 - cmp [edx],edx 230C477D: 8B 49 2C - mov ecx,[ecx+2C] 230C4780: 8B D1 - mov edx,ecx 230C4782: 39 12 - cmp [edx],edx // ---------- INJECTING HERE ---------- 230C4784: 8B 89 E8 00 00 00 - mov ecx,[ecx+000000E8] // ---------- DONE INJECTING ---------- 230C478A: 3B C1 - cmp eax,ecx 230C478C: 0F 9F C0 - setg al 230C478F: 0F B6 C0 - movzx eax,al 230C4792: 85 C0 - test eax,eax 230C4794: 0F 94 C0 - sete al 230C4797: 0F B6 C0 - movzx eax,al 230C479A: 88 45 C0 - mov [ebp-40],al 230C479D: 8D 45 0C - lea eax,[ebp+0C] 230C47A0: 89 04 24 - mov [esp],eax 230C47A3: E8 40 8C 08 F5 - call 1814D3E8 } 86 "Base Address" 0 0000FF 4 Bytes
getAddress('BSG.exe')
87 "End Module" 0 4 Bytes
getAddress('BSG.exe') + getModuleSize('BSG.exe')
113689 "Ship Base" 0 0000FF 4 Bytes
ship
0
113730 "Infinite Missile Ammo (bad-shared address)" FF8000 Auto Assembler Script [ENABLE] aobscan(missile_ammo,8D 54 BA 10 8B 12 89 50 0C) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: pushf //cmp [[ship]+2A8], 00 //cmp [edx+B38], 0 //B38,FD8,10F8=0 //jne code cmp [[ship]+74], 00 jne code popf lea edx,[edx+edi*4+10] mov [edx], #73 mov edx,[edx] jmp return code: popf lea edx,[edx+edi*4+10] mov edx,[edx] jmp return missile_ammo: jmp newmem nop return: registersymbol(missile_ammo) [DISABLE] missile_ammo: db 8D 54 BA 10 8B 12 unregistersymbol(missile_ammo) dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: ShipInfo:GetMunitionsSlotStatusData+1fb ShipInfo:GetMunitionsSlotStatusData+1d4: 39 5E 0C - cmp [esi+0C],ebx ShipInfo:GetMunitionsSlotStatusData+1d7: 0F 86 C6 00 00 00 - jbe ShipInfo:GetMunitionsSlotStatusData+2a3 ShipInfo:GetMunitionsSlotStatusData+1dd: 6B CB 18 - imul ecx,ebx,18 ShipInfo:GetMunitionsSlotStatusData+1e0: 8B C6 - mov eax,esi ShipInfo:GetMunitionsSlotStatusData+1e2: 03 C1 - add eax,ecx ShipInfo:GetMunitionsSlotStatusData+1e4: 05 10 00 00 00 - add eax,00000010 ShipInfo:GetMunitionsSlotStatusData+1e9: 8B 4D 08 - mov ecx,[ebp+08] ShipInfo:GetMunitionsSlotStatusData+1ec: 8B 91 10 02 00 00 - mov edx,[ecx+00000210] ShipInfo:GetMunitionsSlotStatusData+1f2: 39 7A 0C - cmp [edx+0C],edi ShipInfo:GetMunitionsSlotStatusData+1f5: 0F 86 A1 00 00 00 - jbe ShipInfo:GetMunitionsSlotStatusData+29c // ---------- INJECTING HERE ---------- ShipInfo:GetMunitionsSlotStatusData+1fb: 8D 54 BA 10 - lea edx,[edx+edi*4+10] // ---------- DONE INJECTING ---------- ShipInfo:GetMunitionsSlotStatusData+1ff: 8B 12 - mov edx,[edx] ShipInfo:GetMunitionsSlotStatusData+201: 89 50 0C - mov [eax+0C],edx ShipInfo:GetMunitionsSlotStatusData+204: 39 5E 0C - cmp [esi+0C],ebx ShipInfo:GetMunitionsSlotStatusData+207: 0F 86 88 00 00 00 - jbe ShipInfo:GetMunitionsSlotStatusData+295 ShipInfo:GetMunitionsSlotStatusData+20d: 6B D3 18 - imul edx,ebx,18 ShipInfo:GetMunitionsSlotStatusData+210: 8B C6 - mov eax,esi ShipInfo:GetMunitionsSlotStatusData+212: 03 C2 - add eax,edx ShipInfo:GetMunitionsSlotStatusData+214: 05 10 00 00 00 - add eax,00000010 ShipInfo:GetMunitionsSlotStatusData+219: 8B 91 08 02 00 00 - mov edx,[ecx+00000208] ShipInfo:GetMunitionsSlotStatusData+21f: 39 7A 0C - cmp [edx+0C],edi }