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.

Mortal Strike v0.02a

Submitted by BUP
This bundle is marked as approved. It works and satisfies the submission rules.
Mortal Strike [Q]

Moves to the targeted unit and spin around him dealing damage for a certain amount of time.After that time the (caster) delivers a final blow dealing a heavy damage.

Level 1 - 4.3 damage per 0.03 seconds.200 final blow damage.3 seconds duration.

Level 2 - 5.0 damage per 0.03 seconds.250 final blow damage.4 seconds duration.

Level 3 - 5.7 damage per 0.03 seconds.300 final blow damage.5 seconds duration.

Cooldown = 0 (For MUI Test)

v0.02a Triggers
CODE

MoS Config

  • MoS Config
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- The Caster Is Alive?? --------
      • Set MoS_Condition_Config[0] = True
      • -------- The Target Is Alive?? --------
      • Set MoS_Condition_Config[1] = True
      • -------- The Distance that the caster will spin from --------
      • Set MoS_Stay_Distance = 100.00
      • -------- Detemines the animation speed --------
      • Set MoS_Animation_Speed = 150.00
      • -------- Detemines the default animation speed --------
      • Set MoS_Default_Animation_Speed = 100.00
      • -------- Detemines the speed of spinning around the target --------
      • Set MoS_Spin_Speed[1] = 13.00
      • Set MoS_Spin_Speed[2] = 20.00
      • Set MoS_Spin_Speed[3] = 27.00
      • -------- Detemines the damage in each level --------
      • Set MoS_Damage[1] = 4.30
      • Set MoS_Damage[2] = 5.00
      • Set MoS_Damage[3] = 5.70
      • -------- Detemines the spin duration in each level --------
      • Set MoS_Spell_Duration[1] = 3.00
      • Set MoS_Spell_Duration[2] = 4.00
      • Set MoS_Spell_Duration[3] = 5.00
      • -------- Detemines the final damage dealt in each level --------
      • Set MoS_Final_Damage[1] = 200.00
      • Set MoS_Final_Damage[2] = 250.00
      • Set MoS_Final_Damage[3] = 300.00
      • -------- Detemines the special effect attachment point --------
      • Set MoS_SE_Attachment[1] = right hand
      • Set MoS_SE_Attachment[2] = left hand
      • Set MoS_SE_Attachment[3] = weapon
      • Set MoS_SE_Attachment[4] = overhead
      • -------- Detemines the special effect created upon damage. --------
      • Set MoS_SE_Attachment[5] = chest
      • -------- Animation - Best Use For Blademaster,Sumaro --------
      • -------- Detemines the spinning animation type --------
      • Set MoS_Spell_Animation = spin
      • -------- Detemines the final animation type --------
      • Set MoS_Final_Animation = slam
      • -------- Detemines the model file for the effect attached to the caster --------
      • Set MoS_Effect_Model[1] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
      • Set MoS_Effect_Model[2] = Abilities\Weapons\SeaElementalMissile\SeaElementalMissile.mdl
      • Set MoS_Effect_Model[3] = Abilities\Weapons\WaterElementalMissile\WaterElementalMissile.mdl
      • Set MoS_Effect_Model[4] = Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
      • -------- Detemines the model file for the effect created on the target on dealing damage --------
      • Set MoS_Damage_Model = Abilities\Spells\Other\HealingSpray\HealBottleMissile.mdl
      • -------- Detemines the model file for the effect created on the target on final blow --------
      • Set MoS_Final_Effect_Model = Abilities\Spells\Demon\DarkPortal\DarkPortalTarget.mdl
      • Set MoS_Spell = Mortal Strike


MoS Cast

  • MoS Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to MoS_Spell
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MoS_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on MoS Loop <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • MoS_Recycle_Size Greater than 0
        • Then - Actions
          • Set MoS_Recycle_Size = (MoS_Recycle_Size - 1)
          • Set MoS_Current_Index = MoS_Recycle_Container[MoS_Recycle_Size]
        • Else - Actions
          • Set MoS_Current_Index = MoS_Index_Size
          • Set MoS_Index_Size = (MoS_Index_Size + 1)
      • Set MoS_Target[MoS_Current_Index] = (Target unit of ability being cast)
      • Set MoS_Caster[MoS_Current_Index] = (Triggering unit)
      • Set MoS_Owner = (Owner of MoS_Caster[MoS_Current_Index])
      • Set MoS_Level = (Level of MoS_Spell for MoS_Caster[MoS_Current_Index])
      • Set MoS_Timer[MoS_Current_Index] = MoS_Spell_Duration[MoS_Level]
      • Unit - Turn collision for MoS_Caster[MoS_Current_Index] Off
      • Special Effect - Create a special effect attached to the MoS_SE_Attachment[1] of MoS_Caster[MoS_Current_Index] using MoS_Effect_Model[1]
      • Set MoS_SE_1[MoS_Current_Index] = (Last created special effect)
      • Special Effect - Create a special effect attached to the MoS_SE_Attachment[2] of MoS_Caster[MoS_Current_Index] using MoS_Effect_Model[2]
      • Set MoS_SE_2[MoS_Current_Index] = (Last created special effect)
      • Special Effect - Create a special effect attached to the MoS_SE_Attachment[3] of MoS_Caster[MoS_Current_Index] using MoS_Effect_Model[3]
      • Set MoS_SE_3[MoS_Current_Index] = (Last created special effect)
      • Special Effect - Create a special effect attached to the MoS_SE_Attachment[4] of MoS_Caster[MoS_Current_Index] using MoS_Effect_Model[4]
      • Set MoS_SE_4[MoS_Current_Index] = (Last created special effect)
      • Custom script: call PauseUnit(udg_MoS_Caster[udg_MoS_Current_Index], true)
      • Animation - Play MoS_Caster[MoS_Current_Index]'s MoS_Spell_Animation animation
      • Animation - Change MoS_Caster[MoS_Current_Index]'s animation speed to MoS_Animation_Speed% of its original speed
      • Set MoS_Index_Container[MoS_Index_Listener] = MoS_Current_Index
      • Set MoS_Index_Listener = (MoS_Index_Listener + 1)


MoS Loop

  • MoS Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer MoS_Loop) from 0 to (MoS_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set MoS_Current_Index = MoS_Index_Container[MoS_Loop]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • MoS_Timer[MoS_Current_Index] Greater than 0.00
            • Then - Actions
              • Set MoS_Timer[MoS_Current_Index] = (MoS_Timer[MoS_Current_Index] - 0.03)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (MoS_Caster[MoS_Current_Index] is alive) Equal to MoS_Condition_Config[0]
                  • (MoS_Target[MoS_Current_Index] is alive) Equal to MoS_Condition_Config[1]
                • Then - Actions
                  • Unit - Order MoS_Caster[MoS_Current_Index] to Hold Position
                  • Unit - Make MoS_Caster[MoS_Current_Index] face MoS_Target[MoS_Current_Index] over 0.00 seconds
                  • Set MoS_Target_Point = (Position of MoS_Target[MoS_Current_Index])
                  • Set MoS_Caster_Point = (Position of MoS_Caster[MoS_Current_Index])
                  • Set MoS_Angle = ((Angle from MoS_Target_Point to MoS_Caster_Point) + MoS_Spin_Speed[MoS_Level])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • MoS_Angle Greater than or equal to 359.00
                    • Then - Actions
                      • Set MoS_Angle = 0.00
                    • Else - Actions
                  • Custom script: call SetUnitX(udg_MoS_Caster[udg_MoS_Current_Index],GetUnitX(udg_MoS_Target[udg_MoS_Current_Index]) + udg_MoS_Stay_Distance * Cos(udg_MoS_Angle * bj_DEGTORAD))
                  • Custom script: call SetUnitY(udg_MoS_Caster[udg_MoS_Current_Index],GetUnitY(udg_MoS_Target[udg_MoS_Current_Index]) + udg_MoS_Stay_Distance * Sin(udg_MoS_Angle * bj_DEGTORAD))
                  • Unit - Cause MoS_Caster[MoS_Current_Index] to damage MoS_Target[MoS_Current_Index], dealing MoS_Damage[MoS_Level] damage of attack type Spells and damage type Normal
                  • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_MoS_Damage_Model, udg_MoS_Target[udg_MoS_Current_Index],udg_MoS_SE_Attachment[5]))
                  • Custom script: call RemoveLocation(udg_MoS_Target_Point)
                  • Custom script: call RemoveLocation(udg_MoS_Caster_Point)
                • Else - Actions
                  • Set MoS_Timer[MoS_Current_Index] = 0.00
            • Else - Actions
              • Custom script: call PauseUnit(udg_MoS_Caster[udg_MoS_Current_Index], false)
              • Unit - Turn collision for MoS_Caster[MoS_Current_Index] On
              • Unit - Order MoS_Caster[MoS_Current_Index] to Stop
              • Set MoS_Target_Point = (Position of MoS_Target[MoS_Current_Index])
              • Animation - Play MoS_Caster[MoS_Current_Index]'s MoS_Final_Animation animation
              • Unit - Make MoS_Caster[MoS_Current_Index] face MoS_Target[MoS_Current_Index] over 0.00 seconds
              • Unit - Cause MoS_Caster[MoS_Current_Index] to damage MoS_Target[MoS_Current_Index], dealing MoS_Final_Damage[MoS_Level] damage of attack type Spells and damage type Normal
              • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_MoS_Final_Effect_Model, udg_MoS_Target[udg_MoS_Current_Index],udg_MoS_SE_Attachment[5]))
              • Custom script: call RemoveLocation(udg_MoS_Target_Point)
              • Custom script: call SetUnitTimeScale( udg_MoS_Caster[udg_MoS_Current_Index], udg_MoS_Animation_Speed / udg_MoS_Default_Animation_Speed)
              • Animation - Reset MoS_Caster[MoS_Current_Index]'s animation
              • Special Effect - Destroy MoS_SE_1[MoS_Current_Index]
              • Special Effect - Destroy MoS_SE_2[MoS_Current_Index]
              • Special Effect - Destroy MoS_SE_3[MoS_Current_Index]
              • Special Effect - Destroy MoS_SE_4[MoS_Current_Index]
              • Set MoS_Index_Listener = (MoS_Index_Listener - 1)
              • Set MoS_Index_Container[MoS_Loop] = MoS_Index_Container[MoS_Index_Listener]
              • Set MoS_Recycle_Container[MoS_Recycle_Size] = MoS_Current_Index
              • Set MoS_Recycle_Size = (MoS_Recycle_Size + 1)
              • Set MoS_Loop = (MoS_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • MoS_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off MoS Loop <gen>
                • Else - Actions



Changelog

v0.01 Uploaded Here.
v0.02 Added Custom-Script instead of using simple trigger actions.
v0.02a Changed the screenshot and added credits.

CREDITS

First of all ,credits to doomhammer99(thanks,man)


Keywords:
Bladestorm,Spin,DPS,MUI,GUI,TRIGGERS
Contents

Mortal Strike 0.02a (Map)

Reviews
Moderator
17:49, 17th Nov 2012 Magtheridon96: Approved. Code looks good and clean, and there are plenty of configurables. Well done.
  1. 17:49, 17th Nov 2012
    Magtheridon96: Approved.
    Code looks good and clean, and there are plenty of configurables. Well done.
     
  2. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    EDIT: :D CREDITS TO ME :D

    Ok your coding are clean and well.
    My Suggestions

    But Instead off using to triggers, you can use 1 triggers at once like this:
    Add & Destroy Effects:
    • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_YourSFX, udg_YourUnit, udg_YourAttachment))

    You can move a unit by using this, this is the fastest and cleaner way
    • Custom script: call SetUnitX(udg_YourUnit,GetUnitX(udg_YourUnit) + udg_YourOffset/Speed * Cos(udg_YourAngle * bj_DEGTORAD))
    • Custom script: call SetUnitY(udg_YourUnit,GetUnitY(udg_YourUnit) + udg_YourOffset/Speed * Sin(udg_YourAngle * bj_DEGTORAD))

    As you can see above, they're not similar. The 1st SetUnitX and the 2nd is SetUnitY :D.
    Instead of Putting this:
    • Else - Actions
    • Unit - Turn collision for MoS_Caster[MoS_Current_Index] On
    • Animation - Change MoS_Caster[MoS_Current_Index]'s animation speed to 100.00% of its original speed
    • Animation - Reset MoS_Caster[MoS_Current_Index]'s animation
    • Special Effect - Destroy MoS_SE_1[MoS_Current_Index]
    • Special Effect - Destroy MoS_SE_2[MoS_Current_Index]
    • Special Effect - Destroy MoS_SE_3[MoS_Current_Index]
    • Special Effect - Destroy MoS_SE_4[MoS_Current_Index]
    • Set MoS_Index_Listener = (MoS_Index_Listener - 1)
    • Set MoS_Index_Container[MoS_Loop] = MoS_Index_Container[MoS_Index_Listener]
    • Set MoS_Recycle_Container[MoS_Recycle_Size] = MoS_Current_Index
    • Set MoS_Recycle_Size = (MoS_Recycle_Size + 1)
    • Set MoS_Loop = (MoS_Loop - 1)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)

    You can just do this:
    • Animation - Reset MoS_Caster[MoS_Current_Index]'s animation
    • Special Effect - Destroy MoS_SE_1[MoS_Current_Index]
    • Special Effect - Destroy MoS_SE_2[MoS_Current_Index]
    • Special Effect - Destroy MoS_SE_3[MoS_Current_Index]
    • Special Effect - Destroy MoS_SE_4[MoS_Current_Index]
    • Set MoS_Timer[udg_MoS_Index] = 0.00

    You don't really need this, It's only for the Rarity of the Animation
    • Animation - Reset MoS_Caster[MoS_Current_Index]'s animation

    Instead of using this:
    • Animation - Change MoS_Caster[MoS_Current_Index]'s animation speed to 100.00% of its original speed

    You can use This:
    • Custom script: call SetUnitTimeScale( udg_MoS_Caster[udg_MoS_Index], udg_MoS_AnimSpeed / 100.)

    and the 100.00% must be Configurable.

    Spell Resource Rating System by doomhammer99
    Note: 5 is the highest point that can be given, and 1 is the lowest.
    Documentation: -
    Triggering: 4
    Idea: 5
    Usefulness: 3
    Overall Aspects: 3

    Overall Rating: 3
    Rating Comment: Useful[r]

    Changes will be made Until Update
     
    Last edited: Dec 6, 2012
  3. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    doomhammer99,,thanks for advising the faster way with custom scripts..
    But I'm having problems with the moving thing,,you can check it out in the attachment.
    The spin animation stops how should i fix that??
     
    Last edited: Dec 31, 2012
  4. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    Ok Wait up
     
  5. ThisPOT

    ThisPOT

    Joined:
    Feb 23, 2009
    Messages:
    570
    Resources:
    3
    Spells:
    3
    Resources:
    3
    0.03 millisecond = 0.00003 lol ;O

    its 0.03 second

    Cool spell tho
     
  6. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Doom,i've fixed the animation i'll update this later
     
  7. GaAg0

    GaAg0

    Joined:
    Jul 15, 2012
    Messages:
    191
    Resources:
    0
    Resources:
    0
    Nice magic :D i love it testing it
     
  8. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Thank you!!:ogre_haosis:
     
  9. john2_gadi

    john2_gadi

    Joined:
    Sep 1, 2009
    Messages:
    22
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Found an Error! Please fix this!

    When I cast it looks very fine. But as I am testing the ability I see something which really unusual when the unit cast/activate the spell when its time for the final blow it damages itself.. or (200 Damage for Enemy/Targeted Unit and 200 Damage to Self??


    but this is a good spell idea...just fix the self damage. 3/5