1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Dismiss Notice
  6. The Highway to Hell has been laid open. Come along and participate in the 5th Special Effect Contest.
    Dismiss Notice
  7. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

Resource - Clonestar.w3x
Variables
Initialization
How to Import
Settings
LevelUp
CreepType
SpawnUnit
Clonestar
Cast
Init
Loop
Illusion
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.

		
Name Type Is Array Initial Value
GroupStar group No
HashtableStar hashtable No
MapCreep string No
MapOranges group No
StarAttachment string No
StarCollision real No
StarDistance real No
StarDuration real No
StarEffects string No
StarInterval real No
StarModel string No
StarRadius real No
StarSize real No
StarSpeed real No
StarSplit integer No
StarTail string No
StarWeaken integer No
TempAbility abilcode No
TempGroupA group No
TempIntegerA integer No
TempIntegerB integer No
TempIntegerC integer No
TempPlayerA player No
TempPlayerB player No
TempPointA location No
TempPointB location No
TempPointC location No
TempRealA real No
TempRealB real No
TempRealC real No
TempRealD real No
TempString string No
TempUnitA unit No
TempUnitB unit No
TempUnitC unit No
TempUnitD unit No
TempUnitE unit No
TempUnitF unit No
=Clonestar=
by Kyousuke Imadori

How to Import:

If you don't have any DUMMY model, follow these steps:

1.) On this map, press the F12 or click the paper with the green arrow icon to open the Import Manager.
2.) Right-Click on the dummy.mdx file. Click the "Export File". Save it anywhere you want.
3.) Open the Object Editor ->Units, then go to Humans/Melee/Special. Copy the "Dummy" with the camera icon.
4.) Open your map.
5.) Again, open the Import Manager (on your map). Press Right-Click, then click the "Import File". Find and Open the "dummy.mdx" that you exported earlier.
6.) And again, Open the Object Editor ->Units, then press Ctrl+V.
7.) Save your map.

Next, copy the Abilities and Buff:

1.) Open the Object Editor ->Abilities then go to File ->Export Ability Settings. Name and save it anyway you want.
2.) Open your map.
3.) Go to Object Editor ->Abilities, then File ->Import Ability Settings. Import the one you saved earlier.
4.) Same goes for the Clonestar buff.
*Note: This will replace the current ability/buff data of your map. If you don't want that, just copy and paste the abilities and buff one-by-one.

And finally, the triggers:

1.) Go to File ->Preferences ->General then mark the "Automatically create unknown variables while pasting trigger data"
2.) On this map, copy the "Clonestar" folder.
3.) Open your map.
4.) Open the Trigger Editor then paste the "Clonestar" folder.
5.) You will see that some of the papers are red. That means something is wrong with the triggers. Click the red paper-icon and scroll it down.
6.) Double-Click the trigger with the red gear-icon then press "Ok".

* Note: If you have problem(s) with my ART, contact me at the HiveWorkshop.com and wait for 26 minutes... you will be shot in the head.
Settings
  Events
    Time - Elapsed game time is 0.00 seconds
  Conditions
  Actions
    -------- THIS PART IS NEEDED IN THE INITIALIZATION TRIGGER! --------
    Hashtable - Create a hashtable
    Set VariableSet HashtableStar = (Last created hashtable)
    -------- BELOW IS THE TESTMAP SETTINGS, YOU DON'T NEED IT! --------
    Game - Display to (All players) for 0.00 seconds the text: |cffffcc00Thanks for downloading! Please leave a comment and rate!|rRead the tooltips of the spells, there is the description of how to summon different types of units! When the map had become to tough because you've spawn a lot of enemy units, try placing a critter on the center then hit it with Clonestar. You should check it out, it's cool.And by the way, don't complain about the slowness, I will improve the spawning later... OR just create some units inside the map yourself.
    Set VariableSet MapOranges = (Units owned by Player 1 (Red) of type Orange)
    Visibility - Disable fog of war
    Visibility - Disable black mask
LevelUp
  Events
    Player - Player 1 (Red) skips a cinematic sequence
  Conditions
  Actions
    Set VariableSet TempIntegerA = 3
    Unit Group - Pick every unit in MapOranges and do (Actions)
      Loop - Actions
        Set VariableSet TempAbility = Clonestar
        Set VariableSet TempUnitA = (Picked unit)
        Set VariableSet TempIntegerB = ((Level of TempAbility for TempUnitA) + 1)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TempIntegerB Greater than TempIntegerA
          Then - Actions
            Unit - Set level of TempAbility for TempUnitA to 1
          Else - Actions
            Unit - Set level of TempAbility for TempUnitA to TempIntegerB
        Special Effect - Create a special effect attached to the origin (attachpoint) of TempUnitA using Abilities\Spells\Items\AIem\AIemTarget.mdl
        Special Effect - Destroy (Last created special effect)
CreepType
  Events
    Player - Player 1 (Red) types a chat message containing - (stringnoformat) as A substring
  Conditions
  Actions
    Set VariableSet TempString = (Entered chat string)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempString Not equal to -dummy
        TempString Not equal to -orange
      Then - Actions
        Set VariableSet MapCreep = (Substring(TempString, 2, (Length of TempString)))
        Cinematic - Clear the screen of text messages for (All players).
        Game - Display to (All players) for 0.00 seconds the text: ((|cffffcc00Summoning Type = + MapCreep) + |r.)
      Else - Actions
        Cinematic - Clear the screen of text messages for (All players).
        Game - Display to (All players) for 0.00 seconds the text: |cffffcc00Bam! New Orange!|r
        Set VariableSet TempPointA = (Center of (Playable map area))
        Unit - Create 1.Orange for Player 1 (Red) at TempPointA facing Default building facing degrees
        Unit Group - Add (Last created unit) to MapOranges
        Special Effect - Create a special effect at TempPointA using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Custom script: call RemoveLocation ( udg_TempPointA )
SpawnUnit
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
  Actions
    Set VariableSet TempAbility = (Ability being cast)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            TempAbility Equal to Spawn Ally
            TempAbility Equal to Spawn Creep
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TempAbility Equal to Spawn Ally
          Then - Actions
            Set VariableSet TempPlayerA = Player 1 (Red)
          Else - Actions
            Set VariableSet TempPlayerA = Player 2 (Blue)
        Set VariableSet TempUnitA = No unit
        Set VariableSet TempPointA = (Target point of ability being cast)
        Unit - Create 1.(Unit-type(MapCreep)) for TempPlayerA at TempPointA facing (Random angle) degrees
        Set VariableSet TempUnitA = (Last created unit)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TempUnitA Equal to No unit
          Then - Actions
            Cinematic - Clear the screen of text messages for (All players).
            Game - Display to (All players) for 0.00 seconds the text: |cffff0000FAIL! Here's a sheep for yah!|r
            Special Effect - Create a special effect at TempPointA using Abilities\Spells\Human\Polymorph\PolyMorphFallingSheepArt.mdl
          Else - Actions
            Special Effect - Create a special effect at TempPointA using Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Custom script: call RemoveLocation ( udg_TempPointA )
      Else - Actions
Star
0 = caster
1 = angle
2 = model of the projectile
3 = tail effects
4 = tail interval
5 = speed
6 = max distance
7 = collision
8 = hit effects
9 = hit attachment
10 = split count
11 = weakening
12 = radius
13 = duration
Cast
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Clonestar
  Actions
    Set VariableSet TempUnitA = (Triggering unit)
    Set VariableSet TempPlayerA = (Triggering player)
    Set VariableSet TempPointA = (Position of TempUnitA)
    Set VariableSet TempPointB = (Target point of ability being cast)
    Set VariableSet TempRealA = (Angle from TempPointA to TempPointB)
    Set VariableSet TempRealB = (Real((Level of (Ability being cast) for TempUnitA)))
    -------- --------
    Set VariableSet StarSize = 0.00
    Set VariableSet StarModel = Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
    Set VariableSet StarTail = Abilities\Weapons\FaerieDragonMissile\FaerieDragonMissile.mdl
    Set VariableSet StarInterval = 0.03
    Set VariableSet StarSpeed = 60.00
    Set VariableSet StarDistance = (800.00 + (200.00 x TempRealB))
    Set VariableSet StarCollision = 60.00
    Set VariableSet StarEffects = Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
    Set VariableSet StarAttachment = chest
    Set VariableSet StarSplit = 5
    Set VariableSet StarWeaken = 2
    Set VariableSet StarRadius = 360.00
    Set VariableSet StarDuration = (7.00 x TempRealB)
    -------- --------
    Trigger - Run Init <gen> (checking conditions)
Star
0 = caster
1 = angle
2 = model of the projectile
3 = tail effects
4 = tail interval
5 = speed
6 = max distance
7 = collision
8 = hit effects
9 = hit attachment
10 = split count
11 = weakening
12 = radius
13 = duration
Init
  Events
  Conditions
  Actions
    Unit - Create 1.Dummy for TempPlayerA at TempPointA facing TempRealA degrees
    Set VariableSet TempUnitB = (Last created unit)
    Unit Group - Add TempUnitB to GroupStar
    Animation - Change TempUnitB flying height to 50.00 at 0.00
    Animation - Change TempUnitB's size to (StarSize%, 0.00%, 0.00%) of its original size
    Special Effect - Create a special effect attached to the origin (attachpoint) of TempUnitB using StarModel
    Custom script: set udg_TempRealB = ( udg_TempRealA * bj_DEGTORAD )
    Custom script: call SetUnitX( udg_TempUnitB, GetUnitX( udg_TempUnitA ) + 50 * Cos( udg_TempRealB))
    Custom script: call SetUnitY( udg_TempUnitB, GetUnitY( udg_TempUnitA ) + 50 * Sin( udg_TempRealB))
    Custom script: call RemoveLocation ( udg_TempPointA )
    Custom script: call RemoveLocation ( udg_TempPointB )
    -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
    Custom script: set udg_TempIntegerA = GetHandleId( udg_TempUnitB )
    Hashtable - Save Handle OfTempUnitA as 0 of TempIntegerA in HashtableStar.
    Hashtable - Save TempRealA as 1 of TempIntegerA in HashtableStar.
    Hashtable - Save Handle Of(Last created special effect) as 2 of TempIntegerA in HashtableStar.
    Hashtable - Save StarTail as 3 of TempIntegerA in HashtableStar.
    Hashtable - Save StarInterval as 4 of TempIntegerA in HashtableStar.
    Hashtable - Save StarSpeed as 5 of TempIntegerA in HashtableStar.
    Hashtable - Save StarDistance as 6 of TempIntegerA in HashtableStar.
    Hashtable - Save StarCollision as 7 of TempIntegerA in HashtableStar.
    Hashtable - Save StarEffects as 8 of TempIntegerA in HashtableStar.
    Hashtable - Save StarAttachment as 9 of TempIntegerA in HashtableStar.
    Hashtable - Save StarSplit as 10 of TempIntegerA in HashtableStar.
    Hashtable - Save StarWeaken as 11 of TempIntegerA in HashtableStar.
    Hashtable - Save StarRadius as 12 of TempIntegerA in HashtableStar.
    Hashtable - Save StarDuration as 13 of TempIntegerA in HashtableStar.
    -------- --------
    Hashtable - Save StarSize as -1 of TempIntegerA in HashtableStar.
    Hashtable - Save StarModel as -2 of TempIntegerA in HashtableStar.
    -------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Loop <gen> is on) Equal to False
      Then - Actions
        Trigger - Turn on Loop <gen>
      Else - Actions
Star
0 = caster
1 = angle
2 = model of the projectile
3 = tail effects
4 = tail interval
5 = speed
6 = max distance
7 = collision
8 = hit effects
9 = hit attachment
10 = split count
11 = weakening
12 = radius
13 = duration
Loop
  Events
    Time - Every 0.03 seconds of game time
  Conditions
  Actions
    Unit Group - Pick every unit in GroupStar and do (Actions)
      Loop - Actions
        Set VariableSet TempUnitA = (Picked unit)
        Custom script: set udg_TempIntegerA = GetHandleId( udg_TempUnitA )
        Set VariableSet TempUnitB = (Load 0 of TempIntegerA in HashtableStar.)
        Set VariableSet TempPlayerA = (Owner of TempUnitB)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (3 is stored as a String of TempIntegerA in HashtableStar..) Equal to True
          Then - Actions
            Set VariableSet StarSize = (Load -1 of TempIntegerA from HashtableStar.)
            Set VariableSet StarModel = (Load -2 of TempIntegerA from HashtableStar.)
            Set VariableSet StarTail = (Load 3 of TempIntegerA from HashtableStar.)
            Set VariableSet StarInterval = (Load 4 of TempIntegerA from HashtableStar.)
            Set VariableSet StarSpeed = (Load 5 of TempIntegerA from HashtableStar.)
            Set VariableSet StarDistance = (Load 6 of TempIntegerA from HashtableStar.)
            Set VariableSet StarCollision = (Load 7 of TempIntegerA from HashtableStar.)
            Set VariableSet StarEffects = (Load 8 of TempIntegerA from HashtableStar.)
            Set VariableSet StarAttachment = (Load 9 of TempIntegerA from HashtableStar.)
            Set VariableSet StarSplit = (Load 10 of TempIntegerA from HashtableStar.)
            Set VariableSet StarWeaken = (Load 11 of TempIntegerA from HashtableStar.)
            Set VariableSet StarRadius = (Load 12 of TempIntegerA from HashtableStar.)
            Set VariableSet StarDuration = (Load 13 of TempIntegerA from HashtableStar.)
            -------- --------
            Set VariableSet TempRealA = (Load 1 of TempIntegerA from HashtableStar.)
            Set VariableSet TempRealB = ((Load -6 of TempIntegerA from HashtableStar.) + StarSpeed)
            Custom script: set udg_TempRealC = ( udg_TempRealA * bj_DEGTORAD )
            Custom script: call SetUnitX( udg_TempUnitA, GetUnitX( udg_TempUnitA ) + udg_StarSpeed * Cos( udg_TempRealC))
            Custom script: call SetUnitY( udg_TempUnitA, GetUnitY( udg_TempUnitA ) + udg_StarSpeed * Sin( udg_TempRealC))
            Set VariableSet TempPointA = (Position of TempUnitA)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempRealB Less than StarDistance
                (Terrain pathing at TempPointA of type Walkability is off) Equal to False
              Then - Actions
                Hashtable - Save TempRealB as -6 of TempIntegerA in HashtableStar.
                Set VariableSet TempRealB = ((Load -4 of TempIntegerA from HashtableStar.) + 0.03)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    TempRealB Greater than or equal to StarInterval
                  Then - Actions
                    Hashtable - Save 0.00 as -4 of TempIntegerA in HashtableStar.
                    Special Effect - Create a special effect at TempPointA using StarTail
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                    Hashtable - Save TempRealB as -4 of TempIntegerA in HashtableStar.
                Set VariableSet TempGroupA = (Units within StarCollision of TempPointA matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is A ground unit) Equal to True)) and (((Matching unit) is A structure) Equal to False)).)
                Unit Group - Pick every unit in (Random 1 units from TempGroupA) and do (Actions)
                  Loop - Actions
                    Set VariableSet TempUnitC = (Load -3 of TempIntegerA in HashtableStar.)
                    Set VariableSet TempUnitD = (Picked unit)
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        TempUnitD Not equal to TempUnitC
                        (TempUnitD is an illusion) Equal to False
                        (TempUnitD is Magic Immune) Equal to False
                        (Unit-type of TempUnitD) Not equal to (Unit-type of TempUnitC)
                      Then - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          If - Conditions
                            TempUnitC Equal to No unit
                          Then - Actions
                            Set VariableSet TempUnitC = TempUnitD
                            Hashtable - Save Handle OfTempUnitC as -3 of TempIntegerA in HashtableStar.
                            Special Effect - Create a special effect attached to the StarAttachment of TempUnitC using StarEffects
                          Else - Actions
                            Set VariableSet TempPlayerB = (Owner of TempUnitD)
                            Unit - Create 1.Dummy for TempPlayerB at TempPointA facing Default building facing degrees
                            Set VariableSet TempUnitE = (Last created unit)
                            Custom script: call SetUnitX( udg_TempUnitE, GetUnitX( udg_TempUnitC ))
                            Custom script: call SetUnitY( udg_TempUnitE, GetUnitY( udg_TempUnitC ))
                            Unit - Add clonestar to TempUnitE
                            Custom script: call IssueTargetOrderById(udg_TempUnitE, 852274, udg_TempUnitC)
                            Custom script: call SetUnitX( udg_TempUnitF, GetUnitX( udg_TempUnitD ))
                            Custom script: call SetUnitY( udg_TempUnitF, GetUnitY( udg_TempUnitD ))
                            Special Effect - Create a special effect attached to the StarAttachment of TempUnitF using StarEffects
                            Unit - Set life of TempUnitF to (Percentage life of TempUnitD)%
                            Unit - Remove TempUnitE from the game
                            -------- --------
                            Unit - Hide TempUnitD
                            Unit - Pause TempUnitD
                            For each (Integer TempIntegerB) from 1 to 12, do (Actions)
                              Loop - Actions
                                Set VariableSet TempPlayerB = (Player(TempIntegerB))
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  If - Conditions
                                    (TempUnitD is selected by TempPlayerB.) Equal to True
                                  Then - Actions
                                    Selection - Add TempUnitF to selection for TempPlayerB
                                  Else - Actions
                            Custom script: set udg_TempIntegerB = GetHandleId( udg_TempUnitD )
                            Hashtable - Save Handle OfTempUnitF as 0 of TempIntegerB in HashtableStar.
                            Hashtable - Save StarDuration as 1 of TempIntegerB in HashtableStar.
                            Unit Group - Add TempUnitD to GroupStar
                        Hashtable - Save StarDistance as -6 of TempIntegerA in HashtableStar.
                        Special Effect - Destroy (Last created special effect)
                        -------- --------
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          If - Conditions
                            StarSplit Greater than 0
                          Then - Actions
                            For each (Integer TempIntegerB) from 1 to StarSplit, do (Actions)
                              Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  If - Conditions
                                    StarSplit Greater than 1
                                  Then - Actions
                                    Set VariableSet TempRealB = ((StarRadius / (Real(StarSplit))) x (Real(TempIntegerB)))
                                    Set VariableSet TempRealB = ((TempRealA + TempRealB) - (StarRadius / 1.66))
                                  Else - Actions
                                    Set VariableSet TempRealB = TempRealA
                                Unit - Create 1.Dummy for TempPlayerA at TempPointA facing TempRealB degrees
                                Set VariableSet TempUnitE = (Last created unit)
                                Unit Group - Add TempUnitE to GroupStar
                                Animation - Change TempUnitE flying height to 50.00 at 0.00
                                Animation - Change TempUnitE's size to (StarSize%, 0.00%, 0.00%) of its original size
                                Special Effect - Create a special effect attached to the origin (attachpoint) of TempUnitE using StarModel
                                Custom script: call SetUnitX( udg_TempUnitE, GetUnitX( udg_TempUnitA ))
                                Custom script: call SetUnitY( udg_TempUnitE, GetUnitY( udg_TempUnitA ))
                                -------- --------
                                Custom script: set udg_TempIntegerC = GetHandleId( udg_TempUnitE )
                                Hashtable - Save Handle OfTempUnitB as 0 of TempIntegerC in HashtableStar.
                                Hashtable - Save TempRealB as 1 of TempIntegerC in HashtableStar.
                                Hashtable - Save Handle Of(Last created special effect) as 2 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarTail as 3 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarInterval as 4 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarSpeed as 5 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarDistance as 6 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarCollision as 7 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarEffects as 8 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarAttachment as 9 of TempIntegerC in HashtableStar.
                                Hashtable - Save (StarSplit - StarWeaken) as 10 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarWeaken as 11 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarRadius as 12 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarDuration as 13 of TempIntegerC in HashtableStar.
                                -------- --------
                                Hashtable - Save StarSize as -1 of TempIntegerC in HashtableStar.
                                Hashtable - Save StarModel as -2 of TempIntegerC in HashtableStar.
                                Hashtable - Save Handle OfTempUnitC as -3 of TempIntegerC in HashtableStar.
                          Else - Actions
                      Else - Actions
                Custom script: call DestroyGroup ( udg_TempGroupA )
              Else - Actions
                Special Effect - Destroy (Load 2 of TempIntegerA in HashtableStar.)
                Unit - Remove TempUnitA from the game
                Unit Group - Remove TempUnitA from GroupStar.
                Hashtable - Clear all child hashtables of child TempIntegerA in HashtableStar.
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Number of units in GroupStar) Equal to 0
                  Then - Actions
                    Trigger - Turn off (This trigger)
                  Else - Actions
            Custom script: call RemoveLocation ( udg_TempPointA )
          Else - Actions
            Set VariableSet TempRealA = ((Load 1 of TempIntegerA from HashtableStar.) - 0.03)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempRealA Greater than 0.00
                (TempUnitB is alive) Equal to True
              Then - Actions
                Unit - Make TempUnitA face (Facing of TempUnitB) over 0.00 seconds
                Custom script: call SetUnitX( udg_TempUnitA, GetUnitX( udg_TempUnitB ))
                Custom script: call SetUnitY( udg_TempUnitA, GetUnitY( udg_TempUnitB ))
                Hashtable - Save TempRealA as 1 of TempIntegerA in HashtableStar.
              Else - Actions
                Unit - Unhide TempUnitA
                Unit - Unpause TempUnitA
                Unit - Set life of TempUnitA to (Percentage life of TempUnitB)%
                Unit - Kill TempUnitB
                Custom script: call SetUnitX( udg_TempUnitA, GetUnitX( udg_TempUnitB ))
                Custom script: call SetUnitY( udg_TempUnitA, GetUnitY( udg_TempUnitB ))
                For each (Integer TempIntegerB) from 1 to 12, do (Actions)
                  Loop - Actions
                    Set VariableSet TempPlayerB = (Player(TempIntegerB))
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        (TempUnitB is selected by TempPlayerB.) Equal to True
                      Then - Actions
                        Selection - Add TempUnitA to selection for TempPlayerB
                      Else - Actions
                -------- --------
                Unit Group - Remove TempUnitA from GroupStar.
                Hashtable - Clear all child hashtables of child TempIntegerA in HashtableStar.
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Number of units in GroupStar) Equal to 0
                  Then - Actions
                    Trigger - Turn off (This trigger)
                  Else - Actions
Illusion
  Events
    Unit - A unit Spawns a summoned unit
  Conditions
    ((Summoned unit) has buff Illusion) Equal to True
  Actions
    Set VariableSet TempUnitF = (Summoned unit)
    Unit - Remove classification of Summoned from TempUnitF