Blueprint Question - Damage System (WoW Warrior Rage System)

Greetings,

I’m trying to make a combat system via blueprints akin to the warrior class from WoW (Rage system) that would attach a value to an actor which would tie to both damage received and damage done to an Event that could be used to do an “ultimate ability”.

Actor receives X Damage and it charges up the Bar. (static value)
Actor deals X Damage and it charges up the Bar. (static value)

Additionally.
The amount of “Enemies” surrounding the actor correlate to how quickly the bar charges.

Once a sufficient amount of either of these values is met, an event takes place to increase attack speed of the actor for example.

Can anyone help me blue print this?

Hey Larryfine!

We’re going to get this knocked out!
What’s your status? Where are you at? Can you provide screenshots?
I can definitely help, but unfortunately we just don’t have the time to create entire game features all at once like that. So we’re going to get it done a few steps at a time!

3 Likes

Thanks for the reply @Mind-Brain!
From the question you can gather that i’m new to this whole thing. (zero coding background) That being said, I am a YouTube Tutorial Enjoyer and am learning slowly!

My main issue is, I don’t know the “terms” of building code well enough yet to describe to the computer what I want it to do so while I can describe the system to a person, I can’t tell the computer.

What are the fundamental building blocks I need to build a system like this?

Would I make the basic system using an actor component with the “rage” variables on it?
Or would I just use the Character Actor?
Is there an Upside/Downside to using either of these methods? I know actor components can attach to any actor - Still exploring the YouTube tutorials on how these can be implemented and utilized.

How do I go about asking the actor “did you take damage, if so from where and if you did add x amount of rage to the bar?”
Is this an event?

If I made an event for Damage and Deal Damage, how do I go about calling and receiving the information? The function “on damage taken”?

I hope this makes sense.

Hey again Larry!

So yes, this is something that an actor component would be perfect for!
Try to encapsulate the entire thing onto a Component!
Anytime you CAN do that, you should. Because it can be reused on multiple characters, and it keeps the character itself cleaner.

And the Damage Actor and Deal damage actor are indeed 100% for exactly that! Those are events, just so you know. You can only have one of each on something, so if you want more than one thing to happen you just have to line it up as such.

First things first, create the Component and give it 3 functions. If you’re going for WoW you want individual Functions for:
rage on damage,
rage on block/parry (if you have those),
passive rage generation,
and Auto attack rage generation.

For Variables you need:
CurrentRage
MaxRage
MinRage

You might also want:
PassiveRageGenTime (time between passive ticks up)
RageGenMultiplier
RageConsumptionMultiplier (for things that might consume more for more damage, like Execute)

1 Like