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.

Glaive Fury v1.0a

Submitted by BUP
This bundle is marked as approved. It works and satisfies the submission rules.
TOOLTIP:
The Shaman casts his hidden Glaive Fury magic against the enemy target.In every 0.1 seconds a glaive is thrown to the target dealing certain damage and stunning 0.1 second,making the target go out of options.Throws glaives for a certain time

Level 1 - 25 damage dealt by a glaive.1 second duration.
Level 2 - 30 damage dealt by a glaive.1.5 seconds duration.
Level 3 - 35 damage dealt by a glaive.2.5 seconds duration.
Level 4 - 40 damage dealt by a glaive.3 seconds duration.

Cooldown = 0 seconds.(FOR MUI TEST)
Mana Cost = 0

Version 1.0a TRIGGERS

GaF Config

  • GaF Setup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- The expiration time for the dummy unit.....It also can be considered as the special effect duration --------
      • Set GaF_Expiration_Timer = 1.00
      • -------- The default value for the animation speed(which will be used in resetting the animation speed) --------
      • Set GaF_Default_Animation_Speed = 100.00
      • -------- The default value for the transparency(which will be used in resetting the transparency) --------
      • Set GaF_Default_Transparency = 0.00
      • -------- The duration time that the glaives are thrown (Arrays are the level of the spell) --------
      • Set GaF_Duration[1] = 1.00
      • Set GaF_Duration[2] = 1.50
      • Set GaF_Duration[3] = 2.00
      • Set GaF_Duration[4] = 2.50
      • -------- The speed/rate of the transparency Increasing (Arrays are the level of the spell) --------
      • Set GaF_Transparency_Increase[1] = 2.20
      • Set GaF_Transparency_Increase[2] = 2.20
      • Set GaF_Transparency_Increase[3] = 2.20
      • Set GaF_Transparency_Increase[4] = 2.20
      • -------- The speed/rate of the Animation speed decreasing (Arrays are the level of the spell) --------
      • Set GaF_Animation_Decrease[1] = 2.50
      • Set GaF_Animation_Decrease[2] = 2.50
      • Set GaF_Animation_Decrease[3] = 2.50
      • Set GaF_Animation_Decrease[4] = 2.50
      • -------- The distance from the caster where the glaives are thrown from (Arrays are the level of the spell) --------
      • Set GaF_Glaive_Distance[1] = 100.00
      • Set GaF_Glaive_Distance[2] = 100.00
      • Set GaF_Glaive_Distance[3] = 100.00
      • Set GaF_Glaive_Distance[4] = 100.00
      • -------- The special effect created on everytime the glaives are thrown --------
      • Set GaF_Effect_Model[1] = Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
      • -------- The attachment of the special effect on the target --------
      • Set GaF_Attachment[1] = chest
      • -------- The special effect created on the dummy --------
      • Set GaF_Effect_Model[2] = Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
      • -------- The attachment of the special effect on the dummy --------
      • Set GaF_Attachment[2] = chest
      • -------- The animation name of the caster while casting the spell --------
      • Set GaF_Animation_Type[1] = throw
      • -------- The interval time of the glaives thrown --------
      • Set GaF_Interval = 0.10
      • Set GaF_Spell = Glaive Fury
      • Set GaF_Added_Spell = Glaive Fury(Dummy)
      • Trigger - Add to GaF Loop <gen> the event (Time - Every GaF_Interval seconds of game time)


GaF Cast

  • GaF Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to GaF_Spell
    • Actions
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM STARTS --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • GaF_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on GaF Loop <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • GaF_Recycle_Size Greater than 0
        • Then - Actions
          • Set GaF_Recycle_Size = (GaF_Recycle_Size - 1)
          • Set GaF_Current_Index = GaF_Recycle_Container[GaF_Recycle_Size]
        • Else - Actions
          • Set GaF_Current_Index = GaF_Index_Size
          • Set GaF_Index_Size = (GaF_Index_Size + 1)
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM ENDS --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE TARGET INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Target[GaF_Current_Index] = (Target unit of ability being cast)
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE CASTER INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Caster[GaF_Current_Index] = (Triggering unit)
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE OWNER OF THE CASTER INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Owner = (Owner of GaF_Caster[GaF_Current_Index])
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE LEVEL OF SPELL FOR THE CASTER INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Level[GaF_Current_Index] = (Level of GaF_Spell for GaF_Caster[GaF_Current_Index])
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE DURATION/TIME INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Timer[GaF_Current_Index] = GaF_Duration[GaF_Level[GaF_Current_Index]]
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE STARTING TRANSPARENCY INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Transparency[GaF_Current_Index] = GaF_Default_Transparency
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- SAVES THE STARTING ANIMATION SPEED INTO A VARIABLE --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Animation_Speed[GaF_Current_Index] = GaF_Default_Animation_Speed
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- PLAYS THE CASTER'S ANIMATION USING "GaF_Animation_Type" --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Animation - Play GaF_Caster[GaF_Current_Index]'s GaF_Animation_Type[1] animation
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM STARTS --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • Set GaF_Index_Container[GaF_Index_Listener] = GaF_Current_Index
      • Set GaF_Index_Listener = (GaF_Index_Listener + 1)
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM ENDS --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------


GaF Loop

  • GaF Loop
    • Events
    • Conditions
    • Actions
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- IMPORTANT SYSTEM STARTS --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • For each (Integer GaF_Loop) from 0 to (GaF_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set GaF_Current_Index = GaF_Index_Container[GaF_Loop]
          • -------- ------------------------------------------------------------------------------------------------------------------------ --------
          • -------- IMPORTANT SYSTEM ENDS --------
          • -------- ------------------------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------------------------ --------
          • -------- THE MAIN CONDITION(If it returns false it will end the spell for the relative caster) --------
          • -------- ------------------------------------------------------------------------------------------------------------------------ --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (GaF_Caster[GaF_Current_Index] is alive) Equal to True
              • (GaF_Target[GaF_Current_Index] is alive) Equal to True
              • GaF_Timer[GaF_Current_Index] Greater than or equal to 0.00
            • Then - Actions
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- SUBTRACTS THE TIMER WITH "GaF_Interval" --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Set GaF_Timer[GaF_Current_Index] = (GaF_Timer[GaF_Current_Index] - GaF_Interval)
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- SAVES THE DECREASED ANIMATION SPEED --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Set GaF_Animation_Speed[GaF_Current_Index] = (GaF_Animation_Speed[GaF_Current_Index] - GaF_Animation_Decrease[GaF_Level[GaF_Current_Index]])
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- SAVES THE INCREASED TRANSPARENCY --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Set GaF_Transparency[GaF_Current_Index] = (GaF_Transparency[GaF_Current_Index] + GaF_Transparency_Increase[GaF_Level[GaF_Current_Index]])
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- SAVE THE POINTS FOR THE CASTER & THE TARGET & THE SPAWN POINT --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Set GaF_Caster_Point = (Position of GaF_Caster[GaF_Current_Index])
              • Set GaF_Target_Point = (Position of GaF_Target[GaF_Current_Index])
              • Set GaF_Spawn_Point = (GaF_Caster_Point offset by GaF_Glaive_Distance[GaF_Level[GaF_Current_Index]] towards (Angle from GaF_Caster_Point to GaF_Target_Point) degrees)
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- CREATES & DESTROY THE SPECIAL EFFECT using "GaF_Effect_Model[1]" on the target --------
              • -------- P.S. Create and Destroy still shows the animation for once. --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_GaF_Effect_Model[1], udg_GaF_Target[udg_GaF_Current_Index],udg_GaF_Attachment[1]))
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- INCREASES THE TRANSPERENCY WITH "GaF_Transparency" --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Animation - Change GaF_Caster[GaF_Current_Index]'s vertex coloring to (100.00%, 100.00%, 100.00%) with GaF_Transparency[GaF_Current_Index]% transparency
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- DECREASES THE ANIMATION SPEED WITH "GaF_Animation_Speed" --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Animation - Change GaF_Caster[GaF_Current_Index]'s animation speed to GaF_Animation_Speed[GaF_Current_Index]% of its original speed
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- BELOW IS THE MAIN PART OF THE SPELL --------
              • -------- In every GaF_Interval it creates a dummy and orders the created dummy to cast a dummy spell to the target --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Unit - Create 1 Universal Dummy for GaF_Owner at GaF_Spawn_Point facing (Angle from GaF_Caster_Point to GaF_Target_Point) degrees
              • Set GaF_Dummy = (Last created unit)
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- CREATES & DESTROY THE SPECIAL EFFECT using "GaF_Effect_Model[2]" on the dummy --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Custom script: call DestroyEffect(AddSpecialEffectTarget(udg_GaF_Effect_Model[2], udg_GaF_Dummy,udg_GaF_Attachment[2]))
              • Unit - Add a GaF_Expiration_Timer second Generic expiration timer to GaF_Dummy
              • Unit - Add GaF_Added_Spell to GaF_Dummy
              • Unit - Set level of GaF_Added_Spell for GaF_Dummy to GaF_Level[GaF_Current_Index]
              • Unit - Order GaF_Dummy to Human Mountain King - Storm Bolt GaF_Target[GaF_Current_Index]
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- ABOVE IS THE MAIN PART OF THE SPELL --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- CLEAN THE LOCATION LEAKS --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Custom script: call RemoveLocation(udg_GaF_Caster_Point)
              • Custom script: call RemoveLocation(udg_GaF_Target_Point)
              • Custom script: call RemoveLocation(udg_GaF_Spawn_Point)
            • Else - Actions
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- RESETS THE ANIMATION SPEED AND TRANSPARENCY --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Animation - Change GaF_Caster[GaF_Current_Index]'s animation speed to GaF_Default_Animation_Speed% of its original speed
              • Animation - Change GaF_Caster[GaF_Current_Index]'s vertex coloring to (100.00%, 100.00%, 100.00%) with GaF_Default_Transparency% transparency
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- IMPORTANT SYSTEM STARTS --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • Set GaF_Caster[GaF_Current_Index] = No unit
              • Set GaF_Target[GaF_Current_Index] = No unit
              • Set GaF_Dummy = No unit
              • Set GaF_Index_Listener = (GaF_Index_Listener - 1)
              • Set GaF_Index_Container[GaF_Loop] = GaF_Index_Container[GaF_Index_Listener]
              • Set GaF_Recycle_Container[GaF_Current_Index] = GaF_Current_Index
              • Set GaF_Recycle_Size = (GaF_Recycle_Size + 1)
              • Set GaF_Loop = (GaF_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • GaF_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off GaF Loop <gen>
                • Else - Actions
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------
              • -------- IMPORTANT SYSTEM ENDS --------
              • -------- ------------------------------------------------------------------------------------------------------------------------ --------


GaF Dummy Dies

  • GaF Dummy Dies
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Universal Dummy
    • Actions
      • Unit - Remove (Triggering unit) from the game



CHANGELOGS

Version 1.0

UPLOADED HERE(FIRST RELEASE)

Version 1.0a

Cleaned the spawning point leak


Screenshot

[​IMG]

NOTE

I thought of using the height formulas and projectile system instead of creating and ordering units to cast.But If the loop will be used instead of simply using the object editor,I think it will lag the game pretty much.So I ended up using the object editor.


Keywords:
Glaives,Fury,Spell,Orc,Undead,GUI,MUI,TRIGGER,Simple,B-UP,Classic
Contents

Glaive Fury v0.01a (Map)

Reviews
Moderator
16:33, 9th Dec 2012 Magtheridon96: Awesome! Your code is clean, commented, and it's efficient ;) One tip: - In the loop, you can store the angle between the caster and the target into a temporary real variable so you don't end up repeating the...
  1. 16:33, 9th Dec 2012
    Magtheridon96: Awesome!
    Your code is clean, commented, and it's efficient ;)

    One tip:
    - In the loop, you can store the angle between the caster and the target into a temporary real variable so you don't end up repeating the calculation more than once.
     
  2. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Screenshot is made to attract the viewers.
    I cast the spell twice.
     
  3. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
  4. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    to doom

    No Leaks,right?
     
  5. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    None. CONGRATS. You're awesome
     
  6. Losam

    Losam

    Joined:
    Mar 27, 2011
    Messages:
    259
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Nice Spell.
     
  7. SpiritTauren

    SpiritTauren

    Joined:
    Mar 10, 2009
    Messages:
    166
    Resources:
    1
    Skins:
    1
    Resources:
    1
    Nice concept.