Making a trigger that works when an ability is autocasted

Dark_Phoenix

New Member
Reaction score
3
Code:
Mug
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Mug 
    Actions
        Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing ((Real((Agility of (Casting unit) (Include bonuses)))) x 3.00) damage of attack type Chaos and damage type Universal
        Player - Add (100 x (Level of Mug  for (Casting unit))) to (Owner of (Casting unit)) Current gold
        Player - Set (Owner of (Target unit of ability being cast)) Current gold to (((Owner of (Target unit of ability being cast)) Current gold) - ((Level of Mug  for (Casting unit)) x 100))

For some reason, this only works when the ability is manually casted. How can this work even if the ability is autocasted?
 

BarzahdX

Active Member
Reaction score
18
Code:
Mug
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Mug 
    Actions
        Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing ((Real((Agility of (Casting unit) (Include bonuses)))) x 3.00) damage of attack type Chaos and damage type Universal
        Player - Add (100 x (Level of Mug  for (Casting unit))) to (Owner of (Casting unit)) Current gold
        Player - Set (Owner of (Target unit of ability being cast)) Current gold to (((Owner of (Target unit of ability being cast)) Current gold) - ((Level of Mug  for (Casting unit)) x 100))

You make a copy of this trigger(keep this one too), with action "Unit is attacked", and adjust the variables accordingly.. Then make a trigger that senses if an ability is set to auto-cast.. Example:

Code:
Auto-Mug Prep
    Events
        Unit - A unit Is issued an order with no target
    Conditions
        (Unit-type of (Triggering unit)) Equal to Mugger
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (String((Issued order))) Equal to searingarrows
            Then - Actions
                Unit Group - Add (Triggering unit) to TempGroup
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (String((Issued order))) Equal to searingarrowsoff
                    Then - Actions
                        Unit Group - Remove (Triggering unit) from TempGroup
                    Else - Actions

That's if your ability is based off of Searing Arrows, if it's based on another ability, change the two strings to the order IDs of your skill.. Worked for me, goodluck.
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> For some reason, this only works when the ability is manually casted

That depends on the ability.

If it is actually cast, like Raise Dead or Heal, it will work.
If it is an attack modifying autocast like Searing Arrows... those do not trigger any events when autocast.

The order trigger from post #2 only works for detecting when the spell is turned on or off...
 

HellCraft

Member
Reaction score
19
first of all, add some variables 2 decrease leaks.

@offtopic
dark_phoenix, r u the same guy at dotastrategy? im bloodcraft incase u didnt forget.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top