A few notes and clever ways to manipulate spells that channel. (Such as Starfall, Monsoon, etc.)
What are channeling spells?
Channeling spells are spells that need the caster to be standing in the same spot for their effect to occur. They can be interrupted by many different things, which I will get to later.
Stopping channeling abilities
You can stop channeling ability multiple ways:
~Stuns: Stuns stop channeling spells and end the effect as soon as they are stunned. Stunning abilities thjat stop channeling abilities would be: Storm Bolt, Firebolt, Cluster Rockets, etc.
~Moving the channeller through triggers: A clever way to stop channeling spells is to move the target to their location. Moving the channeller instantly stops the effects of the channeling ability. Clever anti-caster abilities would be abilities that stop the unit from channeling an do damage.
~Dying: This one is obvious. Dying will stop the effects of the ability.
~Unit Animations: If you set the channeler's animations while they are channeling, they wills top channeling and play the animation.
~Moving or attacking: Moving or attacking with the channeller wills top the effect, since they stop channeling.
Abilities that require channeling
There are a few abilites in Warcraft that require channeling to get the effect.
~Monsoon: This is point-targetable AoE channeling that deals damage. Set the AoE to 20 to get the single-target cursor. You can also set it to target units by setting the Targets Allowed. This will not turn it into a Unit's-only targeting ability
~Tranquility: This ability is a channeling AoE healer around the caster, and is good for the non-targetable channeling abilities.
~Channel: This is very versatile, and can be set to target only unit's, be AoE, non-targetable, etc. See also: Channel Tutorial by me.
Those are only to name a few. It is up to you to find them all.
First and foremost, make your dummy ability. It should be based off a channeling ability.
Now, to detect it, we can make a trigger such as:
Unit - Unit Starts the Effect of an Ability
(Ability Being Cast) Equal to Some-Ability
Set Unitvariable = (Casting Unit)
Then, for the effect:
Every 1.00 seconds of game-time
(Current Order of UnitVariable) = Order("Starfall")
Do Actions here
This will do the actions when they're channeling the ability. We use the detection trigger to detect and set the unit variable. Remember to change the string to that of your dummy ability.
Unit targetable channeling abilities
There's two ways to do this, one of them being a very clever way to follow the unit and channel it.
The first is basing the ability off of Life Drain or Mana Drain and doing your effects through triggers. (See above)
The other is a clever way of combining a targetable-dummy ability, and Heal.
First, make a trigger such as:
Unit - Unit Starts the effect of an ability
(Ability Being Cast) Equal to some-Ability
Set Unitvariable = (Casting Unit)
Set AnotherUnitVar = (Target of Ability Being Cast)
Start TimerVariable that will expire in 1.00 seconds
Remove DummyAbility from Unitvariable
Add HealDummy to Unitvariable
Wait 10.00 seconds
Remove HealDummy from Unitvariable
Add DummyAbility to Unitvariable
To execute the code, and to start the effect: (Remember to set the Heal ability to a 1 second cooldown)
<Do something to the target here>
Order Unitvariable to Human Priest - Heal AnotherUnitVar
The caster will follow the unit around if they're not in range, and cast the dummy Heal ability on them. After the ten seconds, it stops.