11
"Weapon Editor"
Auto Assembler Script
define(BOnReloadWeapon,F3 0F 10 04 B1 48 8B 5C 24 30)
[ENABLE]
aobscanmodule(JOnReloadWeapon,MassEffectAndromeda.exe,F3 0F 10 04 B1 48 8B 5C 24 30) // should be unique
//assert(JOnReloadWeapon,BOnReloadWeapon)
alloc(L4FA7206B,$1000,"MassEffectAndromeda.exe"+5A024EC)
label(CodeOnReloadWeapon)
label(_BackOnReloadWeapon)
label(pCurrentWeaponTemplate)
registersymbol(pCurrentWeaponTemplate)
registersymbol(JOnReloadWeapon)
L4FA7206B:
CodeOnReloadWeapon:
cmp rsi, 6
jne _exit0
mov [pCurrentWeaponTemplate], rcx
_exit0:
movss xmm0,[rcx+rsi*4]
jmp _BackOnReloadWeapon
//==================================================
// Variables
//==================================================
pCurrentWeaponTemplate:
dq 0
//==================================================
// Injection Points
//==================================================
JOnReloadWeapon:
jmp L4FA7206B
_BackOnReloadWeapon:
[DISABLE]
JOnReloadWeapon:
db BOnReloadWeapon
// movss xmm0,[rcx+rsi*4]
unregistersymbol(pCurrentWeaponTemplate)
unregistersymbol(JOnReloadWeapon)
dealloc(L4FA7206B)
19
"Make BFG ( Reload weapon first )"
030093
Auto Assembler Script
[enable]
alloc(L4822C986, 4096)
CREATETHREAD(L4822C986);
L4822C986:
push rbx
mov rbx, dword ptr [rsp+8]
mov [returnAddr], rbx
pop rbx
// jmp L4822C986
mov rax, [pCurrentWeaponTemplate]
mov rbx, 80000000
cmp rax, rbx
jl _exit0
mov rbx, 140000000
cmp rax, rbx
jg _exit0
mov [rax], (float)9999
mov [rax+8], (float)300
mov [rax+14], (float)50
mov [rax+18], (float)0
mov [rax+1c], (float)9999
mov [rax+24], (float)100
mov [rax+28], 0
mov [rax+2c], 0
mov [rax+30], 0
mov [rax+34], 0
mov [rax+38], 0
mov [rax+3c], 0
_exit0:
_ExitThread:
push rbx
mov rbx, dword ptr [returnAddr]
mov dword ptr [rsp+8], rbx
pop rbx
ret
returnAddr:
dd 0
[disable]
dealloc(L4822C986)
20
"Show Weapon Statistics"
1
3
"Damage"
Float
[pCurrentWeaponTemplate]+0
4
"Rate of Fire"
Float
[pCurrentWeaponTemplate]+8
5
"Max Clip Size"
Float
[pCurrentWeaponTemplate]+14
13
"Max Ammo"
Float
[pCurrentWeaponTemplate]+1c
6
"Reload Time (s)"
Float
[pCurrentWeaponTemplate]+18
14
"Accuracy"
Float
[pCurrentWeaponTemplate]+24
15
"No Zoom Spread Minimum"
Float
[pCurrentWeaponTemplate]+28
16
"No Zoom Spread Maximum"
Float
[pCurrentWeaponTemplate]+2c
7
"No Zoom Spread Transient"
Float
[pCurrentWeaponTemplate]+30
8
"Zoom Spread Minimum"
Float
[pCurrentWeaponTemplate]+34
9
"Zoom Spread Maximum"
Float
[pCurrentWeaponTemplate]+38
10
"Zoom Spread Transient"
Float
[pCurrentWeaponTemplate]+3c
12
"pCurrentWeaponTemplate"
1
4 Bytes
pCurrentWeaponTemplate