1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Choose your ride to damnation in the 5th Special Effect Contest Poll.
    Dismiss Notice
  6. The winners of the 13th Techtree Contest have been announced!
    Dismiss Notice
  7. The 13th Music Contest Poll is up! Vote for the best tracks in this symphony of frost and flame.
    Dismiss Notice
  8. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  9. 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.

Escape Leap v0.02

Submitted by BUP
This bundle is marked as approved. It works and satisfies the submission rules.
Spell Info
=================================
Escape Leap [Q]
Leaps backwards out from combat or enemies.
Slams the area of 300 to stun the enemies for 2 seconds so that (the caster can escape freely)
Reach the maximum escape range in 2 seconds.

Level 1 - Escape Range 1000

Level 2 - Escape Range 1400

Level 3 - Escape Range 1800

Cooldown - 0 seconds. (For MUI Test)
=================================

v0.02 Triggers
EsL Config

  • EsL Config
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Is the caster alive?? --------
      • Set EsL_Condition_Config[0] = True
      • -------- Detemines the maximum range escaped backwards per level --------
      • Set EsL_Escape_Range[1] = 1000.00
      • Set EsL_Escape_Range[2] = 1400.00
      • Set EsL_Escape_Range[3] = 1800.00
      • -------- Detemines the time of escaping finish --------
      • Set EsL_Escaping_Time = 2.00
      • -------- Detemines the escaping speed per level --------
      • Set EsL_Escape_Speed[1] = (EsL_Escape_Range[1] x (0.03 / EsL_Escaping_Time))
      • Set EsL_Escape_Speed[2] = (EsL_Escape_Range[2] x (0.03 / EsL_Escaping_Time))
      • Set EsL_Escape_Speed[3] = (EsL_Escape_Range[3] x (0.03 / EsL_Escaping_Time))
      • -------- Detemines the maximum height jumped while escaping --------
      • Set EsL_Max_Height = 300.00
      • -------- Detemines the quantity that used in saving the backwards angle --------
      • Set EsL_Angle_Add_Quantity = 180.00
      • -------- Detemines the animation name --------
      • Set EsL_Spell_Animation = victory
      • -------- Detemines the animation speed --------
      • Set EsL_Animation_Speed = 140.00
      • -------- Detemines the locations of special effect model files created on the caster --------
      • Set EsL_Effect_Model[1] = Abilities\Weapons\IllidanMissile\IllidanMissile.mdl
      • Set EsL_Effect_Model[2] = Abilities\Weapons\IllidanMissile\IllidanMissile.mdl
      • -------- Detemines the attachments of the special effects created on the caster --------
      • Set EsL_Attachment[1] = right hand
      • Set EsL_Attachment[2] = left hand
      • Set EsL_Spell = Escape Leap


EsL Cast

  • EsL Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to EsL_Spell
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EsL_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on EsL Loop <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • EsL_Recycle_Size Greater than 0
        • Then - Actions
          • Set EsL_Recycle_Size = (EsL_Recycle_Size - 1)
          • Set EsL_Current_Index = EsL_Recycle_Container[EsL_Recycle_Size]
        • Else - Actions
          • Set EsL_Current_Index = EsL_Index_Size
          • Set EsL_Index_Size = (EsL_Index_Size + 1)
      • Set EsL_Caster[EsL_Current_Index] = (Triggering unit)
      • Set EsL_Start_Point[EsL_Current_Index] = (Position of EsL_Caster[EsL_Current_Index])
      • Set EsL_Level = (Level of EsL_Spell for EsL_Caster[EsL_Current_Index])
      • Set EsL_Backward_Angle[EsL_Current_Index] = ((Facing of EsL_Caster[EsL_Current_Index]) + EsL_Angle_Add_Quantity)
      • Custom script: call PauseUnit(udg_EsL_Caster[udg_EsL_Current_Index], true)
      • Unit - Turn collision for EsL_Caster[EsL_Current_Index] Off
      • Animation - Play EsL_Caster[EsL_Current_Index]'s EsL_Spell_Animation animation
      • Animation - Change EsL_Caster[EsL_Current_Index]'s animation speed to EsL_Animation_Speed% of its original speed
      • Special Effect - Create a special effect attached to the EsL_Attachment[1] of EsL_Caster[EsL_Current_Index] using EsL_Effect_Model[1]
      • Set EsL_SE_1[EsL_Current_Index] = (Last created special effect)
      • Special Effect - Create a special effect attached to the EsL_Attachment[2] of EsL_Caster[EsL_Current_Index] using EsL_Effect_Model[2]
      • Set EsL_SE_2[EsL_Current_Index] = (Last created special effect)
      • Custom script: if UnitAddAbility(udg_EsL_Caster[udg_EsL_Current_Index],'Amrf') then
      • Custom script: call UnitRemoveAbility(udg_EsL_Caster[udg_EsL_Current_Index],'Amrf')
      • Custom script: endif
      • Set EsL_Index_Container[EsL_Index_Listener] = EsL_Current_Index
      • Set EsL_Index_Listener = (EsL_Index_Listener + 1)


EsL Loop

  • EsL Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer EsL_Loop) from 0 to (EsL_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set EsL_Current_Index = EsL_Index_Container[EsL_Loop]
          • Set EsL_Caster_Point = (Position of EsL_Caster[EsL_Current_Index])
          • Set EsL_Distance_Tavelled[EsL_Current_Index] = (Distance between EsL_Start_Point[EsL_Current_Index] and EsL_Caster_Point)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (EsL_Caster[EsL_Current_Index] is alive) Equal to EsL_Condition_Config[0]
              • EsL_Distance_Tavelled[EsL_Current_Index] Less than or equal to EsL_Escape_Range[EsL_Level]
            • Then - Actions
              • Set EsL_Height_Formula[EsL_Current_Index] = (((4.00 x EsL_Max_Height) / EsL_Escape_Range[EsL_Level]) x ((EsL_Escape_Range[EsL_Level] - EsL_Distance_Tavelled[EsL_Current_Index]) x (EsL_Distance_Tavelled[EsL_Current_Index] / EsL_Escape_Range[EsL_Level])))
              • Animation - Change EsL_Caster[EsL_Current_Index] flying height to EsL_Height_Formula[EsL_Current_Index] at 0.00
              • Unit - Make EsL_Caster[EsL_Current_Index] face EsL_Start_Point[EsL_Current_Index] over 0.00 seconds
              • Custom script: call SetUnitX(udg_EsL_Caster[udg_EsL_Current_Index],GetUnitX(udg_EsL_Caster[udg_EsL_Current_Index]) + udg_EsL_Escape_Speed[udg_EsL_Level] * Cos(udg_EsL_Backward_Angle[udg_EsL_Current_Index] * bj_DEGTORAD))
              • Custom script: call SetUnitY(udg_EsL_Caster[udg_EsL_Current_Index],GetUnitY(udg_EsL_Caster[udg_EsL_Current_Index]) + udg_EsL_Escape_Speed[udg_EsL_Level] * Sin(udg_EsL_Backward_Angle[udg_EsL_Current_Index] * bj_DEGTORAD))
            • Else - Actions
              • Custom script: call RemoveLocation(udg_EsL_Start_Point[udg_EsL_Current_Index])
              • Custom script: call PauseUnit(udg_EsL_Caster[udg_EsL_Current_Index], false)
              • Unit - Order EsL_Caster[EsL_Current_Index] to Stop
              • Unit - Turn collision for EsL_Caster[EsL_Current_Index] On
              • Special Effect - Destroy EsL_SE_1[EsL_Current_Index]
              • Special Effect - Destroy EsL_SE_2[EsL_Current_Index]
              • Animation - Reset EsL_Caster[EsL_Current_Index]'s animation
              • Set EsL_Index_Listener = (EsL_Index_Listener - 1)
              • Set EsL_Index_Container[EsL_Loop] = EsL_Index_Container[EsL_Index_Listener]
              • Set EsL_Recycle_Container[EsL_Current_Index] = EsL_Current_Index
              • Set EsL_Recycle_Size = (EsL_Recycle_Size + 1)
              • Set EsL_Loop = (EsL_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • EsL_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off EsL Loop <gen>
                • Else - Actions
          • Custom script: call RemoveLocation(udg_EsL_Caster_Point)



Please reply and rate the spell after viewing/testing.

Keywords:
GUI,MUI,Trigger,Escape,Shaman,Animation,Backwards Moving
Contents

Escape Leap v0.02 (Map)

Reviews
Moderator
14:31, 2nd Dec 2012 PurgeandFire111: You have made the appropriate changes, so I approve. :) Nice job.
  1. 14:31, 2nd Dec 2012
    PurgeandFire111:
    You have made the appropriate changes, so I approve. :) Nice job.
     
  2. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    Congratulations my SON.
    Your spell is approved again
     
    Last edited: Dec 10, 2012
  3. Marcos DAB

    Marcos DAB

    Joined:
    Mar 26, 2011
    Messages:
    1,042
    Resources:
    218
    Models:
    1
    Icons:
    214
    Spells:
    2
    Tutorials:
    1
    Resources:
    218
    Very similar to my last spell in the form of organizing the triggers.
     
  4. RakEnRoL

    RakEnRoL

    Joined:
    Sep 2, 2011
    Messages:
    316
    Resources:
    0
    Resources:
    0
    Wow, you're just killing it. Creating spells right after another. I suggest in fixing some previous spells though. Good job on this spell.
     
  5. Almia

    Almia

    Joined:
    Apr 24, 2012
    Messages:
    4,843
    Resources:
    35
    Spells:
    30
    Tutorials:
    4
    JASS:
    1
    Resources:
    35
    Or
    call DestroyEffect(AddSpecialEffectTarget(udg_EsL_Effect_Model[2], udg_EsL_Caster[EsL_Current_Index], udg_EsL_Attachment[2])

    Also doomhammer was right,this doesnt need to be array
     
  6. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Where's the moderator???:vw_death:
     
  7. Almia

    Almia

    Joined:
    Apr 24, 2012
    Messages:
    4,843
    Resources:
    35
    Spells:
    30
    Tutorials:
    4
    JASS:
    1
    Resources:
    35
    Please just contact them in the mod staff.
    Also please be patient,every person is busy
     
  8. jakeZinc

    jakeZinc

    Joined:
    Aug 13, 2013
    Messages:
    1,430
    Resources:
    20
    Spells:
    20
    Resources:
    20
    Backward Leap, pausing unit is bad, maybe try setting the unit's propwindow to 0.