• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Trigger] Help with spells

Status
Not open for further replies.
Level 11
Joined
Jun 20, 2017
Messages
380
Could someone remove the Knockback system? and the problem is when I cast the spell it make delay.
Storming Hammers v1.0 - GUI
  • Storming Hammers Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- --------
      • -------- * SPELL CONFIGURATION FIELD * --------
      • -------- --------
      • -------- OBJECT EDITOR ( F6 ) --------
      • -------- --------
      • -------- - --------
      • -------- The spell or ability used in the triggers. ( Import the Storming Hammers Ability ) --------
      • Set Ability_StormingHammers = Storming Hammers [Golem]
      • -------- The chain lightning dummy ability used in the triggers. ( Import the Storming Hammers Dummy Ability ) --------
      • Set Ability_StormingHammersDummy = Storming Hammers
      • -------- The dummy unit type used in the triggers. ( Import the Storming Hammers Dummy Unit ) --------
      • Set UnitType_SHDummy = Storming Hammers
      • -------- - --------
      • -------- --------
      • -------- SPELL DATA --------
      • -------- --------
      • -------- - --------
      • -------- The maximum or numbers of levels of the spell or ability. ( Must be equal to number of levels in Storming Hammers Ability ) --------
      • Set Integer_SHAbilityMaxLevel = 1
      • -------- - --------
      • -------- The maximum radius or the area of effect of the spell or ability. --------
      • Set Reals_SHRadius[1] = 400.00
      • -------- - --------
      • -------- The activation delay of the storm cloud to start producing multiple hammers --------
      • Set Reals_SHActivationDelay[1] = 1.00
      • -------- - --------
      • -------- The duration of the spell or ability , starts ticking after the activation delay ( SH_ActivationDelay ). --------
      • Set Reals_SHDuration[1] = 5.00
      • -------- - --------
      • -------- Destroy Trees? True = Yes , False = No --------
      • Set Boolean_SHDestroyTrees = False
      • -------- - --------
      • -------- The attack type and damage type of the source. ( Caster ) --------
      • Set AttackType_StormingHammers = Spells
      • Set DamageType_SH = Normal
      • -------- - --------
      • -------- An artificial floor height where hammer units are detected. The value is recommended. --------
      • Set Real_SHFloorHeight = 25.00
      • -------- - --------
      • -------- The interval of the looping trigger. Recommended Value: 0.03125000 = 1 second / 32 Iterations/Frames --------
      • Set Real_SHLoopInterval = 0.02
      • -------- ^ I've modified it to 0.02 = 0.02222220 = 1 second / 45 Iterations/Frames ( Smooth Motions ) --------
      • -------- ^ Modify at your own risk: changing this value affects the spell performance. --------
      • -------- - --------
      • -------- --------
      • -------- CLOUD AND HAMMERS DATA --------
      • -------- --------
      • -------- - --------
      • -------- The art model used to attach in the cloud. --------
      • Set Strings_SHEffect[1] = Abilities\Spells\Human\CloudOfFog\CloudOfFog.mdl
      • -------- An effect occurs when the cloud activates. --------
      • Set Strings_SHEffect[7] = Abilities\Spells\Orc\Purge\PurgeBuffTarget.mdl
      • -------- - --------
      • -------- The size of the cloud. --------
      • Set Reals_SHCloudSize[1] = 2.25
      • -------- - --------
      • -------- The creation height of the cloud. --------
      • Set Reals_SHCloudHeight[1] = 500.00
      • -------- - --------
      • -------- The art model used and trail effect to attach in the hammers. --------
      • Set Strings_SHEffect[2] = Abilities\Spells\Human\StormBolt\StormBoltMissile.mdl
      • Set Strings_SHEffect[3] = Abilities\Spells\Undead\AbsorbMana\AbsorbManaBirthMissile.mdl
      • -------- ^ If you want to disable the trail effect then you can remove the model path and leave a space "<space>" --------
      • -------- - --------
      • -------- The pitch of the hammers. ( 90 = Upward , -90 = Downward ) --------
      • Set Real_SHPitch = -90.00
      • -------- ^ Recommended Value --------
      • -------- - --------
      • -------- Apply Player Colors To Hammers? True = Yes , False = No ( Default: PLAYER_NEUTRAL_PASSIVE COLOR ) --------
      • Set Boolean_SHHammerPlayerColor = False
      • -------- - --------
      • -------- The amount or number of hammers created. Value != 0 --------
      • Set Integers_SHHammerAmount[1] = 5
      • -------- - --------
      • -------- The size of the hammers. --------
      • Set Reals_SHHammerSize[1] = 1.50
      • -------- - --------
      • -------- The minimum and maximum fall time of the hammers. --------
      • Set Reals_SHHammerFallMinTime[1] = 0.50
      • Set Reals_SHHammerFallMaxTime[1] = 1.00
      • -------- - --------
      • -------- The collision radius of the hammers. --------
      • Set Reals_SHHammerCollision[1] = 150.00
      • -------- - --------
      • -------- The damage of the hammers in collision radius. --------
      • Set Reals_SHHammerDamage[1] = 20.00
      • -------- - --------
      • -------- The interval of creating multiple hammers. --------
      • Set Reals_SHHammerSpawnInterval[1] = 0.50
      • -------- - --------
      • -------- An effect occurs when the hammers landed on the ground. --------
      • Set Strings_SHEffect[4] = Abilities\Weapons\Bolt\BoltImpact.mdl
      • -------- - --------
      • -------- An effect occurs at the enemy units when damaged by the hammers. --------
      • Set Strings_SHEffect[5] = Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
      • -------- - --------
      • -------- The attachment point of all art models created in dummy units. ( Default: origin ) --------
      • Set String_SHEffectAttach = origin
      • -------- - --------
      • -------- * OPTIONAL * --------
      • -------- Hammers Chain Lightning? True = Yes , False = No --------
      • Set Boolean_SHHammerChainLightning = True
      • -------- ^ IF: TRUE = Import the Storming Hammers Dummy Ability --------
      • -------- ^ IF: FALSE = Ignore and leave the Storming Hammers Dummy Ability --------
      • -------- - --------
      • -------- * OPTIONAL * --------
      • -------- Hammers Knockback? True = Yes , False = No --------
      • Set Boolean_SHHammerKB = False
      • -------- ^ IF: TRUE = Import the KB3D System ( Jad ) --------
      • -------- ^ IF: FALSE = Ignore and leave the KB3D System ( Jad ) and the next KB DATA section. --------
      • -------- - --------
      • -------- --------
      • -------- KB DATA --------
      • -------- --------
      • -------- - --------
      • -------- A looping effect occurs when the enemy unit is in knockback state or motion. --------
      • Set Strings_SHEffect[6] = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • -------- - --------
      • -------- The range of the knockback. --------
      • Set Reals_SHKBRange[1] = 120.00
      • -------- - --------
      • -------- The speed of the knockback. ( Distance Per Second ) --------
      • Set Reals_SHKBSpeed[1] = 300.00
      • -------- - --------
      • -------- The acceleration of the knockback. ( Only NEGATIVE Values ) --------
      • Set Reals_SHKBAcceleration[1] = -100.00
      • -------- - --------
      • -------- The maximum height of the knockback. --------
      • Set Reals_SHKBMaxHeight[1] = 100.00
      • -------- - --------
      • -------- --------
      • -------- CODE DATA --------
      • -------- * DON'T TOUCH THE CODES BELOW UNLESS SOME OF THEM MALFUNCTIONS * --------
      • -------- --------
      • -------- - --------
      • -------- ............................................................................................................... --------
      • -------- Loop Event --------
      • Trigger - Add to Storming Hammers Loop <gen> the event (Time - Every Real_SHLoopInterval seconds of game time)
      • -------- ............................................................................................................... --------
      • -------- Tree Checker Setup --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Boolean_SHDestroyTrees Equal to False
        • Then - Actions
          • Custom script: set udg_Unit_SHTreeChecker = CreateUnit( Player( 15 ) , udg_UnitType_SHDummy , 0 , 0 , 0 )
          • Custom script: call UnitAddAbility( udg_Unit_SHTreeChecker , 'Ahar' ) // Harvest Ability
          • -------- single location reference --------
          • Set Point_SHCustom = (Point(0.00, 0.00))
        • Else - Actions
      • -------- ............................................................................................................... --------
      • -------- Preload Objects --------
      • -------- Abilities and Units: --------
      • Custom script: set udg_Unit_SHPicked = CreateUnit( Player( 15 ) , udg_UnitType_SHDummy , 0 , 0 , 0 )
      • Custom script: call UnitAddAbility( udg_Unit_SHPicked , udg_Ability_StormingHammers )
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Boolean_SHHammerChainLightning Equal to True
        • Then - Actions
          • Custom script: call UnitAddAbility( udg_Unit_SHPicked , udg_Ability_StormingHammersDummy )
        • Else - Actions
      • Custom script: call RemoveUnit( udg_Unit_SHPicked )
      • -------- Effects: --------
      • Set Integer_SHEffectAmount = 7
      • For each (Integer Integer_SHCustomInteger) from 1 to Integer_SHEffectAmount, do (Actions)
        • Loop - Actions
          • Custom script: call Preload(udg_Strings_SHEffect[udg_Integer_SHCustomInteger])
      • -------- ............................................................................................................... --------
      • -------- Initialize Calculations --------
      • For each (Integer Integer_SHCustomInteger) from 1 to Integer_SHAbilityMaxLevel, do (Actions)
        • Loop - Actions
          • Set Reals_SHCustom[Integer_SHCustomInteger] = (Reals_SHCloudHeight[Integer_SHCustomInteger] x 2.00)
      • -------- ............................................................................................................... --------
      • -------- index reference --------
      • Set Integer_SHCurrentIndex = 0
      • -------- ............................................................................................................... --------
      • -------- for global variable declaration and nulling --------
      • Set Unit_SHPicked = No unit
      • -------- ............................................................................................................... --------
      • -------- --------
      • -------- * END OF SPELL CONFIGURATION FIELD * --------
      • -------- --------
      • Custom script: endfunction
      • Custom script:
      • Custom script: // !Custom Pitch Animation! //
      • Custom script: function SH_SetPitch takes unit u, real pitch returns nothing
      • Custom script: local integer i = R2I( pitch * bj_RADTODEG + 90.5 )
      • Custom script: if 179 < i then
      • Custom script: set i = 179
      • Custom script: elseif 0 > i then
      • Custom script: set i = 0
      • Custom script: endif
      • Custom script: call SetUnitAnimationByIndex( u , i )
  • Storming Hammers Execution
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ability_StormingHammers
    • Actions
      • -------- --------
      • -------- OnCast --------
      • -------- --------
      • -------- no locals declared --------
      • -------- --------
      • -------- instance storage --------
      • Set Integer_SHMaxIndex = (Integer_SHMaxIndex + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer_SHMaxIndex Equal to 1
        • Then - Actions
          • Trigger - Turn on Storming Hammers Loop <gen>
        • Else - Actions
      • -------- --------
      • -------- allocations --------
      • Set Units_SHCaster[Integer_SHMaxIndex] = (Triggering unit)
      • Set Players_SHCaster[Integer_SHMaxIndex] = (Owner of Units_SHCaster[Integer_SHMaxIndex])
      • Set Integers_SHLevel[Integer_SHMaxIndex] = (Level of Ability_StormingHammers for Units_SHCaster[Integer_SHMaxIndex])
      • Custom script: set udg_Reals_SHX[udg_Integer_SHMaxIndex] = GetSpellTargetX( )
      • Custom script: set udg_Reals_SHY[udg_Integer_SHMaxIndex] = GetSpellTargetY( )
      • Custom script: set udg_Units_SH[udg_Integer_SHMaxIndex] = CreateUnit( udg_Players_SHCaster[udg_Integer_SHMaxIndex] , udg_UnitType_SHDummy , udg_Reals_SHX[udg_Integer_SHMaxIndex] , udg_Reals_SHY[udg_Integer_SHMaxIndex] , GetRandomReal( 0 , 360 ) )
      • Custom script: set udg_SEs_SHCloudModelHandler[udg_Integer_SHMaxIndex] = AddSpecialEffectTarget( udg_Strings_SHEffect[ 1 ] , udg_Units_SH[udg_Integer_SHMaxIndex ] , udg_String_SHEffectAttach)
      • Custom script: call SetUnitScale( udg_Units_SH[udg_Integer_SHMaxIndex] , udg_Reals_SHCloudSize[ udg_Integers_SHLevel[udg_Integer_SHMaxIndex] ] , 0 , 0 )
      • Custom script: call SetUnitFlyHeight(udg_Units_SH[udg_Integer_SHMaxIndex] , udg_Reals_SHCloudHeight[ udg_Integers_SHLevel[udg_Integer_SHMaxIndex] ] , 0 )
      • -------- --------
      • -------- counters --------
      • Set SH_HammerSpawnIntervalCounter[Integer_SHMaxIndex] = 0.00
      • Set Reals_SHActivationDelayCounter[Integer_SHMaxIndex] = 0.00
      • Set Reals_SHDurationCounter[Integer_SHMaxIndex] = 0.00
      • Set Booleans_SHCustom[Integer_SHMaxIndex] = False
      • -------- --------
      • -------- phase one insert cloud --------
      • Set Integers_SHPhase[Integer_SHMaxIndex] = 1
      • -------- --------
  • Storming Hammers Loop
    • Events
    • Conditions
    • Actions
      • -------- --------
      • -------- OnLoop --------
      • -------- --------
      • -------- declaration of locals: --------
      • Custom script: local real x
      • Custom script: local real y
      • Custom script: local real x2
      • Custom script: local real y2
      • Custom script: local integer i
      • Custom script: local unit u
      • -------- --------
      • For each (Integer Integer_SHCurrentIndex) from 1 to Integer_SHMaxIndex, do (Actions)
        • Loop - Actions
          • -------- --------
          • -------- phase one cloud --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Integers_SHPhase[Integer_SHCurrentIndex] Equal to 1
            • Then - Actions
              • -------- --------
              • -------- cloud activation --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Reals_SHActivationDelayCounter[Integer_SHCurrentIndex] Greater than or equal to Reals_SHActivationDelay[Integers_SHLevel[Integer_SHCurrentIndex]]
                • Then - Actions
                  • -------- --------
                  • -------- cloud activation effect --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Booleans_SHCustom[Integer_SHCurrentIndex] Equal to False
                    • Then - Actions
                      • Custom script: set udg_SEs_SHCloudModelHandler2[udg_Integer_SHCurrentIndex] = AddSpecialEffectTarget( udg_Strings_SHEffect[ 7 ] , udg_Units_SH[udg_Integer_SHCurrentIndex] , udg_String_SHEffectAttach)
                      • Set Booleans_SHCustom[Integer_SHCurrentIndex] = True
                    • Else - Actions
                  • -------- --------
                  • -------- hammers produce time --------
                  • Set SH_HammerSpawnIntervalCounter[Integer_SHCurrentIndex] = (SH_HammerSpawnIntervalCounter[Integer_SHCurrentIndex] + Real_SHLoopInterval)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SH_HammerSpawnIntervalCounter[Integer_SHCurrentIndex] Greater than or equal to Reals_SHHammerSpawnInterval[Integers_SHLevel[Integer_SHCurrentIndex]]
                    • Then - Actions
                      • -------- --------
                      • For each (Integer Integer_SHCustomInteger) from 1 to Integers_SHHammerAmount[Integers_SHLevel[Integer_SHCurrentIndex]], do (Actions)
                        • Loop - Actions
                          • -------- --------
                          • -------- spawn offset --------
                          • Custom script: set x = udg_Reals_SHX[ udg_Integer_SHCurrentIndex] + GetRandomReal( 0 , udg_Reals_SHRadius[ udg_Integers_SHLevel[ udg_Integer_SHCurrentIndex] ] ) * Cos( GetRandomReal( -bj_PI , bj_PI ) )
                          • Custom script: set y = udg_Reals_SHY[ udg_Integer_SHCurrentIndex] + GetRandomReal( 0 , udg_Reals_SHRadius[ udg_Integers_SHLevel[ udg_Integer_SHCurrentIndex] ] ) * Sin( GetRandomReal( -bj_PI , bj_PI ) )
                          • -------- --------
                          • -------- hammers creation --------
                          • Set Integer_SHMaxIndex = (Integer_SHMaxIndex + 1)
                          • Custom script: set udg_Units_SHCustom[ udg_Integer_SHMaxIndex] = CreateUnit( udg_Players_SHCaster[udg_Integer_SHCurrentIndex] , udg_UnitType_SHDummy , x , y , GetRandomReal( 0 , 360 ) )
                          • Custom script: set udg_SEs_SHHammerModelHandler[ udg_Integer_SHMaxIndex] = AddSpecialEffectTarget( udg_Strings_SHEffect[ 2 ] , udg_Units_SHCustom[ udg_Integer_SHMaxIndex] , udg_String_SHEffectAttach)
                          • Custom script: set udg_SEs_SHTrailModelHandler[ udg_Integer_SHMaxIndex] = AddSpecialEffectTarget( udg_Strings_SHEffect[ 3 ] , udg_Units_SHCustom[ udg_Integer_SHMaxIndex] , udg_String_SHEffectAttach)
                          • Custom script: call SetUnitScale( udg_Units_SHCustom[ udg_Integer_SHMaxIndex] , udg_Reals_SHHammerSize[ udg_Integers_SHLevel[ udg_Integer_SHCurrentIndex] ] , 0 , 0 )
                          • Custom script: call SetUnitFlyHeight( udg_Units_SHCustom[ udg_Integer_SHMaxIndex] , udg_Reals_SHCustom[ udg_Integers_SHLevel[ udg_Integer_SHCurrentIndex] ] , 0 )
                          • Custom script: call SH_SetPitch( udg_Units_SHCustom[ udg_Integer_SHMaxIndex] , udg_Real_SHPitch)
                          • -------- --------
                          • -------- hammers player color boolean --------
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Boolean_SHHammerPlayerColor Equal to True
                            • Then - Actions
                              • Unit - Change color of Units_SHCustom[Integer_SHMaxIndex] to (Color of Players_SHCaster[Integer_SHCurrentIndex])
                            • Else - Actions
                              • Unit - Change color of Units_SHCustom[Integer_SHMaxIndex] to (Color of Neutral Passive)
                          • -------- --------
                          • Set Units_SHCaster[Integer_SHMaxIndex] = Units_SHCaster[Integer_SHCurrentIndex]
                          • Set Players_SHCaster[Integer_SHMaxIndex] = Players_SHCaster[Integer_SHCurrentIndex]
                          • Set Integers_SHLevel[Integer_SHMaxIndex] = Integers_SHLevel[Integer_SHCurrentIndex]
                          • Set Units_SH[Integer_SHMaxIndex] = Units_SH[Integer_SHCurrentIndex]
                          • Set Reals_SHHammerCurrentHeight[Integer_SHMaxIndex] = (Current flying height of Units_SHCustom[Integer_SHMaxIndex])
                          • Set SH_HammerFallTimeCalculation[Integer_SHMaxIndex] = (Reals_SHHammerCurrentHeight[Integer_SHMaxIndex] / ((Random real number between Reals_SHHammerFallMinTime[Integers_SHLevel[Integer_SHMaxIndex]] and Reals_SHHammerFallMaxTime[Integers_SHLevel[Integer_SHMaxIndex]]) / Real_SHLoopInterval))
                          • -------- --------
                          • -------- phase two insert hammer --------
                          • Set Integers_SHPhase[Integer_SHMaxIndex] = 2
                          • -------- --------
                      • -------- --------
                      • -------- reset --------
                      • Set SH_HammerSpawnIntervalCounter[Integer_SHCurrentIndex] = 0.00
                      • -------- --------
                    • Else - Actions
                  • -------- --------
                  • Set Reals_SHDurationCounter[Integer_SHCurrentIndex] = (Reals_SHDurationCounter[Integer_SHCurrentIndex] + Real_SHLoopInterval)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Reals_SHDurationCounter[Integer_SHCurrentIndex] Greater than or equal to Reals_SHDuration[Integers_SHLevel[Integer_SHCurrentIndex]]
                    • Then - Actions
                      • -------- --------
                      • -------- !CloudDestroy! --------
                      • Special Effect - Destroy SEs_SHCloudModelHandler[Integer_SHCurrentIndex]
                      • Special Effect - Destroy SEs_SHCloudModelHandler2[Integer_SHCurrentIndex]
                      • Unit - Kill Units_SH[Integer_SHCurrentIndex]
                      • Set Integers_SHPhase[Integer_SHCurrentIndex] = 3
                      • -------- --------
                    • Else - Actions
                  • -------- --------
                • Else - Actions
                  • -------- --------
                  • Set Reals_SHActivationDelayCounter[Integer_SHCurrentIndex] = (Reals_SHActivationDelayCounter[Integer_SHCurrentIndex] + Real_SHLoopInterval)
                  • -------- --------
            • Else - Actions
          • -------- --------
          • -------- phase two hammers --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Integers_SHPhase[Integer_SHCurrentIndex] Equal to 2
            • Then - Actions
              • -------- --------
              • Set Reals_SHHammerCurrentHeight[Integer_SHCurrentIndex] = (Reals_SHHammerCurrentHeight[Integer_SHCurrentIndex] - SH_HammerFallTimeCalculation[Integer_SHCurrentIndex])
              • Custom script: call SetUnitFlyHeight( udg_Units_SHCustom[ udg_Integer_SHCurrentIndex] , udg_Reals_SHHammerCurrentHeight[ udg_Integer_SHCurrentIndex] , 0 )
              • -------- --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Reals_SHHammerCurrentHeight[Integer_SHCurrentIndex] Less than or equal to Real_SHFloorHeight
                • Then - Actions
                  • -------- --------
                  • Custom script: set x = GetUnitX( udg_Units_SHCustom[ udg_Integer_SHCurrentIndex] )
                  • Custom script: set y = GetUnitY( udg_Units_SHCustom[ udg_Integer_SHCurrentIndex] )
                  • Custom script: call DestroyEffect( AddSpecialEffect( udg_Strings_SHEffect[ 4 ] , x , y ) )
                  • -------- --------
                  • -------- single dummy caster creation --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Boolean_SHHammerChainLightning Equal to True
                    • Then - Actions
                      • Custom script: set u = CreateUnit( udg_Players_SHCaster[ udg_Integer_SHCurrentIndex] , udg_UnitType_SHDummy , x , y , GetRandomReal( 0 , 360 ) )
                      • Custom script: call UnitAddAbility( u , udg_Ability_StormingHammersDummy)
                      • Custom script: call UnitApplyTimedLife( u , 'BTLF' , 1 )
                    • Else - Actions
                  • -------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Boolean_SHDestroyTrees Equal to True
                    • Then - Actions
                      • -------- --------
                      • Custom script: call MoveLocation( udg_Point_SHCustom , x , y )
                      • Destructible - Pick every destructible within Reals_SHHammerCollision[Integers_SHLevel[Integer_SHCurrentIndex]] of Point_SHCustom and do (Actions)
                        • Loop - Actions
                          • Set Destructible_SHTree = (Picked destructible)
                          • Unit - Order Unit_SHTreeChecker to Harvest Destructible_SHTree
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • (Current order of Unit_SHTreeChecker) Equal to (Order(harvest))
                            • Then - Actions
                              • Destructible - Kill Destructible_SHTree
                            • Else - Actions
                          • Unit - Order Unit_SHTreeChecker to Stop
                      • -------- --------
                    • Else - Actions
                  • -------- --------
                  • -------- * KB3D SYSTEM * --------
                  • -------- --------
                  • Custom script: call GroupEnumUnitsInRange( bj_lastCreatedGroup , x , y , udg_Reals_SHHammerCollision[ udg_Integers_SHLevel[ udg_Integer_SHCurrentIndex] ] , null )
                  • Custom script: loop
                  • Custom script: set udg_Unit_SHPicked = FirstOfGroup( bj_lastCreatedGroup )
                  • Custom script: exitwhen udg_Unit_SHPicked == null
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Unit_SHPicked is dead) Equal to False
                      • (Unit_SHPicked is Magic Immune) Equal to False
                      • (Unit_SHPicked is A flying unit) Equal to False
                      • (Unit_SHPicked belongs to an enemy of Players_SHCaster[Integer_SHCurrentIndex]) Equal to True
                    • Then - Actions
                      • -------- --------
                      • -------- normal damage effect --------
                      • Custom script: call DestroyEffect( AddSpecialEffectTarget( udg_Strings_SHEffect[ 5 ] , udg_Unit_SHPicked , udg_String_SHEffectAttach) )
                      • Unit - Cause Units_SHCaster[Integer_SHCurrentIndex] to damage Unit_SHPicked, dealing Reals_SHHammerDamage[Integers_SHLevel[Integer_SHCurrentIndex]] damage of attack type AttackType_StormingHammers and damage type DamageType_SH
                      • -------- --------
                      • -------- chain lightning boolean --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Boolean_SHHammerChainLightning Equal to True
                        • Then - Actions
                          • -------- --------
                          • -------- dummy caster single chain lightning --------
                          • Custom script: call IssueTargetOrder( u , "chainlightning" , udg_Unit_SHPicked)
                          • -------- --------
                        • Else - Actions
                      • -------- --------
                      • -------- knockback boolean --------
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Unit_SHPicked is A structure) Equal to False
                          • Boolean_SHHammerKB Equal to True
                        • Then - Actions
                          • -------- --------
                          • Custom script: set i = GetHandleId( udg_Unit_SHPicked)
                          • Custom script: set x2 = GetUnitX( udg_Unit_SHPicked)
                          • Custom script: set y2 = GetUnitY( udg_Unit_SHPicked)
                          • -------- --------
                          • Custom script: if not LoadBoolean( udg_KB3D_HA , i , i ) then
                          • Set KB3D_Unit = Unit_SHPicked
                          • Set KB3D_Range = Reals_SHKBRange[Integers_SHLevel[Integer_SHCurrentIndex]]
                          • Set KB3D_Speed = Reals_SHKBSpeed[Integers_SHLevel[Integer_SHCurrentIndex]]
                          • Custom script: set udg_KB3D_Angle = Atan2( y2 - y , x2 - x ) * bj_RADTODEG
                          • Set KB3D_Accel = Reals_SHKBAcceleration[Integers_SHLevel[Integer_SHCurrentIndex]]
                          • Set KB3D_AttackType = AttackType_StormingHammers
                          • Set KB3D_DamageType = DamageType_SH
                          • Set KB3D_Damager = Units_SHCaster[Integer_SHCurrentIndex]
                          • Set KB3D_DestroyTree = Boolean_SHDestroyTrees
                          • Set KB3D_FaceAngle = False
                          • Set KB3D_Fx = Strings_SHEffect[6]
                          • Set KB3D_Attach = String_SHEffectAttach
                          • Set KB3D_iKB = True
                          • Set KB3D_UnpathableStop = True
                          • Set KB3D_Zoffset = Reals_SHKBMaxHeight[Integers_SHLevel[Integer_SHCurrentIndex]]
                          • -------- --------
                          • -------- Registed All of the Settings --------
                          • Custom script: call ExecuteFunc( "KB3D_Registration" )
                          • Custom script: endif
                          • -------- --------
                        • Else - Actions
                      • -------- --------
                    • Else - Actions
                  • Custom script: call GroupRemoveUnit( bj_lastCreatedGroup , udg_Unit_SHPicked)
                  • Custom script: endloop
                  • -------- --------
                  • -------- !HammerDestroy! --------
                  • Special Effect - Destroy SEs_SHHammerModelHandler[Integer_SHCurrentIndex]
                  • Special Effect - Destroy SEs_SHTrailModelHandler[Integer_SHCurrentIndex]
                  • Unit - Kill Units_SHCustom[Integer_SHCurrentIndex]
                  • Set Integers_SHPhase[Integer_SHCurrentIndex] = 3
                  • -------- --------
                  • Custom script: set u = null
                  • -------- --------
                • Else - Actions
              • -------- --------
            • Else - Actions
          • -------- --------
          • -------- phase three recycling --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Integers_SHPhase[Integer_SHCurrentIndex] Equal to 3
            • Then - Actions
              • -------- --------
              • -------- recycling indexes --------
              • Set Units_SHCaster[Integer_SHCurrentIndex] = Units_SHCaster[Integer_SHMaxIndex]
              • Set Players_SHCaster[Integer_SHCurrentIndex] = Players_SHCaster[Integer_SHMaxIndex]
              • Set Integers_SHLevel[Integer_SHCurrentIndex] = Integers_SHLevel[Integer_SHMaxIndex]
              • Set Units_SH[Integer_SHCurrentIndex] = Units_SH[Integer_SHMaxIndex]
              • Set Units_SHCustom[Integer_SHCurrentIndex] = Units_SHCustom[Integer_SHMaxIndex]
              • Set SEs_SHCloudModelHandler[Integer_SHCurrentIndex] = SEs_SHCloudModelHandler[Integer_SHMaxIndex]
              • Set SEs_SHCloudModelHandler2[Integer_SHCurrentIndex] = SEs_SHCloudModelHandler2[Integer_SHMaxIndex]
              • Set SEs_SHHammerModelHandler[Integer_SHCurrentIndex] = SEs_SHHammerModelHandler[Integer_SHMaxIndex]
              • Set SEs_SHTrailModelHandler[Integer_SHCurrentIndex] = SEs_SHTrailModelHandler[Integer_SHMaxIndex]
              • Set Reals_SHDurationCounter[Integer_SHCurrentIndex] = Reals_SHDurationCounter[Integer_SHMaxIndex]
              • Set Reals_SHActivationDelayCounter[Integer_SHCurrentIndex] = Reals_SHActivationDelayCounter[Integer_SHMaxIndex]
              • Set SH_HammerSpawnIntervalCounter[Integer_SHCurrentIndex] = SH_HammerSpawnIntervalCounter[Integer_SHMaxIndex]
              • Set Booleans_SHCustom[Integer_SHCurrentIndex] = Booleans_SHCustom[Integer_SHMaxIndex]
              • Set Reals_SHX[Integer_SHCurrentIndex] = Reals_SHX[Integer_SHMaxIndex]
              • Set Reals_SHY[Integer_SHCurrentIndex] = Reals_SHY[Integer_SHMaxIndex]
              • Set Reals_SHHammerCurrentHeight[Integer_SHCurrentIndex] = Reals_SHHammerCurrentHeight[Integer_SHMaxIndex]
              • Set SH_HammerFallTimeCalculation[Integer_SHCurrentIndex] = SH_HammerFallTimeCalculation[Integer_SHMaxIndex]
              • Set Integers_SHPhase[Integer_SHCurrentIndex] = Integers_SHPhase[Integer_SHMaxIndex]
              • -------- --------
              • -------- eliminate instance on storage --------
              • Set Integer_SHCurrentIndex = (Integer_SHCurrentIndex - 1)
              • Set Integer_SHMaxIndex = (Integer_SHMaxIndex - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Integer_SHMaxIndex Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
              • -------- --------
            • Else - Actions
          • -------- --------
Also lag
  • Elune Arrow
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Elune's Arrow [Golem]
    • Actions
      • Set Integer_ArrowCounts = (Integer_ArrowCounts + 1)
      • Set Integer_ArrowCountMaxSize = 8191
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer_ArrowCounts Greater than Integer_ArrowCountMaxSize
        • Then - Actions
          • Set Integer_ArrowCounts = 1
        • Else - Actions
      • Set Units_ArrowCaster[Integer_ArrowCounts] = (Casting unit)
      • Set Point_ArrowCaster = (Position of Units_ArrowCaster[Integer_ArrowCounts])
      • Set Point_ArrowTarget = (Target point of ability being cast)
      • Set Real_ArrowAngle = (Angle from Point_ArrowCaster to Point_ArrowTarget)
      • Unit - Create 1 Elune's Arrow for (Owner of Units_ArrowCaster[Integer_ArrowCounts]) at Point_ArrowCaster facing Real_ArrowAngle degrees
      • Unit - Set the custom value of (Last created unit) to Integer_ArrowCounts
      • Unit Group - Add (Last created unit) to UnitGroup_ArrowStart
      • Set Reals_ArrowDistance[Integer_ArrowCounts] = 3000.00
      • Set Reals_ArrowDistanceTravel[Integer_ArrowCounts] = 0.00
      • Set Integers_ArrowStunDuration[Integer_ArrowCounts] = 1
      • Set Reals_ArrowDistanceCount[Integer_ArrowCounts] = 0.00
      • Trigger - Turn on Elune Arrow Move <gen>
      • Custom script: call RemoveLocation (udg_Point_ArrowCaster)
      • Custom script: call RemoveLocation (udg_Point_ArrowTarget)
  • Elune Arrow Move
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in UnitGroup_ArrowStart and do (Actions)
        • Loop - Actions
          • Set Integer_ArrowCusValue = (Custom value of (Picked unit))
          • Set Point_ArrowDummy = (Position of (Picked unit))
          • Set Point_ArrowMovement = (Point_ArrowDummy offset by 20.00 towards (Facing of (Picked unit)) degrees)
          • Unit - Move (Picked unit) instantly to Point_ArrowMovement
          • Set Reals_ArrowDistanceTravel[Integer_ArrowCusValue] = (Reals_ArrowDistanceTravel[Integer_ArrowCusValue] + 18.00)
          • Set Reals_ArrowDistanceCount[Integer_ArrowCusValue] = (Reals_ArrowDistanceCount[Integer_ArrowCusValue] + 18.00)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Reals_ArrowDistanceCount[Integer_ArrowCusValue] Greater than or equal to 225.00
            • Then - Actions
              • Set Integers_ArrowStunDuration[Integer_ArrowCusValue] = (Integers_ArrowStunDuration[Integer_ArrowCusValue] + 1)
              • Set Reals_ArrowDistanceCount[Integer_ArrowCusValue] = 0.00
            • Else - Actions
          • Set UnitGroup_Arrow = (Units within 150.00 of Point_ArrowMovement matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Units_ArrowCaster[Integer_ArrowCusValue])) Equal
          • Set UnitGroup_ArrowRandomUnit = (Random 1 units from UnitGroup_Arrow)
          • Unit Group - Pick every unit in UnitGroup_ArrowRandomUnit and do (Actions)
            • Loop - Actions
              • Unit - Cause Units_ArrowCaster[Integer_ArrowCusValue] to damage (Picked unit), dealing 750.00 damage of attack type Spells and damage type Universal
              • Unit - Create 1 Hidden [Dummy] for (Owner of Units_ArrowCaster[Integer_ArrowCusValue]) at Point_ArrowMovement facing Default building facing degrees
              • Unit - Add Elune's Arrow Stun to (Last created unit)
              • Unit - Set level of Elune's Arrow Stun for (Last created unit) to Integers_ArrowStunDuration[Integer_ArrowCusValue]
              • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
              • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • Reals_ArrowDistanceTravel[Integer_ArrowCusValue] Greater than or equal to Reals_ArrowDistance[Integer_ArrowCusValue]
                  • (Number of units in UnitGroup_Arrow) Greater than 0
            • Then - Actions
              • Unit - Kill (Picked unit)
              • Unit Group - Remove (Picked unit) from UnitGroup_ArrowStart
            • Else - Actions
          • Custom script: call RemoveLocation (udg_Point_ArrowDummy)
          • Custom script: call RemoveLocation (udg_Point_ArrowMovement)
          • Custom script: call DestroyGroup (udg_UnitGroup_Arrow)
          • Custom script: call DestroyGroup (udg_UnitGroup_ArrowRandomUnit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in UnitGroup_ArrowStart) Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
And, how to make the hook to able to destroy the trees? (deal 750 damage/1500 distance).
Power Hook v1.3
  • Hook
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Hook [Golem]
    • Actions
      • -------- ----------------------- --------
      • -------- Index System --------
      • -------- ----------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PH_Index[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Hook Loop <gen>
        • Else - Actions
      • Set PH_Index[1] = (PH_Index[1] + 1)
      • Set PH_Index[2] = (PH_Index[2] + 1)
      • -------- ----------------------- --------
      • -------- Spell Settings --------
      • -------- ----------------------- --------
      • Set PH_Counter[PH_Index[2]] = 0
      • -------- ----------------------- --------
      • -------- Points for angle --------
      • Set PH_Cast_Point = (Position of (Triggering unit))
      • Set PH_Target_Point = (Target point of ability being cast)
      • -------- ----------------------- --------
      • -------- Caster --------
      • Set PH_Caster[PH_Index[2]] = (Triggering unit)
      • Unit - Pause PH_Caster[PH_Index[2]]
      • Animation - Play PH_Caster[PH_Index[2]]'s attack animation
      • -------- ----------------------- --------
      • -------- Angle for hook --------
      • Set PH_Hook_Angle[PH_Index[2]] = (Angle from PH_Cast_Point to PH_Target_Point)
      • -------- ----------------------- --------
      • -------- Hook (Dummy) --------
      • Set PH_Near_Point = (PH_Cast_Point offset by 100.00 towards PH_Hook_Angle[PH_Index[2]] degrees)
      • Unit - Create 1 Hook for (Owner of PH_Caster[PH_Index[2]]) at PH_Near_Point facing Default building facing degrees
      • Set PH_Dummy[PH_Index[2]] = (Last created unit)
      • -------- ----------------------- --------
      • -------- Things needed for spell to work fine --------
      • Set PH_Hooked_Is[PH_Index[2]] = False
      • Set PH_Hooked_Unit[PH_Index[2]] = No unit
      • -------- ----------------------- --------
      • -------- Removing leaks --------
      • Custom script: call RemoveLocation(udg_PH_Near_Point)
      • Custom script: call RemoveLocation(udg_PH_Cast_Point)
      • Custom script: call RemoveLocation(udg_PH_Target_Point)
      • -------- ----------------------- --------
      • -------- Adjustable settings --------
      • -------- ----------------------- --------
      • -------- Damage and Hook Distance --------
      • Set PH_Damage = (750 x (Level of (Ability being cast) for PH_Caster[PH_Index[2]]))
      • Set PH_Distance = (15 + (5 x (Level of (Ability being cast) for PH_Caster[PH_Index[2]])))
      • -------- ----------------------- --------
      • -------- ----------------------- --------
  • Hook Loop
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • For each (Integer PH_Index[3]) from 1 to PH_Index[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PH_Counter[PH_Index[3]] Less than PH_Distance
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Hooked_Is[PH_Index[3]] Equal to False
                • Then - Actions
                  • -------- ----------------------- --------
                  • -------- Moving hook and creating effects --------
                  • -------- ----------------------- --------
                  • -------- Counter incrasing --------
                  • Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] + 1)
                  • -------- ----------------------- --------
                  • -------- Set Locations and move Hook dummy --------
                  • Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
                  • Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by 30.00 towards PH_Hook_Angle[PH_Index[3]] degrees)
                  • -------- ----------------------- --------
                  • Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
                  • Unit - Create 1 Hook Effect for (Owner of PH_Caster[PH_Index[3]]) at PH_Dummy_Point[PH_Index[3]] facing PH_Hook_Angle[PH_Index[3]] degrees
                  • Unit - Turn collision for (Last created unit) Off
                  • Hashtable - Save Handle Of(Last created unit) as PH_Counter[PH_Index[3]] of PH_Index[3] in PH_Table
                  • -------- ----------------------- --------
                  • -------- Hooking enemy unit --------
                  • -------- ----------------------- --------
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 64.00 of PH_Hook_Point[PH_Index[3]] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of PH_Caster[PH_Index[3]])) Equal to True))) and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) is Magic Immune) Equal to False
                          • PH_Hooked_Is[PH_Index[3]] Equal to False
                        • Then - Actions
                          • Set PH_Hooked_Unit[PH_Index[3]] = (Picked unit)
                          • Set PH_Hooked_Is[PH_Index[3]] = True
                          • Unit - Pause (Picked unit)
                          • Unit - Turn collision for (Picked unit) Off
                          • -------- ----------------------- --------
                          • -------- Deal damage --------
                          • Unit - Cause PH_Caster[PH_Index[3]] to damage (Picked unit), dealing (Real(PH_Damage)) damage of attack type Spells and damage type Lightning
                          • -------- ----------------------- --------
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
                  • Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
                  • -------- Leaks Removed --------
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                  • -------- No unit hooked? --------
                  • -------- ----------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Counter[PH_Index[3]] Equal to PH_Distance
                    • Then - Actions
                      • Set PH_Hooked_Is[PH_Index[3]] = True
                      • Unit - Unpause PH_Caster[PH_Index[3]]
                    • Else - Actions
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Hooked_Is[PH_Index[3]] Equal to True
                • Then - Actions
                  • -------- ----------------------- --------
                  • -------- Moving Hook back --------
                  • -------- ----------------------- --------
                  • -------- Counter decrasing --------
                  • Set PH_Counter[PH_Index[3]] = (PH_Counter[PH_Index[3]] - 1)
                  • -------- ----------------------- --------
                  • -------- Setting locations to move Hook dummy and hooked unit --------
                  • Set PH_Dummy_Point[PH_Index[3]] = (Position of PH_Dummy[PH_Index[3]])
                  • Set PH_Hook_Point[PH_Index[3]] = (PH_Dummy_Point[PH_Index[3]] offset by 30.00 towards (PH_Hook_Angle[PH_Index[3]] - 180.00) degrees)
                  • -------- ----------------------- --------
                  • -------- Destroy effect of hook --------
                  • Set PH_Effect = (Load (PH_Counter[PH_Index[3]] + 1) of PH_Index[3] in PH_Table)
                  • Unit - Kill PH_Effect
                  • Unit - Remove PH_Effect from the game
                  • -------- ----------------------- --------
                  • -------- ----------------------- --------
                  • Unit - Move PH_Dummy[PH_Index[3]] instantly to PH_Hook_Point[PH_Index[3]]
                  • -------- ----------------------- --------
                  • -------- Moving hooked unit --------
                  • -------- ----------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
                    • Then - Actions
                      • Unit - Move PH_Hooked_Unit[PH_Index[3]] instantly to PH_Dummy_Point[PH_Index[3]]
                    • Else - Actions
                  • Custom script: call RemoveLocation(udg_PH_Dummy_Point[udg_PH_Index[3]])
                  • Custom script: call RemoveLocation(udg_PH_Hook_Point[udg_PH_Index[3]])
                  • -------- ----------------------- --------
                  • -------- Leaks Removed --------
                  • -------- ----------------------- --------
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PH_Counter[PH_Index[3]] Equal to 0
                • Then - Actions
                  • -------- ----------------------- --------
                  • -------- Removing hook and unpause caster --------
                  • -------- ----------------------- --------
                  • Unit - Kill PH_Dummy[PH_Index[3]]
                  • Unit - Remove PH_Dummy[PH_Index[3]] from the game
                  • Unit - Unpause PH_Caster[PH_Index[3]]
                  • Animation - Reset PH_Caster[PH_Index[3]]'s animation
                  • -------- ----------------------- --------
                  • -------- Unpause Hooked unit --------
                  • -------- ----------------------- --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Hooked_Unit[PH_Index[3]] Not equal to No unit
                    • Then - Actions
                      • Unit - Unpause PH_Hooked_Unit[PH_Index[3]]
                      • Unit - Turn collision for PH_Hooked_Unit[PH_Index[3]] On
                    • Else - Actions
                  • -------- ----------------------- --------
                  • -------- Spell Ending --------
                  • -------- ----------------------- --------
                  • Set PH_Index[1] = (PH_Index[1] - 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • PH_Index[1] Equal to 0
                    • Then - Actions
                      • Set PH_Index[2] = 0
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                • Else - Actions
            • Else - Actions
 

Attachments

  • Farmer vs Hunter v3.w3x
    1.3 MB · Views: 25
Last edited:
Status
Not open for further replies.
Top