However, I added the effect 'Stunned (Pause)', which is what storm bolt uses. This part doesn't work. Only the status buff shows up, but no stun actually takes place
There's no such thing as an ability with multiple effects. The Object Editor can lead you to believe that there is a way to do this, but unfortunately that's not the case. Every ability is hardcoded to behave a certain way and you can only modify what an ability already does (slow, stun, etc).
Do I need to make a 2nd ability? If so, less than ideal but doable.
Yes, you'll need a Dummy unit to cast something like War Stomp. But to avoid the ugliness of stacking Buffs you can do the following:
Remove the Slow effect from Thunder Clap by setting it's Slow to 0% and Duration to 0.001.
Then have the Dummy unit cast Storm Bolt or Slow on the units based on their distance from the caster:
-
Events
-

Unit - A unit Starts the effect of an ability
-
Conditions
-

(Ability being cast) Equal to YourAbility
-
Actions
-

Set Caster = (Triggering unit)
-

Set TempPoint = (Position of Caster)
-

Unit - Create 1 Dummy for (Owner of Caster) at TempPoint
-

Set Dummy = (Last created unit)
-

Unit - Add Stun (Storm Bolt) to Dummy
-

Unit - Add Slow (Sorceress Slow) to Dummy
-

Unit - Add a 0.20 second Generic expiration timer to Dummy
-

Set TempGroupA = (Units within 350.00 range of TempPoint)
-

Set TempGroupB = (Units within 175.00 range of TempPoint)
-

Custom script: call RemoveLocation( udg_TempPoint )
-

Unit Group - Pick every unit in TempGroupB and do (Actions)
-


Loop - Actions
-



Unit Group - Remove (Picked unit) from TempGroupA
-

Unit Group - Pick every unit in TempGroupA and do (Actions)
-


Loop - Actions
-



Unit - Order Dummy to Human - Slow (Picked unit)
-

Unit Group - Pick every unit in TempGroupB and do (Actions)
-


Loop - Actions
-



Unit - Order Dummy to Human - Storm Bolt (Picked unit)
-

Custom script: call DestroyGroup( udg_TempGroupA )
-

Custom script: call DestroyGroup( udg_TempGroupB )
Customize the targeting using If Then Else actions to filter the (Picked unit)'s. You can also use the (Matching unit) filters when setting TempGroupA and B. You can also have the Caster deal different amounts of Damage based on the distance by triggering the damage yourself.
To make a proper Dummy unit (most seem to get this wrong) do the following:
1) Copy and paste the Locust. (Undead/Special Unit)
2) Set it's Movement Type = None, Attacks Enabled = None, and Speed Base = 0.
3) Modify the Art fields as you see fit (no model, no shadow, etc).
This is essential if you want the Dummy to cast Stun/Slow without any issues.