{ Game : helldivers2.exe
Version:
Date : 2024-04-07
Author : ZoDDeL
This script does blah blah blah
}
[ENABLE]
aobscanmodule(damageMulti,game.dll,66 0F 6E 59 04 66 0F 6E 49 08 0F 5B C9 0F 5B DB) // should be unique
alloc(dmg_newmem,$2000)
label(dmg_code)
label(dmg_return)
dmg_newmem:
cmp [rcx+04],#0 // skip any 0 dmg weapons like smoke or unknown shit
je dmg_code
// whitelisted weapons that get super damage
cmp [rcx+00],#51 //#48 //#46 // AR-23 Liberator / AR-22C Patriot / AR-48 Truth Whisperer / M-105 Stalwart / AR-61 Tenderizer
je dmg_Pump
cmp [rcx+00],#48 // AR-23P Liberator Penetrator
je dmg_Super
cmp [rcx+00],#50 // AR-23C Liberator Concussive
je dmg_Super
cmp [rcx+00],#27 //#25 //#24 //#22 // P-2 Peacemaker / P-19 Redeemer
je dmg_Super
cmp [rcx+00],#101 //#97 //#95 // SG-225SP Breaker Spray&Pray (16)
je dmg_Super
cmp [rcx+00],#44 //#41 //#39 // P-4 Senator
je dmg_Super
cmp [rcx+00],#84 //#80 // JAR-5 Dominator
je dmg_Super
cmp [rcx+00],#296 //#291 //#287 // LAS-7 Dagger
je dmg_Super
cmp [rcx+00],#297 //#292 //#288 // LAS-5 Scythe
je dmg_Super
cmp [rcx+00],#34 //#33 //#31 // SMG-37 Defender
je dmg_Super
cmp [rcx+00],#19 //#17 // LAS-16 Sickle
je dmg_Super
cmp [rcx+00],#10 //#9 // GL-21 part 1 projectile / mortar shell (turret)
je dmg_Super
cmp [rcx+00],#220 //#215 //#212 // GL-21 / GP-31 grenade pistol explosion
je dmg_Super
cmp [rcx+00],#127 //#123 // autocannon part 1 // projectile
je dmg_Super
cmp [rcx+00],#216 //#211 // autocannon part 2 // explosion
je dmg_Super
cmp [rcx+00],#74 //#70 // R-63CS Diligence Counter SNiper
je dmg_Super
cmp [rcx+00],#135 // #131 //#129 // EAT-17 part 1
je dmg_Super
//cmp [rcx+00],#184 //#182 // EAT-17 part 2
//je dmg_Super
cmp [rcx+00],#226 //#221 //#217 // EAT-17 part 3
je dmg_Super
cmp [rcx+00],#136 //#132 // recoil-less rifle part 1 shell
je dmg_Super
cmp [rcx+00],#225 //#220 // recoil-less rifle part 2 explosion
je dmg_Super
cmp [rcx+00],#26 //#25 //#23 // MP-98 Knight
je dmg_Super
cmp [rcx+00],#65 //#62 //#60 // MG-43 / EXO-45 Gatling / Gatling Turret / BR-14 Adjudicator / AR-L20 Justice
je dmg_Super
cmp [rcx+00],#122 //#118 // anti material rifle
je dmg_Super
cmp [rcx+00],#9 //#8 // FLAM-40 part 1
je dmg_Super
//cmp [rcx+00],#309 //#303 // FLAM-40 part 2 // ground fire shares ID with flame tornados
//je dmg_Super
cmp [rcx+00],#121 //#117 //#115 // MG-206 HMG
je dmg_Super
cmp [rcx+00],#134 //#130 // GP-31 grenade pistol part 1 (part 2 = gren launcher explo)
je dmg_Super
cmp [rcx+00],#302 //#296 //#292 // LAS-98
je dmg_Super
cmp [rcx+00],#22 //#21 //#19 // RS-422 railgun
je dmg_Super
cmp [rcx+00],#80 //#76 // R-36 Eruptor 1
je dmg_Super
//cmp [rcx+00],#122 //#108 // R-36 Eruptor 2 // the shrapnel they removed with patch .302 ???
//je dmg_Super
cmp [rcx+00],#205 // R-36 Eruptor 3
je dmg_Super
cmp [rcx+00],#227 //#222 //#218 // LAS-99 quasar part 1
je dmg_Super
cmp [rcx+00],#228 //#223 // LAS-99 quasar part 2
je dmg_Super
cmp [rcx+00],#224 //#219 // RL-77 airburst (rocket)
je dmg_Super
//cmp [rcx+00],#201 //#196 // RL-77 airburst (cluster) // shares ID with G-6 Frag
//je dmg_Super
cmp [rcx+00],#202 //#197 // RL-77 airburst (ground???)
je dmg_Super
cmp [rcx+00],#124 //#120 // CB-9 explosive crossbow 1
je dmg_Super
cmp [rcx+00],#125 //#121 // CB-9 explosive crossbow 2
je dmg_Super
cmp [rcx+00],#129 //#125 // emancipator exo gun part 1
je dmg_Super
cmp [rcx+00],#217 //#212 // emancipator exo gun part 2
je dmg_Super
cmp [rcx+00],#147 //#143 //#141 // EXO-45 rocket part 1
je dmg_Super
cmp [rcx+00],#234 //#229 //#225 // EXO-45 rocket part 2
je dmg_Super
cmp [rcx+00],#20 //#18 // SG-8P Punisher Plasma (1) / PLAS-1 Scorcher
je dmg_Super
cmp [rcx+00],#184 //#180 // PLAS-1 Scorcher explosion
je dmg_Super
cmp [rcx+00],#186 //#182 // SG-8P Punisher Plasma explosion
je dmg_Super
cmp [rcx+00],#130 //#126 // pelican weapon part 1
je dmg_Super
cmp [rcx+00],#219 //#214 // pelican weapon part 2
je dmg_Super
cmp [rcx+00],#104 //#98 // SG-225NS Breaker Nailspitter (11)
je dmg_Super
cmp [rcx+00],#42 // P-113 Verdict
je dmg_Super
cmp [rcx+00],#73 // R-63 Diligence
je dmg_Super
cmp [rcx+00],#41 // SMG-72 Pummeler
je dmg_Super
// these weapons stay default
cmp [rcx+00],#201 //#196 //#194 // G-6 Frag part 1 // shares ID with airburst rocket launcher (cluster)
je dmg_code
cmp [rcx+00],#111 //#107 // G-6 Frag part 2
je dmg_code
cmp [rcx+00],#213 //#208 //#205 // G-12 High Explosive / G-16 Impact
je dmg_code
cmp [rcx+00],#203 //#198 //#195 // G-10 Incendiary
je dmg_code
cmp [rcx+00],#204 //#199 //#196 // G-123 Thermite (explosion)
je dmg_code
cmp [rcx+00],#310 //#304 // G-123 Thermite (burn)
je dmg_code
cmp [rcx+00],#245 // anti tank mines
je dmg_code
cmp [rcx+00],#243 // anti personnel mines
je dmg_code
cmp [rcx+00],#203 // incendiary mines (explosion) // burning is ground fire 309 like flame tornadoes or flamethrower ground fire
je dmg_code
cmp [rcx+00],#126 // tesla tower
je dmg_code
cmp [rcx+00],#223 //#218 // mortar turred explosion
je dmg_code
cmp [rcx+00],#140 //rocket sentry turret 1
je dmg_code
cmp [rcx+00],#239 //rocket sentry turret 2
je dmg_code
//helldiver pot damage
cmp [rcx+00],#258 //#253
je dmg_code
//500kg bomb
cmp [rcx+00],#154 //#150 // shell
je dmg_code
cmp [rcx+00],#273 //#268 // explosion
je dmg_code
//orbital laser
cmp [rcx+00],#305 //#299
je dmg_code
//309 //303 fire ground dmg
//orbital precision strike
cmp [rcx+00],#160 //#156
je dmg_code
cmp [rcx+00],#267 //#262
je dmg_code
//orbital railcannon strike
cmp [rcx+00],#161 //#157
je dmg_code
cmp [rcx+00],#266 //#261
je dmg_code
//orbital 120MM HE barrage
cmp [rcx+00],#159 //#155
je dmg_code
cmp [rcx+00],#268 //#263
je dmg_code
//eagle airstrike
cmp [rcx+00],#142 //#138
je dmg_code
cmp [rcx+00],#254 //#249
je dmg_code
//orbital 380MM HE barrage identical ID's as precision strike
//cmp [rcx+00],#160 //#156
//je dmg_code
//cmp [rcx+00],#267 //#262
//je dmg_code
//eagle 110mm rocket pods
cmp [rcx+00],#152 //#148
je dmg_code
cmp [rcx+00],#241 //#236
je dmg_code
//eagle clusterbomb
cmp [rcx+00],#229 //#224
je dmg_code
// 10 shell
//orbital airburst
cmp [rcx+00],#112
je dmg_code
//cmp [rcx+00],#229 // identical to eagle cluster
//je dmg_code
//eagle strafing run
cmp [rcx+00],#132
je dmg_code
cmp [rcx+00],#214
je dmg_code
//orbital gas
cmp [rcx+00],#158
je dmg_code
cmp [rcx+00],#321
je dmg_code
//orbital gatling // identical ID's to strafing run
//cmp [rcx+00],#132
//je dmg_code
//cmp [rcx+00],#214
//je dmg_code
{ // start exclude
// whitelisted weapons that get super damage
cmp [rcx+00],#98 //#96 // SG-225 Breaker (11)
je dmg_Super
cmp [rcx+00],#111 //#109 // ARC-03
je dmg_Super
cmp [rcx+00],#89 // break action shotgun
je dmg_Super
cmp [rcx+00],#145 // javelin rocket part 1
je dmg_Super
cmp [rcx+00],#231 // javelin rocket part 2
je dmg_Super
cmp [rcx+00],#113 //#111 // ARC-12 Blitzer (5)
je dmg_Super
cmp [rcx+00],#101 //#99 // SG-255IE Breaker Incendiary (12)
je dmg_Super
// fix me
//cmp [rcx+00],#82 // SG-8 Punisher (9)
//je dmg_Super
//cmp [rcx+00],#93 // SG-8S Slugger (1)
//je dmg_Super
//cmp [rcx+00],#97 // SG-225BB Breaker Bugbiter (7)
//je dmg_Super
// these weapons stay default
//cmp [rcx+00],#163 // G-23 Stun
//je dmg_code
//impact fall damage???
cmp [rcx+00],#282
je dmg_code
} // end exclude
jmp dmg_Enemy
dmg_Super:
mov [rcx+0C],#777 // writes penetration value 1
mov [rcx+10],#777 // writes penetration value 2
mov [rcx+14],#777 // writes penetration value 3
mov [rcx+18],#777 // writes penetration value 4
mov [rcx+1C],#100 // writes demolition value
mov [rcx+20],#100 // writes pushback / stagger value
//mov [rcx+24],#100 // writes ??? value
movd xmm3,[rcx+04]
movd xmm1,[rcx+08]
cvtdq2ps xmm1,xmm1
cvtdq2ps xmm3,xmm3
mulss xmm3, dword ptr [dmg_multiplier] // multiplies value with dmg_multiplier
mulss xmm1, dword ptr [admg_multiplier] // multiplies value with admg_multiplier
jmp dmg_check
dmg_Pump:
mov [rcx+04],#320
mov [rcx+08],#15
mov [rcx+0C],#777 // writes penetration value 1
mov [rcx+10],#777 // writes penetration value 2
mov [rcx+14],#777 // writes penetration value 3
mov [rcx+18],#777 // writes penetration value 4
jmp dmg_code
dmg_check:
comiss xmm3, dword ptr [dmg_limit] // checks if dmg after multiplier is above dmg_limit
ja dmg_cap
comiss xmm1, dword ptr [dmg_limit] // checks if admg after multiplier is above dmg_limit
ja dmg_cap
jmp dmg_return
dmg_cap:
movss xmm3, dword ptr [dmg_limit] // writes dmg_limit value
movss xmm1, dword ptr [dmg_limit] // writes dmg_limit value
jmp dmg_return
dmg_Enemy:
mov [rcx+0C],#0 // writes penetration value 1
mov [rcx+10],#0 // writes penetration value 2
mov [rcx+14],#0 // writes penetration value 3
mov [rcx+18],#0 // writes penetration value 4
//mov [rcx+1C],#0 // writes demolition value
mov [rcx+20],#0 // writes pushback / stagger value
//mov [rcx+24],#0 // writes ??? value
movd xmm3,[rcx+04]
movd xmm1,[rcx+08]
cvtdq2ps xmm1,xmm1
cvtdq2ps xmm3,xmm3
mulss xmm3, dword ptr [enemydmg_multiplier]
mulss xmm1, dword ptr [enemydmg_multiplier]
jmp dmg_return
dmg_code:
movd xmm3,[rcx+04]
movd xmm1,[rcx+08]
cvtdq2ps xmm1,xmm1
cvtdq2ps xmm3,xmm3
jmp dmg_return
dmg_multiplier:
dd (float)20 // edit this for times x base damage (1 is default)
admg_multiplier:
dd (float)20 // edit this for times x armor/limb damage (1 is default)
enemydmg_multiplier:
dd (float)0.25 // edit this for times x enemy damage (1 is default)
dmg_limit:
dd (float)7000 // limit the super damage to prevent creating weapons that would outdamage inf health
damageMulti:
jmp far dmg_newmem
nop 2
dmg_return:
[DISABLE]