• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Zephyr Strike v1.2b

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Okay first of all, you should know three things:

1.) The name (Depending on your imagination) may or may not be related to what the spell does

2.) This is a slightly altered version of the spell I submitted for the Zephyr Contest #10: What Lies on the Other Side

3.)I have no intention of changing the spell I submitted on the contest with this one

Now, what this spell does is:
At cast, the caster stomps the ground creating a circle of war-stomps around him. Then he prepares himself for battle by spinning really, really fast. Then if there are any enemy units in range from his position, he will charge towards that point, then strike the units with such force that they are lifted off the ground.

The triggers:


  • ZS Config
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • -------- CONFIGURE --------
      • -------- The ability: --------
      • Set ZS_Abil = Zephyr Strike
      • -------- Circle Start to Final Configurables --------
      • -------- ///////////////////////////////////// --------
      • -------- Determines the number of sttomps created at Cast --------
      • Set ZS_StartCircleNum[1] = 6
      • Set ZS_StartCircleNum[2] = 7
      • Set ZS_StartCircleNum[3] = 8
      • -------- Determines the number of stomps created at the latter --------
      • Set ZS_FinalCircleNum[1] = 6
      • Set ZS_FinalCircleNum[2] = 7
      • Set ZS_FinalCircleNum[3] = 8
      • -------- Determines how far the effects are created from the caster --------
      • Set ZS_StartCircleOffset[1] = 300.00
      • Set ZS_StartCircleOffset[2] = 400.00
      • Set ZS_StartCircleOffset[3] = 500.00
      • -------- Determines how far the latter effects are created from the caster: --------
      • Set ZS_FinalCircleOffset[1] = 300.00
      • Set ZS_FinalCircleOffset[2] = 400.00
      • Set ZS_FinalCircleOffset[3] = 500.00
      • -------- Determines how much damage are created by the start circle: --------
      • Set ZS_StartCircleDamage[1] = 50.00
      • Set ZS_StartCircleDamage[2] = 75.00
      • Set ZS_StartCircleDamage[3] = 90.00
      • -------- Determines how much damage are created by the final circle: --------
      • Set ZS_FinalCircleDamage[1] = 50.00
      • Set ZS_FinalCircleDamage[2] = 75.00
      • Set ZS_FinalCircleDamage[3] = 90.00
      • -------- Determines the rainge of damage the start circle reach: --------
      • Set ZS_StartRange[1] = 300.00
      • Set ZS_StartRange[2] = 400.00
      • Set ZS_StartRange[3] = 500.00
      • -------- Determines the rainge of damage the final circle reach: --------
      • Set ZS_FinalRange[1] = 300.00
      • Set ZS_FinalRange[2] = 400.00
      • Set ZS_FinalRange[3] = 500.00
      • -------- Determines the SFX units created for the start circle: --------
      • Set ZS_StartSFX[1] = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Set ZS_StartSFX[2] = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • Set ZS_StartSFX[3] = Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
      • -------- Determines the SFX units created for the final circle: --------
      • Set ZS_FinalSFX[1] = Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
      • Set ZS_FinalSFX[2] = Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
      • Set ZS_FinalSFX[3] = Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
      • -------- ///////////////////////////////////// --------
      • -------- End Circles Config --------
      • -------- 1-Second Omnislash Configurables (Where the caster charges towards the nearest enemy units) --------
      • -------- ///////////////////////////////////// --------
      • -------- Determined How many times the caster moves around the battlefield slashing: --------
      • Set ZS_OmniLoop[1] = 5
      • Set ZS_OmniLoop[2] = 7
      • Set ZS_OmniLoop[3] = 9
      • -------- Determines the Range the caster omnislashes from his original position: --------
      • Set ZS_OmniRange[1] = 300.00
      • Set ZS_OmniRange[2] = 450.00
      • Set ZS_OmniRange[3] = 600.00
      • -------- Determines the damage the caster inflicts whilst omnislashing --------
      • Set ZS_OmniDamage[1] = 30.00
      • Set ZS_OmniDamage[2] = 40.00
      • Set ZS_OmniDamage[3] = 50.00
      • -------- The Attack Type for the damage inflicted whilst omnislashing: --------
      • Set ZS_OmniAttType[1] = Normal
      • Set ZS_OmniAttType[2] = Pierce
      • Set ZS_OmniAttType[3] = Hero
      • -------- The Damage Type for the attack inflicted whilst omnislashing --------
      • Set ZS_OmniDmgType[1] = Normal
      • Set ZS_OmniDmgType[2] = Enhanced
      • Set ZS_OmniDmgType[3] = Fire
      • -------- Determines the sfx created at the slashed unit when hit: --------
      • Set ZS_OmniSfx[1] = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • Set ZS_OmniSfx[2] = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • Set ZS_OmniSfx[3] = Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
      • -------- Determines what animation is played when the caster slashes the enemy --------
      • Set ZS_OmniAnim[1] = attack 2
      • Set ZS_OmniAnim[2] = attack 2
      • Set ZS_OmniAnim[3] = attack 2
      • -------- ///////////////////////////////////// --------
      • -------- End 1-Second Omnislash Config --------
      • -------- ///////////////////////////////////// --------
      • -------- Jump Config (When Units are hit) --------
      • -------- ///////////////////////////////////// --------
      • -------- How far from the unit's position the unit is launched to: --------
      • Set ZS_JumpIncrement[1] = 200.00
      • Set ZS_JumpIncrement[2] = 300.00
      • Set ZS_JumpIncrement[3] = 300.00
      • -------- How much the units arc: --------
      • Set ZS_JumpMaxZ[1] = 150.00
      • Set ZS_JumpMaxZ[2] = 200.00
      • Set ZS_JumpMaxZ[3] = 250.00
      • -------- The duration of the jump: --------
      • Set ZS_JumpDuration[1] = 1.50
      • Set ZS_JumpDuration[2] = 1.20
      • Set ZS_JumpDuration[3] = 1.00
      • -------- How much the units are affected by gravity: --------
      • Set ZS_JumpGravity[1] = 100.00
      • Set ZS_JumpGravity[2] = 90.00
      • Set ZS_JumpGravity[3] = 80.00
      • -------- End Jump Config --------
      • -------- END CONFIG --------



  • ZS Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to ZS_Abil
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ZS_MaxIndex Equal to 0
        • Then - Actions
          • -------- If no instance is running, we turn on the loop --------
          • Trigger - Turn on ZS Loop <gen>
        • Else - Actions
      • Set ZS_MaxIndex = (ZS_MaxIndex + 1)
      • Set ZS_Caster[ZS_MaxIndex] = (Triggering unit)
      • Set ZS_CasterLoc[ZS_MaxIndex] = (Position of ZS_Caster[ZS_MaxIndex])
      • Set ZS_TempPlayer[ZS_MaxIndex] = (Owner of ZS_Caster[ZS_MaxIndex])
      • Set ZS_Counter[ZS_MaxIndex] = 0
      • Set ZS_Level = (Level of ZS_Abil for ZS_Caster[ZS_MaxIndex])



  • ZS Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer ZS_CurrentIndex) from 1 to ZS_MaxIndex, do (Actions)
        • Loop - Actions
          • Set ZS_CasterLoc[ZS_CurrentIndex] = (Position of ZS_Caster[ZS_CurrentIndex])
          • -------- [START] Circle War Stomp [START] --------
          • For each (Integer ZS_CirclInt) from 1 to ZS_StartCircleNum[ZS_Level], do (Actions)
            • Loop - Actions
              • Set ZS_TempPoint = (ZS_CasterLoc[ZS_CurrentIndex] offset by ZS_StartCircleOffset[ZS_Level] towards ((Real(ZS_CirclInt)) x (360.00 / (Real(ZS_StartCircleNum[ZS_Level])))) degrees)
              • Special Effect - Create a special effect at ZS_TempPoint using ZS_StartSFX[ZS_Level]
              • Animation - Play ZS_Caster[ZS_CurrentIndex]'s attack 1 animation
              • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_ZS_TempPoint)
          • Set ZS_TempGroup1 = (Units within ZS_StartRange[ZS_Level] of ZS_CasterLoc[ZS_CurrentIndex] matching (((Matching unit) belongs to an enemy of ZS_TempPlayer[ZS_CurrentIndex]) Equal to True))
          • Unit Group - Pick every unit in ZS_TempGroup1 and do (Actions)
            • Loop - Actions
              • Set ZS_TempUnit = (Picked unit)
              • Unit - Cause ZS_Caster[ZS_CurrentIndex] to damage ZS_TempUnit, dealing ZS_StartCircleDamage[ZS_Level] damage of attack type Chaos and damage type Divine
          • Custom script: call DestroyGroup(udg_ZS_TempGroup1)
          • Custom script: call RemoveLocation(udg_ZS_TempPoint)
          • -------- [END] Circle War Stomp [END] --------
          • Animation - Change ZS_Caster[ZS_CurrentIndex]'s animation speed to 200.00% of its original speed
          • Animation - Play ZS_Caster[ZS_CurrentIndex]'s attack 1 animation
          • -------- [START]1-second Omnislash[START] --------
          • For each (Integer ZS_LoopInt) from 1 to ZS_OmniLoop[ZS_Level], do (Actions)
            • Loop - Actions
              • Set ZS_TempGroup1 = (Units within ZS_OmniRange[ZS_Level] of ZS_CasterLoc[ZS_CurrentIndex] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of ZS_TempPlayer[ZS_CurrentIndex]) Equ
              • Set ZS_TempUnit = (Random unit from ZS_TempGroup1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ZS_TempUnit Equal to No unit
                • Then - Actions
                • Else - Actions
                  • Animation - Change ZS_Caster[ZS_CurrentIndex]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
                  • Animation - Change ZS_Caster[ZS_CurrentIndex]'s animation speed to 300.00% of its original speed
                  • Unit Group - Pick every unit in ZS_TempGroup1 and do (Actions)
                    • Loop - Actions
                      • Set ZS_PickedUnit[ZS_LoopInt] = (Picked unit)
                      • Set ZS_PickedUnitLoc[ZS_LoopInt] = (Position of ZS_PickedUnit[ZS_LoopInt])
                      • -------- Start of Omnislashing --------
                      • Set ZS_TempPoint2 = (ZS_PickedUnitLoc[ZS_LoopInt] offset by ((Real(ZS_LoopInt)) + ZS_JumpIncrement[ZS_Level]) towards (Angle from ZS_CasterLoc[ZS_CurrentIndex] to ZS_PickedUnitLoc[ZS_CurrentIndex]) degrees)
                      • Custom script: if IsPointJumpable(GetLocationX(udg_ZS_TempPoint2), GetLocationY(udg_ZS_TempPoint2)) then
                      • Custom script: call SetUnitX( udg_ZS_Caster[udg_ZS_CurrentIndex], GetLocationX(udg_ZS_PickedUnitLoc[udg_ZS_LoopInt]))
                      • Custom script: call SetUnitY( udg_ZS_Caster[udg_ZS_CurrentIndex], GetLocationY(udg_ZS_PickedUnitLoc[udg_ZS_LoopInt]))
                      • Animation - Play ZS_Caster[ZS_CurrentIndex]'s ZS_OmniAnim[ZS_Level] animation
                      • Unit - Cause ZS_Caster[ZS_CurrentIndex] to damage ZS_PickedUnit[ZS_LoopInt], dealing ZS_OmniDamage[ZS_Level] damage of attack type ZS_OmniAttType[ZS_Level] and damage type ZS_OmniDmgType[ZS_Level]
                      • Special Effect - Create a special effect attached to the chest of ZS_PickedUnit[ZS_LoopInt] using ZS_OmniSfx[ZS_Level]
                      • Custom script: call Jump.start(udg_ZS_PickedUnit[udg_ZS_LoopInt], GetLocationX(udg_ZS_TempPoint2), GetLocationY(udg_ZS_TempPoint2), udg_ZS_JumpMaxZ[udg_ZS_Level], udg_ZS_JumpDuration[udg_ZS_Level], udg_ZS_JumpGravity[udg_ZS_Level])
                      • Special Effect - Destroy (Last created special effect)
                      • Custom script: endif
                      • Custom script: call RemoveLocation(udg_ZS_PickedUnitLoc[udg_ZS_LoopInt])
                      • Custom script: call RemoveLocation(udg_ZS_TempPoint2)
                  • Animation - Change ZS_Caster[ZS_CurrentIndex]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                  • Animation - Change ZS_Caster[ZS_CurrentIndex]'s animation speed to 100.00% of its original speed
                  • Custom script: call RemoveLocation(udg_ZS_TempPoint2)
                  • Custom script: set udg_ZS_TempPoint2 = null
          • -------- [END] Omnislash[END] --------
          • -------- [START] Final Circle War Stomp [START] --------
          • For each (Integer ZS_CirclInt) from 1 to ZS_FinalCircleNum[ZS_Level], do (Actions)
            • Loop - Actions
              • Set ZS_TempPoint = (ZS_CasterLoc[ZS_CurrentIndex] offset by ZS_FinalCircleOffset[ZS_Level] towards ((Real(ZS_CirclInt)) x (360.00 / (Real(ZS_FinalCircleNum[ZS_Level])))) degrees)
              • Special Effect - Create a special effect at ZS_TempPoint using ZS_FinalSFX[ZS_Level]
              • Animation - Play ZS_Caster[ZS_CurrentIndex]'s attack 2 animation
              • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_ZS_TempPoint)
          • Set ZS_TempGroup1 = (Units within ZS_FinalRange[ZS_Level] of ZS_CasterLoc[ZS_CurrentIndex] matching (((Matching unit) belongs to an enemy of ZS_TempPlayer[ZS_CurrentIndex]) Equal to True))
          • Unit Group - Pick every unit in ZS_TempGroup1 and do (Actions)
            • Loop - Actions
              • Set ZS_TempUnit = (Picked unit)
              • Unit - Cause ZS_Caster[ZS_CurrentIndex] to damage ZS_TempUnit, dealing ZS_FinalCircleDamage[ZS_Level] damage of attack type Chaos and damage type Divine
          • -------- [END] Final Circle War Stomp [END] --------
          • Animation - Change ZS_Caster[ZS_CurrentIndex]'s animation speed to 100.00% of its original speed
          • Custom script: call RemoveLocation(udg_ZS_TempPoint)
          • Custom script: call RemoveLocation(udg_ZS_CasterLoc[udg_ZS_CurrentIndex])
          • Custom script: call RemoveLocation(udg_ZS_TempPoint2)
          • Custom script: set udg_ZS_TempPoint = null
          • Custom script: set udg_ZS_TempPoint2 = null
          • -------- Recycling --------
          • Set ZS_Caster[ZS_CurrentIndex] = ZS_Caster[ZS_MaxIndex]
          • Set ZS_CasterLoc[ZS_CurrentIndex] = ZS_CasterLoc[ZS_MaxIndex]
          • Set ZS_Counter[ZS_CurrentIndex] = ZS_Counter[ZS_MaxIndex]
          • Set ZS_TempPlayer[ZS_CurrentIndex] = ZS_TempPlayer[ZS_MaxIndex]
          • Set ZS_MaxIndex = (ZS_MaxIndex - 1)
          • Set ZS_CurrentIndex = (ZS_CurrentIndex - 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ZS_MaxIndex Equal to 0
            • Then - Actions
              • Trigger - Turn off (This trigger)
            • Else - Actions
          • -------- Instance Recycled --------
          • -------- End Loop --------
          • -------- End Cast --------


This spell uses Maker's Jump System, along with the sub-systems that system uses.

CREDITS:
Spell:
-Almia
-deathismyfriend
-Doomlord
-ruleoffireon99
-Maker
-anitarf and Vexorian
-Bribe
-Authors of GetUnitCollision and CTL
In-game, not really related to the spell:
-PeeKay (Icon)


Changelog
Version 1.2b
-Fixed the ZS_TempPoint and ZS_TempPoint2 leak

Version 1.2a
-Removed Almia's Knockback System (It was either his system or Maker's)
-Hopefully I have fixed the TempPoint1 and TempPoint2 leaks
-Removed the overwriting of ZS_CasterLoc[]

Version 1.1a
-Added Maker's Jump System. along with Table, CTL, GetUnitCollision, and IsTerrainWalkable
-Made the spell more configurable
-Optimized the spell a little bit

Version 1.0c
-Removed the one dummy object
-de-arrayed the TempPoint and TempGroup variables
-Removed the TempGroup2 variable
-Made the spell support 3 levels
-Removed the dummy's 800/600 vision

Version 1.0b
-Fixed the ZS_CasterLoc leak at the beginning of the omnislash loop

Version 1.0a
-Uploaded the Spell


Still to do:
-Add a proper wait to the Omnislash phase so that the caster will wait shortly before slashing another unit, to make it look more realistic.
-Fix the tooltip

Feedback is appreciated, and I really would like to hear your thoughts on this. Especially those comments that are related to the spell's triggering, and suggestions regarding it.


Give me credit for my work!
Do not distribute without my consent!

Keywords:
Omnislash, Stomp n'slash, Blademaster spell, MasterTrainer, Zephyr Strike, power, powerful strike, knockback, jump up, strike
Contents

Final Strike (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. Zephyr Strike v1.2b | Reviewed by Maker | 6th Jun 2013 NEEDS FIX You leak ZS_CasterLoc because you set it in ZS Cast trigger and overwrite it in the looping trigger...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.


Zephyr Strike v1.2b | Reviewed by Maker | 6th Jun 2013
NEEDS FIX


126248-albums6177-picture66522.png


  • You leak ZS_CasterLoc because you set it in ZS Cast trigger
    and overwrite it in the looping trigger
126248-albums6177-picture66523.png


  • There is an unneeded Custom script: call RemoveLocation(udg_ZS_TempPoint)
    in the looping trigger, twice
  • There is an unneeded Custom script: call RemoveLocation(udg_ZS_TempPoint2)
    in the looping trigger
  • You don't need TempPoint2 variable, use TempPoint instead
  • ZS_CasterLoc, ZS_PickedUnit, ZS_PickedUnitLoc do not need to be arrays
  • There is no need to set TempUnit = Picked unit when you damage units,
    you only call Picked unit function once
  • It is useless to play the caster's animation multiple times in the loops,
    only play it once
[tr]



Zephyr Strike v1.1a | Reviewed by Maker | 2nd Jun 2013
NEEDS FIX


126248-albums6177-picture66522.png


  • Load the ability level from a variable in the looping trigger
  • You are leaking ZS_TempPoint in the looping trigger several times
  • You are overwriting ZS_CasterLoc data in the looping trigger
    and therefore it leaks
126248-albums6177-picture66523.png


  • This is not needed
    • Unit Group - Remove ZS_TempUnit from ZS_TempGroup1
    • [*]I don't think you should use both the jump system and the knocback system
[tr]



Zephyr Strike v1.0 | Reviewed by Maker | 28th May 2013
NEEDS FIX


126248-albums6177-picture66522.png


  • Abilities must support more that one level
  • You are overwriting ZS_CasterLoc data in the looping trigger
    and therefore it leaks
126248-albums6177-picture66523.png


  • The jump system adds/removes Strom Crow ability,
    what if the unit should have that ability
  • The jump system doesn't allow units to jump straight up
  • The jump system should alter flying height at rate of 0
  • The jump system uses a rudimentary tree desroying method
  • The learn tooltip is missing the hotkey
  • You could use a variable for the ability
  • The dummies do not need o give 800/600 vision
  • The action to play caster's attack 1 animation doesn't do anything
  • Channel should generally not be configured to disable other abilities
  • SetUnitPositionLoc gives the unit stop order. Basically the unit
    is not casting the ability anymore. Maybe you could use a pathing check and
    use SetUnitX/Y instead
  • You use array variables for temporary locatons and groups
    in the looping trigger for no apparent reason
  • If you are doing actions regardless of he trigger going to
    THEN or ELSE, then take the actions out of the if/then/else
[tr]
 
Level 29
Joined
Oct 24, 2012
Messages
6,543
this leaks.
  • Set ZS_CasterLoc[ZS_MaxIndex] = (Position of ZS_Caster[ZS_MaxIndex])
because u reset it here and dont remove it b4 u set it to a new point.
  • For each (Integer ZS_CurrentIndex) from 1 to ZS_MaxIndex, do (Actions)
  • Loop - Actions
  • Animation - Change ZS_Caster[ZS_CurrentIndex]'s animation speed to 200.00% of its original speed
  • Animation - Play ZS_Caster[ZS_CurrentIndex]'s attack 1 animation
  • Set ZS_CasterLoc[ZS_CurrentIndex] = (Position of ZS_Caster[ZS_CurrentIndex])
 
Level 20
Joined
Apr 14, 2012
Messages
2,901
this leaks.
  • Set ZS_CasterLoc[ZS_MaxIndex] = (Position of ZS_Caster[ZS_MaxIndex])
because u reset it here and dont remove it b4 u set it to a new point.
  • For each (Integer ZS_CurrentIndex) from 1 to ZS_MaxIndex, do (Actions)
  • Loop - Actions
  • Animation - Change ZS_Caster[ZS_CurrentIndex]'s animation speed to 200.00% of its original speed
  • Animation - Play ZS_Caster[ZS_CurrentIndex]'s attack 1 animation
  • Set ZS_CasterLoc[ZS_CurrentIndex] = (Position of ZS_Caster[ZS_CurrentIndex])

Thanks! I will update the spell shortly.
 
Level 20
Joined
Apr 14, 2012
Messages
2,901
You should go with Maker's Jump lib. It is more versatile imo and besides I heard that Paladon's sys had some issues.

Thanks :)

That is now my plan, but before I go implementing it I have to re-edit most of the variables and re-add those variables which I removed the arrays from.

Also, making it into a multi level ability will take me a while, because I spent so much time making this a level 1 ability, till I found out the Spell section's standards.
 
Level 16
Joined
Dec 15, 2011
Messages
1,423
A few things that could be improved:

1/ If an action is repeated in the Then and Else, takes it outside of the If.
2/ On a side note, a dummy isn't needed. You can go with special effects instead. Elaborate if the dummy serves another purpose.

3/ Stomp Circle part of the code lacks some configurability.

This is my first review so feel free to object if needed.
 
Level 20
Joined
Apr 14, 2012
Messages
2,901
1/ I'm still trying to figure that out, but I will do so after I've settled down every variable from 1 level to multi-level variables

2/ I shall go with special effects instead, since I now know that dummies in this case are a waste of object

3/ I will make that part more configurable too.

@deathismyfriend I will do it here also.

Thanks you two!

And thank you too Maker :)

EDIT: I take back my #2 answer and change it to: 'I use the dummies because they are needed to cast the dummy impale'
 
Level 16
Joined
Dec 15, 2011
Messages
1,423
Tip of the day: Do you know that you only need 1 dummy with 0 cast point, animation/cast backswing and movement speed to cast a 0s cd, non-channeling spell continuously as if there are multiple dummies? Furthermore, you can use only 1 dummy for all spell instances (I am yet to test this but it should be possible in theory).
 
Level 20
Joined
Apr 14, 2012
Messages
2,901
Thanks deathismyfriend, but I'll just stick to 3 levels for now.

UPDATE: I have updated the spell with Maker's Jump System, though there is still a problem with the code because the units that are lifted off the ground arrive at one single point in the map.

I also removed the dummies' 600/800 vision, though pretty soon I will remove the dummies themselves, but I just need to fix the jump. Also a new problem has arisen, now since the jump was imported the special effect dummies are no longer shown, so I'm fixing that too.

UPDATE 2: I have fixed all known bugs (i.e. bugs posted above) and I am now working on making the spell's configurables. Also, I am now making the spell switch from effect dummies to plain sfx. Also I have successfuly imported Maker's Jump System, thanks to him because he helped me also on that particular problem.

UPDATE 3: Version 1.1a is up and running, included therein are Maker's jump system, a multi-level spell, and most corrections after Maker's review.
 
Last edited:
Level 13
Joined
Mar 24, 2013
Messages
1,105
If you go to the spell breakers and spam it and the spell breakers can fly go off the map making it it can crash :goblin_boom:, got it to happen twice.

Cool spell though :D
 
Last edited:
Top