#DOTA_ABILITY_BEHAVIOR and DOTA_UNIT_TARGET_TYPE

1 messages · Page 1 of 1 (latest)

winter charm
#

I'm just trying to understand more about how dota works in general so I've been digging into ABILITY_BEHAVIOR and UNIT_TARGET_TYPE to sort out their options and understand what each of them do, so I'd like to know the purpose of:

  • DOTA_UNIT_TARGET_NONE (shouldn't you just use DOTA_ABILITY_BEHAVIOR_NO_TARGET instead?)

  • DOTA_UNIT_TARGET_OTHER

  • DOTA_UNIT_TARGET_CUSTOM (custom units I believe?)

  • DOTA_UNIT_TARGET_SELF (what is the use case scenario for this, considering I can just use DOTA_UNIT_TARGET_HERO and self cast?)

  • DOTA_ABILITY_BEHAVIOR_LAST_RESORT_POINT

  • DOTA_ABILITY_BEHAVIOR_NONE (what is the use case of this?)

  • DOTA_ABILITY_BEHAVIOR_OVERSHOOT

  • DOTA_ABILITY_BEHAVIOR_SUPPRESS_ASSOCIATED_CONSUMABLE

  • DOTA_ABILITY_BEHAVIOR_UNLOCKED_BY_EFFECT_INDEX

  • DOTA_ABILITY_BEHAVIOR_HIDDEN (doesn't this work just like a passive?)

  • DOTA_ABILITY_BEHAVIOR_ITEM (this is implied by being in the item class no?)

  • DOTA_ABILITY_BEHAVIOR_ATTACK

  • DOTA_ABILITY_BEHAVIOR_UNRESTRICTED (no idea what's this one about)

  • DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE (what's the use case?)

  • DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET (is this for when neutrals are sleeping or something?)

  • DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK

  • DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN

  • DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING (I saw this was used mainly for couriers and some random event items but still don't understand)

#

Sorry if this is too much to ask, just wanna learn

solemn merlin
#

Moddota ability tutorial has an explanation for some of these. I think dota 2 modding wiki also has some info. If nobody answers in detail I will do it when I get access to my PC (in ~17h).

winter charm
#

no rush

#

I'll go check it and remove the ones I find

woven moon
#

You can search these in dota's kv file to find some similar parts or possible uses,
For BEHAVIOR:

  • LAST_RESORT_POINT no example, guess it's for point ability with terrain limit, if cast on illegal position, it will change to last resort point
  • NONE default value as constant is 0, dont use it
  • OVERSHOOT can cast over ability's cast range or cast globally, like some bilnk
  • SUPPRESS_ASSOCIATED_CONSUMABLE uses for some consumable item, but no idea what it does
  • UNLOCKED_BY_EFFECT_INDEX no example
  • HIDDEN ths ability is hidden, wouldnt show in action bar and cant be casted
  • ITEM This ability is tied up to an item. (as it said in items.txt
  • ATTACK orb effects like drow's frost arrow, can cast directly or triggered by autoattack
  • UNRESTRICTED can cast even when your hero is RESTRICTED( like stun or even death
  • IGNORE_PSEUDO_QUEUE can cast during stun
  • DONT_ALERT_TARGET when you cast target ability, your target will get a vision reveals caster for seconds, this prevent it, the example is spirit breaker's charge of darkness
  • DONT_RESUME_ATTACK after casted, your hero will stop auto attack, this is for some invisibility ability
  • NORMAL_WHEN_STOLEN no idea, may it associated with rubick's spell steal
  • IGNORE_BACKSWING this ability wont have any backswing time ( after you cast a ability, the spell starts, but the animation goes on, during the animation, you hero wont do anything, but you could interrupt it with other order. this flag stops animation immediately after spell start
spiral vault
#

NORMAL_WHEN_STOLEN ignores hero cast point and uses ability cast point instead in theory

rare river
#

Would like to add just a little bit of details:

HIDDEN ths ability is hidden, wouldnt show in action bar and cant be casted
To be more precise, it can be cast, but only via code, as you can't trigger it from the HUD as a player.

IGNORE_PSEUDO_QUEUE can cast during stun
Requires the ability to have the "IMMEDIATE" behavior for it to work.

NORMAL_WHEN_STOLEN no idea, may it associated with rubick's spell steal
Rubick's Spell Steal has the additional benefit of casting spells very quickly, regardless of their actual cast point. When a ability has this behavior, Rubick uses the ability's actual cast point. For example - Sniper's Assassination.

#

Ah shit houthakker beat me to it 😄

tender smelt
winter charm
#

thanks for the answers

#

I guess the only one missing is suppress associated consumable

#

which was used in healing salve's code, for example

rare river
#

I don't think anyone actually knows what it does 😄

winter charm
#

does anyone know examples of units that are dota_unit_target_other

#

like summons and stuff?

solemn merlin
#

dota_unit_target_other are ward like units and units like undying zombies, weaver bugs

#

techies mines

winter charm
#

so summoned units are considered creeps then

#

how do I differentiate a summoned unit from a creep wave?

#

iscreephero?

solemn merlin
#

lane creeps (creep wave) are not summoned units