REPO in progress - mapping damage types to their abilities

Level 34
Joined
Sep 26, 2009
Messages
8,435
For information on cross-referencing the terminology used below, please review: Wc3C.net - View Single Post - ATTACK_TYPE and DAMAGE TYPE testing. Big shout out to @Tasyen for helping me to fill out this list and also providing good feedback.

Damage TypeUsed by AbilitiesBehavior
MagicCannot damage spell immune; bypasses Armor.

FireSame as Magic

SonicSame as Magic

ForceSame as Magic

LightningSame as Magic

ColdSame as Magic

Shadow StrikeSame as Magic

DefensiveSame as Magic

PlantSame as Magic

DeathSame as Magic

DivineSame as Magic

MindSame as Magic

NormalCan’t affect Ethereal, but can affect Spell immune (unless applied with ATTACK_TYPE_MAGIC, in which case this is inverted), applies Armor.
EnhancedSame as Normal, but bypasses Armor.

PoisonSame as Enhanced

DiseaseSame as Enhanced

AcidSame as Enhanced

Slow PoisonSame as Enhanced

DemolishSame as Enhanced

UniversalCan affect both Ethereal and Spell Immune when using ATTACK_TYPE_NORMAL (Spells in GUI), bypasses Armor.

UnknownSame as Universal

Aerial Shackles
Mana Burn
Finger of Death/Pain
Life Drain
Dispel
(Damage Summon) Rain of Fire
Flame Strike
Firebolt
Immolation
Liquid Fire
Soul Burn
Phoenix Fire
Drunken Haze+Breath of Fire
(DoT only)
Incinerate (proxy damage source: exploded unit) Storm Bolt
Frost Bolt
Hurl Boulder
Thunder Clap
War Stomp
Shockwave
Breath of Fire
Crushing Wave
Carrion Swarm
Cluster Rockets
Impale
Bash
Tornado
(building)
Inferno (proxy damage source - Infernal) Chain Lightning
Forked Lightning
Mana Flare
Lightning Shield
(proxy damage source - shield wielder)
Blizzard
Frost Nova
Cold/Frost Arrows/Freezing breath
(zero-damage event on top of the normal attack; only on-buff)
Shadow Strike
Acid Bomb
Spiked Carapace
Spiked Defenses
(Orc building) Thorns Aura
Entangling Roots
Death Coil
Unholy Frenzy
Holy Light
<None>
All Melee/Ranged Attacks
Volcano
Suicide
(Unstable Concoction/Kaboom!)
Locust Swarm (proxy damage source - Locust) Cleaving Attack (subsequent targets only)
Pulverize
Fan of Knives
Bladestorm
Burning Oil
Parasite
Envenomed Weapons
Disease Cloud Devour Slow Poison Unsummon Earthquake
Doom
Stampede
Starfall
Death and Decay
Monsoon
Orb of Fire
(splash only)
Healing Spray (negative) This is always a zero damage event.
Used when most debuffs are applied, also when Stuns wear off.
Used by almost all Orbs - even Orb of Frost.

Slightly reformatted chart from Sophismata from wc3c.net:

Damage TypeAttack TypeAffects EtherealAffects Spell Immune
MagicNormalNoNo
MagicSpellsYesNo
MagicMagicYesNo
UniversalNormalNoYes
UniversalSpellsYesYes
UniversalMagicYesNo
NormalNormalNoYes
NormalSpellsNoYes
NormalMagicYesNo

Attack type classifications from the above table:

Normal (can never damage Ethereal targets):
  • ATTACK_TYPE_MELEE ("Normal" in GUI)
  • ATTACK_TYPE_PIERCE
  • ATTACK_TYPE_SIEGE
  • ATTACK_TYPE_CHAOS
  • ATTACK_TYPE_HERO
Spells (only this attack type applies the Spell Damage Reduction and Spell component of Elune's Grace):
ATTACK_TYPE_NORMAL ("Spells" in GUI)
Magic (can never damage Spell Immune targets but will always damage Ethereal ones):
ATTACK_TYPE_MAGIC
Added notes: Ability damage types cannot be changed via Object Editor tweaks, which is why only a spell based on an ULTIMATE has the ability to hit both ethereal and magic immune.

Additionally:
DEFENSIVE and the PLANT damage from Thorns aura fire recursively - The DAMAGING event fires from the melee attacker, then the retaliating damage from the damaged unit applies the DAMAGING and DAMAGED event, then finally the DAMAGED event from the melee attacker is deployed. Damage engines need to be built around this, and Damage Engine 5.1.2.1 already compensates for this behavior.

Lastly, SPIRIT_LINK damage works like this: attacker fires DAMAGING event, then all the spirit link damage is applied (the original target is included among these, but not necessarily damaged first), then the DAMAGED event fires for the original target. Damage engines need to be built around this, and Damage Engine 5.1.2.1 already compensates for this behavior.​
 
Last edited:
Level 20
Joined
Jul 18, 2010
Messages
1,743
You should also include:
Incinerate (Fire lord attack orb + explosion)
Soul Burn (Fire lord dot)
Finger of death/Pain.
Monsun (channeled Lightning strikes)
devour magic (undead unit spell)
dispell magic (human and hostile)
purge
parasit

I did tests myself.

mana flare
DAMAGE_TYPE_LIGHTNING

burning oil
DAMAGE_TYPE_ENHANCED

liquid fire
DAMAGE_TYPE_FIRE

unstable concoction
DAMAGE_TYPE_NORMAL

Vulkan
DAMAGE_TYPE_NORMAL

Bash is force not sonic.

Edit: It might be good to mention that Inferno and Lightning Shield have not the caster as damage source.
 
Last edited:
Level 5
Joined
Jul 20, 2018
Messages
122
So is it an attack type? But there is no Enhanced or Universal attack type. Damage type is mentioned in 1st column.

Notes about spell interactions with armor are useful, but what mean Magic, Physical, Enhanced and Universal words?

Did you check Possession or Charm?
 
Last edited:
Level 5
Joined
Jul 20, 2018
Messages
122
So is it an attack type? But there is no Enhanced or Universal attack type. Damage type is mentioned in 1st column.

Notes about spell interactions with armor are useful, but what mean Magic, Physical, Enhanced and Universal words?
I read original post and understood it. It is necessary to add such table here.

Снимок 204.PNG


To @Bribe: remove excess colons in 1st column. In 3rd column place only "pure" damage types, i. e. Normal, Enhanced, Magic (not Magical) and Universal. Place the table above (screenshot) before main table.
This will help to make the main table more understandable. For now, it seems like Fire and etc. has unknown behavior with armor.

Added notes: Ability damage damage types
Here is a typo.

which is why only a spell based on an ULTIMATE has the ability to hit both ethereal and magic immune.
ULTIMATE = 4th spell of a hero which requires 6th level?
AFAIK, heroes with level 2+ can launch abilities on magic immune targets.

You lost highlighted with yellow information.

Снимок 205.PNG
 
Last edited:
Level 34
Joined
Sep 26, 2009
Messages
8,435
Did you check Possession or Charm?

Yes, they don't use it. Mind isn't used anywhere in WarCraft 3.

I read original post and understood it. It is necessary to add such table here.

View attachment 330011

No need for yet another table - I already added the classification of what is affected by armor into the first big table, in the "Spell Behavior" column.

To @Bribe: remove excess colons in 1st column.

Done.

In 3rd column place only "pure" damage types, i. e. Normal, Enhanced, Magic (not Magical) and Universal. Place the table above (screenshot) before main table.
This will help to make the main table more understandable. For now, it seems like Fire and etc. has unknown behavior with armor.

I tried to merge the rows in that final column to make it more understandable, but Hive's BBCode doesn't support things like column /row span the method I did here was to signpost.

In response to your feedback, I've made it more clear that I'm signposting and have changed the text to read "Same as <parent type>".

I've also changed the terminology to get rid of keywords like "Magical" and "Physical", instead they are Magic and Normal and the behavior types formerly attributed to those are now instead defined when I define the damage type in the parent row.

Here is a typo.

Thanks, fixed!

ULTIMATE = 4th spell of a hero which requires 6th level?
AFAIK, heroes with level 2+ can launch abilities on magic immune targets.

I'm not sure which abilities you refer to here, but I'd like to know. The only abilities that use UNIVERSAL damage are:

Earthquake
Doom
Stampede
Starfall
Death and Decay
Monsoon
Orb of Fire
(splash only)

You lost highlighted with yellow information.

View attachment 330013

Thanks, I've added that to the attack type spread as well as some other patterns to their respective attack types.
 
Level 5
Joined
Jul 20, 2018
Messages
122
Now it looks much better. Thanks a lot!


I'm not sure which abilities you refer to here, but I'd like to know. The only abilities that use UNIVERSAL damage are:
I didn't get what means ULTIMATE here.
Added notes: Ability damage types cannot be changed via Object Editor tweaks, which is why only a spell based on an ULTIMATE has the ability to hit both ethereal and magic immune.


AFAIK, heroes with level 2+ can launch abilities on magic immune targets.
Seems this is wrong.

Some question related to this topic.
1. Which attack type do spells have?
2. I heard what Bash has different damage type (or attack type?) if it's used by ranged units. Did you test this?
3. What this constants do? Especially the selected one.

Снимок 206.PNG
 
Level 34
Joined
Sep 26, 2009
Messages
8,435
Ultimate is the level 6 ability (ie. Resurrection, Animate Dead) of a hero. Those are the only types of spells using UNIVERSAL damage.

1. Spells in WarCraft 3 is always ATTACK_TYPE_NORMAL ("Spells" in GUI). So Mana Burn uses DAMAGE_TYPE_MAGIC and ATTACK_TYPE_SPELLS for example.

2. Bash has a separate attack type (Sonic) if used as a percentage, but if it is set to 100% then the Bash becomes integrated into the unit's own attack and you can no longer determine a unique damage type from that attack instance (although if using Damage Engine you would notice that the DamageEventLevel is greater than 1 because the attack was preceded by DAMAGE_TYPE_UNKNOWN).

3. That constant would make units like Dryad invulnerable to ultimates such as Starfall.
 
Level 5
Joined
Jul 20, 2018
Messages
122
Bash has a separate attack type (Sonic)
You meant Force damage type as said in the table?

2. I heard what Bash has different damage type (or attack type?) if it's used by ranged units. Did you test this?
This is true, if a ranged unit has Bash, Bash damage will be always a part of attack damage. Test map.


I also tested next thing. Setting level requirements to 6 allows a spell to hit Magic Immune targets, but do 0 damage EVEN if you change Magic Damage Factor in Spell Immunity ability or change Gameplay - Magic Imunes Resist Damage to False in gameplay constants. This can be useful in making custom Bash with dummy cast.


In addition, in Gameplay - Magic Imunes Resist Ultimates Ultimates = any hero ability with requirement 6+ level. In test map a made a Storm Bold an ultimate, so it can hit Magic Immune targets, if Gameplay - Magic Imunes Resist Ultimates is false, otherwise it cannot.

Text below should be edited, since any spell can become an ultimate and can hit both Magic Immune and Ethereal, but only spells based on the spells with Universal damage type can damage both Magic Immune and Ethereal.
Added notes: Ability damage types cannot be changed via Object Editor tweaks, which is why only a spell based on an ULTIMATE has the ability to hit both ethereal and magic immune.



I updated test map, added Banish to heroes.
 

Attachments

  • tmp.w3x
    13.7 KB · Views: 159
Last edited:
Level 34
Joined
Sep 26, 2009
Messages
8,435
I wonder what type Mind Rot is, it is one of those unused spells that is still in the editor.
It is unfortunately incapable of dealing damage so we can't know.

You meant Force damage type as said in the table?
yes pardon me.

This is true, if a ranged unit has Bash, Bash damage will be always a part of attack damage. Test map.
Interesting I will check it out.

I also tested next thing. Setting level requirements to 6 allows a spell to hit Magic Immune targets, but do 0 damage EVEN if you change Magic Damage Factor in Spell Immunity ability or change Gameplay - Magic Imunes Resist Damage to False in gameplay constants. This can be useful in making custom Bash with dummy cast.


In addition, in Gameplay - Magic Imunes Resist Ultimates Ultimates = any hero ability with requirement 6+ level. In test map a made a Storm Bold an ultimate, so it can hit Magic Immune targets, if Gameplay - Magic Imunes Resist Ultimates is false, otherwise it cannot.
I'll have to test if the damage type itself has changed or just if the WC3 engine has allowed a zero damage event from whatever the original damage type was.

Text below should be edited, since any spell can become an ultimate and can hit both Magic Immune and Ethereal, but only spells based on the spells with Universal damage type can damage both Magic Immune and Ethereal.

I updated test map, added Banish to heroes.

What is the purpose of adding the Banish?
 
Last edited:
Level 34
Joined
Sep 26, 2009
Messages
8,435
I added to check that a common spell with 6+ level requirements can hit both Magic Immune and Ethereal.


Damage type remains the same.
So I have tried this a month or two ago with Inferno against a magic immune target. The target was stunned and the DAMAGED event fired with the full amount, but no damage was taken (the second event didn't go off).

Also I've tried it with Carrion Swarm against spell immune targets - the targets take 0 damage and trigger just the first event runs.

I tried tinkering with the Damage Types and changing to UNIVERSAL helped in the case of Inferno but did nothing for Carrion Swarm (unless I changed the value of that damage via triggers). I'll run some tests with Carrion Swarm and others being level 6 required and see if the pre-event then retains the damage value.
 
Level 5
Joined
Jul 20, 2018
Messages
122
Hey, is there an info about Poisoned Arrows (both autocast and passive) and Searing Arrows?

UPD: I tested this on a ranged unit, extra damage from autocast Poisoned Arrows and Searing Arrows is added to the unit attack damage. DoT damage from autocast Poisoned Arrows has damage type Poison.

This is true, if a ranged unit has Bash, Bash damage will be always a part of attack damage. Test map.
Another thing: Bash from a ranged unit does not stun Magic Immune, from a melee unit - stuns.
 

Attachments

  • DamageTypeTest.w3x
    14.1 KB · Views: 34
Last edited:
Level 4
Joined
Nov 20, 2006
Messages
68
So why does fan of knives not damage ethereal units? Why does only some of Shadow Strike's damage work on ethereal?

Acid Bomb can't be dispelled but still otherwise behaves like a spell effect (can't cast on spell immune)

Bat Riders explosion damage is reduced flat by anti-magic shell, but armor is calculated in once the shell is broken.
 
Level 34
Joined
Sep 26, 2009
Messages
8,435
So why does fan of knives not damage ethereal units? Why does only some of Shadow Strike's damage work on ethereal?

Acid Bomb can't be dispelled but still otherwise behaves like a spell effect (can't cast on spell immune)

Bat Riders explosion damage is reduced flat by anti-magic shell, but armor is calculated in once the shell is broken.
If you read the third column, you see why. Bat Riders deal Spell attack type so get reduced by the shell but with damage type Normal so also get reduced by armor.

FoK is enhanced so doesn't get reduced by armor but doesn't affect ethereal.

The data which answers your questions is already listed in my chart.

Acid Bomb uses a targeted spell ability but this has nothing to do with my chart. The damage is independent of the spell's own targeting mechanics.
 
Level 4
Joined
Nov 20, 2006
Messages
68
If you read the third column, you see why. Bat Riders deal Spell attack type so get reduced by the shell but with damage type Normal so also get reduced by armor.

Thanks I think I started reading the chart as though it was exhaustive of all the used spell combinations for some reason. That spell isn't called out but I see the combination you mentioned that would explain it.

Thanks for the work here.
 
Level 4
Joined
Nov 20, 2006
Messages
68
Sorry to bump again, but it has been almost a year. Referencing this again and still not clear on something. Also want to note that "http://www.wc3c.net/showpost.php?p=1030046&postcount=19" appears to be dead but accessible here: https://web.archive.org/web/20160305184757/http://www.wc3c.net/showpost.php?p=1030046&postcount=19

FoK is enhanced so doesn't get reduced by armor but doesn't affect ethereal.

Its listed as Enhanced in the chart (same as normal but bypassing armor) so in theory it "Can’t affect Ethereal, but can affect Spell immune". But while ignoring armor, FoK does not affect ethereal or spell immune. Seems to function as Damage Type Magic, Attack Type: Normal.
 
Level 20
Joined
Jul 18, 2010
Messages
1,743
Its listed as Enhanced in the chart (same as normal but bypassing armor) so in theory it "Can’t affect Ethereal, but can affect Spell immune". But while ignoring armor, FoK does not affect ethereal or spell immune. Seems to function as Damage Type Magic, Attack Type: Normal.
No, FoK is spell - enhanced, but most spells can not affect spell immune units on default. One can make any spell penetrate spell immunity. Let it require not HeroLevel 0, nor HeroLevel 1. Such a FoK ability will damage spell immune units.
 
Level 4
Joined
Nov 20, 2006
Messages
68
No, FoK is spell - enhanced, but most spells can not affect spell immune units on default. One can make any spell penetrate spell immunity. Let it require not HeroLevel 0, nor HeroLevel 1. Such a FoK ability will damage spell immune units.

So there is another variable here? How it is handled in the object editor? Maybe this should be noted on the op? I set the rquired level to -1 and it did indeed damage spell immune but not ethereal.
 
Level 34
Joined
Sep 26, 2009
Messages
8,435
So there is another variable here? How it is handled in the object editor? Maybe this should be noted on the op? I set the rquired level to -1 and it did indeed damage spell immune but not ethereal.

The attack type mixed with the damage type is what causes things to change depening on spell immunity, ethereal, armor.

A unit attacking with enhanced damage type (Cleaving attack for example) will penetrate all armor and can damage spell immune, however FoK cannot affect spell immune on its own due to it having ATTACK_TYPE_SPELLS.

Tasyen mentioned how you can make WC3 think that a non-ultimate spell is an ultimate spell, thereby changing the Damage Type from Enhanced to Universal. I guess I could note this on the guide, however I don't quite understand it and I'm not sure how many different spells this could affect (and whether any normal damage type spell would automatically convert to universal, or if there are some exceptions to it).
 
Last edited:
Top