1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Find your way through the deepest dungeon in the 18th Mini Mapping Contest Poll.
    Dismiss Notice
  3. A brave new world lies beyond the seven seas. Join the 34th Modeling Contest today!
    Dismiss Notice
  4. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
Hive 3 Remoosed BETA - NOW LIVE. Go check it out at BETA Hive Workshop! Post your feedback in this new forum BETA Feedback.
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

Serapharic Star.w3x
Variables
Serapharic Star
Implementing
Creating the hashtable
Init
Loop
Death replace
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
Angle_setter real No
Currant_intstances integer No
Damage_unit unit No
Debug integer No
Degrees_set real No
Forceback_strength integer No 0
Gravity_unit unit No
Gravity_Unit_ID handle No
Intervals timer No
Returning_to_normal_fly_height group No
Sepharic_Star_Hashtable hashtable No
Sepharic_Star_Speed integer No
Target_Dummy unit No
Temp_Group group No
Temp_Group_2 group No
Temp_Point location No
Temp_Point_2 location No
Created by: Tank-Commander

Credits: none

Requested by: Nobody

Warning: This spell is very confusing and hard to understand for most people who use Gui, so it's important you follow the editing instructions. as it's very sencative and slightly editing mistakes will cause it to break.

This is a recreational spell of FF9's Kuja 'Seraphic Star' in the origional game he did not have this ability but later in ff dissisia this was one of the two hp attacks kuja started with.

All you actually need to do to get this spell into your map, is take the triggers, Dummies and the custom spell, nothing else unless you wish to edit the spells damage and such.

For Help on things you mustn't touch they are indicated with '*'s
Creating the hashtable
  Events
    Time - Elapsed game time is 0.00 seconds
  Conditions
  Actions
    -------- This is one trigger, you Just Dont mess with. --------
    -------- * --------
    Hashtable - Create a hashtable
    -------- * --------
    Set VariableSet Sepharic_Star_Hashtable = (Last created hashtable)
    -------- * --------
    Countdown Timer - Start Intervals as a Repeating timer that will expire in 0.03 seconds
Init
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Ability being cast) Equal to Ultimate Serapharic Star
      Then - Actions
        -------- * --------
        Set VariableSet Currant_intstances = (Currant_intstances + 1)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Triggering unit))
        -------- * --------
        -------- Change this to your dummy unit (missile) --------
        Unit - Create 1.Core for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_2) degrees
        -------- Set this to match the centre fly height of your 'sphere' --------
        Animation - Change (Last created unit) flying height to 400.00 at 0.00
        -------- Chanage this to effect the overall spell duration --------
        Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
        -------- * --------
        -------- This is the 'Growth tier' --------
        Hashtable - Save 0 as 1 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- Gravity Strength for this tier --------
        Hashtable - Save 1 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- Reserve checker --------
        -------- For casting this spell --------
        Hashtable - Save 1337 as 1337 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- Set this to your dummy ability for your spell (damage is calculated primarily from this --------
        Unit - Set level of Sepharic Star (Ultimate dummy) for (Last created unit) to (Level of Ultimate Serapharic Star for (Triggering unit))
        -------- Sets the standard size --------
        Hashtable - Save 100.00 as 3500 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- * --------
        Set VariableSet Gravity_Unit_ID = (Last created unit)
        -------- * --------
        Set VariableSet Gravity_unit = (Last created unit)
        -------- This unit is for the facing angle of your sfx if you choose to use something other than the stock --------
        -------- For your conviniance --------
        Unit - Create 1.Target Dummy for (Owner of (Triggering unit)) at Temp_Point facing 0.00 degrees
        -------- Set this to your spells duration --------
        Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
        Set VariableSet Target_Dummy = (Last created unit)
        -------- * --------
        -------- For additional information on this area, open the first 'if then else' function --------
        Set VariableSet Degrees_set = 0.00
        -------- Set this to the amount of 'points' of your circle --------
        -------- The points being were the surrounding Sfx is created --------
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            -------- To create a differant shape, you only need to change this to make it, for exmaple to create a cylindrical shape on all layers this should be the same --------
            -------- For and hour glass, It should start hiegh, get smaller, then larger again. --------
            -------- Experiment and see what shapes you can make --------
            -------- Set this the distance you wish this layer to be away from you centre --------
            -------- as this is the lowest layer it should have the lowest distance --------
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 250.00 towards Degrees_set degrees.)
            -------- Change the sfx to your surrounding sfx dummy --------
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            -------- Set this to the duration of your spell --------
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            -------- Set this layers fly height --------
            -------- again as this is the lowest layer it should be the smallest --------
            Animation - Change (Last created unit) flying height to 100.00 at 0.00
            -------- Set this to 360/your points on your sphere --------
            -------- I used 12 points so I did this --------
            -------- 360/12 = 30 --------
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            -------- * --------
            Custom script: call RemoveLocation (udg_Temp_Point_2)
            -------- As standard the Fly height increase by 100 per layer --------
            -------- And the distance from the centre by 50 --------
        -------- * --------
        Set VariableSet Degrees_set = 0.00
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 300.00 towards Degrees_set degrees.)
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            Animation - Change (Last created unit) flying height to 200.00 at 0.00
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- * --------
        Set VariableSet Degrees_set = 0.00
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 400.00 towards Degrees_set degrees.)
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            Animation - Change (Last created unit) flying height to 400.00 at 0.00
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- * --------
        Set VariableSet Degrees_set = 0.00
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 350.00 towards Degrees_set degrees.)
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            Animation - Change (Last created unit) flying height to 300.00 at 0.00
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- * --------
        Set VariableSet Degrees_set = 0.00
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 350.00 towards Degrees_set degrees.)
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            Animation - Change (Last created unit) flying height to 500.00 at 0.00
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- * --------
        Set VariableSet Degrees_set = 0.00
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 300.00 towards Degrees_set degrees.)
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            Animation - Change (Last created unit) flying height to 600.00 at 0.00
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- * --------
        Set VariableSet Degrees_set = 0.00
        For each (Integer Debug) from 1 to 12, do (Actions)
          Loop - Actions
            Set VariableSet Temp_Point_2 = (Temp_Point offset by 250.00 towards Degrees_set degrees.)
            Unit - Create 1.Sfx 2 (ulti) for (Owner of (Triggering unit)) at Temp_Point_2 facing (Angle from Temp_Point_2 to Temp_Point) degrees
            Unit - Add a 12.00 second Generic expiration timer to (Last created unit)
            Animation - Change (Last created unit) flying height to 600.00 at 0.00
            Set VariableSet Degrees_set = (Degrees_set + 30.00)
            Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- Set this to your spawn sfx --------
        Unit - Create 1.Sfx spawn (Ulti) for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_2) degrees
        -------- This just needs to be a short time --------
        Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
        -------- * --------
        Trigger - Turn on Loop <gen>
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Ability being cast) Equal to Sepharic Star
      Then - Actions
        -------- * --------
        Set VariableSet Currant_intstances = (Currant_intstances + 1)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Triggering unit))
        -------- * --------
        Set VariableSet Temp_Point_2 = (Target point of ability being cast)
        -------- Change this to your dummy unit (missile) --------
        Unit - Create 1.Projectile for (Owner of (Triggering unit)) at Temp_Point facing (Angle from Temp_Point to Temp_Point_2) degrees
        -------- Chanage this to effect the overall spell duration --------
        Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
        -------- * --------
        -------- This is the 'Growth tier' --------
        Hashtable - Save 0 as 1 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- * --------
        Hashtable - Save (Distance between Temp_Point and Temp_Point_2) as 0 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- Gravity Strength for this tier --------
        Hashtable - Save 1 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
        -------- Set this to your dummy ability for your spell (damage is calculated primarily from this --------
        Unit - Set level of Sepharic Star (Dummy) for (Last created unit) to (Level of Sepharic Star for (Triggering unit))
        -------- * --------
        Trigger - Turn on Loop <gen>
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
      Else - Actions
Loop
  Events
    Time - Intervals expires
  Conditions
  Actions
    -------- CAUTION --------
    -------- THIS SECTION IS INCREDABLY CONFUSING --------
    -------- PROCEED WITH CARE --------
    -------- Set to your dummy missile --------
    Set VariableSet Temp_Group = (Units in (Playable map area) matching (((Unit-type of (Matching unit)) Equal to Core) and ((Load 1337 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Equal to 1337)))
    -------- Dont change what unit group this picks --------
    Unit Group - Pick every unit in Temp_Group and do (Actions)
      Loop - Actions
        -------- * --------
        Set VariableSet Gravity_unit = (Picked unit)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Picked unit))
        -------- * --------
        Set VariableSet Temp_Point_2 = (Temp_Point offset by (Load 0 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) towards (Facing of (Picked unit)) degrees.)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 0 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than or equal to 2.00
          Then - Actions
            Custom script: call RemoveLocation (udg_Temp_Point)
            -------- Set the 155 number to your spells distance per level --------
            Set VariableSet Temp_Group_2 = (Units within (400.00 x (Real((Level of Sepharic Star (Ultimate dummy) for Gravity_unit)))) of Temp_Point matching ((((Owner of (Matching unit)) is an ally of (Owner of Gravity_unit).) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of Gravity_unit))).)
            -------- * --------
            Unit Group - Pick every unit in Temp_Group_2 and do (Actions)
              Loop - Actions
                -------- * --------
                Set VariableSet Temp_Point = (Position of (Picked unit))
                -------- * --------
                Hashtable - Save Handle OfTemp_Point as 9 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Custom script: call RemoveLocation (udg_Temp_Point)
            Custom script: call DestroyGroup (udg_Temp_Group_2)
          Else - Actions
            Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Picked unit))
        -------- * --------
        Set VariableSet Gravity_Unit_ID = (Picked unit)
        -------- * --------
        Hashtable - Save (Current flying height of Gravity_unit) as 10 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
        -------- * --------
        Hashtable - Save Handle OfTemp_Point as 9 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
        -------- Set this to your spells Aoe --------
        Set VariableSet Temp_Group_2 = (Units within (400.00 x (Real((Level of Sepharic Star (Ultimate dummy) for Gravity_unit)))) of Temp_Point matching ((((Owner of (Matching unit)) is an ally of (Owner of Gravity_unit).) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of Gravity_unit))).)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- Dont change what unit group this picks --------
        -------- * --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 0 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than or equal to 2.00
          Then - Actions
            -------- Set the 155 number to your spells distance per level --------
            Set VariableSet Temp_Group_2 = (Units within (400.00 x (Real((Level of Sepharic Star (Ultimate dummy) for Gravity_unit)))) of Temp_Point matching ((((Owner of (Matching unit)) is an ally of (Owner of Gravity_unit).) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of Gravity_unit))).)
            -------- * --------
            Unit Group - Pick every unit in Temp_Group_2 and do (Actions)
              Loop - Actions
                -------- * --------
                Set VariableSet Temp_Point = (Position of (Picked unit))
                -------- * --------
                Hashtable - Save Handle OfTemp_Point as 9 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Custom script: call RemoveLocation (udg_Temp_Point)
            Custom script: call DestroyGroup (udg_Temp_Group_2)
          Else - Actions
        Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Picked unit))
        -------- * --------
        Set VariableSet Gravity_Unit_ID = (Picked unit)
        -------- * --------
        Hashtable - Save (Current flying height of Gravity_unit) as 10 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
        -------- * --------
        Hashtable - Save Handle OfTemp_Point as 9 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
        -------- Set this to your spells Aoe --------
        Set VariableSet Temp_Group_2 = (Units within (400.00 x (Real((Level of Sepharic Star (Ultimate dummy) for Gravity_unit)))) of Temp_Point matching ((((Owner of (Matching unit)) is an ally of (Owner of Gravity_unit).) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of Gravity_unit))).)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- Dont change what unit group this picks --------
        Unit Group - Pick every unit in Temp_Group_2 and do (Actions)
          Loop - Actions
            -------- * --------
            Unit - Turn collision for (Picked unit) Off.
            -------- * --------
            Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Hashtable - Save (Default flying height of (Picked unit)) as 11 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Hashtable - Save (Current flying height of Gravity_unit) as 10 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
            -------- Damage formula --------
            -------- Set the '20' to your landing damage of the units (will affect air units as well) --------
            Hashtable - Save (160 x (Level of Sepharic Star (Ultimate dummy) for Gravity_unit)) as 50 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Unit - Add Crow Form to (Picked unit)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 25 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Equal to 0
              Then - Actions
                Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using Abilities\Spells\Other\Incinerate\IncinerateBuff.mdl
                Hashtable - Save Handle Of(Last created special effect) as 20 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                Hashtable - Save 1 as 25 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Greater than (Load 10 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)
                (Gravity_unit is alive) Equal to True
              Then - Actions
                Animation - Change (Picked unit) flying height to ((Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) - (Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)))) at 0.00
                Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than (Load 10 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)
                (Gravity_unit is alive) Equal to True
              Then - Actions
                Animation - Change (Picked unit) flying height to ((Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) + (Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)))) at 0.00
                Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
              Else - Actions
            -------- * --------
            Unit - Remove Crow Form from (Picked unit)
            -------- * --------
            Set VariableSet Temp_Point = (Position of Gravity_unit)
            -------- * --------
            Set VariableSet Temp_Point_2 = (Position of (Picked unit))
            -------- * --------
            Unit - Move (Picked unit) instantly to Temp_Point_2, facing (Angle from Temp_Point_2 to Temp_Point) degrees
            -------- Damage calculator set the '250' to your damage --------
            Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - (250.00 x (Real((Level of Sepharic Star (Dummy) for (Triggering unit))))))
            -------- Gravity per level calculator --------
            -------- Keep the number low --------
            Hashtable - Save (2 x (Level of Sepharic Star (Ultimate dummy) for Gravity_unit)) as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Custom script: call RemoveLocation (udg_Temp_Point_2)
            -------- * --------
            Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Custom script: call DestroyGroup (udg_Temp_Group_2)
    -------- * --------
    Custom script: call DestroyGroup (udg_Temp_Group)
    -------- * --------
    -------- Set to your dummy missile --------
    Set VariableSet Temp_Group = (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Projectile))
    -------- Dont change what unit group this picks --------
    Unit Group - Pick every unit in Temp_Group and do (Actions)
      Loop - Actions
        -------- * --------
        Set VariableSet Gravity_unit = (Picked unit)
        -------- It's best not to change this --------
        -------- It controlls distance traveled by your missile --------
        Set VariableSet Sepharic_Star_Speed = ((Integer((Load 0 of (Key (Picked unit).) from Sepharic_Star_Hashtable.))) / 2)
        -------- * --------
        Hashtable - Save (Real(Sepharic_Star_Speed)) as 0 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Picked unit))
        -------- * --------
        Set VariableSet Temp_Point_2 = (Temp_Point offset by (Load 0 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) towards (Facing of (Picked unit)) degrees.)
        -------- * --------
        Unit - Move (Picked unit) instantly to Temp_Point_2
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 0 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than or equal to 2.00
          Then - Actions
            Custom script: call RemoveLocation (udg_Temp_Point)
            -------- Set the 155 number to your spells distance per level --------
            Set VariableSet Temp_Group_2 = (Units within (155.00 x (Real((Level of Sepharic Star (Dummy) for Gravity_unit)))) of Temp_Point matching ((((Owner of (Matching unit)) is an ally of (Owner of Gravity_unit).) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of Gravity_unit))).)
            -------- * --------
            Unit Group - Pick every unit in Temp_Group_2 and do (Actions)
              Loop - Actions
                -------- * --------
                Set VariableSet Temp_Point = (Position of (Picked unit))
                -------- * --------
                Hashtable - Save Handle OfTemp_Point as 9 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Custom script: call RemoveLocation (udg_Temp_Point)
            Custom script: call DestroyGroup (udg_Temp_Group_2)
          Else - Actions
            Custom script: call RemoveLocation (udg_Temp_Point)
        Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Picked unit))
        -------- * --------
        Set VariableSet Gravity_Unit_ID = (Picked unit)
        -------- * --------
        Hashtable - Save (Current flying height of Gravity_unit) as 10 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
        -------- * --------
        Hashtable - Save Handle OfTemp_Point as 9 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
        -------- Set this to your spells Aoe --------
        Set VariableSet Temp_Group_2 = (Units within (155.00 x (Real((Level of Sepharic Star (Dummy) for Gravity_unit)))) of Temp_Point matching ((((Owner of (Matching unit)) is an ally of (Owner of Gravity_unit).) Equal to False) and ((Owner of (Matching unit)) Not equal to (Owner of Gravity_unit))).)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point_2)
        -------- Dont change what unit group this picks --------
        Unit Group - Pick every unit in Temp_Group_2 and do (Actions)
          Loop - Actions
            -------- * --------
            Unit - Turn collision for (Picked unit) Off.
            -------- * --------
            Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Hashtable - Save (Default flying height of (Picked unit)) as 11 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Hashtable - Save (Current flying height of Gravity_unit) as 10 of (Key Gravity_Unit_ID.) in Sepharic_Star_Hashtable.
            -------- Damage formula --------
            -------- Set the '20' to your landing damage of the units (will affect air units as well) --------
            Hashtable - Save (20 x (Level of Sepharic Star (Dummy) for Gravity_unit)) as 50 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Unit - Add Crow Form to (Picked unit)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 25 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Equal to 0
              Then - Actions
                Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using Abilities\Spells\Other\Incinerate\IncinerateBuff.mdl
                Hashtable - Save Handle Of(Last created special effect) as 20 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                Hashtable - Save 1 as 25 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Greater than (Load 10 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)
                (Gravity_unit is alive) Equal to True
              Then - Actions
                Animation - Change (Picked unit) flying height to ((Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) - (Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)))) at 0.00
                Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than (Load 10 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)
                (Gravity_unit is alive) Equal to True
              Then - Actions
                Animation - Change (Picked unit) flying height to ((Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) + (Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.)))) at 0.00
                Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
              Else - Actions
            -------- * --------
            Unit - Remove Crow Form from (Picked unit)
            -------- * --------
            Set VariableSet Temp_Point = (Position of Gravity_unit)
            -------- * --------
            Set VariableSet Temp_Point_2 = (Position of (Picked unit))
            -------- * --------
            Unit - Move (Picked unit) instantly to Temp_Point_2, facing (Angle from Temp_Point_2 to Temp_Point) degrees
            -------- Damage calculator set the '-100' to your damage (make sure you start it with a - or it will --------
            -------- Be a healing spell --------
            Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - (100.00 x (Real((Level of Sepharic Star (Dummy) for (Triggering unit))))))
            -------- Gravity per level calculator --------
            -------- Keep the number low --------
            Hashtable - Save (2 x (Level of Sepharic Star (Dummy) for Gravity_unit)) as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Custom script: call RemoveLocation (udg_Temp_Point_2)
            -------- * --------
            Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Custom script: call DestroyGroup (udg_Temp_Group_2)
    -------- * --------
    Custom script: call DestroyGroup (udg_Temp_Group)
    Set VariableSet Temp_Group = (Units in (Playable map area) matching (((Matching unit) is in Returning_to_normal_fly_height.) Equal to True))
    -------- Dont change what unit group this picks --------
    Unit Group - Pick every unit in Temp_Group and do (Actions)
      Loop - Actions
        -------- * --------
        Unit - Add Crow Form to (Picked unit)
        -------- * --------
        Unit Group - Remove (Picked unit) from Returning_to_normal_fly_height.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than (Load 11 of (Key (Picked unit).) from Sepharic_Star_Hashtable.)
          Then - Actions
            -------- Rise calculation --------
            Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + ((Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.))) x 1.50)) at 0.00
            -------- * --------
            Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Unit Group - Add (Picked unit) to Returning_to_normal_fly_height
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Greater than (Load 11 of (Key (Picked unit).) from Sepharic_Star_Hashtable.)
                (Load 7 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Equal to 0
              Then - Actions
                -------- * --------
                Hashtable - Save 0.00 as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + ((Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.))) x -1.50)) at 0.00
                -------- * --------
                Set VariableSet Temp_Point = (Position of (Picked unit))
                -------- Change to your landing sfx --------
                Special Effect - Create a special effect at Temp_Point using Objects\Spawnmodels\Human\FragmentationShards\FragBoomSpawn.mdl
                -------- * --------
                Special Effect - Destroy (Last created special effect)
                -------- * --------
                Special Effect - Destroy (Load 20 of (Key (Picked unit).) in Sepharic_Star_Hashtable.)
                -------- * --------
                Unit - Cause (Load 100 of (Key (Picked unit).) in (Last created hashtable).) to damage (Picked unit), dealing (Real((Load 50 of (Key (Picked unit).) from Sepharic_Star_Hashtable.))) damage of attack type Spells and damage type Normal
                -------- * --------
                Hashtable - Save 0 as 25 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Custom script: call RemoveLocation (udg_Temp_Point)
                -------- * --------
                Unit Group - Remove (Picked unit) from Returning_to_normal_fly_height.
                -------- * --------
                Unit - Turn collision for (Picked unit) On.
                -------- * --------
                Hashtable - Save -1 as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                Set VariableSet Currant_intstances = (Currant_intstances - 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    Currant_intstances Equal to 0
                  Then - Actions
                    Trigger - Turn off (This trigger)
                  Else - Actions
              Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Greater than (Load 11 of (Key (Picked unit).) from Sepharic_Star_Hashtable.)
          Then - Actions
            -------- Fall caluculation --------
            Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + ((Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.))) x -1.50)) at 0.00
            -------- * --------
            Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Unit Group - Add (Picked unit) to Returning_to_normal_fly_height
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 10 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Less than (Load 11 of (Key (Picked unit).) from Sepharic_Star_Hashtable.)
                (Load 7 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Equal to 0
              Then - Actions
                -------- * --------
                Hashtable - Save 0.00 as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + ((Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.))) x -1.50)) at 0.00
                -------- * --------
                Set VariableSet Temp_Point = (Position of (Picked unit))
                -------- Change to landing Sfx --------
                Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Other\Charm\CharmTarget.mdl
                -------- * --------
                Special Effect - Destroy (Last created special effect)
                -------- * --------
                Special Effect - Destroy (Load 20 of (Key (Picked unit).) in Sepharic_Star_Hashtable.)
                -------- * --------
                Hashtable - Save 0 as 25 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Custom script: call RemoveLocation (udg_Temp_Point)
                -------- * --------
                Unit Group - Remove (Picked unit) from Returning_to_normal_fly_height.
                -------- * --------
                Unit - Turn collision for (Picked unit) On.
                -------- * --------
                Unit - Cause (Picked unit) to damage (Picked unit), dealing (Real((Load 50 of (Key (Picked unit).) from Sepharic_Star_Hashtable.))) damage of attack type Spells and damage type Normal
                -------- * --------
                Hashtable - Save -1 as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                Set VariableSet Currant_intstances = (Currant_intstances - 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    Currant_intstances Equal to 0
                  Then - Actions
                    Trigger - Turn off (This trigger)
                  Else - Actions
              Else - Actions
        -------- * --------
        Unit - Remove Crow Form from (Picked unit)
    -------- * --------
    Custom script: call DestroyGroup (udg_Temp_Group)
    -------- * --------
    Set VariableSet Temp_Group = (Units in (Playable map area) matching ((Load 7 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Greater than or equal to 1))
    -------- Dont change what unit group this picks --------
    Unit Group - Pick every unit in Temp_Group and do (Actions)
      Loop - Actions
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Picked unit))
        -------- Knockback speed --------
        Set VariableSet Temp_Point_2 = (Temp_Point offset by 10.00 towards (Facing of (Picked unit)) degrees.)
        -------- * --------
        Unit - Move (Picked unit) instantly to Temp_Point_2
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Picked unit) is A flying unit) Equal to True
            (Load 7 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Greater than 10
          Then - Actions
            -------- * --------
            Unit - Add Crow Form to (Picked unit)
            -------- Flying unit knockback upwards calculation --------
            Animation - Change (Picked unit) flying height to ((Current flying height of (Picked unit)) + ((Real((Load 2 of (Key Gravity_Unit_ID.) from Sepharic_Star_Hashtable.))) x 2.50)) at 0.00
            -------- * --------
            Hashtable - Save (Current flying height of (Picked unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Unit - Remove Crow Form from (Picked unit)
          Else - Actions
        -------- * --------
        Hashtable - Save ((Load 7 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) - 1) as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point_2)
    -------- * --------
    Custom script: call DestroyGroup (udg_Temp_Group)
    -------- * --------
    Set VariableSet Temp_Group = (Units in (Playable map area) matching ((Load 25 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Equal to 1))
    -------- Dont change what unit group this picks --------
    Unit Group - Pick every unit in Temp_Group and do (Actions)
      Loop - Actions
        -------- Damage dealt (increases every second of spell duration) --------
        Hashtable - Save ((Load 50 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) + 1) as 50 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
        -------- * --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 7 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Greater than 0
          Then - Actions
            Hashtable - Save 0 as 55 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
          Else - Actions
        -------- This part cancels damage to units that evaded the initial gravity effect --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 55 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) Equal to 5
          Then - Actions
            -------- * --------
            Hashtable - Save 0 as 50 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Hashtable - Save 0 as 55 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Special Effect - Destroy (Load 20 of (Key (Picked unit).) in Sepharic_Star_Hashtable.)
            -------- * --------
            Hashtable - Save 0 as 25 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
          Else - Actions
        -------- * --------
        Hashtable - Save ((Load 55 of (Key (Picked unit).) from Sepharic_Star_Hashtable.) + 1) as 55 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
    -------- * --------
    Custom script: call DestroyGroup (udg_Temp_Group)
Death replace
  Events
    Unit - A unit Dies
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Unit-type of (Triggering unit)) Equal to Core
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1337 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 1337
          Then - Actions
            -------- * --------
            Set VariableSet Gravity_Unit_ID = (Triggering unit)
            -------- * --------
            Set VariableSet Temp_Point = (Position of (Triggering unit))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Load 3500 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Less than or equal to 1920.00
              Then - Actions
                -------- Change this to your dummy centre --------
                -------- the thing that 'grows' --------
                Unit - Create 1.Core for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
                -------- Gravity, You could change this but chances are you'll make it far too strong --------
                Hashtable - Save 3 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
                -------- checker --------
                Hashtable - Save 1337 as 1337 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
                -------- Set this to your dummy ability --------
                Unit - Add Sepharic Star (Ultimate dummy) to (Last created unit)
                -------- Set this to your dummy ability --------
                Unit - Set level of Sepharic Star (Ultimate dummy) for (Last created unit) to (Level of Sepharic Star (Ultimate dummy) for (Triggering unit))
                -------- If you don't want to get a pen/pencil and some paper to figure out new size/duration calculations. --------
                -------- You shouldn't touch this at all --------
                -------- **** --------
                Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
                -------- Set this to 1920/your spells duration (x2) --------
                -------- For me it lasts 12 second so I did 12x2 = 24 --------
                -------- 1920/24 = 80 --------
                Hashtable - Save ((Load 3500 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) + 80.00) as 3500 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Animation - Change (Last created unit)'s size to ((Load 3500 of (Key (Last created unit).) from Sepharic_Star_Hashtable.)%, (Load 3500 of (Key (Last created unit).) from Sepharic_Star_Hashtable.)%, (Load 3500 of (Key (Last created unit).) from Sepharic_Star_Hashtable.)%) of its original size
                -------- Set This to the centre of your Circle/shape (as fly height) --------
                Animation - Change (Last created unit) flying height to 400.00 at 0.00
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Load 3500 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Greater than 1920.00
                  Then - Actions
                    -------- Your Explosion sfx --------
                    Unit - Create 1.Sfx 1 for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
                    -------- Makes the Sfx alot bigger, If it's too big or too small still, change this --------
                    Animation - Change (Last created unit)'s size to (700.00%, 700.00%, 700.00%) of its original size
                    -------- This doesn't matter, Just so long as it isn't intant/ under 3 seconds you should be fine --------
                    Unit - Add a 15.00 second Generic expiration timer to (Last created unit)
                    -------- * --------
                    Set VariableSet Temp_Group = (Units within 400.00 of Temp_Point matching (((Owner of (Matching unit)) Not equal to (Owner of (Triggering unit))) and (((Load 10 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Greater than or equal to 100.00) and ((Load 10 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Less than or equal to 600.00))).)
                    -------- this is a complex part --------
                    Unit Group - Pick every unit in Temp_Group and do (Actions)
                      Loop - Actions
                        Hashtable - Save Handle Of(Last created unit) as 100 of (Key (Picked unit).) in (Last created hashtable).
                        -------- * --------
                        Set VariableSet Temp_Point_2 = (Position of (Picked unit))
                        -------- * --------
                        Unit Group - Add (Picked unit) to Returning_to_normal_fly_height
                        -------- * --------
                        Unit - Move (Picked unit) instantly to Temp_Point_2, facing (Angle from Temp_Point to Temp_Point_2) degrees
                        -------- Damage calculation --------
                        -------- Set the first number you see --------
                        -------- to your multiplyer --------
                        Hashtable - Save (250 x (Level of Sepharic Star (Ultimate dummy) for (Triggering unit))) as 200 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                        -------- * --------
                        Unit - Cause (Load 100 of (Key (Picked unit).) in (Last created hashtable).) to damage (Picked unit), dealing (Real((Load 200 of (Key (Picked unit).) from Sepharic_Star_Hashtable.))) damage of attack type Spells and damage type Normal
                        -------- Knockback multiplyer --------
                        -------- Same as above --------
                        Hashtable - Save (160 x (Level of Sepharic Star (Ultimate dummy) for (Triggering unit))) as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                        -------- * --------
                        Custom script: call RemoveLocation (udg_Temp_Point_2)
                    -------- * --------
                    Custom script: call DestroyGroup (udg_Temp_Group)
                    -------- * --------
                    Custom script: call RemoveLocation (udg_Temp_Point)
                  Else - Actions
            -------- * --------
            Hashtable - Save 400.00 as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Custom script: call RemoveLocation (udg_Temp_Point)
            Unit - Remove (Triggering unit) from the game
          Else - Actions
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Sfx 2 (ulti)
          Then - Actions
            Special Effect - Destroy (Load 4000 of (Key (Triggering unit).) in Sepharic_Star_Hashtable.)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Unit-type of (Triggering unit)) Equal to Projectile
      Then - Actions
        -------- set the condition to your Missile sfx --------
        -------- It's important that this section is in reverse order --------
        -------- Fith - second stage are the same, change them as appropriate --------
        -------- Tier control --------
        -------- * --------
        Set VariableSet Gravity_Unit_ID = (Triggering unit)
        -------- * --------
        Set VariableSet Temp_Point = (Position of (Triggering unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 5
          Then - Actions
            -------- Your Explosion sfx --------
            Unit - Create 1.Sfx 1 for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
            Hashtable - Save 1 as 5 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
            -------- * --------
            Unit - Add a 15.00 second Generic expiration timer to (Last created unit)
            -------- * --------
            Set VariableSet Temp_Group = (Units within 200.00 of Temp_Point matching (((Owner of (Matching unit)) Not equal to (Owner of (Triggering unit))) and (((Load 10 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Greater than or equal to 100.00) and ((Load 10 of (Key (Matching unit).) from Sepharic_Star_Hashtable.) Less than or equal to 200.00))).)
            -------- this is a complex part --------
            Unit Group - Pick every unit in Temp_Group and do (Actions)
              Loop - Actions
                Hashtable - Save Handle Of(Last created unit) as 100 of (Key (Picked unit).) in (Last created hashtable).
                -------- * --------
                Set VariableSet Temp_Point_2 = (Position of (Picked unit))
                -------- * --------
                Unit Group - Add (Picked unit) to Returning_to_normal_fly_height
                -------- * --------
                Unit - Move (Picked unit) instantly to Temp_Point_2, facing (Angle from Temp_Point to Temp_Point_2) degrees
                -------- Damage calculation --------
                -------- Set the first number you see --------
                -------- to your multiplyer --------
                Hashtable - Save (100 x (Level of Sepharic Star (Dummy) for (Triggering unit))) as 200 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                Unit - Cause (Load 100 of (Key (Picked unit).) in (Last created hashtable).) to damage (Picked unit), dealing (Real((Load 200 of (Key (Picked unit).) from Sepharic_Star_Hashtable.))) damage of attack type Spells and damage type Normal
                -------- Knockback multiplyer --------
                -------- Same as above --------
                Hashtable - Save (60 x (Level of Sepharic Star (Dummy) for (Triggering unit))) as 7 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
                -------- * --------
                Custom script: call RemoveLocation (udg_Temp_Point_2)
            -------- * --------
            Custom script: call DestroyGroup (udg_Temp_Group)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 4
          Then - Actions
            Unit - Create 1.Projectile for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
            -------- Stage identity --------
            Hashtable - Save 5 as 1 of (Key (Last created unit).) in (Last created hashtable).
            -------- Gravity strength for this tier --------
            Hashtable - Save 6 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
            -------- set to your dummy ability --------
            Unit - Set level of Sepharic Star (Dummy) for (Last created unit) to (Level of Sepharic Star (Dummy) for (Triggering unit))
            -------- Growth size --------
            Animation - Change (Last created unit)'s size to (350.00%, 350.00%, 350.00%) of its original size
            -------- * --------
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 3
          Then - Actions
            Unit - Create 1.Projectile for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
            Hashtable - Save 4 as 1 of (Key (Last created unit).) in (Last created hashtable).
            Hashtable - Save 5 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
            Unit - Set level of Sepharic Star (Dummy) for (Last created unit) to (Level of Sepharic Star (Dummy) for (Triggering unit))
            Animation - Change (Last created unit)'s size to (300.00%, 300.00%, 300.00%) of its original size
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 2
          Then - Actions
            Unit - Create 1.Projectile for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
            Hashtable - Save 3 as 1 of (Key (Last created unit).) in (Last created hashtable).
            Hashtable - Save 4 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
            Unit - Set level of Sepharic Star (Dummy) for (Last created unit) to (Level of Sepharic Star (Dummy) for (Triggering unit))
            Animation - Change (Last created unit)'s size to (250.00%, 250.00%, 250.00%) of its original size
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 1
          Then - Actions
            Unit - Create 1.Projectile for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
            Hashtable - Save 2 as 1 of (Key (Last created unit).) in (Last created hashtable).
            Hashtable - Save 3 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
            Unit - Set level of Sepharic Star (Dummy) for (Last created unit) to (Level of Sepharic Star (Dummy) for (Triggering unit))
            Animation - Change (Last created unit)'s size to (200.00%, 200.00%, 200.00%) of its original size
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Load 1 of (Key (Triggering unit).) from Sepharic_Star_Hashtable.) Equal to 0
          Then - Actions
            -------- Sets the base angle for your surrounding sfx --------
            Set VariableSet Angle_setter = 0.00
            -------- Creates sfx before the other sfx --------
            Special Effect - Create a special effect at Temp_Point using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
            -------- * --------
            Special Effect - Destroy (Last created special effect)
            For each (Integer Debug) from 1 to 5, do (Actions)
              Loop - Actions
                -------- Creates the surrounding sfx --------
                Unit - Create 1.Sfx 2 for (Owner of (Triggering unit)) at Temp_Point facing Angle_setter degrees
                -------- Set this to your spells duration --------
                Unit - Add a 4.00 second Generic expiration timer to (Last created unit)
                -------- Change this to match your 'star --------
                -------- Formula: --------
                -------- 360/side of star --------
                Set VariableSet Angle_setter = (Angle_setter + 72.00)
            -------- The rest is the same --------
            -------- as The others --------
            Unit - Create 1.Projectile for (Owner of (Triggering unit)) at Temp_Point facing (Facing of (Triggering unit)) degrees
            Hashtable - Save 2 as 2 of (Key (Last created unit).) in Sepharic_Star_Hashtable.
            Unit - Set level of Sepharic Star (Dummy) for (Last created unit) to (Level of Sepharic Star (Dummy) for (Triggering unit))
            Hashtable - Save 1 as 1 of (Key (Last created unit).) in (Last created hashtable).
            Animation - Change (Last created unit)'s size to (150.00%, 150.00%, 150.00%) of its original size
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          Else - Actions
        -------- * --------
        Hashtable - Save (Default flying height of (Last created unit)) as 10 of (Key (Picked unit).) in Sepharic_Star_Hashtable.
        -------- * --------
        Custom script: call RemoveLocation (udg_Temp_Point)
        Unit - Remove (Triggering unit) from the game
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Sfx 1
          Then - Actions
            -------- set the condition to your surrounding sfx --------
            Unit - Remove (Triggering unit) from the game
          Else - Actions