• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

[General] Damage Reduction

Status
Not open for further replies.
Level 20
Joined
Jul 12, 2010
Messages
1,746
Ok so first thing first, I DO NOT want to make this using triggers IF possible that's why I'm posting in "World Editor Help Zone" forum.

My goal is to change the way Armor Reduction is calculated in my RPG to be as simple as possible.

I want the armor system to be like this:
  • Unit 1 has 50 Damage
  • Unit 2 has 20 Armor
  • Unit 1 Attacks Unit 2
  • Unit 2 Takes 30 Damage (50-20=30)

The current armor system is simply annoying with the current formula. I have also taken a look at this without any hope. I'm simply bad a math LOL!

So I was wondering if there is a way to do this without involving Triggers and using only Gameplay Constants:
World_Editor_yBTwh9n4hp.jpg

I have tried a lot of different values but nothing works. You can also check the test map I attached to see what I mean.

Player Blue uses WC3 Default Armor system but doesn't work.

Player Purple uses Armor system made with GUI and it's exactly what I want to recreate.
 

Attachments

I want the armor system to be like this:
  • Unit 1 has 50 Damage
  • Unit 2 has 20 Armor
  • Unit 1 Attacks Unit 2
  • Unit 2 Takes 30 Damage (50-20=30)
No, warcraft 3 default system is "1 point of armor reduces damage so it results in 6% percent increased effective hp".
This is then modified by certain percentages depending on types (Siege deals bonus to fortified etc.).
It is all percent.

You must trigger it one way or another.
Either make ability to reduce damage flat amount using the mountain giant ability or just trigger the damage reduction.
 
You would have to change the armor reduction multiplier to 0.000 and use a DDS to detect the damage and reduce it equal to the targets armor. I've only tried using these a couple of times so wouldn't know all the details but that should work in theory

Alternatively, maybe a bit awkward but Hardened Skin kind of gives the same result? - You could have 1 ability with 100 levels for example representing when a unit has 1-100 armor points. Then use triggers to match the level of the ability to the armor value of the unit? Like I say, could be a bit awkward
 
What everyone else said, but here's the trigger:
  • Example
    • Events
      • Unit - A unit Takes damage
    • Conditions
    • Actions
      • Event Response - Set Damage of Unit Damaged Event to ((Damage taken) - (Armor of (Damage Target)))
You may need to prevent negative values, if so a simple If Then Else or a Clamp (Min/Max) that checks and fixes the (Damage taken) would work.

Then set all of the Damage Bonus Table multipliers in the Gameplay Constants to 1.00 and the Armor Damage Reduction Multiplier to 0.00.
 
Last edited:
Status
Not open for further replies.
Back
Top