- Joined
- Jun 14, 2024
- Messages
- 4
Introduction
Good day. This article will focus on alternative uses of abilities. The bottom line is that the autocasts of most spells can be tracked, and this gives enormous scope for more flexible use. A small example for presentation is the priest's spell "Inner Fire", which increases the damage and defense of the selected unit. Knowing the features of the auto-cast of this ability (more on this later) and tracking the order for auto-cast (innerfireon and innerfireoff), you can add the following property: when using the spell alternatively (i.e. automatically), the priest will also restore 100 hit points to the ally.
Using a Boolean variable we will track whether auto-cast is enabled
Using the same variable, we check whether the ability is auto-cast or not
Using the same variable, we check whether the ability is auto-cast or not
Next, we will consider each of the possible spells with alternative uses and the features of their autocasts.
Abilities
Autocast: cast only in battle, preference is given to the unit with the highest attack (between a peon with 30 attack and a minotaur with 10 attack - the first will always have preference). If the attack value is equal, preference is given to the healthiest unit (in percentage, not quantitative terms, i.e. for a caster, a full peon with 250 hit points will have priority over a wounded minotaur with 1200 hits of current health). The unit's level and type (hero/non-hero, ground/air, etc.) do not matter. Does not cast on units that have no attack.
Note: The AI's logic is most likely to apply the effect to the unit that gets the most out of it (gets more attack and can live longer).
Autocast: always casts if there is a wounded unit nearby. Selects the most wounded unit first (in percentage).
Autocast: cast in battle. Priority is given to the enemy directly in front of the caster (or the one that is at the smallest angle to the caster). If the angle to the enemy is equal, the closest one is selected. The unit's level and type (hero/non-hero, ground/air, etc.) do not matter. The speed of movement/attack of the enemy also does not matter, as well as whether he moves or stands still.
Note: I think the logic is to apply the effect to enemies faster (spend less time turning to the target).
Autocast: cast in battle. Priority is given to the farthest target (regardless of whether it is a friend or an enemy, as well as how many buffs/debuffs there are on the target). The buff with the highest priority is stolen and is also transferred to the target furthest from the caster (with the same reservations).
Note: Presumably, the logic of the AI when choosing the farthest target is that this same target may leave the casting radius, thereby reducing the number of potential targets.
Note 2: if, for permitted purposes, you expose enemies and yourself, removing friends and allies, then the caster will transfer debuffs only from himself, and buffs only to himself.
Autocast: always casts if there are damaged buildings or machinery nearby. Priority is given to the nearest building/mechanism. The amount of damage to a building/mechanism, whether it carries out research or trains units, as well as the cost of repairs do not affect the choice of target.
Note: You can repair living units if you deploy them for permitted purposes.
Note 2: Alliance and Horde repairs have the same order IDs, but for the undead and night elves they are different and do not conflict.
Autocast: cast in battle. The farthest ally has priority, but he must be attacked, i.e. between the farthest ally attacking the enemy and the closest ally attacking and being attacked, the caster always chooses the second one. Unit level and unit type (hero/non-hero, ground/air, etc.) do not play a role in choosing a target. Movement/attack speed also does not matter.
Note: the logic is the same as Spell Steal, but it is unclear why the AI prefers attacked units, since the bloodlast does not provide protection or healing.
Note 2: Neutrals have the ability Frenzy, which is identical to Blood Lust, but has its own order ID that does not conflict with bloodlust.
Autocast: always applies if there are corpses nearby. Priority is given to the corpses closest to the caster. The identity of the corpses (allied or enemy), their level, as well as the degree of decomposition do not affect the choice of target.
Autocast: always casts if there is at least one wounded unit within the range of ability.
Autocast: always casts if there is at least one unit with incomplete mana within the range of ability.
Autocast: cast in battle. Priority is given to the nearest flying enemy.
Note: if you add ground and allied targets to the allowed targets, the caster will still choose the closest target.
Autocast: cast in battle. Priority is given to the closest enemy. Does not cast on units without attack.
Note: the reverse logic from spells with the choice of the farthest target - the closest enemy is most likely to enter into battle (or is already in it), so it is necessary that he misses.
Autocast: cast in battle. Applies to a random ally who is attacked by an enemy.
Autocast: cast in battle. Priority is given to the nearest enemy in battle (it does not matter whether he is attacked by allied forces or not). Cannot be cast on units without an attack.
Autocast: always casts if there are corpses nearby. Priority is given to the corpses closest to the caster. The identity of the corpses (allied or enemy), their level, as well as the degree of decomposition do not affect the choice of target. Stops autocasting when the maximum number of raised creatures is reached.
Autocast: always casts while there are negative effects on allied units or in battle in the presence of buffs/debuffs. Allies with debuffs are given priority; in their absence, enemies with buffs are given priority. For each category, the most distant target is given priority. Cannot be cast on summoned units on autocast (even in the absence of any other buffs/debuffs on the battlefield, it can target the summoner only if there is a buff on it).
Note: the logic is the same as in Spell Steal. At first glance, the fact that it does not select familiars on autocast seems not very convenient, but this can be used for an alternative cast, for example, to cause damage to the unit that called this familiar.
Autocast: cast in battle when receiving caster damage. Taking into account the cast time, the caster in 100% of cases receives damage from spells and then goes into shift. Depending on the cooldown time of the ability (the shorter the better) and the animation speed of the enemy’s attack, it can delay attacks in 2 attacks out of 10 against melee units and in 3 attacks out of 10 against rangers (result with a cast time and cooldown of 2 sec.) Does not go away into shift when receiving damage from DOT type buffs, does not go into shift when spells with debuffs are cast on a unit but without damage, goes into shift when receiving trigger damage (but will not dodge it), also receives damage in shift if trigger damage is dealt to to the unit itself (without checking the condition in the shift or not).
Note: probably the most useless skill if you look at it from the autocast perspective. On an automatic machine it will not dodge practically anything, only when used manually. But you can also come up with an alternative use with it, for example, calling an illusion of a unit while it is in shift and dispelling it during its exit.
Autocast: always casts if there is at least one unit nearby with incomplete mana or health. Priority is given to the unit with the largest number of missing points, i.e. not the most wounded or the most manaburned, but the one who has more missing points (for example, the target of the cast will not be a footman with 20 hit points out of 100, but a hero with 100 points of mana out of 1000).
Note: It is impossible to properly calculate the mana consumption of this ability, because it doesn’t have a mana cost as such, but it spends mana for each point of health and mana restored to the target, i.e. You can easily lose all your mana for 1 cast.
Autocast: cast in battle. Always selects the farthest target, regardless of the amount of health.
Autocast: cast in battle. Priority is given to the closest enemy. Regardless of whether it is a building or a unit, one target or several.
Arrows-abilities
Autocast: is always used when attacking if the required amount of mana is available. The most interesting type of spells in terms of their application. Being an attack, this spell may not hit the target (miss). And the most important thing is that these spells have as many as 3 id orders: turn on auto-cast, turn off auto-cast and manual cast. By combining these orders with each other, you can create 3 cast variations (auto-application, manual when auto-application is on, manual when auto-application is off).
Broken abilities
Despite the fact that in Warcraft there are id orders for autocast and its termination (ensnareon and ensnareoff, unstableconcontionon and unstableconcontionoff), and Unstable Concontion also has a hint in the description of automatic use in the OE, these abilities cannot be put on autocast, even with the help triggers (forced execution of specified orders).
Although the auto-cast of these abilities works, they completely lack orders to turn it on and off. Accordingly, auto-use cannot be tracked within the scope of this article; these abilities are useless for us.
P.S. An idea to think about: you can create a dummy ability with automatic use, for example, Heal, specify it as permitted for purposes - No, and monitor the inclusion of auto-use for this cast. This way you can change the method of casting any spell in the game))
Conclusion
In this article, I analyzed all the auto-cast spells available in the game. Many will say that the article contained simple examples of alternative uses of abilities, but they are of no use here. My goal was to give a basis on how these spells are used in auto mode, then everything depends only on your imagination. Go ahead, it's never too late to discover Warcraft in a new way.