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. The raddest synthwave tracks were chosen - Check out our Music Contest #12 - Results and congratulate the winners!
    Dismiss Notice
  5. The poll for Hive's 12th Concept Art Contest is up! Go cast your vote for your favourite genie!
    Dismiss Notice
  6. Travel to distant realms and encounter scenes unknown to the common folk. The Greatest of Adventures is upon us with the 8th Cinematic Contest. Join in on a fun ride.
    Dismiss Notice
  7. The 18th Icon Contest is ON! Choose any ingame unit and give him/her Hero abilities. Good luck to all.
    Dismiss Notice
  8. Contestants are to create a scene set in the Stone Age. Come and see what you can come up with. We wish you the best of luck!
    Dismiss Notice
  9. Colour outside the lines! Techtree Contest #13 is a go. The contest is optionally paired.
    Dismiss Notice
  10. Greetings cerebrates, our Swarm needs new spawners that will have numerous children. Join the HIVE's 31st Modeling Contest - Spawners and Spawned! The contest is optionally paired.
    Dismiss Notice
  11. 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.

Helios Collision V1.00

Submitted by Tank-Commander
This bundle is marked as approved. It works and satisfies the submission rules.
People were bothering me to make something new, So I cooked this up this morning during breakfast without dragging this little bit on lets get to the spell:

It's a target ground flashy (because I like that sort of thing) gravity sun explody thing which I made purely on aesthetic appeal and small size (for more use) contains a configuration for almost -everything- in the spell. tried and tested, tuned to look even more pretty. though a small warning: Enemies can get stuck in trees/rocks blah, but not much I can do about that without making things look a tad unrealistic and a bit ugly - so I won't.

Tooltip

The power of Helios forms infront of the caster generating a micro-sun which will travel slowly toward the target point, The sun drags enemies into it, upon reaching its destination the sun explodes dealing damage and throwing the enemy units back

Level 1 - Weak Drag, 225 Damage
Level 2 - Medium Drag, 250 Damage
Level 3 - Strong Drag, 275 Damage


Triggers

  • Helios Collision Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- -------- --------
      • -------- Condition Configuration --------
      • -------- Unit is a ground unit --------
      • Set HC_ConditionConfig[0] = True
      • -------- Unit is a structure --------
      • Set HC_ConditionConfig[1] = False
      • -------- Unit is magic immune --------
      • Set HC_ConditionConfig[2] = False
      • -------- Unit belongs to an enemy player --------
      • Set HC_ConditionConfig[3] = True
      • -------- Unit is alive --------
      • Set HC_ConditionConfig[4] = True
      • -------- Determines the area that will be effected by Magnetism --------
      • Set HC_ExplosionAOE = 200.00
      • Set HC_AoeBase = 250.00
      • Set HC_AoePerLevel = 100.00
      • -------- Determines the strength of the magnetism --------
      • Set HC_MagnetismStrengthBase = 300.00
      • Set HC_MagnetismStrengthPerLevel = 200.00
      • Set HC_MagnetismDistanceMultiplyer = 0.80
      • Set HC_MagnetismCap = 20.00
      • -------- Determines the damage done by the blast --------
      • Set HC_ExplosionDamageBase = 200.00
      • Set HC_ExplosionDamagePerLevel = 25.00
      • -------- Determines the strength of the blast --------
      • Set HC_BlastDistanceBase = 900.00
      • Set HC_BlastDistanceMultiplyer = 0.05
      • Set HC_HeightMultiplyer = 0.80
      • Set HC_BlastSpeed = 12.00
      • Set HC_BlastCap = 550.00
      • -------- Determines the speed of the Sun travelling --------
      • Set HC_SunSpeed = 3.00
      • -------- Determines the amount of Orbs surround the Sun --------
      • Set HC_OrbCountBase = 3
      • Set HC_OrbCountPerLevel = 0
      • -------- Determines the amount of Wind that surrounds the Sun --------
      • Set HC_WindCountBase = 5
      • Set HC_WindCountPerLevel = 2
      • -------- Determines how fast the Orbs Spin around --------
      • Set HC_FireOrbSpinSpeed = 3.00
      • -------- Determines how fast the Wind Spins around --------
      • Set HC_WindSpinSpeed = 6.00
      • -------- Determines how far the orbs are from the sun --------
      • Set HC_OrbDistance = 150.00
      • -------- Determines how far the wind is from the sun --------
      • Set HC_WindDistance = 200.00
      • -------- Determines how long the dummies will remain after their usefulness has ended --------
      • Set HC_DummyExpirationTimers = 0.20
      • -------- Determines the scaling of the Sun and its SFX --------
      • Set HC_EffectScalingOrbs = 100.00
      • Set HC_EffectScalingWind = 100.00
      • Set HC_EffectScalingSun = 100.00
      • -------- Determines the Height given to the sun and its effects --------
      • Set HC_EffectZOrbs = 100.00
      • Set HC_EffectZSun = 0.00
      • Set HC_EffectZWind = 0.00
      • -------- Determines the unit model used as the Sun --------
      • Set HC_SunSFX = war3mapImported\Sun.mdx
      • -------- Determines the model used for the revolving fire orbs --------
      • Set HC_FireOrbSFX = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • -------- Determines the unit model used for the burning of the targets --------
      • Set HC_BurnSFX = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • -------- Determines the unit model used as the rotatingwind --------
      • Set HC_WindSFX = Abilities\Spells\Other\Tornado\Tornado_Target.mdl
      • -------- Determines the SFX used upon explosion --------
      • Set HC_ExplosionSFX = Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
      • -------- Determines the spell used to act as the activation spell --------
      • Set HC_Spell = Helios Collision
      • -------- Determines the Dummy used to attach all the effects to --------
      • Set HC_DummyType = Helios Collision Dummy

  • Helios Collision Activation
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to HC_Spell
    • Actions
      • Set HC_Caster = (Triggering unit)
      • Set HC_TempPoint = (Position of HC_Caster)
      • Set HC_TempPoint2 = (Target point of ability being cast)
      • Set HC_Angle = (Angle from HC_TempPoint to HC_TempPoint2)
      • Unit - Create 1 HC_DummyType for Neutral Passive at HC_TempPoint facing Default building facing degrees
      • Set HC_TempUnit = (Last created unit)
      • Special Effect - Create a special effect attached to the origin of HC_TempUnit using HC_SunSFX
      • Animation - Change HC_TempUnit's size to (HC_EffectScalingSun%, 0.00%, 0.00%) of its original size
      • Animation - Change HC_TempUnit flying height to HC_EffectZSun at 0.00
      • Set HC_MaxIndex = (HC_MaxIndex + 1)
      • Set HC_OriginalCaster[HC_MaxIndex] = HC_Caster
      • Set HC_OwningPlayer[HC_MaxIndex] = (Owner of HC_Caster)
      • Set HC_TempInteger = (Level of HC_Spell for HC_Caster)
      • Set HC_TempReal = (Real(HC_TempInteger))
      • Set HC_SpecialEffect[HC_MaxIndex] = (Last created special effect)
      • Set HC_Core[HC_MaxIndex] = HC_TempUnit
      • Set HC_Aoe[HC_MaxIndex] = (HC_AoeBase + (HC_AoePerLevel x HC_TempReal))
      • Set HC_ExplosionDamage[HC_MaxIndex] = (HC_ExplosionDamageBase + (HC_ExplosionDamagePerLevel x HC_TempReal))
      • Set HC_MagnetismStrength[HC_MaxIndex] = (HC_MagnetismStrengthBase + (HC_MagnetismStrengthPerLevel x HC_TempReal))
      • Set HC_Distance[HC_MaxIndex] = (Distance between HC_TempPoint and HC_TempPoint2)
      • Set HC_Core[HC_MaxIndex] = HC_TempUnit
      • Set HC_CurrentAngle[HC_MaxIndex] = HC_Angle
      • Set HC_CurrentSunDistance[HC_MaxIndex] = 0.00
      • Set HC_UnitIndex[HC_MaxIndex] = HC_TempUnit
      • Set HC_StageID[HC_MaxIndex] = 1
      • Set HC_Angle = 0.00
      • -------- --------
      • Set HC_BlastDistance[HC_MaxIndex] = 0.00
      • Set HC_CurrentBlastDistance[HC_MaxIndex] = 0.00
      • Set HC_MaxHeight[HC_MaxIndex] = 0.00
      • Set HC_CurrentHeight[HC_MaxIndex] = 0.00
      • -------- --------
      • Custom script: call RemoveLocation (udg_HC_TempPoint2)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • HC_MaxIndex Equal to 1
        • Then - Actions
          • Trigger - Turn on Helios Collision Loop <gen>
        • Else - Actions
      • Set HC_TempInteger2 = (HC_OrbCountBase + (HC_OrbCountPerLevel x HC_TempInteger))
      • For each (Integer HC_Index) from 1 to HC_TempInteger2, do (Actions)
        • Loop - Actions
          • Set HC_Angle = (HC_Angle + (360.00 / (Real(HC_TempInteger2))))
          • Set HC_TempPoint2 = (HC_TempPoint offset by HC_OrbDistance towards HC_Angle degrees)
          • Unit - Create 1 HC_DummyType for Neutral Passive at HC_TempPoint2 facing Default building facing degrees
          • Set HC_TempUnit2 = (Last created unit)
          • Special Effect - Create a special effect attached to the origin of HC_TempUnit2 using HC_FireOrbSFX
          • Animation - Change HC_TempUnit2's size to (HC_EffectScalingOrbs%, 0.00%, 0.00%) of its original size
          • Animation - Change HC_TempUnit2 flying height to HC_EffectScalingOrbs at 0.00
          • Custom script: call RemoveLocation (udg_HC_TempPoint2)
          • Set HC_MaxIndex = (HC_MaxIndex + 1)
          • Set HC_SpecialEffect[HC_MaxIndex] = (Last created special effect)
          • Set HC_CurrentAngle[HC_MaxIndex] = HC_Angle
          • Set HC_StageID[HC_MaxIndex] = 2
          • Set HC_Core[HC_MaxIndex] = HC_TempUnit
          • Set HC_UnitIndex[HC_MaxIndex] = HC_TempUnit2
          • -------- --------
          • Set HC_Aoe[HC_MaxIndex] = 0.00
          • Set HC_OriginalCaster[HC_MaxIndex] = HC_Caster
          • Set HC_OwningPlayer[HC_MaxIndex] = (Owner of HC_Caster)
          • Set HC_MaxHeight[HC_MaxIndex] = 0.00
          • Set HC_BlastDistance[HC_MaxIndex] = 0.00
          • Set HC_CurrentBlastDistance[HC_MaxIndex] = 0.00
          • Set HC_CurrentHeight[HC_MaxIndex] = 0.00
          • Set HC_CurrentSunDistance[HC_MaxIndex] = 0.00
          • Set HC_ExplosionDamage[HC_MaxIndex] = 0.00
          • Set HC_MagnetismStrength[HC_MaxIndex] = 0.00
      • Set HC_TempInteger2 = (HC_WindCountBase + (HC_WindCountPerLevel x HC_TempInteger))
      • For each (Integer HC_Index) from 1 to HC_TempInteger2, do (Actions)
        • Loop - Actions
          • Set HC_Angle = (HC_Angle + (360.00 / (Real(HC_TempInteger2))))
          • Set HC_TempPoint2 = (HC_TempPoint offset by HC_OrbDistance towards HC_Angle degrees)
          • Unit - Create 1 HC_DummyType for Neutral Passive at HC_TempPoint2 facing Default building facing degrees
          • Set HC_TempUnit2 = (Last created unit)
          • Special Effect - Create a special effect attached to the origin of HC_TempUnit2 using HC_WindSFX
          • Animation - Change HC_TempUnit2's size to (HC_EffectScalingOrbs%, 0.00%, 0.00%) of its original size
          • Animation - Change HC_TempUnit2 flying height to HC_EffectZWind at 0.00
          • Custom script: call RemoveLocation (udg_HC_TempPoint2)
          • Set HC_MaxIndex = (HC_MaxIndex + 1)
          • Set HC_SpecialEffect[HC_MaxIndex] = (Last created special effect)
          • Set HC_CurrentAngle[HC_MaxIndex] = HC_Angle
          • Set HC_StageID[HC_MaxIndex] = 3
          • Set HC_Core[HC_MaxIndex] = HC_TempUnit
          • Set HC_UnitIndex[HC_MaxIndex] = HC_TempUnit2
          • -------- --------
          • Set HC_Aoe[HC_MaxIndex] = 0.00
          • Set HC_OriginalCaster[HC_MaxIndex] = HC_Caster
          • Set HC_OwningPlayer[HC_MaxIndex] = (Owner of HC_Caster)
          • Set HC_BlastDistance[HC_MaxIndex] = 0.00
          • Set HC_CurrentBlastDistance[HC_MaxIndex] = 0.00
          • Set HC_CurrentHeight[HC_MaxIndex] = 0.00
          • Set HC_CurrentSunDistance[HC_MaxIndex] = 0.00
          • Set HC_ExplosionDamage[HC_MaxIndex] = 0.00
          • Set HC_MagnetismStrength[HC_MaxIndex] = 0.00
      • Custom script: call RemoveLocation (udg_HC_TempPoint)

  • Helios Collision Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer HC_Index) from 1 to HC_MaxIndex, do (Actions)
        • Loop - Actions
          • Set HC_Angle = 0.00
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of HC_UnitIndex[HC_Index]) Equal to HC_DummyType
            • Then - Actions
              • -------- Control over Sun --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • HC_StageID[HC_Index] Equal to 1
                • Then - Actions
                  • Custom script: set udg_HC_TempX = GetUnitX(udg_HC_UnitIndex[udg_HC_Index])
                  • Custom script: set udg_HC_TempY = GetUnitY(udg_HC_UnitIndex[udg_HC_Index])
                  • Custom script: set udg_HC_Angle = udg_HC_CurrentAngle[udg_HC_Index] * bj_DEGTORAD
                  • Custom script: call SetUnitX(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempX + udg_HC_SunSpeed * Cos(udg_HC_Angle))
                  • Custom script: call SetUnitY(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempY + udg_HC_SunSpeed* Sin(udg_HC_Angle))
                  • -------- Magnetism Control --------
                  • Set HC_TempPoint = (Position of HC_UnitIndex[HC_Index])
                  • Set HC_TempGroup = (Units within HC_Aoe[HC_Index] of HC_TempPoint)
                  • Unit Group - Pick every unit in HC_TempGroup and do (Actions)
                    • Loop - Actions
                      • Set HC_TempUnit = (Picked unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (HC_TempUnit is A ground unit) Equal to HC_ConditionConfig[0]
                          • (HC_TempUnit is A structure) Equal to HC_ConditionConfig[1]
                          • (HC_TempUnit is Magic Immune) Equal to HC_ConditionConfig[2]
                          • (HC_TempUnit belongs to an enemy of HC_OwningPlayer[HC_Index]) Equal to HC_ConditionConfig[3]
                          • (HC_TempUnit is alive) Equal to HC_ConditionConfig[4]
                          • (HC_TempUnit is paused) Equal to False
                        • Then - Actions
                          • Set HC_TempPoint2 = (Position of HC_TempUnit)
                          • Custom script: set udg_HC_TempX = GetUnitX(udg_HC_TempUnit)
                          • Custom script: set udg_HC_TempY = GetUnitY(udg_HC_TempUnit)
                          • Custom script: set udg_HC_Angle = Atan2(GetUnitY(udg_HC_UnitIndex[udg_HC_Index]) - GetUnitY(udg_HC_TempUnit), GetUnitX(udg_HC_UnitIndex[udg_HC_Index]) - GetUnitX(udg_HC_TempUnit))
                          • Set HC_CurrentMagnetism = (HC_MagnetismStrength[HC_Index] / ((Distance between HC_TempPoint and HC_TempPoint2) x HC_MagnetismDistanceMultiplyer))
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • HC_CurrentMagnetism Greater than HC_MagnetismCap
                            • Then - Actions
                              • Set HC_CurrentMagnetism = HC_MagnetismCap
                            • Else - Actions
                          • Custom script: call SetUnitX(udg_HC_TempUnit, udg_HC_TempX + udg_HC_CurrentMagnetism * Cos(udg_HC_Angle))
                          • Custom script: call SetUnitY(udg_HC_TempUnit, udg_HC_TempY + udg_HC_CurrentMagnetism * Sin(udg_HC_Angle))
                          • Custom script: call RemoveLocation (udg_HC_TempPoint2)
                        • Else - Actions
                  • Custom script: call DestroyGroup(udg_HC_TempGroup)
                  • Set HC_CurrentSunDistance[HC_Index] = (HC_CurrentSunDistance[HC_Index] + HC_SunSpeed)
                  • -------- Explosion Control --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • HC_CurrentSunDistance[HC_Index] Greater than or equal to HC_Distance[HC_Index]
                    • Then - Actions
                      • Set HC_TempGroup = (Units within HC_ExplosionAOE of HC_TempPoint)
                      • -------- Effected Units --------
                      • Unit Group - Pick every unit in HC_TempGroup and do (Actions)
                        • Loop - Actions
                          • Set HC_TempUnit = (Picked unit)
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (HC_TempUnit is A ground unit) Equal to HC_ConditionConfig[0]
                              • (HC_TempUnit is A structure) Equal to HC_ConditionConfig[1]
                              • (HC_TempUnit is Magic Immune) Equal to HC_ConditionConfig[2]
                              • (HC_TempUnit belongs to an enemy of HC_OwningPlayer[HC_Index]) Equal to HC_ConditionConfig[3]
                              • (HC_TempUnit is alive) Equal to HC_ConditionConfig[4]
                              • (HC_TempUnit is paused) Equal to False
                            • Then - Actions
                              • Set HC_TempPoint2 = (Position of HC_TempUnit)
                              • Unit - Cause HC_OriginalCaster[HC_Index] to damage HC_TempUnit, dealing HC_ExplosionDamage[HC_Index] damage of attack type Spells and damage type Normal
                              • Set HC_MaxIndex = (HC_MaxIndex + 1)
                              • Special Effect - Create a special effect attached to the origin of HC_TempUnit using HC_BurnSFX
                              • Set HC_SpecialEffect[HC_MaxIndex] = (Last created special effect)
                              • Set HC_CurrentAngle[HC_MaxIndex] = (Angle from HC_TempPoint to HC_TempPoint2)
                              • Set HC_CurrentBlastDistance[HC_MaxIndex] = 0.00
                              • Set HC_BlastDistance[HC_MaxIndex] = (HC_BlastDistanceBase / ((Distance between HC_TempPoint and HC_TempPoint2) x HC_BlastDistanceMultiplyer))
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • HC_BlastDistance[HC_MaxIndex] Greater than HC_BlastCap
                                • Then - Actions
                                  • Set HC_BlastDistance[HC_MaxIndex] = HC_BlastCap
                                • Else - Actions
                              • Set HC_MaxHeight[HC_MaxIndex] = (HC_BlastDistance[HC_MaxIndex] x HC_HeightMultiplyer)
                              • Set HC_CurrentHeight[HC_MaxIndex] = (Current flying height of HC_TempUnit)
                              • Set HC_StageID[HC_MaxIndex] = 4
                              • Set HC_UnitIndex[HC_MaxIndex] = HC_TempUnit
                              • -------- --------
                              • Set HC_Aoe[HC_MaxIndex] = 0.00
                              • Set HC_OriginalCaster[HC_MaxIndex] = HC_TempUnit
                              • Set HC_OwningPlayer[HC_MaxIndex] = (Owner of HC_TempUnit)
                              • Set HC_CurrentSunDistance[HC_MaxIndex] = 0.00
                              • Set HC_Core[HC_MaxIndex] = HC_TempUnit
                              • Set HC_ExplosionDamage[HC_MaxIndex] = 0.00
                              • Set HC_MagnetismStrength[HC_MaxIndex] = 0.00
                              • Unit - Add Storm Crow Form to HC_TempUnit
                              • Unit - Remove Storm Crow Form from HC_TempUnit
                              • Unit - Pause HC_TempUnit
                              • Custom script: call RemoveLocation (udg_HC_TempPoint2)
                            • Else - Actions
                      • Custom script: call DestroyGroup(udg_HC_TempGroup)
                      • -------- Cleanup --------
                      • For each (Integer HC_SecondaryIndex) from 1 to HC_MaxIndex, do (Actions)
                        • Loop - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • HC_Core[HC_SecondaryIndex] Equal to HC_UnitIndex[HC_Index]
                              • HC_UnitIndex[HC_SecondaryIndex] Not equal to HC_UnitIndex[HC_Index]
                            • Then - Actions
                              • Set HC_TempUnit = HC_UnitIndex[HC_SecondaryIndex]
                              • Set HC_TempPoint2 = (Position of HC_TempUnit)
                              • Special Effect - Destroy HC_SpecialEffect[HC_SecondaryIndex]
                              • Unit - Create 1 HC_DummyType for Neutral Passive at HC_TempPoint2 facing Default building facing degrees
                              • Set HC_TempUnit2 = (Last created unit)
                              • Special Effect - Create a special effect attached to the origin of HC_TempUnit2 using HC_ExplosionSFX
                              • Animation - Change HC_TempUnit2's size to (HC_EffectScalingBlast%, 0.00%, 0.00%) of its original size
                              • Animation - Change HC_TempUnit2 flying height to HC_EffectZBlast at 0.00
                              • Special Effect - Destroy (Last created special effect)
                              • Unit - Add a HC_DummyExpirationTimers second Generic expiration timer to HC_TempUnit2
                              • Set HC_StageID[HC_SecondaryIndex] = HC_StageID[HC_MaxIndex]
                              • Set HC_Aoe[HC_SecondaryIndex] = HC_Aoe[HC_MaxIndex]
                              • Set HC_OriginalCaster[HC_SecondaryIndex] = HC_OriginalCaster[HC_MaxIndex]
                              • Set HC_BlastDistance[HC_SecondaryIndex] = HC_BlastDistance[HC_MaxIndex]
                              • Set HC_CurrentAngle[HC_SecondaryIndex] = HC_CurrentAngle[HC_MaxIndex]
                              • Set HC_CurrentBlastDistance[HC_SecondaryIndex] = HC_CurrentBlastDistance[HC_MaxIndex]
                              • Set HC_OwningPlayer[HC_SecondaryIndex] = HC_OwningPlayer[HC_MaxIndex]
                              • Set HC_MaxHeight[HC_SecondaryIndex] = HC_MaxHeight[HC_MaxIndex]
                              • Set HC_SpecialEffect[HC_SecondaryIndex] = HC_SpecialEffect[HC_MaxIndex]
                              • Set HC_CurrentHeight[HC_SecondaryIndex] = HC_CurrentHeight[HC_MaxIndex]
                              • Set HC_CurrentSunDistance[HC_SecondaryIndex] = HC_CurrentSunDistance[HC_MaxIndex]
                              • Set HC_ExplosionDamage[HC_SecondaryIndex] = HC_ExplosionDamage[HC_MaxIndex]
                              • Set HC_Core[HC_SecondaryIndex] = HC_Core[HC_MaxIndex]
                              • Set HC_UnitIndex[HC_SecondaryIndex] = HC_UnitIndex[HC_MaxIndex]
                              • Set HC_MagnetismStrength[HC_SecondaryIndex] = HC_MagnetismStrength[HC_MaxIndex]
                              • Set HC_MaxIndex = (HC_MaxIndex - 1)
                              • Set HC_SecondaryIndex = (HC_SecondaryIndex - 1)
                              • Unit - Remove HC_TempUnit from the game
                              • Custom script: call RemoveLocation(udg_HC_TempPoint2)
                            • Else - Actions
                      • Unit - Create 1 HC_DummyType for Neutral Passive at HC_TempPoint facing Default building facing degrees
                      • Set HC_TempUnit = (Last created unit)
                      • Special Effect - Destroy HC_SpecialEffect[HC_Index]
                      • Special Effect - Create a special effect attached to the origin of HC_TempUnit using HC_ExplosionSFX
                      • Animation - Change HC_TempUnit's size to (HC_EffectScalingBlast%, 0.00%, 0.00%) of its original size
                      • Animation - Change HC_TempUnit flying height to HC_EffectZBlast at 0.00
                      • Special Effect - Destroy (Last created special effect)
                      • Unit - Add a HC_DummyExpirationTimers second Generic expiration timer to HC_TempUnit
                      • Set HC_TempUnit = HC_UnitIndex[HC_Index]
                      • Set HC_StageID[HC_Index] = HC_StageID[HC_MaxIndex]
                      • Set HC_Aoe[HC_Index] = HC_Aoe[HC_MaxIndex]
                      • Set HC_OriginalCaster[HC_Index] = HC_OriginalCaster[HC_MaxIndex]
                      • Set HC_BlastDistance[HC_Index] = HC_BlastDistance[HC_MaxIndex]
                      • Set HC_CurrentAngle[HC_Index] = HC_CurrentAngle[HC_MaxIndex]
                      • Set HC_OwningPlayer[HC_Index] = HC_OwningPlayer[HC_MaxIndex]
                      • Set HC_MaxHeight[HC_Index] = HC_MaxHeight[HC_MaxIndex]
                      • Set HC_CurrentBlastDistance[HC_Index] = HC_CurrentBlastDistance[HC_MaxIndex]
                      • Set HC_CurrentHeight[HC_Index] = HC_CurrentHeight[HC_MaxIndex]
                      • Set HC_SpecialEffect[HC_Index] = HC_SpecialEffect[HC_MaxIndex]
                      • Set HC_CurrentSunDistance[HC_Index] = HC_CurrentSunDistance[HC_MaxIndex]
                      • Set HC_Core[HC_Index] = HC_Core[HC_MaxIndex]
                      • Set HC_UnitIndex[HC_Index] = HC_UnitIndex[HC_MaxIndex]
                      • Set HC_ExplosionDamage[HC_Index] = HC_ExplosionDamage[HC_MaxIndex]
                      • Set HC_MagnetismStrength[HC_Index] = HC_MagnetismStrength[HC_MaxIndex]
                      • Set HC_MaxIndex = (HC_MaxIndex - 1)
                      • Set HC_Index = (HC_Index - 1)
                      • Unit - Remove HC_TempUnit from the game
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • HC_MaxIndex Equal to 0
                        • Then - Actions
                          • Trigger - Turn off (This trigger)
                        • Else - Actions
                    • Else - Actions
                  • Custom script: call RemoveLocation (udg_HC_TempPoint)
                • Else - Actions
              • -------- Fire balls Spin Control --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • HC_StageID[HC_Index] Equal to 2
                • Then - Actions
                  • Custom script: set udg_HC_TempX = GetUnitX(udg_HC_Core[udg_HC_Index])
                  • Custom script: set udg_HC_TempY = GetUnitY(udg_HC_Core[udg_HC_Index])
                  • Set HC_CurrentAngle[HC_Index] = (HC_CurrentAngle[HC_Index] + HC_FireOrbSpinSpeed)
                  • Custom script: set udg_HC_Angle = udg_HC_CurrentAngle[udg_HC_Index] * bj_DEGTORAD
                  • Custom script: call SetUnitX(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempX + udg_HC_OrbDistance * Cos(udg_HC_Angle))
                  • Custom script: call SetUnitY(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempY + udg_HC_OrbDistance * Sin(udg_HC_Angle))
                  • Set HC_TempPoint = (Position of HC_Core[HC_Index])
                  • Unit - Make HC_UnitIndex[HC_Index] face HC_TempPoint over 0.00 seconds
                  • Custom script: call RemoveLocation(udg_HC_TempPoint)
                • Else - Actions
              • -------- Wind Spin Control --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • HC_StageID[HC_Index] Equal to 3
                • Then - Actions
                  • Custom script: set udg_HC_TempX = GetUnitX(udg_HC_Core[udg_HC_Index])
                  • Custom script: set udg_HC_TempY = GetUnitY(udg_HC_Core[udg_HC_Index])
                  • Set HC_CurrentAngle[HC_Index] = (HC_CurrentAngle[HC_Index] + HC_WindSpinSpeed)
                  • Custom script: set udg_HC_Angle = udg_HC_CurrentAngle[udg_HC_Index] * bj_DEGTORAD
                  • Custom script: call SetUnitX(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempX + udg_HC_WindDistance * Cos(udg_HC_Angle))
                  • Custom script: call SetUnitY(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempY + udg_HC_WindDistance * Sin(udg_HC_Angle))
                • Else - Actions
            • Else - Actions
              • -------- Control of Knockbacked units --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • HC_StageID[HC_Index] Equal to 4
                • Then - Actions
                  • Custom script: set udg_HC_TempX = GetUnitX(udg_HC_UnitIndex[udg_HC_Index])
                  • Custom script: set udg_HC_TempY = GetUnitY(udg_HC_UnitIndex[udg_HC_Index])
                  • Custom script: set udg_HC_Angle = udg_HC_CurrentAngle[udg_HC_Index] * bj_DEGTORAD
                  • Custom script: call SetUnitX(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempX + udg_HC_BlastSpeed * Cos(udg_HC_Angle))
                  • Custom script: call SetUnitY(udg_HC_UnitIndex[udg_HC_Index], udg_HC_TempY + udg_HC_BlastSpeed* Sin(udg_HC_Angle))
                  • Set HC_CurrentBlastDistance[HC_Index] = (HC_CurrentBlastDistance[HC_Index] + HC_BlastSpeed)
                  • Set HC_CurrentHeight[HC_Index] = (((4.00 x HC_MaxHeight[HC_Index]) / HC_BlastDistance[HC_Index]) x ((HC_CurrentBlastDistance[HC_Index] / HC_BlastDistance[HC_Index]) x (HC_BlastDistance[HC_Index] - HC_CurrentBlastDistance[HC_Index])))
                  • Animation - Change HC_UnitIndex[HC_Index] flying height to HC_CurrentHeight[HC_Index] at 0.00
                  • -------- Unit Release --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • HC_CurrentHeight[HC_Index] Less than 0.00
                    • Then - Actions
                      • Special Effect - Destroy HC_SpecialEffect[HC_Index]
                      • Unit - Unpause HC_UnitIndex[HC_Index]
                      • Set HC_StageID[HC_Index] = HC_StageID[HC_MaxIndex]
                      • Set HC_Aoe[HC_Index] = HC_Aoe[HC_MaxIndex]
                      • Set HC_OriginalCaster[HC_Index] = HC_OriginalCaster[HC_MaxIndex]
                      • Set HC_OwningPlayer[HC_Index] = HC_OwningPlayer[HC_MaxIndex]
                      • Set HC_BlastDistance[HC_Index] = HC_BlastDistance[HC_MaxIndex]
                      • Set HC_CurrentAngle[HC_Index] = HC_CurrentAngle[HC_MaxIndex]
                      • Set HC_CurrentBlastDistance[HC_Index] = HC_CurrentBlastDistance[HC_MaxIndex]
                      • Set HC_SpecialEffect[HC_Index] = HC_SpecialEffect[HC_MaxIndex]
                      • Set HC_CurrentHeight[HC_Index] = HC_CurrentHeight[HC_MaxIndex]
                      • Set HC_MaxHeight[HC_Index] = HC_MaxHeight[HC_MaxIndex]
                      • Set HC_CurrentSunDistance[HC_Index] = HC_CurrentSunDistance[HC_MaxIndex]
                      • Set HC_Core[HC_Index] = HC_Core[HC_MaxIndex]
                      • Set HC_UnitIndex[HC_Index] = HC_UnitIndex[HC_MaxIndex]
                      • Set HC_ExplosionDamage[HC_Index] = HC_ExplosionDamage[HC_MaxIndex]
                      • Set HC_MagnetismStrength[HC_Index] = HC_MagnetismStrength[HC_MaxIndex]
                      • Set HC_MaxIndex = (HC_MaxIndex - 1)
                      • Set HC_Index = (HC_Index - 1)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • HC_MaxIndex Equal to 0
                        • Then - Actions
                          • Trigger - Turn off (This trigger)
                        • Else - Actions
                    • Else - Actions
                • Else - Actions

  • Helios Collision Dummy Removal
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • Set HC_TempUnit = (Triggering unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of HC_TempUnit) Equal to HC_DummyType
        • Then - Actions
          • Unit - Remove HC_TempUnit from the game
        • Else - Actions



Changelog

-=V1.00=-
- Initial Upload
- Expect errors (I shall excuse myself for making mistakes since I haven't touched WE in a while and [insert suppliment excuses here]
-=NullUpdate=-
- Few more comments added to code (no other changes)


Credits to WILL THE ALMIGHTY for the Sun model (spell looks so much better with it)

Give credits to me if you use this spell in your map and Enjoy

Keywords:
Sun, Helios, Burn, Explode, Gravity, Magnetism, Projectile, Flashy, Sfx Spammy, Space, Fire, Star.
Contents

Helios Collision (Map)

Reviews
Moderator
16:01, 7th Nov 2012 Magtheridon96: Approved. Well done. edit Re-evaluated to 5/5!
  1. 16:01, 7th Nov 2012
    Magtheridon96: Approved.
    Well done.

    edit
    Re-evaluated to 5/5!
     
  2. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    MUI: 5/5
    Configurable: 5/5
    Triggers: 5/5
    Spell Size: 3/5
    Name: 4/5

    (5+5+5+3+4x5/25)
    Overall Rating: 4.4

    Comment:
    Why not make the 360 Configurable?
    :D XD
     
  3. Magtheridon96

    Magtheridon96

    Joined:
    Dec 12, 2008
    Messages:
    6,006
    Resources:
    26
    Maps:
    1
    Spells:
    8
    Tutorials:
    7
    JASS:
    10
    Resources:
    26
    Those people must be terrible ;D
     
  4. Kam

    Kam

    Joined:
    Aug 3, 2004
    Messages:
    2,623
    Resources:
    23
    Models:
    8
    Icons:
    2
    Maps:
    13
    Resources:
    23
    The only thing holding this back for me is the lack of detection for deep water and doodads.
     
  5. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,543
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    That'd be an object editor attribute, prehaps play around a bit with the movement type and you might get what you want?
     
  6. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Why you updated it?
     
  7. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,543
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    Because Magtheridon asked me to add more comments to the script, so I did and showing such in the description and the code when downloaded requires an update
     
  8. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    I know now,,I'm just asking because I'll be using your spell in my Map,,Don't worry I put you in the credits
    Wanna test my map??:ogre_haosis:
     
  9. Kaito Kid

    Kaito Kid

    Joined:
    Sep 13, 2012
    Messages:
    5
    Resources:
    0
    Resources:
    0
    I tried your spell (and also chaos singularity) but I am having an issue.
    With chaos singularity, when I cast the spell the obelisk does not appear, but later the lightning appears and the effect still works (damage and stun)
    I have the same issue with this one, where the drag and the explosion work but no sun or any effect (except final explosion).
    I think I know where the problem comes from, when I imported the models they are saved as .mdx but my unit editor can only set up .mdl as model files, so that is probbaly the problem, but I don't know how to make your .mdx files into .mdls so that my editor can use them
     
  10. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,543
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    You don't need to modify the imported file path or do anything to model, the editor will automatically recognise it, consider the following: have you set up the triggers correctly? i.e. in the config is the dummy unit and the effect paths correct? if you copied the triggers -before- copying the dummy unit then it's likely that an error occured and the config is incorrect
     
  11. Kaito Kid

    Kaito Kid

    Joined:
    Sep 13, 2012
    Messages:
    5
    Resources:
    0
    Resources:
    0
    Actually I copied the unit and spell before the trigger, but the config was still bugged (every time I import a spell this happens) and the unit and spell are not the right one anyway, I have to change them manually, but I have already done this, otherwise the spell wouldn't work right?

    Well anyway I found the problem, for the dummies at the model line it was something like dummy.mdl and dummy1.mdl (yes, both spells used the same dummy so I had to replace one of them in the trigger and the imported file) and I just had to change the line from "custom --> dummy.mdl" to "imported --> war3mapimported\dummy.mdl"

    Your spells are awesome man, I can't understand anything how they work but they're cool, keep up the good work :D
     
  12. hachiman

    hachiman

    Joined:
    Jan 1, 2013
    Messages:
    3
    Resources:
    0
    Resources:
    0
    hi...i'm a newbie & just downloaded your spell

    the spell's effect works fine, but it can't drag my enemies....
     
  13. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Another one got error importing your spell
     
  14. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,543
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    If the import instructions are followed correctly, there's no reason for it to not be working, If -no- enemies are being dragged but everything else works perfectly, then it's possible there was an error due to importing order, or somesuch occurence.

    If there -is- no mistake on the importing method, then there's really nothing I can suggest, as it'll be the same as it was in the test map which works perfectly fine.
     
  15. hachiman

    hachiman

    Joined:
    Jan 1, 2013
    Messages:
    3
    Resources:
    0
    Resources:
    0
    yea...after few tries it's working now....

    thanks, this spell is really amazing!!
     
  16. iamjaycee_18

    iamjaycee_18

    Joined:
    Jan 31, 2013
    Messages:
    3
    Resources:
    0
    Resources:
    0
    Hello

    I want your spell.... helios colision... but your spell has no effect for flying units.
    [​IMG]
    you can see that your spell doesnt drag them. thank you :)
     

    Attached Files:

  17. Tank-Commander

    Tank-Commander

    Spell Reviewer

    Joined:
    May 26, 2009
    Messages:
    1,543
    Resources:
    44
    Packs:
    1
    Spells:
    41
    Tutorials:
    2
    Resources:
    44
    I know, the spell isn't supposed to effect flying units - the effect would be really strange and not really work if it did
     
  18. iamjaycee_18

    iamjaycee_18

    Joined:
    Jan 31, 2013
    Messages:
    3
    Resources:
    0
    Resources:
    0
    ok.. !! BTW im using it now on my map :)
     
  19. Rodrigooo

    Rodrigooo

    Joined:
    Dec 2, 2008
    Messages:
    20
    Resources:
    0
    Resources:
    0
    Is there a way to disable the enemies jump? By the way, Awesome spell!
     
    Last edited: Feb 27, 2013