1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. The long-awaited results for Concept Art Contest #11 have finally been released!
    Dismiss Notice
  3. Join Texturing Contest #30 now in a legendary battle of mythological creatures!
    Dismiss Notice
  4. The Aftermath has been revealed for the 19th Terraining Contest! Be sure to check out the Results and see what came out of it.
    Dismiss Notice
  5. Hivers united and created a bunch of 2v2 melee maps. Vote for the best in our Melee Mapping Contest #4 - Poll!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice

Pristimatic Shift v1.4

Submitted by Pr0blemBro
This bundle is marked as approved. It works and satisfies the submission rules.
[​IMG]

Prestimatic Shift


Your chaotic energy teleports and stuns enemies away when they strike you.


Level 1 - 15% chance.
Level 2 - 20% chance
Level 3 - 25% chance
Level 4 - 30% chance

Trigger:
Triggers
  • PR
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- CONFIGURING --------
      • Set PR_Ability = PristmaticRift
      • Set PR_Buff = Prismatic Rift
      • Set PR_SFX = Abilities\Spells\Human\StormBolt\StormBoltMissile.mdl
      • Set PR_Percentage[1] = 15.00
      • Set PR_Percentage[2] = 20.00
      • Set PR_Percentage[3] = 25.00
      • Set PR_Percentage[4] = 30.00
      • -------- CORE --------
      • Custom script: set udg_PR_Loop = 0.03125
      • Trigger - Add to Prismatic Rift Loop <gen> the event (Time - Every PR_Loop seconds of game time)
      • -------- REDUCE MEMORY LEAK --------
      • Custom script: call DestroyTrigger( GetTriggeringTrigger())


  • Prismatic Rift Cast
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Triggering unit) has buff PR_Buff) Equal to True
      • ((Triggering unit) is an illusion) Equal to False
      • ((Unit-type of (Attacking unit)) is A ranged attacker) Equal to False
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random percentage) Less than or equal to PR_Percentage[(Level of PR_Ability for (Triggering unit))]
        • Then - Actions
          • Set maxIndexKnockback = (maxIndexKnockback + 1)
          • Set tempPoint1 = (Position of (Triggering unit))
          • Set tempPoint2 = (Position of (Attacking unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at tempPoint1 facing Default building facing degrees
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Attacking unit)
          • Set Knockback_Angle[maxIndexKnockback] = (Angle from tempPoint1 to tempPoint2)
          • Set Knockback_Distance[maxIndexKnockback] = 25
          • Set Knockback_UnitTarget[maxIndexKnockback] = (Attacking unit)
          • Special Effect - Create a special effect at tempPoint1 using PR_SFX
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation( udg_tempPoint1)
          • Custom script: call RemoveLocation( udg_tempPoint2)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • maxIndexKnockback Equal to 1
            • Then - Actions
              • Trigger - Turn on Prismatic Rift Loop <gen>
            • Else - Actions
        • Else - Actions


  • Prismatic Rift Loop
    • Events
    • Conditions
    • Actions
      • For each (Integer tempInt) from 1 to maxIndexKnockback, do (Actions)
        • Loop - Actions
          • Set tempPoint1 = (Position of Knockback_UnitTarget[tempInt])
          • Set tempPoint2 = (tempPoint1 offset by (Real(Knockback_Distance[tempInt])) towards Knockback_Angle[tempInt] degrees)
          • Unit - Move Knockback_UnitTarget[tempInt] instantly to tempPoint2
          • Custom script: call RemoveLocation( udg_tempPoint1)
          • Custom script: call RemoveLocation( udg_tempPoint2)
          • Set Knockback_Distance[tempInt] = (Knockback_Distance[tempInt] - 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Knockback_Distance[tempInt] Equal to 0
            • Then - Actions
              • Set Knockback_Angle[tempInt] = Knockback_Angle[maxIndexKnockback]
              • Set Knockback_Distance[tempInt] = Knockback_Distance[maxIndexKnockback]
              • Set Knockback_UnitTarget[tempInt] = Knockback_UnitTarget[maxIndexKnockback]
              • Set Knockback_UnitTarget[maxIndexKnockback] = No unit
              • Set maxIndexKnockback = (maxIndexKnockback - 1)
              • Set tempInt = (tempInt - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • maxIndexKnockback Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions




Changelog:
v1.1 :
Dummy - Hide Mini map Display has been set to true
Dummy - Has been set to Cant Raise, Does not Decay
Removed "And from the main condition"
v1.2
-De-Index Fixed
v1.2b
Changed Attacked unit to Triggering unit
v1.3
-100% Fixed De-Index by deathismyfriend
v1.4
-Dummy fixed,
-Added comments for triggering
-Remade special effects
-Improved triggering by AKA.GywGod133
Old Trigger:
Triggers
  • Prismatic Rift Cast
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Triggering unit) has buff Prismatic Rift ) Equal to True
      • ((Triggering unit) is an illusion) Equal to False
      • ((Unit-type of (Attacking unit)) is A ranged attacker) Equal to False
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to (10 + (5 x (Level of PristmaticRift for (Triggering unit))))
        • Then - Actions
          • Set maxIndexKnockback = (maxIndexKnockback + 1)
          • Set tempPoint1 = (Position of (Triggering unit))
          • Set tempPoint2 = (Position of (Attacking unit))
          • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at tempPoint1 facing Default building facing degrees
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Attacking unit)
          • Set Knockback_Angle[maxIndexKnockback] = (Angle from tempPoint1 to tempPoint2)
          • Custom script: call RemoveLocation( udg_tempPoint1)
          • Custom script: call RemoveLocation( udg_tempPoint2)
          • Set Knockback_Distance[maxIndexKnockback] = 25
          • Set Knockback_UnitTarget[maxIndexKnockback] = (Attacking unit)
          • Set effectKnockback = Abilities\Weapons\Bolt\BoltImpact.mdl
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • maxIndexKnockback Equal to 1
            • Then - Actions
              • Trigger - Turn on Prismatic Rift Loop <gen>
            • Else - Actions
        • Else - Actions


  • Prismatic Rift Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer tempInt) from 1 to maxIndexKnockback, do (Actions)
        • Loop - Actions
          • Set tempPoint1 = (Position of Knockback_UnitTarget[tempInt])
          • Set tempPoint2 = (tempPoint1 offset by (Real(Knockback_Distance[tempInt])) towards Knockback_Angle[tempInt] degrees)
          • Unit - Move Knockback_UnitTarget[tempInt] instantly to tempPoint2
          • Special Effect - Create a special effect at tempPoint2 using effectKnockback
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation( udg_tempPoint1)
          • Custom script: call RemoveLocation( udg_tempPoint2)
          • Set Knockback_Distance[tempInt] = (Knockback_Distance[tempInt] - 1)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Knockback_Distance[tempInt] Equal to 0
            • Then - Actions
              • Set Knockback_Angle[tempInt] = Knockback_Angle[maxIndexKnockback]
              • Set Knockback_Distance[tempInt] = Knockback_Distance[maxIndexKnockback]
              • Set Knockback_UnitTarget[tempInt] = Knockback_UnitTarget[maxIndexKnockback]
              • Set Knockback_UnitTarget[maxIndexKnockback] = No unit
              • Set maxIndexKnockback = (maxIndexKnockback - 1)
              • Set tempInt = (tempInt - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • maxIndexKnockback Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions




Credits:
Special Thanks to :

-AKA.GywGod133 for improving the triggers!
-deathismyfriend for fixing the de-index!
-xorkatoss for teaching me MUI!
-Torchlight II Idea



Keywords:
Counter,Anti Melee Hitter, Soft Armor Wizards,
Contents

Prismatic Shift (Map)

Reviews
Moderator
Pristimatic Shift v1.3 | Reviewed by Maker | 28th May 2013 APPROVED [IMG] The ability is MUI and leakless with good tooltip [tr] [IMG] The dummy has build ability, uses upgrades and gives vision Use a knockback system...
  1. GywGod133

    GywGod133

    Joined:
    Jul 16, 2012
    Messages:
    646
    Resources:
    3
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    3
    ahaha UPDATED