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 haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Ride into the sunset with the 32nd Modeling Contest. The contest is optionally paired. Best of luck, people!
    Dismiss Notice
  5. This adventure has come to an end. Congratulate our heroes in the 16th Mini Mapping Contest Results.
    Dismiss Notice
  6. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  7. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  8. 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.

Dash v1.4 [GUI]

Submitted by ArOn
This bundle is marked as substandard. It may contain bugs, not perform optimally or otherwise be in violation of the submission rules.
The idea came while playing Megaman X8 :p
-----------------------------------------------------------------------------------
Hero makes the move to a single speed according to the angle at which you are, cause 75/150/225/300 damage, 15/20/25/30 speed and 150/200/250/300 max range, also make your hero invisible and affected units cannot attack momentarily.

Invisibility duration: 10 seconds.
Off attack duration: 1.5 seconds.

Triggers:

Dash Settings
  • Dash Settings
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Dash_Ability = Dash
      • Set Dash_DummyAbility = Dash (Off attack)
      • Set Dash_DummyEffect = Dummy (Dash)
      • Set Dash_DummyOffAttack = Dummy (Off attack)
      • Set Dash_AttackType = Spells
      • Set Dash_DamageType = Normal
      • -------- as a normal effect set this to 2 (don't change this to more or you get not good effect :/) --------
      • Set Dash_Limit_N = 2

Dash
  • Dash
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Dash_Ability
    • Actions
      • Set Dash_M_Index = (Dash_M_Index + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Dash_M_Index Equal to 1
        • Then - Actions
          • Trigger - Turn on Dash Loop <gen>
        • Else - Actions
      • Set Dash_Limit[Dash_M_Index] = Dash_Limit_N
      • Set Dash_Caster[Dash_M_Index] = (Triggering unit)
      • Set Dash_Angle[Dash_M_Index] = (Facing of Dash_Caster[Dash_M_Index])
      • Set Dash_Ability_Level[Dash_M_Index] = (Level of Dash_Ability for Dash_Caster[Dash_M_Index])
      • Set Dash_Damage[Dash_M_Index] = (75.00 x (Real(Dash_Ability_Level[Dash_M_Index])))
      • Set Dash_Speed[Dash_M_Index] = (10.00 + (5.00 x (Real(Dash_Ability_Level[Dash_M_Index]))))
      • Set Dash_Distance[Dash_M_Index] = (10 + (5 x Dash_Ability_Level[Dash_M_Index]))
      • Unit - Turn collision for Dash_Caster[Dash_M_Index] Off

Dash Loop
  • Dash Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Dash_C_Index) from 1 to Dash_M_Index, do (Actions)
        • Loop - Actions
          • Set Dash_Distance[Dash_C_Index] = (Dash_Distance[Dash_C_Index] - 1)
          • Set Dash_Point1[Dash_C_Index] = (Position of Dash_Caster[Dash_C_Index])
          • Set Dash_Point2[Dash_C_Index] = (Dash_Point1[Dash_C_Index] offset by Dash_Speed[Dash_C_Index] towards Dash_Angle[Dash_C_Index] degrees)
          • Unit - Move Dash_Caster[Dash_C_Index] instantly to Dash_Point2[Dash_C_Index]
          • Set Dash_Limit[Dash_C_Index] = (Dash_Limit[Dash_C_Index] - 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Dash_Limit[Dash_C_Index] Equal to 0
            • Then - Actions
              • Set Dash_Limit[Dash_C_Index] = Dash_Limit_N
              • Unit - Create 1 Dash_DummyEffect for (Owner of Dash_Caster[Dash_C_Index]) at Dash_Point2[Dash_C_Index] facing (Facing of Dash_Caster[Dash_C_Index]) degrees
              • Set Dash_Dummy = (Last created unit)
              • Unit - Add a 0.40 second Generic expiration timer to Dash_Dummy
              • Animation - Change Dash_Dummy's vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
              • Animation - Play Dash_Dummy's walk animation
              • Set Dash_Dummy = No unit
            • Else - Actions
          • Animation - Play Dash_Caster[Dash_C_Index]'s walk animation
          • Set Dash_Group = (Units within 150.00 of Dash_Point2[Dash_C_Index] matching (((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of
          • Unit Group - Pick every unit in Dash_Group and do (Actions)
            • Loop - Actions
              • Set Dash_Picked_Unit = (Picked unit)
              • Unit - Cause Dash_Caster[Dash_C_Index] to damage Dash_Picked_Unit, dealing Dash_Damage[Dash_C_Index] damage of attack type Dash_AttackType and damage type Dash_DamageType
              • Set Dash_Point_Off_attack[Dash_C_Index] = (Position of Dash_Picked_Unit)
              • Unit - Create 1 Dash_DummyOffAttack for (Owner of Dash_Caster[Dash_C_Index]) at Dash_Point_Off_attack[Dash_C_Index] facing Default building facing (270.0) degrees
              • Set Dash_Dummy = (Last created unit)
              • Special Effect - Create a special effect at Dash_Point_Off_attack[Dash_C_Index] using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
              • Special Effect - Destroy (Last created special effect)
              • Unit - Add Dash_DummyAbility to Dash_Dummy
              • Unit - Order Dash_Dummy to Neutral Pandaren Brewmaster - Drunken Haze Dash_Picked_Unit
              • Unit - Add a 0.75 second Generic expiration timer to Dash_Dummy
              • Unit Group - Add Dash_Picked_Unit to Dash_GroupCheck
              • Custom script: call RemoveLocation(udg_Dash_Point_Off_attack[udg_Dash_C_Index])
              • Set Dash_Picked_Unit = No unit
              • Set Dash_Dummy = No unit
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • Dash_Distance[Dash_C_Index] Less than or equal to 0
                  • (Terrain pathing at Dash_Point1[Dash_C_Index] of type Walkability is off) Equal to True
            • Then - Actions
              • Unit Group - Remove all units from Dash_GroupCheck
              • Unit - Turn collision for Dash_Caster[Dash_C_Index] On
              • Hero - Create Invisibility Effect and give it to Dash_Caster[Dash_C_Index]
              • Set Dash_Limit[Dash_C_Index] = Dash_Limit[Dash_M_Index]
              • Set Dash_Angle[Dash_C_Index] = Dash_Angle[Dash_M_Index]
              • Set Dash_Ability_Level[Dash_C_Index] = Dash_Ability_Level[Dash_M_Index]
              • Set Dash_Damage[Dash_C_Index] = Dash_Damage[Dash_M_Index]
              • Set Dash_Speed[Dash_C_Index] = Dash_Speed[Dash_M_Index]
              • Set Dash_Distance[Dash_C_Index] = Dash_Distance[Dash_M_Index]
              • Set Dash_Caster[Dash_C_Index] = Dash_Caster[Dash_M_Index]
              • Set Dash_C_Index = (Dash_C_Index - 1)
              • Set Dash_M_Index = (Dash_M_Index - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Dash_M_Index Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
          • Custom script: call RemoveLocation (udg_Dash_Point1[udg_Dash_C_Index])
          • Custom script: call RemoveLocation (udg_Dash_Point2[udg_Dash_C_Index])
          • Custom script: call DestroyGroup (udg_Dash_Group)


The Trigger "Dash Debug" is for not to cause problems with the death of the dummy animation and sound of his death.

Sorry for my english, i'm still learning :D
-----------------------------------------------------------------------------------
Updated!!! Comment please :p

Keywords:
knight,footmen,wars,koleshy,engine
Contents

Dash v1.4 - By ArOn (Map)

Reviews
Moderator
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. Dash v1.4 | Reviewed by Maker | 5th Aug 2013 NEEDS FIX [IMG] Dash group check variable is not used correctly. You could use a unit group array [IMG] Add...
  1. 12th Dec 2015
    IcemanBo: Too long as NeedsFix. Rejected.

    Dash v1.4 | Reviewed by Maker | 5th Aug 2013
    NEEDS FIX

    [​IMG]
    • Dash group check variable is not used correctly. You could use a unit group array
    [​IMG]
    • Add importing instructions
    • The dummies give vision
    • Dash point off attack variable should not be an array
    • You only need to create one dummy to cast the ability on every picked unit

    [​IMG]

    [tr]

    Old reviews

    Dash v1.2 | Reviewed by Maker | 3rd Aug 2013
    NEEDS FIX

    [​IMG]
    • Use variables for the ability and unit type
    • Do not pause the caster
    [​IMG]
    • You do not need Dash Debug trigger, set death time to 0 instead
    • Your spell potentially creates tons of units. Try to find a way
      to optionally limit the number of units created

    [​IMG]

    [tr]
    [/tr]
    [/tr]
     
  2. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    Anything u use twice or more should be stored in a variable and the variable should be used.

    since this is just a temp variable make it a temp variable. dont use arrays unless u have to.
    • Set Dash_Real[Dash_C_Index] = ((Distance between Dash_Point1[Dash_C_Index] and Dash_Point3[Dash_C_Index]) / 5.00)
     
  3. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    already i deleted it
    I had forgotten to remove that part of the group also :p
     
  4. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    ok lol
    now u just need to store anything u use twice or more into a variable and use the variable.

    example: picked unit / last created unit
     
  5. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    I think it is not necessary to store the picked unit
     
  6. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    anything that is used twice or more should be stored. u use it 3 + times
     
  7. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    check now the loop...
     
  8. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    as i said b4 if its a variable that is only a temp variable dont use an array simply use tempUnit. Arrays are slightly slower than non arrays. And adding unnecessary variables is inefficient.
     
  9. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    now i already deleted the arrays to LastCreatedUnit / PickedUnit variables...
     
  10. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    that looks better lol
     
  11. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    k :ogre_haosis:
     
  12. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,758
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    You can remove the debug trigger and set the dummys death to cant rise does not decay
     
  13. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    i put "not decay" and don't work, also death time 0.10. death sound and blood continues...
     
  14. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,758
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    It should not be displayed at all :\
     
  15. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    in the OE change it to cant raise does not decay. This will cause the unit to be removed immediately.
     
  16. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    i already do that and it did not work :S
     
  17. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    about this "Your spell potentially creates tons of units. Try to find a way
    to optionally limit the number of units created
    "

    i think this is not necessary, that's part of the effect to make it look good.
    about the others already changed and added settings from a new trigger "Settings"
     
  18. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    creating tons of units is bad as every unit u create causes a small leak that cant be helped other than not creating the units.
     
  19. ArOn

    ArOn

    Joined:
    Apr 1, 2011
    Messages:
    77
    Resources:
    4
    Maps:
    4
    Resources:
    4
    ok, check now...