Page 170 of 196

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 11:31 am
by fallout11
Exemplify1524 wrote:
Wed May 01, 2024 12:28 am
elamigopaisa wrote:
Wed May 01, 2024 12:26 am
had any luck finding the AMR ID?
try:
122 Antimaterial Rifle
Can confirm 122 is the ID for the AMR, I used it last evening.

Most all of the ID codes Exemplify posted in his google sheet tested out fine.

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 12:20 pm
by ZoDDeL
UPDATE:
added inf energy shield (instead of setting cooldown to zero this one just writes on the shield value)
added a bunch of weapon ID's

Spoiler
super dmg >>
MP-98 Knight
MG-43 / EXO-45 Gatling / Gatling Turret
anti material rifle
FLAM-40
MG-206 HMG
GP-31 grenade pistol
LAS-98
RS-422 railgun
R-36 Eruptor
LAS-99 quasar
RL-77 airburst
GP-31 explosive crossbow
emancipator exo gun
EXO-45 rocket
SG-8P Punisher Plasma
PLAS-1 Scorcher
pelican weapon
SG-225NS Breaker Nailspitter


default dmg >>
G-123 Thermite
anti tank mines
anti personnel mines
incendiary mines
tesla tower
mortar turret
rocket sentry turret

hellpot damage

//eagle airstrike
//orbital 380MM HE barrage
//eagle 110mm rocket pods
//eagle clusterbomb
//orbital airburst
table and guide as usual in my signature.

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 12:29 pm
by halokitty185
ZoDDeL wrote:
Wed May 01, 2024 12:20 pm
UPDATE:
added inf energy shield (instead of setting cooldown to zero this one just writes on the shield value)
added a bunch of weapon ID's

Spoiler
super dmg >>
MP-98 Knight
MG-43 / EXO-45 Gatling / Gatling Turret
anti material rifle
FLAM-40
MG-206 HMG
GP-31 grenade pistol
LAS-98
RS-422 railgun
R-36 Eruptor
LAS-99 quasar
RL-77 airburst
GP-31 explosive crossbow
emancipator exo gun
EXO-45 rocket
SG-8P Punisher Plasma
PLAS-1 Scorcher
pelican weapon
SG-225NS Breaker Nailspitter


default dmg >>
G-123 Thermite
anti tank mines
anti personnel mines
incendiary mines
tesla tower
mortar turret
rocket sentry turret

hellpot damage

//eagle airstrike
//orbital 380MM HE barrage
//eagle 110mm rocket pods
//eagle clusterbomb
//orbital airburst
table and guide as usual in my signature.
you da mannn

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 12:46 pm
by sernameeee
Hello,

I wanted to share one of my favorite script that is unfortunately outdated now.

Its the script i was using for more damage. It was perfect. Increased all damage, for all weapons, all stratagems, including turrets/big laser.But it wouldn't allow for weapons/stratagem to cut trough armored bug skins, and one shot them making it obvious. It was truly perfect, legit, simple, and encompassed everything, including future weapons.

Unfortunately, since the update yesterday, it doesn't work anymore. I hope it gets updated by someone one day. It was posted on this very thread two month ago, and i've been using since. Thanks to whoever made it.
Spoiler
[ENABLE]

aobscanmodule(ohk,game.dll,89 87 44 64 00 00)
registersymbol(ohk)
alloc(newmem,$1000,ohk)

alloc(number,4)

label(code)
label(enemy)
label(return)
label(Pcheck)

number:
dd 0

newmem:
cmp [rdi+B38],A
jne enemy

Pcheck:
movss [number],xmm0
cmp [number],42fa0000
ja enemy
jmp code

enemy:
mov [rdi+00006444],0
jmp return

code:
mov [rdi+00006444],eax
jmp return

ohk:
jmp newmem
nop
return:


[DISABLE]

ohk:
db 89 87 44 64 00 00

unregistersymbol(ohk)
dealloc(newmem)

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 12:48 pm
by Minazuki
icysnow wrote:
Wed May 01, 2024 9:58 am
Minazuki wrote:
Wed May 01, 2024 5:38 am
ZoDDeL wrote:
Sat Mar 16, 2024 3:26 am
alternative and simpler guide with slightly different approach with no address input and easier timing.

this guide doesnt make your CE undetected but let you activate scripts and close CE before gameguard notice what happened
so you can cheat without crash / hack detected!
but you cannot use CE to search for stuff or debug the game!!!


follow the text+ picture guide or just watch one of the videos down below
i show the usage at the beginning of each video.

step 1

open CE table and open memory viewer
[Link]


step 2
open the game (my table should hook the game itself if you allow the lua execution and you should allow it!!!)
[Link]


step 3
wait a bit if everything was right you should see the last 2 entries in my table populate with adresses/values (green boxes)
like in this screenshot:
[Link]


now you can hit the checkbox on "all together" to activate it (or individual options above).
then close CE table quick with a click on the X on top right of the CE main window.

THE TABLE
Image
the table is split into 3 sections.
basic scripts and advanced scripts and all in one scripts.
while basic script just search for array of byte pattern and overwrite it (nop or change bytes to jump etc.)
the advanced script do memory allocations, full code with jumps and compares and change values.
the all in one scripts are like presets for alle the scripts in the table.

each section has an "all together" script that bound all features into one (so you dont have to click multiple scripts)
all basic scripts with one star / asterisk * (blue box in screenshot) are put into the alltogether for this section.
all advanced script with two star / asterisk ** (red box in screenshot) are put into the alltogether for this section.
if you activate any single script that is also part of alltogether you cannot activate alltogether anymore!!!

easiest way to just choose one of the AIO scripts (yellow box in screenshot) activate it and close the table.
but better take i look into the scripts before and maybe change values to your needs.



currently whitelisted (damage / armor damage / pentration increased) weapons:
AR-23 Liberator / AR-22C Patriot / AR-48 Truth Whisperer / M-105 Stalwart
P-2 Peacemaker / P-19 Redeemer
SG-225SP Breaker Spray&Pray (16)
P-4 Senator
JAR-5 Dominator
LAS-7 Dagger
LAS-5 Scythe
SMG-37 Defender
LAS-16 Sickle
GL-21
autocannon
R-63CS Diligence Counter SNiper
EAT-17
recoil-less rifle


default weapons(these weapons keep their default values):
G-6 Frag
G-12 High Explosive / G-16 Impact
G-10 Incendiary

//500kg bomb
//orbital laser
//orbital precision strike
//orbital railcannon strike
//orbital 120MM HE barrage

everything else get set down to 0 (enemy attacks, airstrikes, orbital strikes, mines, flame tornados)


showcase instant mission complete + instant extraction timer:




showcase fast rescue mission + instant extraction timer:



older showcase videos



p.s. credits to sunbeam who ignited the idea to check the game.dll
p.p.s basic scripts on my table are manually taken from "version.dll" visual studio builds.
but the script codes (byte arrays etc.) originate from posts here in the forum and on the UC forum.
users like cfemen, gir489 and others.
the most advanced scripts are totally written by me or in parts adapted/improved.
i cut down all scripts to keep the table small and clean.
that including comments, orignal code, credits, registersymbols
The new script make the Game crash everytime I start the mission...
It only crashes if you use it on planets with newly issued MOs and instant complete all missions. It works on other planets
I see. Thanks for the info!

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 2:16 pm
by rdg1995
ZoDDeL wrote:
Wed May 01, 2024 12:20 pm
UPDATE:
added inf energy shield (instead of setting cooldown to zero this one just writes on the shield value)
added a bunch of weapon ID's

Spoiler
super dmg >>
MP-98 Knight
MG-43 / EXO-45 Gatling / Gatling Turret
anti material rifle
FLAM-40
MG-206 HMG
GP-31 grenade pistol
LAS-98
RS-422 railgun
R-36 Eruptor
LAS-99 quasar
RL-77 airburst
GP-31 explosive crossbow
emancipator exo gun
EXO-45 rocket
SG-8P Punisher Plasma
PLAS-1 Scorcher
pelican weapon
SG-225NS Breaker Nailspitter


default dmg >>
G-123 Thermite
anti tank mines
anti personnel mines
incendiary mines
tesla tower
mortar turret
rocket sentry turret

hellpot damage

//eagle airstrike
//orbital 380MM HE barrage
//eagle 110mm rocket pods
//eagle clusterbomb
//orbital airburst
table and guide as usual in my signature.

how to make this work man> the infinite shield can you teach me?

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 2:36 pm
by Chenchen
So no infinite time cheat?

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 4:16 pm
by naisu
Exemplify1524 wrote:
Wed May 01, 2024 10:29 am
latest and full version of modified ZoDDels damage script rewritten in ccode to more usability and changebility. good to use with table [Link]

main part is
// default damage multiplier for all damages.
damage_ratio = 0.2f;

and the weapons table
{51, 100.0f, -1, -1, 100, 100, 100, 100, "AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},

51 is ID
100.0f is damage and armor damage multiplier (damage * multiplier)
-1 is damage (-1 for not change, for example to only multiply default value)
-1 is armor damage
100 is penetration1 at no angle is set to 100 (you can use -1 to not change)
100 is penetration2 with angle is set to 100 (you can use -1 to not change)
100 is penetration3 unknown is set to 100 (you can use -1 to not change)
100 is penetration4 unknown is set to 100 (you can use -1 to not change)

also damage monitoring with miscosoft DebugView tool is working.

Code: Select all

[ENABLE]
aobscanmodule(damage_inject,game.dll,66 0F 6E 59 04 66 0F 6E 49 08 0F 5B C9 0F 5B DB)
alloc(damage_newmem,$10000)
label(damage_return)

//label(damage_change)
//label(damage_and_penetration_change)
//label(damage_no_change)
//label(damage_multiplier)


alloc(damage_ratio,4)
registersymbol(damage_ratio)


damage_newmem:
// push rbx //save rbx as it's going to be changed

{$ccode base_address=rcx jmpaddress=rbx}
extern __cdecl int sprintf(char *, char *, ...);
extern __cdecl void OutputDebugStringA(const char* lpOutputString);

extern float damage_ratio;

//extern void damage_change();
//extern void damage_and_penetration_change();
//extern void damage_no_change();

char debug_string[400];
char* weapon_name;
//float unknown_damage_mult = 0.2f;
//bool damage_is_unknown;
// char* damage_type_name;

typedef struct {
   int id;
   float damage_mult;
   int damage_value;
   int armor_damage_value;
   int penetration1_no_angle_value;
   int penetration2_angle_value;
   int penetration3_unknown_value;
   int penetration4_unknown_value;
   char* weapon_name;
} Weapon;

int *weapon_id=(int*)(base_address);
int *weapon_dmg=(int*)(base_address+0x04);
int *weapon_admg=(int*)(base_address+0x08);
int *weapon_pen1=(int*)(base_address+0x0C);
int *weapon_pen2=(int*)(base_address+0x10);
int *weapon_pen3=(int*)(base_address+0x14);
int *weapon_pen4=(int*)(base_address+0x18);

Weapon weapons[76] = {
{326,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Helldiver melee"},
{50,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-23C Liberator Concussive"},
{48,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-23P Liberator Penetrator"},
{51,	100.0f,	-1,	-1,	100,	100,	100,	100,	"AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},
{73,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-63 Diligence"},
{74,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-63CS Diligence Counter Sniper"},
{65,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-20L Justice / BR-14 Adjudicator / Machine Gun / Gatling/Machine Gun Sentry"},
{26,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"MP-98 Knight"},
{34,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8S / SMG-37 Defender"},
{117,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"ARC-12 Blitzer"},
{93,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Break action shotgun"},
{102,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225 Breaker"},
{103,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225BB Breaker Bugbiter"},
{104,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225NS Breaker Nailspitter"},
{101,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225SP Breaker Spray&Pray"},
{105,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-255IE Breaker Incendiary"},
{88,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8 Punisher"},
{99,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8S Slugger"},
{124,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"CB-9 Exploding Crossbow"},
{84,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"JAR-5 Dominator"},
{80,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-36 Eruptor"},
{19,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-16 Sickle"},
{297,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-5 Scythe"},
{20,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"PLAS-1 Scorcher / SG-8P Punisher Plasma"},
{134,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GP-31 Grenade Pistol"},
{296,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-7 Dagger"},
{44,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"P-4 Senator"},
{25,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"P-19 Redeemer / P-2 Peacemaker"},
{203,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-10 Incendiary"},
{201,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 1"},
{201,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 1"},
{111,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 2"},
{213,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-12 High Explosive / G-16 Impact"},
{204,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-123 Thermite"},
{122,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Antimaterial Rifle"},
{115,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"ARC3 Thrower"},
{127,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Autocannon (part 1/2)"},
{216,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Autocannon (part 2/2)"},
{145,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Commando"},
{135,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 1"},
{189,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 2"},
{226,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 3"},
{129,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator gun part 1"},
{217,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator gun part 2"},
{147,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator rocket part 1"},
{234,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator rocket part 2"},
{9,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"FLAM-40 Flamethrower part 1"},
{220,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GL-21 Grenade launcher part 2 explosion"},
{121,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Heavy Machinegun"},
{149,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Javelin rocket part 1"},
{236,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Javelin rocket part 2"},
{302,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-98 Laser Cannon"},
{227,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 1"},
{228,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 2"},
{280,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 3 (???)"},
{136,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Recoiless Rifle part 1 shell"},
{225,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Recoiless Rifle part 2 explosion"},
{22,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"RS-422 Railgun"},
{10,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GL-21 Grenade launcher part 1 / Mortar Sentry shell"},
{11,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Grenade Launcher / EMS Mortar Sentry / Mortar Sentry 1"},
{223,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Mortar Sentry 2"},
{126,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Tesla Tower"},
{241,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AntiPersonal MineField / Eagle 110mm rocket pods part 2"},
{154,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"500kg bomb1 shell"},
{273,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"500kg bomb2 explosion"},
{152,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle 110mm rocket pods part 1"},
{142,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle airstrike part 1"},
{254,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle airstrike part 2"},
{229,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle cluster bomb"},
{159,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital 120MM HE barrage1"},
{268,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital 120MM HE barrage2"},
{305,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital laser"},
{160,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital precision strike1"},
{267,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital precision strike2"},
{161,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital railcannon strike1"},
{266,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital railcannon strike2"}
};


// damage_type_name = "unknown type";

// strcpy(weapon_name_list, "");

// default damage multiplier for all damages.
damage_ratio = 0.2f;

if (*weapon_id != 0) {
  // set default values. May change during analyzing table later.
  weapon_name = "unknown damage";
  //damage_is_unknown = true;

  // analyzing if we have damage_id  in table
  for (int i = 0; i < sizeof(weapons) / sizeof(weapons[0]); ++i) {
    if (weapons[i].id == 0) {
      continue;
    }

    if (*weapon_id == weapons[i].id) {
       // damage_is_unknown = false; // we have this damage_id in table. So set flag 'damage_is_unknown' to false, with this we will not apply unknown_damage debuffer to this damage latter

       weapon_name = weapons[i].weapon_name;  // is only for debugging. Used only in sprintf and OutputDebugString latter

       // damage_type_name = weapons[i].damage_type_name;

       if (weapons[i].damage_value != -1) {
         *weapon_dmg = weapons[i].damage_value;
       }
       if (weapons[i].armor_damage_value != -1) {
         *weapon_admg = weapons[i].armor_damage_value;
       }
       if (weapons[i].penetration1_no_angle_value != -1) {
         *weapon_pen1 = weapons[i].penetration1_no_angle_value;
       }
       if (weapons[i].penetration2_angle_value != -1) {
         *weapon_pen2 = weapons[i].penetration2_angle_value;
       }
       if (weapons[i].penetration3_unknown_value != -1) {
         *weapon_pen3 = weapons[i].penetration3_unknown_value;
       }
       if (weapons[i].penetration4_unknown_value != -1) {
         *weapon_pen4 = weapons[i].penetration4_unknown_value;
       }

       // apply damage multiplier
       damage_ratio = weapons[i].damage_mult;

       //strcat(weapon_name_list, " / ");
       //strcat(weapon_name_list, weapons[i].name);
       //sprintf(debug_string, "HD2. ID %d is for %s", *weapon_id, weapon_name);
       //OutputDebugStringA(debug_string);
       break;
    }
  }

  // If damage_id was not found in table. Then assume it is some enemy or environmental damage.  Apply 'unknown_damage_mult' to it (reduce)
  /*
  if (damage_is_unknown) {
     *weapon_dmg = (int)((float)*weapon_dmg * unknown_damage_mult);
     *weapon_admg = (int)((float)*weapon_admg * unknown_damage_mult);
     *weapon_pen1 = (int)((float)*weapon_pen1 * unknown_damage_mult);
     *weapon_pen2 = (int)((float)*weapon_pen2 * unknown_damage_mult);
     *weapon_pen3 = (int)((float)*weapon_pen3 * unknown_damage_mult);
     *weapon_pen4 = (int)((float)*weapon_pen4 * unknown_damage_mult);
  }*/

  sprintf(debug_string, "HD2 %3d | DMG %3d %3d | PEN %3d %3d %3d %3d | %s", *weapon_id, *weapon_dmg, *weapon_admg, *weapon_pen1, *weapon_pen2, *weapon_pen3, *weapon_pen4, weapon_name);
  OutputDebugStringA(debug_string);
} // weapon_id != 0



{$asm}
  // standart code start
  movd xmm3,[rcx+04]
  movd xmm1,[rcx+08]
  cvtdq2ps xmm1,xmm1
  cvtdq2ps xmm3,xmm3
  // standart code end
  // damage_ratio part
  mulss xmm3, dword ptr [damage_ratio]
  mulss xmm1, dword ptr [damage_ratio]
  jmp damage_return

damage_inject:
  jmp far damage_newmem
  nop 2

damage_return:

// ------------------------------------------------------

[DISABLE]
nice script and explanation, glad to see more developers in here.

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 4:39 pm
by drehcaruso
rdg1995 wrote:
Wed May 01, 2024 2:16 pm
ZoDDeL wrote:
Wed May 01, 2024 12:20 pm
UPDATE:
added inf energy shield (instead of setting cooldown to zero this one just writes on the shield value)
added a bunch of weapon ID's

Spoiler
super dmg >>
MP-98 Knight
MG-43 / EXO-45 Gatling / Gatling Turret
anti material rifle
FLAM-40
MG-206 HMG
GP-31 grenade pistol
LAS-98
RS-422 railgun
R-36 Eruptor
LAS-99 quasar
RL-77 airburst
GP-31 explosive crossbow
emancipator exo gun
EXO-45 rocket
SG-8P Punisher Plasma
PLAS-1 Scorcher
pelican weapon
SG-225NS Breaker Nailspitter


default dmg >>
G-123 Thermite
anti tank mines
anti personnel mines
incendiary mines
tesla tower
mortar turret
rocket sentry turret

hellpot damage

//eagle airstrike
//orbital 380MM HE barrage
//eagle 110mm rocket pods
//eagle clusterbomb
//orbital airburst
table and guide as usual in my signature.

how to make this work man> the infinite shield can you teach me?
it's in his table, buddy. just read. the table it's in his signature, as his post says. click the link and you'll be taken to the message with both the download for the table and the instructions.

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 4:50 pm
by JPITABREAD
ZoDDeL wrote:
Sat Mar 16, 2024 3:26 am
alternative and simpler guide with slightly different approach with no address input and easier timing.

this guide doesnt make your CE undetected but let you activate scripts and close CE before gameguard notice what happened
so you can cheat without crash / hack detected!
but you cannot use CE to search for stuff or debug the game!!!


follow the text+ picture guide or just watch one of the videos down below
i show the usage at the beginning of each video.

......
You are the best ZoDDel! Donated to you for the great work. Hopefully others will reciprocate. ZoDDel's signature has their paypal for those who are feeling generous.

For prosperity!

Re: HELLDIVERS 2

Posted: Wed May 01, 2024 5:20 pm
by 2610mason
did anyone knows how to make raser heat cool down works?

Re: HELLDIVERS 2

Posted: Thu May 02, 2024 12:36 am
by gunbalde60
Exemplify1524 wrote:
Wed May 01, 2024 10:29 am
latest and full version of modified ZoDDels damage script rewritten in ccode to more usability and changebility. good to use with table [Link]

main part is
// default damage multiplier for all damages.
damage_ratio = 0.2f;

and the weapons table
{51, 100.0f, -1, -1, 100, 100, 100, 100, "AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},

51 is ID
100.0f is damage and armor damage multiplier (damage * multiplier)
-1 is damage (-1 for not change, for example to only multiply default value)
-1 is armor damage
100 is penetration1 at no angle is set to 100 (you can use -1 to not change)
100 is penetration2 with angle is set to 100 (you can use -1 to not change)
100 is penetration3 unknown is set to 100 (you can use -1 to not change)
100 is penetration4 unknown is set to 100 (you can use -1 to not change)

also damage monitoring with miscosoft DebugView tool is working.

Code: Select all

[ENABLE]
aobscanmodule(damage_inject,game.dll,66 0F 6E 59 04 66 0F 6E 49 08 0F 5B C9 0F 5B DB)
alloc(damage_newmem,$10000)
label(damage_return)

//label(damage_change)
//label(damage_and_penetration_change)
//label(damage_no_change)
//label(damage_multiplier)


alloc(damage_ratio,4)
registersymbol(damage_ratio)


damage_newmem:
// push rbx //save rbx as it's going to be changed

{$ccode base_address=rcx jmpaddress=rbx}
extern __cdecl int sprintf(char *, char *, ...);
extern __cdecl void OutputDebugStringA(const char* lpOutputString);

extern float damage_ratio;

//extern void damage_change();
//extern void damage_and_penetration_change();
//extern void damage_no_change();

char debug_string[400];
char* weapon_name;
//float unknown_damage_mult = 0.2f;
//bool damage_is_unknown;
// char* damage_type_name;

typedef struct {
   int id;
   float damage_mult;
   int damage_value;
   int armor_damage_value;
   int penetration1_no_angle_value;
   int penetration2_angle_value;
   int penetration3_unknown_value;
   int penetration4_unknown_value;
   char* weapon_name;
} Weapon;

int *weapon_id=(int*)(base_address);
int *weapon_dmg=(int*)(base_address+0x04);
int *weapon_admg=(int*)(base_address+0x08);
int *weapon_pen1=(int*)(base_address+0x0C);
int *weapon_pen2=(int*)(base_address+0x10);
int *weapon_pen3=(int*)(base_address+0x14);
int *weapon_pen4=(int*)(base_address+0x18);

Weapon weapons[76] = {
{326,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Helldiver melee"},
{50,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-23C Liberator Concussive"},
{48,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-23P Liberator Penetrator"},
{51,	100.0f,	-1,	-1,	100,	100,	100,	100,	"AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},
{73,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-63 Diligence"},
{74,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-63CS Diligence Counter Sniper"},
{65,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-20L Justice / BR-14 Adjudicator / Machine Gun / Gatling/Machine Gun Sentry"},
{26,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"MP-98 Knight"},
{34,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8S / SMG-37 Defender"},
{117,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"ARC-12 Blitzer"},
{93,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Break action shotgun"},
{102,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225 Breaker"},
{103,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225BB Breaker Bugbiter"},
{104,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225NS Breaker Nailspitter"},
{101,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225SP Breaker Spray&Pray"},
{105,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-255IE Breaker Incendiary"},
{88,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8 Punisher"},
{99,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8S Slugger"},
{124,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"CB-9 Exploding Crossbow"},
{84,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"JAR-5 Dominator"},
{80,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-36 Eruptor"},
{19,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-16 Sickle"},
{297,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-5 Scythe"},
{20,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"PLAS-1 Scorcher / SG-8P Punisher Plasma"},
{134,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GP-31 Grenade Pistol"},
{296,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-7 Dagger"},
{44,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"P-4 Senator"},
{25,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"P-19 Redeemer / P-2 Peacemaker"},
{203,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-10 Incendiary"},
{201,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 1"},
{201,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 1"},
{111,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 2"},
{213,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-12 High Explosive / G-16 Impact"},
{204,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-123 Thermite"},
{122,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Antimaterial Rifle"},
{115,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"ARC3 Thrower"},
{127,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Autocannon (part 1/2)"},
{216,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Autocannon (part 2/2)"},
{145,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Commando"},
{135,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 1"},
{189,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 2"},
{226,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 3"},
{129,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator gun part 1"},
{217,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator gun part 2"},
{147,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator rocket part 1"},
{234,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator rocket part 2"},
{9,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"FLAM-40 Flamethrower part 1"},
{220,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GL-21 Grenade launcher part 2 explosion"},
{121,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Heavy Machinegun"},
{149,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Javelin rocket part 1"},
{236,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Javelin rocket part 2"},
{302,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-98 Laser Cannon"},
{227,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 1"},
{228,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 2"},
{280,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 3 (???)"},
{136,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Recoiless Rifle part 1 shell"},
{225,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Recoiless Rifle part 2 explosion"},
{22,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"RS-422 Railgun"},
{10,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GL-21 Grenade launcher part 1 / Mortar Sentry shell"},
{11,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Grenade Launcher / EMS Mortar Sentry / Mortar Sentry 1"},
{223,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Mortar Sentry 2"},
{126,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Tesla Tower"},
{241,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AntiPersonal MineField / Eagle 110mm rocket pods part 2"},
{154,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"500kg bomb1 shell"},
{273,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"500kg bomb2 explosion"},
{152,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle 110mm rocket pods part 1"},
{142,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle airstrike part 1"},
{254,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle airstrike part 2"},
{229,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle cluster bomb"},
{159,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital 120MM HE barrage1"},
{268,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital 120MM HE barrage2"},
{305,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital laser"},
{160,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital precision strike1"},
{267,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital precision strike2"},
{161,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital railcannon strike1"},
{266,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital railcannon strike2"}
};


// damage_type_name = "unknown type";

// strcpy(weapon_name_list, "");

// default damage multiplier for all damages.
damage_ratio = 0.2f;

if (*weapon_id != 0) {
  // set default values. May change during analyzing table later.
  weapon_name = "unknown damage";
  //damage_is_unknown = true;

  // analyzing if we have damage_id  in table
  for (int i = 0; i < sizeof(weapons) / sizeof(weapons[0]); ++i) {
    if (weapons[i].id == 0) {
      continue;
    }

    if (*weapon_id == weapons[i].id) {
       // damage_is_unknown = false; // we have this damage_id in table. So set flag 'damage_is_unknown' to false, with this we will not apply unknown_damage debuffer to this damage latter

       weapon_name = weapons[i].weapon_name;  // is only for debugging. Used only in sprintf and OutputDebugString latter

       // damage_type_name = weapons[i].damage_type_name;

       if (weapons[i].damage_value != -1) {
         *weapon_dmg = weapons[i].damage_value;
       }
       if (weapons[i].armor_damage_value != -1) {
         *weapon_admg = weapons[i].armor_damage_value;
       }
       if (weapons[i].penetration1_no_angle_value != -1) {
         *weapon_pen1 = weapons[i].penetration1_no_angle_value;
       }
       if (weapons[i].penetration2_angle_value != -1) {
         *weapon_pen2 = weapons[i].penetration2_angle_value;
       }
       if (weapons[i].penetration3_unknown_value != -1) {
         *weapon_pen3 = weapons[i].penetration3_unknown_value;
       }
       if (weapons[i].penetration4_unknown_value != -1) {
         *weapon_pen4 = weapons[i].penetration4_unknown_value;
       }

       // apply damage multiplier
       damage_ratio = weapons[i].damage_mult;

       //strcat(weapon_name_list, " / ");
       //strcat(weapon_name_list, weapons[i].name);
       //sprintf(debug_string, "HD2. ID %d is for %s", *weapon_id, weapon_name);
       //OutputDebugStringA(debug_string);
       break;
    }
  }

  // If damage_id was not found in table. Then assume it is some enemy or environmental damage.  Apply 'unknown_damage_mult' to it (reduce)
  /*
  if (damage_is_unknown) {
     *weapon_dmg = (int)((float)*weapon_dmg * unknown_damage_mult);
     *weapon_admg = (int)((float)*weapon_admg * unknown_damage_mult);
     *weapon_pen1 = (int)((float)*weapon_pen1 * unknown_damage_mult);
     *weapon_pen2 = (int)((float)*weapon_pen2 * unknown_damage_mult);
     *weapon_pen3 = (int)((float)*weapon_pen3 * unknown_damage_mult);
     *weapon_pen4 = (int)((float)*weapon_pen4 * unknown_damage_mult);
  }*/

  sprintf(debug_string, "HD2 %3d | DMG %3d %3d | PEN %3d %3d %3d %3d | %s", *weapon_id, *weapon_dmg, *weapon_admg, *weapon_pen1, *weapon_pen2, *weapon_pen3, *weapon_pen4, weapon_name);
  OutputDebugStringA(debug_string);
} // weapon_id != 0



{$asm}
  // standart code start
  movd xmm3,[rcx+04]
  movd xmm1,[rcx+08]
  cvtdq2ps xmm1,xmm1
  cvtdq2ps xmm3,xmm3
  // standart code end
  // damage_ratio part
  mulss xmm3, dword ptr [damage_ratio]
  mulss xmm1, dword ptr [damage_ratio]
  jmp damage_return

damage_inject:
  jmp far damage_newmem
  nop 2

damage_return:

// ------------------------------------------------------

[DISABLE]
If I understand this correctly would I be able to change a single weapon, by changing this values?

{50, 1.0f, -1, -1, -1, -1, -1, -1, "AR-23C Liberator Concussive"},

EX:
{150, 1.0f, 5, 5, 5, 5, 5, 5, "AR-23C Liberator Concussive"},

Would this work? Or am I not understanding this correctly?

Re: HELLDIVERS 2

Posted: Thu May 02, 2024 2:14 am
by rdg1995
Yo bro zoddel do you have gcash or bank acc so i can donate kudos to you man i love the dmg multiplier its so messy 🤣

Re: HELLDIVERS 2

Posted: Thu May 02, 2024 2:26 am
by Cogitationis
rdg1995 wrote:
Thu May 02, 2024 2:14 am
Yo bro zoddel do you have gcash or bank acc so i can donate kudos to you man i love the dmg multiplier its so messy 🤣
it's right in his signature

Re: HELLDIVERS 2

Posted: Thu May 02, 2024 5:08 am
by OMGChrist
gunbalde60 wrote:
Thu May 02, 2024 12:36 am
Exemplify1524 wrote:
Wed May 01, 2024 10:29 am
latest and full version of modified ZoDDels damage script rewritten in ccode to more usability and changebility. good to use with table [Link]

main part is
// default damage multiplier for all damages.
damage_ratio = 0.2f;

and the weapons table
{51, 100.0f, -1, -1, 100, 100, 100, 100, "AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},

51 is ID
100.0f is damage and armor damage multiplier (damage * multiplier)
-1 is damage (-1 for not change, for example to only multiply default value)
-1 is armor damage
100 is penetration1 at no angle is set to 100 (you can use -1 to not change)
100 is penetration2 with angle is set to 100 (you can use -1 to not change)
100 is penetration3 unknown is set to 100 (you can use -1 to not change)
100 is penetration4 unknown is set to 100 (you can use -1 to not change)

also damage monitoring with miscosoft DebugView tool is working.

Code: Select all

[ENABLE]
aobscanmodule(damage_inject,game.dll,66 0F 6E 59 04 66 0F 6E 49 08 0F 5B C9 0F 5B DB)
alloc(damage_newmem,$10000)
label(damage_return)

//label(damage_change)
//label(damage_and_penetration_change)
//label(damage_no_change)
//label(damage_multiplier)


alloc(damage_ratio,4)
registersymbol(damage_ratio)


damage_newmem:
// push rbx //save rbx as it's going to be changed

{$ccode base_address=rcx jmpaddress=rbx}
extern __cdecl int sprintf(char *, char *, ...);
extern __cdecl void OutputDebugStringA(const char* lpOutputString);

extern float damage_ratio;

//extern void damage_change();
//extern void damage_and_penetration_change();
//extern void damage_no_change();

char debug_string[400];
char* weapon_name;
//float unknown_damage_mult = 0.2f;
//bool damage_is_unknown;
// char* damage_type_name;

typedef struct {
   int id;
   float damage_mult;
   int damage_value;
   int armor_damage_value;
   int penetration1_no_angle_value;
   int penetration2_angle_value;
   int penetration3_unknown_value;
   int penetration4_unknown_value;
   char* weapon_name;
} Weapon;

int *weapon_id=(int*)(base_address);
int *weapon_dmg=(int*)(base_address+0x04);
int *weapon_admg=(int*)(base_address+0x08);
int *weapon_pen1=(int*)(base_address+0x0C);
int *weapon_pen2=(int*)(base_address+0x10);
int *weapon_pen3=(int*)(base_address+0x14);
int *weapon_pen4=(int*)(base_address+0x18);

Weapon weapons[76] = {
{326,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Helldiver melee"},
{50,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-23C Liberator Concussive"},
{48,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-23P Liberator Penetrator"},
{51,	100.0f,	-1,	-1,	100,	100,	100,	100,	"AR-22C Patriot / AR-23 Liberator / AR-48 Truth Whisperer / Guard Dog / Stalwart"},
{73,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-63 Diligence"},
{74,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-63CS Diligence Counter Sniper"},
{65,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AR-20L Justice / BR-14 Adjudicator / Machine Gun / Gatling/Machine Gun Sentry"},
{26,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"MP-98 Knight"},
{34,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8S / SMG-37 Defender"},
{117,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"ARC-12 Blitzer"},
{93,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Break action shotgun"},
{102,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225 Breaker"},
{103,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225BB Breaker Bugbiter"},
{104,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225NS Breaker Nailspitter"},
{101,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-225SP Breaker Spray&Pray"},
{105,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-255IE Breaker Incendiary"},
{88,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8 Punisher"},
{99,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"SG-8S Slugger"},
{124,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"CB-9 Exploding Crossbow"},
{84,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"JAR-5 Dominator"},
{80,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"R-36 Eruptor"},
{19,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-16 Sickle"},
{297,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-5 Scythe"},
{20,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"PLAS-1 Scorcher / SG-8P Punisher Plasma"},
{134,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GP-31 Grenade Pistol"},
{296,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-7 Dagger"},
{44,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"P-4 Senator"},
{25,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"P-19 Redeemer / P-2 Peacemaker"},
{203,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-10 Incendiary"},
{201,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 1"},
{201,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 1"},
{111,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-6 Frag part 2"},
{213,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-12 High Explosive / G-16 Impact"},
{204,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"G-123 Thermite"},
{122,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Antimaterial Rifle"},
{115,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"ARC3 Thrower"},
{127,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Autocannon (part 1/2)"},
{216,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Autocannon (part 2/2)"},
{145,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Commando"},
{135,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 1"},
{189,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 2"},
{226,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EAT-17 Expendable Anti-Tank part 3"},
{129,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator gun part 1"},
{217,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator gun part 2"},
{147,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator rocket part 1"},
{234,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"EXO-45 Emancipator rocket part 2"},
{9,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"FLAM-40 Flamethrower part 1"},
{220,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GL-21 Grenade launcher part 2 explosion"},
{121,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Heavy Machinegun"},
{149,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Javelin rocket part 1"},
{236,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Javelin rocket part 2"},
{302,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"LAS-98 Laser Cannon"},
{227,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 1"},
{228,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 2"},
{280,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Quasar Cannon part 3 (???)"},
{136,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Recoiless Rifle part 1 shell"},
{225,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Recoiless Rifle part 2 explosion"},
{22,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"RS-422 Railgun"},
{10,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"GL-21 Grenade launcher part 1 / Mortar Sentry shell"},
{11,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Grenade Launcher / EMS Mortar Sentry / Mortar Sentry 1"},
{223,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Mortar Sentry 2"},
{126,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Tesla Tower"},
{241,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"AntiPersonal MineField / Eagle 110mm rocket pods part 2"},
{154,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"500kg bomb1 shell"},
{273,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"500kg bomb2 explosion"},
{152,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle 110mm rocket pods part 1"},
{142,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle airstrike part 1"},
{254,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle airstrike part 2"},
{229,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Eagle cluster bomb"},
{159,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital 120MM HE barrage1"},
{268,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital 120MM HE barrage2"},
{305,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital laser"},
{160,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital precision strike1"},
{267,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital precision strike2"},
{161,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital railcannon strike1"},
{266,	1.0f,	-1,	-1,	-1,	-1,	-1,	-1,	"Orbital railcannon strike2"}
};


// damage_type_name = "unknown type";

// strcpy(weapon_name_list, "");

// default damage multiplier for all damages.
damage_ratio = 0.2f;

if (*weapon_id != 0) {
  // set default values. May change during analyzing table later.
  weapon_name = "unknown damage";
  //damage_is_unknown = true;

  // analyzing if we have damage_id  in table
  for (int i = 0; i < sizeof(weapons) / sizeof(weapons[0]); ++i) {
    if (weapons[i].id == 0) {
      continue;
    }

    if (*weapon_id == weapons[i].id) {
       // damage_is_unknown = false; // we have this damage_id in table. So set flag 'damage_is_unknown' to false, with this we will not apply unknown_damage debuffer to this damage latter

       weapon_name = weapons[i].weapon_name;  // is only for debugging. Used only in sprintf and OutputDebugString latter

       // damage_type_name = weapons[i].damage_type_name;

       if (weapons[i].damage_value != -1) {
         *weapon_dmg = weapons[i].damage_value;
       }
       if (weapons[i].armor_damage_value != -1) {
         *weapon_admg = weapons[i].armor_damage_value;
       }
       if (weapons[i].penetration1_no_angle_value != -1) {
         *weapon_pen1 = weapons[i].penetration1_no_angle_value;
       }
       if (weapons[i].penetration2_angle_value != -1) {
         *weapon_pen2 = weapons[i].penetration2_angle_value;
       }
       if (weapons[i].penetration3_unknown_value != -1) {
         *weapon_pen3 = weapons[i].penetration3_unknown_value;
       }
       if (weapons[i].penetration4_unknown_value != -1) {
         *weapon_pen4 = weapons[i].penetration4_unknown_value;
       }

       // apply damage multiplier
       damage_ratio = weapons[i].damage_mult;

       //strcat(weapon_name_list, " / ");
       //strcat(weapon_name_list, weapons[i].name);
       //sprintf(debug_string, "HD2. ID %d is for %s", *weapon_id, weapon_name);
       //OutputDebugStringA(debug_string);
       break;
    }
  }

  // If damage_id was not found in table. Then assume it is some enemy or environmental damage.  Apply 'unknown_damage_mult' to it (reduce)
  /*
  if (damage_is_unknown) {
     *weapon_dmg = (int)((float)*weapon_dmg * unknown_damage_mult);
     *weapon_admg = (int)((float)*weapon_admg * unknown_damage_mult);
     *weapon_pen1 = (int)((float)*weapon_pen1 * unknown_damage_mult);
     *weapon_pen2 = (int)((float)*weapon_pen2 * unknown_damage_mult);
     *weapon_pen3 = (int)((float)*weapon_pen3 * unknown_damage_mult);
     *weapon_pen4 = (int)((float)*weapon_pen4 * unknown_damage_mult);
  }*/

  sprintf(debug_string, "HD2 %3d | DMG %3d %3d | PEN %3d %3d %3d %3d | %s", *weapon_id, *weapon_dmg, *weapon_admg, *weapon_pen1, *weapon_pen2, *weapon_pen3, *weapon_pen4, weapon_name);
  OutputDebugStringA(debug_string);
} // weapon_id != 0



{$asm}
  // standart code start
  movd xmm3,[rcx+04]
  movd xmm1,[rcx+08]
  cvtdq2ps xmm1,xmm1
  cvtdq2ps xmm3,xmm3
  // standart code end
  // damage_ratio part
  mulss xmm3, dword ptr [damage_ratio]
  mulss xmm1, dword ptr [damage_ratio]
  jmp damage_return

damage_inject:
  jmp far damage_newmem
  nop 2

damage_return:

// ------------------------------------------------------

[DISABLE]
If I understand this correctly would I be able to change a single weapon, by changing this values?

{50, 1.0f, -1, -1, -1, -1, -1, -1, "AR-23C Liberator Concussive"},

EX:
{150, 1.0f, 5, 5, 5, 5, 5, 5, "AR-23C Liberator Concussive"},

Would this work? Or am I not understanding this correctly?
I believe so, but in the example you provided, you would need to keep the Weapon ID "50" instead of changing it to "150" to only affect the Liberator Concussive.

So it would be:
"{50, 1.0f, 5, 5, 5, 5, 5, 5, "AR-23C Liberator Concussive"}"