Add modifiers to BP

I want to create modifier system for guns like armor pierce or faster projectiles just like in path of exile with gems.
I tried to make components but was only able to add 1 modifier. Shooting comes from Bind event so it takes my modifier bp, but what if i want to add modifier to actual projectile, how can i do this?

This is what class inheritance is for:

i dont see how this can help me.

What i need is modifier system.
Example, i have weapon and with modifiers i can add what that weapon can do like shoot faster, 3 projectiles, projectiles pierce or chain.

Shoot faster is a parameter, the mod is change the projectile speed.

Different projectiles: If it’s written in a modular way, any projectile can be loaded, because ( probably ), the gun will just spawn it.

Pierce ability is a factor on the projectile. Whatever is getting hit should understand about the capabilities of projectiles.

1 Like

You don’t need a separate system to apply these abilities. I’d simply code them into the Weapon parent class.

Shoot faster: 60 / Rounds per minute = Time between shots
3 Projectiles: Standard Burst firing mode (semi auto, burst, auto)
Projectile Pierce: sounds like penetration, custom projectile

For ROF I’d simply have an int var for the rounds per minute the weapon can fire. Simple math (60/RoF) to Set Timer by Event.

Burst fire (regardless projectile count) is a simple looped firing mode. Similar to how you’d handle shotgun w/pellets. Enum or Enum array of firing modes.

Projectile penetration would utilize a custom projectile that on hit would determine if it could penetrate, then calc exit point of mesh and new trajectory. Spawn new projectile w/new trajectory and destroy the original. Not a lot of code actually. Then use an Enum to select which projectile class to spawn… Normal, Penetrate etc.