Moderator
M
Moderator
09:42, 26th May 2011
-Kobas-:
Status: Approved
-Kobas-:
Status: Approved
PortalLoop

Events


Time - Every 0.06 seconds of game time

Conditions

Actions


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



Loop - Actions




Set TempPoint = (Position of (Picked unit))




Set TempPoint2 = (Position of (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable))




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






(Distance between TempPoint and TempPoint2) Greater than 1.00





Then - Actions






Set PortalAble = True






Set PortalIsOnYourPortal = False






For each (Integer A) from 1 to 18, do (Actions)







Loop - Actions








Set TempPoint3 = (TempPoint offset by 40.00 towards (20.00 x (Real((Integer A)))) degrees)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










Or - Any (Conditions) are true











Conditions












(Terrain type at TempPoint3) Not equal to Cityscape - White Marble









Then - Actions










Set PortalAble = False









Else - Actions








Custom script: call RemoveLocation(udg_TempPoint3)






For each (Integer B) from 1 to 4, do (Actions)







Loop - Actions








Set TempPoint4 = (Position of OrangePortal[(Integer B)])








Set TempPoint5 = (Position of BluePortal[(Integer B)])








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










Or - Any (Conditions) are true











Conditions












(Distance between TempPoint and TempPoint4) Less than 175.00












(Distance between TempPoint and TempPoint5) Less than 175.00









Then - Actions










Set PortalAble = False










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












(Integer B) Equal to (Player number of (Owner of (Picked unit)))











Then - Actions












Set PortalIsOnYourPortal = True











Else - Actions









Else - Actions








Custom script: call RemoveLocation(udg_TempPoint4)








Custom script: call RemoveLocation(udg_TempPoint5)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








PortalAble Equal to True







Then - Actions








Custom script: call RemoveLocation(udg_TempPoint)








Custom script: call RemoveLocation(udg_TempPoint2)








Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game








Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = True








Set TempPoint = (Position of (Picked unit))








Special Effect - Create a special effect at TempPoint using Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl








Special Effect - Destroy (Last created special effect)








Special Effect - Create a special effect at TempPoint using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl








Special Effect - Destroy (Last created special effect)








Unit - Create 1 Portal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees








Unit - Hide (Last created unit)








Custom script: call UnitRemoveAbility( GetLastCreatedUnit(),'Aloc')








Unit - Unhide (Last created unit)








Unit - Set the custom value of (Last created unit) to 1








Trigger - Add to PortalEnterBlue[(Player number of (Owner of (Picked unit)))] the event (Unit - A unit comes within 50.00 of (Last created unit))








Set BluePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)








Set PortallingPlayer = (Player number of (Owner of (Picked unit)))








Trigger - Run Portal Text <gen> (ignoring conditions)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










OrangePortalActive[(Player number of (Owner of (Picked unit)))] Equal to True









Then - Actions










Animation - Change (Last created unit)'s vertex coloring to (10.00%, 10.00%, 100.00%) with 0.00% transparency










Animation - Change OrangePortal[(Player number of (Owner of (Picked unit)))]'s vertex coloring to (100.00%, 40.00%, 0.00%) with 0.00% transparency









Else - Actions










Animation - Change (Last created unit)'s vertex coloring to (10.00%, 10.00%, 100.00%) with 66.00% transparency








Custom script: call RemoveLocation(udg_TempPoint)








Unit - Add Blue Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]








Set PortallingPlayer = (Player number of (Owner of (Picked unit)))








Unit Group - Remove (Picked unit) from BluePortalMissileGroup








Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable








Unit - Remove (Picked unit) from the game








Trigger - Run Portal Activation <gen> (ignoring conditions)







Else - Actions








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










PortalIsOnYourPortal Equal to False









Then - Actions










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Text <gen> (ignoring conditions)










Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = True










Set TempPoint = (Position of OrangePortal[(Player number of (Owner of (Picked unit)))])










Set TempGroup = (Units within 120.00 of TempPoint)










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











Loop - Actions












Hashtable - Save True as (Key justportaled) of (Key (Picked unit)) in PortalHashtable










Custom script: call DestroyGroup (udg_TempGroup)










Custom script: call RemoveLocation(udg_TempPoint)










Set TempPoint = (Position of (Picked unit))










Set TempGroup = (Units within 120.00 of TempPoint)










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











Loop - Actions












Hashtable - Save False as (Key justportaled) of (Key (Picked unit)) in PortalHashtable










Custom script: call DestroyGroup (udg_TempGroup)










Unit - Create 1 FakePortal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees










Set FakePortal = (Last created unit)










Custom script: call RemoveLocation(udg_TempPoint)










Set BluePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Activation <gen> (ignoring conditions)










Set TempPoint = (Position of (Picked unit))










Unit - Remove FakePortal from the game










Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = False










Unit - Add Blue Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]










Special Effect - Create a special effect at TempPoint using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl










Special Effect - Destroy (Last created special effect)










Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game










Unit Group - Remove (Picked unit) from BluePortalMissileGroup










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable










Unit - Remove (Picked unit) from the game










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)









Else - Actions










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Text <gen> (ignoring conditions)










Unit - Add Blue Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]










Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = False










Special Effect - Create a special effect at TempPoint using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl










Special Effect - Destroy (Last created special effect)










Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game










Unit Group - Remove (Picked unit) from BluePortalMissileGroup










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable










Unit - Remove (Picked unit) from the game










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)





Else - Actions






Custom script: call RemoveLocation(udg_TempPoint)






Custom script: call RemoveLocation(udg_TempPoint2)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








(Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) Greater than 0.00







Then - Actions








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










(Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) Less than 50.00









Then - Actions










Set TempPoint = (Position of (Picked unit))










Set TempPoint2 = (TempPoint offset by (Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) towards (Facing of (Picked unit)) degrees)










Unit - Move (Picked unit) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)










Set TempPoint = (Position of (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable))










Set TempPoint2 = (TempPoint offset by (Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) towards (Facing of (Picked unit)) degrees)










Unit - Move (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)









Else - Actions










Set TempPoint = (Position of (Picked unit))










Set TempPoint2 = (TempPoint offset by 50.00 towards (Facing of (Picked unit)) degrees)










Unit - Move (Picked unit) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)










Set TempPoint = (Position of (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable))










Set TempPoint2 = (TempPoint offset by 50.00 towards (Facing of (Picked unit)) degrees)










Unit - Move (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)







Else - Actions








Set TempPoint = (Position of (Picked unit))








Set PortalAble = True








Set PortalIsOnYourPortal = False








For each (Integer A) from 1 to 18, do (Actions)









Loop - Actions










Set TempPoint3 = (TempPoint offset by 40.00 towards (20.00 x (Real((Integer A)))) degrees)










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












Or - Any (Conditions) are true













Conditions














(Terrain type at TempPoint3) Not equal to Cityscape - White Marble











Then - Actions












Set PortalAble = False











Else - Actions










Custom script: call RemoveLocation(udg_TempPoint3)








For each (Integer B) from 1 to 4, do (Actions)









Loop - Actions










Set TempPoint4 = (Position of OrangePortal[(Integer B)])










Set TempPoint5 = (Position of BluePortal[(Integer B)])










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












Or - Any (Conditions) are true













Conditions














(Distance between TempPoint and TempPoint4) Less than 175.00














(Distance between TempPoint and TempPoint5) Less than 175.00











Then - Actions












Set PortalAble = False












If (All Conditions are True) then do (Then Actions) else do (Else Actions)













If - Conditions














(Integer B) Equal to (Player number of (Owner of (Picked unit)))













Then - Actions














Set PortalIsOnYourPortal = True













Else - Actions











Else - Actions










Custom script: call RemoveLocation(udg_TempPoint4)










Custom script: call RemoveLocation(udg_TempPoint5)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










PortalAble Equal to True









Then - Actions










Custom script: call RemoveLocation(udg_TempPoint)










Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game










Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = True










Set TempPoint = (Position of (Picked unit))










Special Effect - Create a special effect at TempPoint using Abilities\Spells\Undead\ReplenishMana\ReplenishManaCasterOverhead.mdl










Special Effect - Destroy (Last created special effect)










Special Effect - Create a special effect at TempPoint using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl










Special Effect - Destroy (Last created special effect)










Unit - Create 1 Portal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees










Unit - Hide (Last created unit)










Custom script: call UnitRemoveAbility( GetLastCreatedUnit(),'Aloc')










Unit - Unhide (Last created unit)










Unit - Set the custom value of (Last created unit) to 1










Set BluePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Text <gen> (ignoring conditions)










Trigger - Add to PortalEnterBlue[(Player number of (Owner of (Picked unit)))] the event (Unit - A unit comes within 50.00 of (Last created unit))










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












OrangePortalActive[(Player number of (Owner of (Picked unit)))] Equal to True











Then - Actions












Animation - Change (Last created unit)'s vertex coloring to (10.00%, 10.00%, 100.00%) with 0.00% transparency












Animation - Change OrangePortal[(Player number of (Owner of (Picked unit)))]'s vertex coloring to (100.00%, 40.00%, 0.00%) with 0.00% transparency











Else - Actions












Animation - Change (Last created unit)'s vertex coloring to (10.00%, 10.00%, 100.00%) with 66.00% transparency










Custom script: call RemoveLocation(udg_TempPoint)










Unit - Add Blue Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Unit Group - Remove (Picked unit) from BluePortalMissileGroup










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable










Unit - Remove (Picked unit) from the game










Trigger - Run Portal Activation <gen> (ignoring conditions)









Else - Actions










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












PortalIsOnYourPortal Equal to False











Then - Actions












Custom script: call RemoveLocation(udg_TempPoint)












Set PortallingPlayer = (Player number of (Owner of (Picked unit)))












Trigger - Run Portal Text <gen> (ignoring conditions)












Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = True












Set TempPoint = (Position of OrangePortal[(Player number of (Owner of (Picked unit)))])












Set TempGroup = (Units within 120.00 of TempPoint)












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













Loop - Actions














Hashtable - Save True as (Key justportaled) of (Key (Picked unit)) in PortalHashtable












Custom script: call DestroyGroup (udg_TempGroup)












Custom script: call RemoveLocation(udg_TempPoint)












Set TempPoint = (Position of (Picked unit))












Set TempGroup = (Units within 120.00 of TempPoint)












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













Loop - Actions














Hashtable - Save False as (Key justportaled) of (Key (Picked unit)) in PortalHashtable












Custom script: call DestroyGroup (udg_TempGroup)












Unit - Create 1 FakePortal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees












Set FakePortal = (Last created unit)












Custom script: call RemoveLocation(udg_TempPoint)












Set BluePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)












Set PortallingPlayer = (Player number of (Owner of (Picked unit)))












Trigger - Run Portal Activation <gen> (ignoring conditions)












Set TempPoint = (Position of (Picked unit))












Unit - Remove FakePortal from the game












Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = False












Unit - Add Blue Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]












Set TempPoint = (Position of (Picked unit))












Special Effect - Create a special effect at TempPoint using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl












Special Effect - Destroy (Last created special effect)












Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game












Unit Group - Remove (Picked unit) from BluePortalMissileGroup












Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable












Unit - Remove (Picked unit) from the game












Custom script: call RemoveLocation(udg_TempPoint)











Else - Actions












Set PortallingPlayer = (Player number of (Owner of (Picked unit)))












Trigger - Run Portal Text <gen> (ignoring conditions)












Unit - Add Blue Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]












Set BluePortalActive[(Player number of (Owner of (Picked unit)))] = False












Special Effect - Create a special effect at TempPoint using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl












Special Effect - Destroy (Last created special effect)












Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game












Unit Group - Remove (Picked unit) from BluePortalMissileGroup












Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable












Unit - Remove (Picked unit) from the game












Custom script: call RemoveLocation(udg_TempPoint)












Custom script: call RemoveLocation(udg_TempPoint2)






Hashtable - Save ((Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) - 50.00) as (Key blueportaldistance) of (Key (Picked unit)) in PortalHashtable


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



Loop - Actions




Set TempPoint = (Position of (Picked unit))




Set TempPoint2 = (Position of (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable))




If (All Conditions are True) then do (Then Actions) else do (Else Actions)





If - Conditions






(Distance between TempPoint and TempPoint2) Greater than 1.00





Then - Actions






Set PortalAble = True






Set PortalIsOnYourPortal = False






For each (Integer A) from 1 to 18, do (Actions)







Loop - Actions








Set TempPoint3 = (TempPoint offset by 40.00 towards (20.00 x (Real((Integer A)))) degrees)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










Or - Any (Conditions) are true











Conditions












(Terrain type at TempPoint3) Not equal to Cityscape - White Marble









Then - Actions










Set PortalAble = False









Else - Actions








Custom script: call RemoveLocation(udg_TempPoint3)






For each (Integer B) from 1 to 4, do (Actions)







Loop - Actions








Set TempPoint4 = (Position of OrangePortal[(Integer B)])








Set TempPoint5 = (Position of BluePortal[(Integer B)])








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










Or - Any (Conditions) are true











Conditions












(Distance between TempPoint and TempPoint4) Less than 175.00












(Distance between TempPoint and TempPoint5) Less than 175.00









Then - Actions










Set PortalAble = False










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












(Integer B) Equal to (Player number of (Owner of (Picked unit)))











Then - Actions












Set PortalIsOnYourPortal = True











Else - Actions









Else - Actions








Custom script: call RemoveLocation(udg_TempPoint4)








Custom script: call RemoveLocation(udg_TempPoint5)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








PortalAble Equal to True







Then - Actions








Custom script: call RemoveLocation(udg_TempPoint)








Custom script: call RemoveLocation(udg_TempPoint2)








Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game








Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = True








Set TempPoint = (Position of (Picked unit))








Special Effect - Create a special effect at TempPoint using Abilities\Spells\Undead\ReplenishHealth\ReplenishHealthCasterOverhead.mdl








Special Effect - Destroy (Last created special effect)








Special Effect - Create a special effect at TempPoint using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl








Special Effect - Destroy (Last created special effect)








Unit - Create 1 Portal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees








Unit - Hide (Last created unit)








Custom script: call UnitRemoveAbility( GetLastCreatedUnit(),'Aloc')








Unit - Unhide (Last created unit)








Unit - Set the custom value of (Last created unit) to 2








Set OrangePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)








Set PortallingPlayer = (Player number of (Owner of (Picked unit)))








Trigger - Run Portal Text <gen> (ignoring conditions)








Trigger - Add to PortalEnterOrange[(Player number of (Owner of (Picked unit)))] the event (Unit - A unit comes within 50.00 of (Last created unit))








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










BluePortalActive[(Player number of (Owner of (Picked unit)))] Equal to True









Then - Actions










Animation - Change BluePortal[(Player number of (Owner of (Picked unit)))]'s vertex coloring to (10.00%, 10.00%, 100.00%) with 0.00% transparency










Animation - Change (Last created unit)'s vertex coloring to (100.00%, 40.00%, 0.00%) with 0.00% transparency









Else - Actions










Animation - Change (Last created unit)'s vertex coloring to (100.00%, 40.00%, 0.00%) with 66.00% transparency








Custom script: call RemoveLocation(udg_TempPoint)








Unit - Add Orange Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]








Set PortallingPlayer = (Player number of (Owner of (Picked unit)))








Unit Group - Remove (Picked unit) from OrangePortalMissileGroup








Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable








Unit - Remove (Picked unit) from the game








Trigger - Run Portal Activation <gen> (ignoring conditions)







Else - Actions








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










PortalIsOnYourPortal Equal to False









Then - Actions










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Text <gen> (ignoring conditions)










Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = True










Set TempPoint = (Position of BluePortal[(Player number of (Owner of (Picked unit)))])










Set TempGroup = (Units within 120.00 of TempPoint)










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











Loop - Actions












Hashtable - Save True as (Key justportaled) of (Key (Picked unit)) in PortalHashtable










Custom script: call DestroyGroup (udg_TempGroup)










Custom script: call RemoveLocation(udg_TempPoint)










Set TempPoint = (Position of (Picked unit))










Set TempGroup = (Units within 120.00 of TempPoint)










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











Loop - Actions












Hashtable - Save False as (Key justportaled) of (Key (Picked unit)) in PortalHashtable










Custom script: call DestroyGroup (udg_TempGroup)










Unit - Create 1 FakePortal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees










Set FakePortal = (Last created unit)










Custom script: call RemoveLocation(udg_TempPoint)










Set OrangePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Activation <gen> (ignoring conditions)










Set TempPoint = (Position of (Picked unit))










Unit - Remove FakePortal from the game










Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = False










Unit - Add Orange Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]










Special Effect - Create a special effect at TempPoint using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl










Special Effect - Destroy (Last created special effect)










Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game










Unit Group - Remove (Picked unit) from OrangePortalMissileGroup










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable










Unit - Remove (Picked unit) from the game










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)









Else - Actions










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Text <gen> (ignoring conditions)










Unit - Add Orange Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]










Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = False










Special Effect - Create a special effect at TempPoint using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl










Special Effect - Destroy (Last created special effect)










Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game










Unit Group - Remove (Picked unit) from OrangePortalMissileGroup










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable










Unit - Remove (Picked unit) from the game










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)





Else - Actions






Custom script: call RemoveLocation(udg_TempPoint)






Custom script: call RemoveLocation(udg_TempPoint2)






If (All Conditions are True) then do (Then Actions) else do (Else Actions)







If - Conditions








(Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) Greater than 0.00







Then - Actions








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










(Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) Less than 50.00









Then - Actions










Set TempPoint = (Position of (Picked unit))










Set TempPoint2 = (TempPoint offset by (Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) towards (Facing of (Picked unit)) degrees)










Unit - Move (Picked unit) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)










Set TempPoint = (Position of (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable))










Set TempPoint2 = (TempPoint offset by (Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) towards (Facing of (Picked unit)) degrees)










Unit - Move (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)









Else - Actions










Set TempPoint = (Position of (Picked unit))










Set TempPoint2 = (TempPoint offset by 50.00 towards (Facing of (Picked unit)) degrees)










Unit - Move (Picked unit) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)










Set TempPoint = (Position of (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable))










Set TempPoint2 = (TempPoint offset by 50.00 towards (Facing of (Picked unit)) degrees)










Unit - Move (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) instantly to TempPoint2










Custom script: call RemoveLocation(udg_TempPoint)










Custom script: call RemoveLocation(udg_TempPoint2)







Else - Actions








Set TempPoint = (Position of (Picked unit))








Set PortalAble = True








Set PortalIsOnYourPortal = False








For each (Integer A) from 1 to 18, do (Actions)









Loop - Actions










Set TempPoint3 = (TempPoint offset by 40.00 towards (20.00 x (Real((Integer A)))) degrees)










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












Or - Any (Conditions) are true













Conditions














(Terrain type at TempPoint3) Not equal to Cityscape - White Marble











Then - Actions












Set PortalAble = False











Else - Actions










Custom script: call RemoveLocation(udg_TempPoint3)








For each (Integer B) from 1 to 4, do (Actions)









Loop - Actions










Set TempPoint4 = (Position of OrangePortal[(Integer B)])










Set TempPoint5 = (Position of BluePortal[(Integer B)])










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












Or - Any (Conditions) are true













Conditions














(Distance between TempPoint and TempPoint4) Less than 175.00














(Distance between TempPoint and TempPoint5) Less than 175.00











Then - Actions












Set PortalAble = False












If (All Conditions are True) then do (Then Actions) else do (Else Actions)













If - Conditions














(Integer B) Equal to (Player number of (Owner of (Picked unit)))













Then - Actions














Set PortalIsOnYourPortal = True













Else - Actions











Else - Actions










Custom script: call RemoveLocation(udg_TempPoint4)










Custom script: call RemoveLocation(udg_TempPoint5)








If (All Conditions are True) then do (Then Actions) else do (Else Actions)









If - Conditions










PortalAble Equal to True









Then - Actions










Custom script: call RemoveLocation(udg_TempPoint)










Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game










Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = True










Set TempPoint = (Position of (Picked unit))










Special Effect - Create a special effect at TempPoint using Abilities\Spells\Undead\ReplenishHealth\ReplenishHealthCasterOverhead.mdl










Special Effect - Destroy (Last created special effect)










Special Effect - Create a special effect at TempPoint using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl










Special Effect - Destroy (Last created special effect)










Unit - Create 1 Portal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees










Unit - Hide (Last created unit)










Custom script: call UnitRemoveAbility( GetLastCreatedUnit(),'Aloc')










Unit - Unhide (Last created unit)










Unit - Set the custom value of (Last created unit) to 2










Set OrangePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Trigger - Run Portal Text <gen> (ignoring conditions)










Trigger - Add to PortalEnterOrange[(Player number of (Owner of (Picked unit)))] the event (Unit - A unit comes within 50.00 of (Last created unit))










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












BluePortalActive[(Player number of (Owner of (Picked unit)))] Equal to True











Then - Actions












Animation - Change BluePortal[(Player number of (Owner of (Picked unit)))]'s vertex coloring to (10.00%, 10.00%, 100.00%) with 0.00% transparency












Animation - Change (Last created unit)'s vertex coloring to (100.00%, 40.00%, 0.00%) with 0.00% transparency











Else - Actions












Animation - Change (Last created unit)'s vertex coloring to (100.00%, 40.00%, 0.00%) with 66.00% transparency










Custom script: call RemoveLocation(udg_TempPoint)










Unit - Add Orange Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]










Set PortallingPlayer = (Player number of (Owner of (Picked unit)))










Unit Group - Remove (Picked unit) from OrangePortalMissileGroup










Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable










Unit - Remove (Picked unit) from the game










Trigger - Run Portal Activation <gen> (ignoring conditions)









Else - Actions










If (All Conditions are True) then do (Then Actions) else do (Else Actions)











If - Conditions












PortalIsOnYourPortal Equal to False











Then - Actions












Custom script: call RemoveLocation(udg_TempPoint)












Set PortallingPlayer = (Player number of (Owner of (Picked unit)))












Trigger - Run Portal Text <gen> (ignoring conditions)












Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = True












Set TempPoint = (Position of BluePortal[(Player number of (Owner of (Picked unit)))])












Set TempGroup = (Units within 120.00 of TempPoint)












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













Loop - Actions














Hashtable - Save True as (Key justportaled) of (Key (Picked unit)) in PortalHashtable












Custom script: call DestroyGroup (udg_TempGroup)












Custom script: call RemoveLocation(udg_TempPoint)












Set TempPoint = (Position of (Picked unit))












Set TempGroup = (Units within 120.00 of TempPoint)












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













Loop - Actions














Hashtable - Save False as (Key justportaled) of (Key (Picked unit)) in PortalHashtable












Custom script: call DestroyGroup (udg_TempGroup)












Unit - Create 1 FakePortal for (Owner of (Picked unit)) at TempPoint facing Default building facing degrees












Set FakePortal = (Last created unit)












Custom script: call RemoveLocation(udg_TempPoint)












Set OrangePortal[(Player number of (Owner of (Picked unit)))] = (Last created unit)












Set PortallingPlayer = (Player number of (Owner of (Picked unit)))












Trigger - Run Portal Activation <gen> (ignoring conditions)












Set TempPoint = (Position of (Picked unit))












Unit - Remove FakePortal from the game












Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = False












Unit - Add Orange Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]












Set TempPoint = (Position of (Picked unit))












Special Effect - Create a special effect at TempPoint using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl












Special Effect - Destroy (Last created special effect)












Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game












Unit Group - Remove (Picked unit) from OrangePortalMissileGroup












Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable












Unit - Remove (Picked unit) from the game












Custom script: call RemoveLocation(udg_TempPoint)











Else - Actions












Set PortallingPlayer = (Player number of (Owner of (Picked unit)))












Trigger - Run Portal Text <gen> (ignoring conditions)












Unit - Add Orange Portal to PlayerHero[(Player number of (Owner of (Picked unit)))]












Set OrangePortalActive[(Player number of (Owner of (Picked unit)))] = False












Special Effect - Create a special effect at TempPoint using Abilities\Weapons\VengeanceMissile\VengeanceMissile.mdl












Special Effect - Destroy (Last created special effect)












Unit - Remove (Load (Key pathchecker) of (Key (Picked unit)) in PortalHashtable) from the game












Unit Group - Remove (Picked unit) from OrangePortalMissileGroup












Hashtable - Clear all child hashtables of child (Key (Picked unit)) in PortalHashtable












Unit - Remove (Picked unit) from the game












Custom script: call RemoveLocation(udg_TempPoint)












Custom script: call RemoveLocation(udg_TempPoint2)






Hashtable - Save ((Load (Key blueportaldistance) of (Key (Picked unit)) from PortalHashtable) - 50.00) as (Key blueportaldistance) of (Key (Picked unit)) in PortalHashtable


If (All Conditions are True) then do (Then Actions) else do (Else Actions)



If - Conditions




(Number of units in BluePortalMissileGroup) Equal to 0




(Number of units in OrangePortalMissileGroup) Equal to 0



Then - Actions




Trigger - Turn off (This trigger)



Else - Actions