Angel_Island
Much long, many time, wow
- Reaction score
- 56
You can try.
AOE register
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Berserk
Actions
Unit Group - Add (Triggering unit) to castGroup
Periodic damage
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in castGroup and do (Actions)
Loop - Actions
Set tempUnit = (Picked unit)
Set tempPoint = (Position of tempUnit)
Set tempGroup = (Units within 512.00 of tempPoint matching ((((Matching unit) belongs to an enemy of (Owner of tempUnit)) Equal to True) and (((Matching unit) is alive) Equal to True)))
Unit Group - Pick every unit in tempGroup and do (Actions)
Loop - Actions
Unit - Cause (tempUnit) to damage (Picked unit), dealing (300.00 + (0.50 x (Real((Strength of tempUnit (Include bonuses)))))) damage of attack type Spells and damage type Normal
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((tempUnit) has buff Berserk) Equal to False
Then - Actions
Unit Group - Remove (tempUnit) from castGroup
Else - Actions
Custom script: call RemoveLocation(udg_tempPoint)
Custom script: call DestroyGroup(udg_tempGroup)
Base your spell of Besrserk
Code:AOE register Events Unit - A unit Starts the effect of an ability Conditions (Ability being cast) Equal to Berserk Actions Unit Group - Add (Triggering unit) to castGroup
Code:Periodic damage Events Time - Every 1.00 seconds of game time Conditions Actions Unit Group - Pick every unit in castGroup and do (Actions) Loop - Actions Set tempUnit = (Picked unit) Set tempPoint = (Position of tempUnit) Set tempGroup = (Units within 512.00 of tempPoint matching ((((Matching unit) belongs to an enemy of (Owner of tempUnit)) Equal to True) and (((Matching unit) is alive) Equal to True))) Unit Group - Pick every unit in tempGroup and do (Actions) Loop - Actions Unit - Cause (tempUnit) to damage (Picked unit), dealing (300.00 + (0.50 x (Real((Strength of tempUnit (Include bonuses)))))) damage of attack type Spells and damage type Normal If (All Conditions are True) then do (Then Actions) else do (Else Actions) If - Conditions ((tempUnit) has buff Berserk) Equal to False Then - Actions Unit Group - Remove (tempUnit) from castGroup Else - Actions Custom script: call RemoveLocation(udg_tempPoint) Custom script: call DestroyGroup(udg_tempGroup)
tempPoint - Point variable
tempGroup and castGroup - Unit group variables
Begin
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Bladestorm
Actions
Unit Group - Add (Triggering unit) to castGroup
Countdown Timer - Start CastTimer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in <Bladstorm duration> seconds
Periodic damage
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in castGroup and do (Actions)
Loop - Actions
Set tempUnit = (Picked unit)
Set tempPoint = (Position of tempUnit)
Set tempGroup = (Units within 512.00 of tempPoint matching ((((Matching unit) belongs to an enemy of (Owner of tempUnit)) Equal to True) and (((Matching unit) is alive) Equal to True)))
Unit Group - Pick every unit in tempGroup and do (Actions)
Loop - Actions
Unit - Cause (tempUnit) to damage (Picked unit), dealing (0.50 x (Real((Strength of tempUnit (Include bonuses))))) damage of attack type Spells and damage type Normal
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Remaining time for CastTimer[(Player number of (Owner of tempUnit))]) Less than 1.00
Then - Actions
Unit Group - Remove (tempUnit) from castGroup
Else - Actions
Custom script: call RemoveLocation(udg_tempPoint)
Custom script: call DestroyGroup(udg_tempGroup)