• 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.

Explain the damage types

Status
Not open for further replies.
I noticed that there is more than just one damage type, so i decided to show it here.
Unknown:
Normal:
Enhaced:
Fire:
Cold:
Lightning:
Poison:
Disease:
Devine: Do not damage spell immune units, normal to all else.
Magic:
Sonic:
Acid:
Force:
Death:
Plant:
Defensive:
Demolition:
Slow Poison:
SpiritLink:
Shadow Strike:
Universal:

How to use it?
What each of them does?
Say please and I will update this note.
 
Level 9
Joined
Nov 19, 2011
Messages
516
Magic will not hit immune units. Spirit Link should not kill, same goes to poison. Spirit link ignores all defenses. Devine hits ignores reduction and stone gigants immunity (but not archimondes or driad). Death should work like finger of death (hit but no damage against immune units). See the dfrence between 'hit' and 'damage'. Types like fire/cold/lighting not affects some kind of units. For e.g. cold not hit buildings. I don't know rest.
 
Spirit Link won't kill targets.

Universal will ignore armor.
Magic will hit ethereal but not magic immune.
Normal hits everything but ethereal.

It's mostly logical :p

But yeah, it can get troublesome at times.

That's why I use this:

JASS:
//! zinc

public struct Damage[] {
    static method pure(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, null, DAMAGE_TYPE_UNIVERSAL, null); }
    static method physical(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, null, null, null); }
    static method spell(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC, null); }
    static method spiritLink(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, null, DAMAGE_TYPE_SPIRIT_LINK,null); }
}

//! endzinc

But that doesn't really matter right now :p

All you need to know is this:

Physical damage: ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL
Spell damage: ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC
Pure damage: ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNIVERSAL
Damage that won't kill: ATTACK_TYPE_NORMAL, DAMAGE_TYPE_SPIRIT_LINK
 
Spirit Link won't kill targets.

Universal will ignore armor.
Magic will hit ethereal but not magic immune.
Normal hits everything but ethereal.

It's mostly logical :p

But yeah, it can get troublesome at times.

That's why I use this:

JASS:
//! zinc

public struct Damage[] {
    static method pure(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, null, DAMAGE_TYPE_UNIVERSAL, null); }
    static method physical(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, null, null, null); }
    static method spell(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC, null); }
    static method spiritLink(unit source, unit target, real amount)->boolean { return UnitDamageTarget(source, target, amount, false, false, null, DAMAGE_TYPE_SPIRIT_LINK,null); }
}

//! endzinc

But that doesn't really matter right now :p

All you need to know is this:

Physical damage: ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL
Spell damage: ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC
Pure damage: ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNIVERSAL
Damage that won't kill: ATTACK_TYPE_NORMAL, DAMAGE_TYPE_SPIRIT_LINK

dunno dude, made my 1 hp hero to take 1000 damage spirt link and he died.:goblin_boom:
 
Status
Not open for further replies.
Top