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. Dismiss Notice
  6. The Highway to Hell has been laid open. Come along and participate in the 5th Special Effect Contest.
    Dismiss Notice
  7. 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.

Demon's Grip v0.2

Submitted by BUP
This bundle is marked as approved. It works and satisfies the submission rules.
-Tooltip-
Demon's Grip

Grips the target with demon's hand.Making the target fly upwards.When it reaches the max height,the demon's hand grips the target again killing the target.

Level 1 - Slow height increasing rate.
Level 2 - Medium height increasing rate.
Level 3 - Fast height increasing rate.

Cooldown = 0 seconds.(for MUI Test)
Mana Cost = 0

CODE

v0.2 Triggers
DeGr Config

  • DeGr Config
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- -------------------------CONFIGURATION START----------------------------------- --------
      • -------- Is the caster alive?? --------
      • Set DeGr_Condition_Config[0] = True
      • -------- Is the target alive?? --------
      • Set DeGr_Condition_Config[1] = True
      • -------- Determines the damage for each level according to arrays --------
      • -------- These should to be killing-damage.But you can configure it as you like. --------
      • Set DeGr_Damage[1] = 1000000000.00
      • Set DeGr_Damage[2] = 1000000000.00
      • Set DeGr_Damage[3] = 1000000000.00
      • -------- Determines the speed of the target spins for each level according to arrays --------
      • Set DeGr_Angle_Increase[1] = 22.00
      • Set DeGr_Angle_Increase[2] = 22.00
      • Set DeGr_Angle_Increase[3] = 22.00
      • -------- Determines the speed of the height increase for each level according to arrays --------
      • Set DeGr_Height_Increase[1] = 2.50
      • Set DeGr_Height_Increase[2] = 3.50
      • Set DeGr_Height_Increase[3] = 4.00
      • -------- Determines the rate of height decrease after the death of the target.(NOTE: This is a rate and not similar to [DeGr_Height_Increase] ) --------
      • Set DeGr_Final_Height_Decrease[1] = 200.00
      • Set DeGr_Final_Height_Decrease[2] = 250.00
      • Set DeGr_Final_Height_Decrease[3] = 300.00
      • -------- Determines the maximum height that the target will be killed for each level according to arrays --------
      • Set DeGr_Max_Height[1] = 500.00
      • Set DeGr_Max_Height[2] = 500.00
      • Set DeGr_Max_Height[3] = 500.00
      • -------- Determines the attachment of the special effect 1 --------
      • Set DeGr_Target_Attachment[1] = origin
      • -------- Determines the model of the special effect 1 --------
      • Set DeGr_Target_Effect_Model[1] = Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
      • -------- Determines the attachment of the special effect 2 --------
      • Set DeGr_Target_Attachment[2] = chest
      • -------- Determines the model of the special effect 2 --------
      • Set DeGr_Target_Effect_Model[2] = Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
      • -------- Determines the attachment of the final special effect --------
      • Set DeGr_Target_Attachment[3] = chest
      • -------- Determines the model of the final special effect --------
      • Set DeGr_Target_Effect_Model[3] = Objects\Spawnmodels\Human\HumanLargeDeathExplode\HumanLargeDeathExplode.mdl
      • -------- Saves the ability into variable --------
      • Set DeGr_Spell = Demon's Grip
      • -------- -------------------------CONFIGURATION ENDS----------------------------------- --------


DeGr Cast

  • DeGr Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to DeGr_Spell
    • Actions
      • -------- ------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM START --------
      • -------- ------------------------------------------------------------ --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • DeGr_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on DeGr Loop <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • DeGr_Recycle_Size Greater than 0
        • Then - Actions
          • Set DeGr_Recycle_Size = (DeGr_Recycle_Size - 1)
          • Set DeGr_Current_Index = DeGr_Recycle_Container[DeGr_Recycle_Size]
        • Else - Actions
          • Set DeGr_Current_Index = DeGr_Index_Size
          • Set DeGr_Index_Size = (DeGr_Index_Size + 1)
      • -------- ------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM END --------
      • -------- ------------------------------------------------------------ --------
      • -------- ------------------------------------------------------------ --------
      • -------- Sets the caster for its current index --------
      • -------- ------------------------------------------------------------ --------
      • Set DeGr_Caster[DeGr_Current_Index] = (Triggering unit)
      • -------- ------------------------------------------------------------ --------
      • -------- Sets the level of the spell of Caster --------
      • -------- ------------------------------------------------------------ --------
      • Set DeGr_Level[DeGr_Current_Index] = (Level of DeGr_Spell for DeGr_Caster[DeGr_Current_Index])
      • -------- ------------------------------------------------------------ --------
      • -------- Sets the target for its current index --------
      • -------- ------------------------------------------------------------ --------
      • Set DeGr_Target[DeGr_Current_Index] = (Target unit of ability being cast)
      • -------- ------------------------------------------------------------ --------
      • -------- Adds the Crow Form to the target to enable flying height --------
      • -------- ------------------------------------------------------------ --------
      • Custom script: if UnitAddAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') then
      • Custom script: call UnitRemoveAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf')
      • Custom script: endif
      • -------- ------------------------------------------------------------ --------
      • -------- Pauses the target --------
      • -------- ------------------------------------------------------------ --------
      • Custom script: call PauseUnit(udg_DeGr_Target[udg_DeGr_Current_Index], true)
      • -------- ------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM START --------
      • -------- ------------------------------------------------------------ --------
      • Set DeGr_Index_Container[DeGr_Index_Listener] = DeGr_Current_Index
      • Set DeGr_Index_Listener = (DeGr_Index_Listener + 1)
      • -------- ------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM END --------
      • -------- ------------------------------------------------------------ --------


DeGr Loop

  • DeGr Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • -------- ------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM START --------
      • -------- ------------------------------------------------------------ --------
      • For each (Integer DeGr_Loop) from 0 to (DeGr_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set DeGr_Current_Index = DeGr_Index_Container[DeGr_Loop]
          • -------- ------------------------------------------------------------ --------
          • -------- IMPORTANT SYSTEM END --------
          • -------- ------------------------------------------------------------ --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (DeGr_Caster[DeGr_Current_Index] is alive) Equal to DeGr_Condition_Config[0]
              • (DeGr_Target[DeGr_Current_Index] is alive) Equal to DeGr_Condition_Config[1]
              • DeGr_Height[DeGr_Current_Index] Less than or equal to DeGr_Max_Height[DeGr_Level[DeGr_Current_Index]]
            • Then - Actions
              • -------- ------------------------------------------------------------ --------
              • -------- Sets the height for the target which is increased by [DeGr_Height_Increase] every loop --------
              • -------- ------------------------------------------------------------ --------
              • Set DeGr_Height[DeGr_Current_Index] = (DeGr_Height[DeGr_Current_Index] + DeGr_Height_Increase[DeGr_Level[DeGr_Current_Index]])
              • -------- ------------------------------------------------------------ --------
              • -------- Sets the angle for the target which is increased by [DeGr_Angle_Increase] every loop --------
              • -------- ------------------------------------------------------------ --------
              • Set DeGr_Angle[DeGr_Current_Index] = (DeGr_Angle[DeGr_Current_Index] + DeGr_Angle_Increase[DeGr_Level[DeGr_Current_Index]])
              • -------- ------------------------------------------------------------ --------
              • -------- If the angle is greater than 0 then --------
              • -------- ------------------------------------------------------------ --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DeGr_Angle[DeGr_Current_Index] Greater than or equal to 360.00
                • Then - Actions
                  • -------- ------------------------------------------------------------ --------
                  • -------- Sets it back to 0 to make it smooth --------
                  • -------- ------------------------------------------------------------ --------
                  • Set DeGr_Angle[DeGr_Current_Index] = 0.00
                • Else - Actions
              • -------- ------------------------------------------------------------ --------
              • -------- Making the unit face the angle saved earlier --------
              • -------- ------------------------------------------------------------ --------
              • Unit - Make DeGr_Target[DeGr_Current_Index] face DeGr_Angle[DeGr_Current_Index] over 0.00 seconds
              • -------- ------------------------------------------------------------ --------
              • -------- Changes the target's flying height to the height that saved earlier --------
              • -------- ------------------------------------------------------------ --------
              • Animation - Change DeGr_Target[DeGr_Current_Index] flying height to DeGr_Height[DeGr_Current_Index] at 0.00
              • -------- ------------------------------------------------------------ --------
              • -------- Creates and Removes the [DeGr_Target_Effect_Model_1] on the attachment [DeGr_Target_Attachment_1] --------
              • -------- ------------------------------------------------------------ --------
              • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_DeGr_Target_Effect_Model[1], udg_DeGr_Target[udg_DeGr_Current_Index],udg_DeGr_Target_Attachment[1]))
              • -------- ------------------------------------------------------------ --------
              • -------- Creates and Removes the [DeGr_Target_Effect_Model_2] on the attachment [DeGr_Target_Attachment_2] --------
              • -------- ------------------------------------------------------------ --------
              • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_DeGr_Target_Effect_Model[2], udg_DeGr_Target[udg_DeGr_Current_Index],udg_DeGr_Target_Attachment[2]))
            • Else - Actions
              • -------- ------------------------------------------------------------ --------
              • -------- Causes the killing-damage to kill the unit.Why not use Kill-Unit Action?? It will have no killer. --------
              • -------- ------------------------------------------------------------ --------
              • Unit - Cause DeGr_Caster[DeGr_Current_Index] to damage DeGr_Target[DeGr_Current_Index], dealing DeGr_Damage[DeGr_Level[DeGr_Current_Index]] damage of attack type Spells and damage type Normal
              • -------- ------------------------------------------------------------ --------
              • -------- Creates and Removes the [DeGr_Final_Effect_Model] on the attachment [DeGr_Final_Effect_Attachment] --------
              • -------- ------------------------------------------------------------ --------
              • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_DeGr_Target_Effect_Model[3], udg_DeGr_Target[udg_DeGr_Current_Index],udg_DeGr_Target_Attachment[3]))
              • -------- ------------------------------------------------------------ --------
              • -------- Change the flying height back to 0 at the rate of [DeGr_Final_Height_Decrease] --------
              • -------- ------------------------------------------------------------ --------
              • Animation - Change DeGr_Target[DeGr_Current_Index] flying height to 0.00 at DeGr_Final_Height_Decrease[DeGr_Level[DeGr_Current_Index]]
              • -------- ------------------------------------------------------------ --------
              • -------- Resets the height and angle for the next spell --------
              • -------- ------------------------------------------------------------ --------
              • Set DeGr_Angle[DeGr_Current_Index] = 0.00
              • Set DeGr_Height[DeGr_Current_Index] = 0.00
              • -------- ------------------------------------------------------------ --------
              • -------- UnPauses the target --------
              • -------- ------------------------------------------------------------ --------
              • Custom script: call PauseUnit(udg_DeGr_Target[udg_DeGr_Current_Index], false)
              • -------- ------------------------------------------------------------ --------
              • -------- IMPORTANT SYSTEM START --------
              • -------- ------------------------------------------------------------ --------
              • Set DeGr_Index_Listener = (DeGr_Index_Listener - 1)
              • Set DeGr_Index_Container[DeGr_Loop] = DeGr_Index_Container[DeGr_Index_Listener]
              • Set DeGr_Recycle_Container[DeGr_Current_Index] = DeGr_Current_Index
              • Set DeGr_Recycle_Size = (DeGr_Recycle_Size + 1)
              • Set DeGr_Loop = (DeGr_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • DeGr_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off DeGr Loop <gen>
                • Else - Actions
              • -------- ------------------------------------------------------------ --------
              • -------- IMPORTANT SYSTEM END --------
              • -------- ------------------------------------------------------------ --------



Changelog

v0.1

FIRST UPLOADED HERE

v0.2

Changed the variables to arrays instead of using many of them.
Added array to the level variable


Screen Shot

[​IMG]

Note

Never describe a book with its cover


Keywords:
MUI,GUI,TRIGGER,Demonic,Grip,Fly,Spell
Contents

Demon's Grip v0.2 (Map)

Reviews
Moderator
23:31, 30th Nov 2012 Magtheridon96: Approved. This deserves a 4/5 because of your use of comments and the cleanliness of the code. The configuration is wonderful too. There are tiny improvements that could be done here and there. Check out...
  1. 23:31, 30th Nov 2012
    Magtheridon96: Approved.
    This deserves a 4/5 because of your use of comments and the cleanliness of the code. The configuration is wonderful too.

    There are tiny improvements that could be done here and there.
    Check out Radamantus' last posts for more information.
     
  2. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Hmmm
     
  3. Almia

    Almia

    Joined:
    Apr 24, 2012
    Messages:
    4,843
    Resources:
    35
    Spells:
    30
    Tutorials:
    4
    JASS:
    1
    Resources:
    35
    Make the spell effect array.
    Code (vJASS):
     if UnitAddAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') then
     call UnitRemoveAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf')
     endif

    To this.
    Code (vJASS):
    if UnitAddAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') and UnitRemoveAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') then
     endif


    You dont need a script to pause a unit.
    Use stun instead of pause,because pause is bad.
    I suggest using an arc method will do.
     
  4. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    That ain't spell effect.
    It's a Script for adding and removing Ability.
     
  5. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Yeah i was wondering too.....
    But i feel like i shouldn't refuse to Pros
     
  6. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    Yeah you should do what Radamantus' just said
     
  7. Almia

    Almia

    Joined:
    Apr 24, 2012
    Messages:
    4,843
    Resources:
    35
    Spells:
    30
    Tutorials:
    4
    JASS:
    1
    Resources:
    35
    Uhmmm,you dont understand.
    All of the suggestions above are differet.
    The spell effect or SFX should be array instead of using so many variables.
     
  8. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    I did what u said.Thanks!
     
  9. Almia

    Almia

    Joined:
    Apr 24, 2012
    Messages:
    4,843
    Resources:
    35
    Spells:
    30
    Tutorials:
    4
    JASS:
    1
    Resources:
    35
    I told you to fix this:
    • :
      • Custom script:if UnitAddAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') then
      • Custom script: call UnitRemoveAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf')
      • Custom script: endif

    to this:
    • Custom script:if UnitAddAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') and UnitRemoveAbility(udg_DeGr_Target[udg_DeGr_Current_Index],'Amrf') then
    • Custom script: endif


    this trigger:
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • DeGr_Angle[DeGr_Current_Index] Greater than or equal to 360.00
    • Then - Actions
    • -------- ------------------------------------------------------------ --------
    • -------- Sets it back to 0 to make it smooth --------
    • -------- ------------------------------------------------------------ --------
    • Set DeGr_Angle[DeGr_Current_Index] = 0.00
    • Else - Actions

    Isnt needed,because the degrees are currently recycled automatically by the world editor.So if the angle is -90,then the world editor will recycle it then the result would be 270.

    • -------- ------------------------------------------------------------ --------
    • -------- Creates and Removes the [DeGr_Target_Effect_Model_1] on the attachment [DeGr_Target_Attachment_1] --------
    • -------- ------------------------------------------------------------ --------
    • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_DeGr_Target_Effect_Model[1], udg_DeGr_Target[udg_DeGr_Current_Index],udg_DeGr_Target_Attachment[1]))
    • -------- ------------------------------------------------------------ --------
    • -------- Creates and Removes the [DeGr_Target_Effect_Model_2] on the attachment [DeGr_Target_Attachment_2] --------
    • -------- ------------------------------------------------------------ --------
    • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_DeGr_Target_Effect_Model[2], udg_DeGr_Target[udg_DeGr_Current_Index],udg_DeGr_Target_Attachment[2]))

    Put the actions on a integer loop,because you are using arrays.

    Use an arc method so that it doesnt use any height reset
     
  10. hemmedo

    hemmedo

    Joined:
    Jun 13, 2008
    Messages:
    276
    Resources:
    0
    Resources:
    0
    if it would be a channeling spell, would be much more logical but still nice