Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
You are using an out of date browser. It may not display this or other websites correctly. You should upgrade or use an alternative browser.
Triggers
Time Diffusion 0.1.w3x
Variables
Prevent Reality
How to import
PR Start
PR Loop
PR End
Map
Ini
RestHPMANA
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.
//TESH.scrollpos=0
//TESH.alwaysfold=0
Name
Type
is_array
initial_value
PR_CastCount
integer
No
PR_Caster
unit
Yes
PR_Location
location
Yes
PR_LoopInteger
integer
No
PR_UnitGroup
group
Yes
PR_UnitTimer
unit
Yes
1.Copy triggers: PR Start, PR Loop, PR End into your map.
2.Copy units: PR_Caster with Time Diffusion (Slow) ability and PR_Effect.
3.Copy abilities: Time Diffusion ability and Time Diffusion (Slow) with Time Diffusion Buff.
4. Set buff in Time Diffusion (Slow) and give Time Diffusion (Slow) to PR_Caster.
5.
Change Condition in PR Start to
(Ability being cast) Equal to Time Diffusion
Change Action in PR Start to
Unit - Create 1 PR_Effect for (Owner of (Triggering unit)) at PR_Location[PR_CastCount] facing Default building facing (270.0) degrees
Change Action in PR End to
Unit - Create 1 PR_Caster for (Owner of PR_Caster[PR_LoopInteger]) at PR_Location[PR_LoopInteger] facing Default building facing (270.0) degrees
GIVE ME CREDIT IF YOU USE IT
PR Start
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Time Diffusion
Actions
Set Variable Set PR_CastCount = (PR_CastCount + 1)
Set Variable Set PR_Caster[PR_CastCount] = (Triggering unit)
Set Variable Set PR_Location[PR_CastCount] = (Target point of ability being cast)
Unit - Create 1 . PR_Effect for (Owner of (Triggering unit)) at PR_Location[PR_CastCount] facing Default building facing degrees
Unit - Add a (1.00 + (2.00 x (Real((Level of (Ability being cast) for (Triggering unit)))))) second Generic expiration timer to (Last created unit)
Animation - Change (Last created unit) 's animation speed to 0.00 % of its original speed
Set Variable Set PR_UnitTimer[PR_CastCount] = (Last created unit)
Set Variable Set PR_UnitGroup[PR_CastCount] = (Units within 280.00 of PR_Location[PR_CastCount] matching ((Matching unit) Not equal to (Triggering unit)).)
Unit Group - Pick every unit in PR_UnitGroup[PR_CastCount] and do (Actions)
Loop - Actions
Unit Group - Add (Picked unit) to PR_UnitGroup[PR_CastCount]
Unit - Pause (Picked unit)
Animation - Change (Picked unit) 's animation speed to 0.00 % of its original speed
Trigger - Turn on PR_Loop <gen>
PR Loop
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
For each (Integer PR_LoopInteger ) from 1 to PR_CastCount , do (Actions)
Loop - Actions
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick every unit in (Units within 280.00 of PR_Location[PR_LoopInteger] matching ((((Matching unit) is in PR_UnitGroup[PR_LoopInteger].) Equal to False) and ((Matching unit) Not equal to PR_Caster[PR_LoopInteger])).) and do (Actions)
Loop - Actions
Unit Group - Add (Picked unit) to PR_UnitGroup[PR_LoopInteger]
Unit - Pause (Picked unit)
Animation - Change (Picked unit) 's animation speed to 0.00 % of its original speed
PR End
Events
Unit - A unit Dies
Conditions
(Unit-type of (Triggering unit)) Equal to PR_Effect
Actions
For each (Integer PR_LoopInteger ) from 1 to PR_CastCount , do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Triggering unit) Equal to PR_UnitTimer[PR_LoopInteger]
Then - Actions
Unit - Remove PR_UnitTimer[PR_LoopInteger] from the game
Unit Group - Pick every unit in PR_UnitGroup[PR_LoopInteger] and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) belongs to an enemy of (Owner of PR_Caster[PR_LoopInteger]).) Equal to True
Then - Actions
Unit - Create 1 . PR_Caster for (Owner of PR_Caster[PR_LoopInteger]) at PR_Location[PR_LoopInteger] facing Default building facing degrees
Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Human Sorceress - Slow . (Picked unit)
Else - Actions
Unit - Unpause (Picked unit)
Animation - Change (Picked unit) 's animation speed to 100 % of its original speed
Animation - Reset (Picked unit) 's animation
Unit Group - Remove all units from PR_UnitGroup[PR_LoopInteger] .
Unit Group - Add all units of PR_UnitGroup[PR_CastCount] to PR_UnitGroup[PR_LoopInteger]
Unit Group - Remove all units from PR_UnitGroup[PR_CastCount] .
Set Variable Set PR_Location[PR_LoopInteger] = (Point((X of PR_Location[PR_CastCount]), (Y of PR_Location[PR_CastCount])))
Set Variable Set PR_Caster[PR_LoopInteger] = PR_Caster[PR_CastCount]
Set Variable Set PR_UnitTimer[PR_LoopInteger] = PR_UnitTimer[PR_CastCount]
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.