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.

Axe Spiral v0.2

Submitted by BUP
This bundle is marked as substandard. It may contain bugs, not perform optimally or otherwise be in violation of the submission rules.
Level Information
"Summons 10,12,14 spinning axes around Rexxar(optional) which serve as a spinning shield for Rexxar.The axes cause damage as it slice through an enemy.The circle of axes will become wider and higher.Lasts 15 secs."

Changelogs
-----------------
Version 0.1
Uploaded
-----------------
Version 0.2
Removed the refreshing axes
The Axes will now go wider.
---------------------------

TRiGGeRs

AS Config

  • AS Config
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set AS_AbilityDuration = 15.00
      • Set AS_Model_1 = Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
      • Set AS_Model_2 = Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
      • Set AS_Model_3 = Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
      • Set AS_GoingIn_Speed = 0.50
      • Set AS_Spin_Speed = 10.00
      • Set AS_Size = 150.00
      • -------- The spawning distance of the Axe from the caster --------
      • Set AS_AxeDistance = 200.00
      • -------- The distance that the sliced unit will be pushed --------
      • Set AS_Hit_MoveSpeed = 10.00
      • Set AS_Height_Increase = 0.50



[/hidden=AS Cast]
  • AS Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Axe Spiral
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AS_Index_Listener Equal to 0
        • Then - Actions
          • Trigger - Turn on AS Loop <gen>
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • AS_Recycle_Size Greater than 0
        • Then - Actions
          • Set AS_Recycle_Size = (AS_Recycle_Size - 1)
          • Set AS_Current_Index = AS_Recycle_Container[AS_Recycle_Size]
        • Else - Actions
          • Set AS_Current_Index = AS_Index_Size
          • Set AS_Index_Size = (AS_Index_Size + 1)
      • Set AS_Caster[AS_Current_Index] = (Casting unit)
      • Set AS_Point = (Position of AS_Caster[AS_Current_Index])
      • Set AS_Height = 0.00
      • Set AS_Total_Axes[AS_Current_Index] = (4 + ((Level of Axe Spiral for AS_Caster[AS_Current_Index]) x 2))
      • Set AS_Damage = (3.00 x (Real((Level of Axe Spiral for AS_Caster[AS_Current_Index]))))
      • Set AS_Timer = AS_AbilityDuration
      • For each (Integer AS_Integer) from 1 to AS_Total_Axes[AS_Current_Index], do (Actions)
        • Loop - Actions
          • Unit - Create 1 Axe Spiral Unit for (Owner of AS_Caster[AS_Current_Index]) at (AS_Point offset by AS_AxeDistance towards ((360.00 / (Real(AS_Total_Axes[AS_Current_Index]))) x (Real(AS_Integer))) degrees) facing Default building facing degrees
          • Set AS_Dummy[AS_Integer] = (Last created unit)
          • Unit - Add Storm Crow Form to AS_Dummy[AS_Integer]
          • Unit - Remove Storm Crow Form from AS_Dummy[AS_Integer]
          • Animation - Change AS_Dummy[AS_Integer]'s size to (AS_Size%, 0.00%, 0.00%) of its original size
      • Custom script: call RemoveLocation(udg_AS_Point)
      • Set AS_Index_Container[AS_Index_Listener] = AS_Current_Index
      • Set AS_Index_Listener = (AS_Index_Listener + 1)

[/hidden]

  • AS Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set AS_Timer = (AS_Timer - 0.03)
      • For each (Integer AS_Loop) from 0 to (AS_Index_Listener - 1), do (Actions)
        • Loop - Actions
          • Set AS_Current_Index = AS_Index_Container[AS_Loop]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • AS_Timer Greater than 0.00
            • Then - Actions
              • Set AS_Height = (AS_Height + AS_Height_Increase)
              • Set AS_Point = (Position of AS_Caster[AS_Current_Index])
              • For each (Integer AS_Integer) from 1 to AS_Total_Axes[AS_Current_Index], do (Actions)
                • Loop - Actions
                  • Animation - Change AS_Dummy[AS_Integer] flying height to AS_Height at 0.00
                  • Set AS_Dummy_Point[AS_Integer] = (Position of AS_Dummy[AS_Integer])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • AS_Angle[AS_Integer] Greater than or equal to 359.00
                    • Then - Actions
                      • Set AS_Angle[AS_Integer] = 0.00
                    • Else - Actions
                  • Set AS_Distance[AS_Integer] = (Distance between AS_Dummy_Point[AS_Integer] and AS_Point)
                  • Set AS_Angle[AS_Integer] = (Angle from AS_Point to AS_Dummy_Point[AS_Integer])
                  • Set AS_Move[AS_Integer] = (AS_Point offset by (AS_Distance[AS_Integer] + AS_GoingIn_Speed) towards (AS_Angle[AS_Integer] - AS_Spin_Speed) degrees)
                  • Unit - Move AS_Dummy[AS_Integer] instantly to AS_Move[AS_Integer], facing (AS_Angle[AS_Integer] - 90.00) degrees
                  • Custom script: call RemoveLocation(udg_AS_Move[udg_AS_Integer])
                  • Set AS_Hit_Group[AS_Integer] = (Units within 100.00 of AS_Dummy_Point[AS_Integer] matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an e
                  • Unit Group - Pick every unit in AS_Hit_Group[AS_Integer] and do (Actions)
                    • Loop - Actions
                      • Set AS_Picked_Unit[AS_Integer] = (Picked unit)
                      • Set AS_PickedPoint[AS_Integer] = (Position of AS_Picked_Unit[AS_Integer])
                      • Set AS_Hit_Move[AS_Integer] = (AS_PickedPoint[AS_Integer] offset by AS_Hit_MoveSpeed towards (Angle from AS_Point to AS_PickedPoint[AS_Integer]) degrees)
                      • Unit - Cause AS_Caster[AS_Current_Index] to damage AS_Picked_Unit[AS_Integer], dealing AS_Damage damage of attack type Spells and damage type Normal
                      • Unit - Move AS_Picked_Unit[AS_Integer] instantly to AS_Hit_Move[AS_Integer]
                      • Custom script: call RemoveLocation(udg_AS_Hit_Move[udg_AS_Integer])
                      • Custom script: call RemoveLocation(udg_AS_PickedPoint[udg_AS_Integer])
                      • Special Effect - Create a special effect attached to the chest of AS_Picked_Unit[AS_Integer] using AS_Model_3
                      • Special Effect - Destroy (Last created special effect)
                  • Custom script: call RemoveLocation(udg_AS_Dummy_Point[udg_AS_Integer])
                  • Custom script: call DestroyGroup(udg_AS_Hit_Group[udg_AS_Integer])
              • Custom script: call RemoveLocation(udg_AS_Point)
            • Else - Actions
              • Set AS_Point = (Position of AS_Caster[AS_Current_Index])
              • For each (Integer AS_Integer) from 1 to AS_Total_Axes[AS_Current_Index], do (Actions)
                • Loop - Actions
                  • Unit - Kill AS_Dummy[AS_Integer]
                  • Special Effect - Create a special effect at (AS_Point offset by AS_AxeDistance towards ((360.00 / (Real(AS_Total_Axes[AS_Current_Index]))) x (Real(AS_Integer))) degrees) using AS_Model_2
                  • Special Effect - Destroy (Last created special effect)
              • Custom script: call RemoveLocation(udg_AS_Point)
              • Set AS_Index_Listener = (AS_Index_Listener - 1)
              • Set AS_Index_Container[AS_Loop] = AS_Index_Container[AS_Index_Listener]
              • Set AS_Recycle_Container[AS_Recycle_Size] = AS_Current_Index
              • Set AS_Recycle_Size = (AS_Recycle_Size + 1)
              • Set AS_Loop = (AS_Loop - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • AS_Index_Listener Equal to 0
                • Then - Actions
                  • Trigger - Turn off AS Loop <gen>
                  • Skip remaining actions
                • Else - Actions

[/hidden]


Dummy Dies

  • AS Dummy Dies
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Axe Spiral Unit
    • Actions
      • Unit - Remove (Triggering unit) from the game



Feel Free To Post Your Opinion

Keywords:
GUI,Trigger,Axe,Spell
Contents

Axe Spiral v.02 (Map)

Reviews
Moderator
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 19:24, 28th Oct 2012 Magtheridon96: The total axes should be configurable in the initialization trigger The configuration should support multiple levels. (Casting unit) ->...
  1. 12th Dec 2015
    IcemanBo: Too long as NeedsFix. Rejected.

    19:24, 28th Oct 2012
    Magtheridon96:

    • The total axes should be configurable in the initialization trigger
    • The configuration should support multiple levels.
    • (Casting unit) -> (Triggering unit)
    • You're leaking a location inside the Cast trigger:
      Leak
      • Unit - Create 1 Axe Spiral Unit for (Owner of AS_Caster[AS_Current_Index]) at (AS_Point offset by AS_AxeDistance towards ((360.00 / (Real(AS_Total_Axes[AS_Current_Index]))) x (Real(AS_Integer))) degrees) facing Default building facing degrees

      Over here, the location:
      • (AS_Point offset by AS_AxeDistance towards ((360.00 / (Real(AS_Total_Axes[AS_Current_Index]))) x (Real(AS_Integer))) degrees)

      should be stored into a point variable and removed directly after you create the unit.

      This location is also being leaked inside the Loop trigger.
    • Your spell is not MUI because AS_Timer and AS_Height must be arrays. AS_Timer should not be decreased at the top outside of the loop, you must decrease it inside the loop for each instance after making it an array.
    • When you pick units in the "Hit" group, the 100.00 radius should be configurable, not constant.
     
  2. doomhammer99

    doomhammer99

    Joined:
    Dec 5, 2011
    Messages:
    319
    Resources:
    5
    Models:
    1
    Spells:
    3
    Tutorials:
    1
    Resources:
    5
    EDIT: The best way to add and remove CROW to a unit is this
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Crow Form for Unit) Equal to 0
      • Then - Actions
        • Unit - Add Crow Form to Unit
        • Unit - Remove Crow Form from Unit
      • Else - Actions
      • Custom script: if UnitAddAbility(udg_YourUnit, 'Amrf') and UnitRemoveAbility(udg_YourUnit, 'Amrf') then
      • Custom script: endif

    The 360 must be Configurable
    Check this Tutorial for more Info.
     
    Last edited: Oct 30, 2012
  3. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Can't Fix the description cuz can't update it
    The Triggers
    ----------------
    v-0.2 TRiGGeRs
    -----------------
    AS Config

    • AS Config
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Set AS_AbilityDuration = 15.00
        • Set AS_Model_1 = Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
        • Set AS_Model_2 = Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
        • Set AS_Model_3 = Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
        • Set AS_GoingIn_Speed = 0.50
        • Set AS_Spin_Speed = 10.00
        • Set AS_Size = 150.00
        • -------- The spawning distance of the Axe from the caster --------
        • Set AS_AxeDistance = 200.00
        • -------- The distance that the sliced unit will be pushed --------
        • Set AS_Hit_MoveSpeed = 10.00
        • Set AS_Height_Increase = 0.50



    AS Cast

    • AS Cast
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Axe Spiral
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • AS_Index_Listener Equal to 0
          • Then - Actions
            • Trigger - Turn on AS Loop <gen>
          • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • AS_Recycle_Size Greater than 0
          • Then - Actions
            • Set AS_Recycle_Size = (AS_Recycle_Size - 1)
            • Set AS_Current_Index = AS_Recycle_Container[AS_Recycle_Size]
          • Else - Actions
            • Set AS_Current_Index = AS_Index_Size
            • Set AS_Index_Size = (AS_Index_Size + 1)
        • Set AS_Caster[AS_Current_Index] = (Casting unit)
        • Set AS_Point = (Position of AS_Caster[AS_Current_Index])
        • Set AS_Height = 0.00
        • Set AS_Total_Axes[AS_Current_Index] = (8 + ((Level of Axe Spiral for AS_Caster[AS_Current_Index]) x 2))
        • Set AS_Damage = (3.00 x (Real((Level of Axe Spiral for AS_Caster[AS_Current_Index]))))
        • Set AS_Timer = AS_AbilityDuration
        • For each (Integer AS_Integer) from 1 to AS_Total_Axes[AS_Current_Index], do (Actions)
          • Loop - Actions
            • Unit - Create 1 Axe Spiral Unit for (Owner of AS_Caster[AS_Current_Index]) at (AS_Point offset by AS_AxeDistance towards ((360.00 / (Real(AS_Total_Axes[AS_Current_Index]))) x (Real(AS_Integer))) degrees) facing Default building facing degrees
            • Set AS_Dummy[AS_Integer] = (Last created unit)
            • Custom script: if UnitAddAbility(udg_AS_Dummy[udg_AS_Integer],'Amrf') then
            • Custom script: call UnitRemoveAbility(udg_AS_Dummy[udg_AS_Integer],'Amrf')
            • Custom script: endif
            • Animation - Change AS_Dummy[AS_Integer]'s size to (AS_Size%, 0.00%, 0.00%) of its original size
        • Custom script: call RemoveLocation(udg_AS_Point)
        • Set AS_Index_Container[AS_Index_Listener] = AS_Current_Index
        • Set AS_Index_Listener = (AS_Index_Listener + 1)



    AS Loop

    • AS Loop
      • Events
        • Time - Every 0.03 seconds of game time
      • Conditions
      • Actions
        • Set AS_Timer = (AS_Timer - 0.03)
        • For each (Integer AS_Loop) from 0 to (AS_Index_Listener - 1), do (Actions)
          • Loop - Actions
            • Set AS_Current_Index = AS_Index_Container[AS_Loop]
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • AS_Timer Greater than 0.00
              • Then - Actions
                • Set AS_Height = (AS_Height + AS_Height_Increase)
                • Set AS_Point = (Position of AS_Caster[AS_Current_Index])
                • For each (Integer AS_Integer) from 1 to AS_Total_Axes[AS_Current_Index], do (Actions)
                  • Loop - Actions
                    • Animation - Change AS_Dummy[AS_Integer] flying height to AS_Height at 0.00
                    • Set AS_Dummy_Point[AS_Integer] = (Position of AS_Dummy[AS_Integer])
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • AS_Angle[AS_Integer] Greater than or equal to 359.00
                      • Then - Actions
                        • Set AS_Angle[AS_Integer] = 0.00
                      • Else - Actions
                    • Set AS_Distance[AS_Integer] = (Distance between AS_Dummy_Point[AS_Integer] and AS_Point)
                    • Set AS_Angle[AS_Integer] = (Angle from AS_Point to AS_Dummy_Point[AS_Integer])
                    • Set AS_Move[AS_Integer] = (AS_Point offset by (AS_Distance[AS_Integer] + AS_GoingIn_Speed) towards (AS_Angle[AS_Integer] - AS_Spin_Speed) degrees)
                    • Unit - Move AS_Dummy[AS_Integer] instantly to AS_Move[AS_Integer], facing (AS_Angle[AS_Integer] - 90.00) degrees
                    • Custom script: call RemoveLocation(udg_AS_Move[udg_AS_Integer])
                    • Set AS_Hit_Group[AS_Integer] = (Units within 100.00 of AS_Dummy_Point[AS_Integer] matching (((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is Magic Immune) Not equal to True)) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an e
                    • Unit Group - Pick every unit in AS_Hit_Group[AS_Integer] and do (Actions)
                      • Loop - Actions
                        • Set AS_Picked_Unit[AS_Integer] = (Picked unit)
                        • Set AS_PickedPoint[AS_Integer] = (Position of AS_Picked_Unit[AS_Integer])
                        • Set AS_Hit_Move[AS_Integer] = (AS_PickedPoint[AS_Integer] offset by AS_Hit_MoveSpeed towards (Angle from AS_Point to AS_PickedPoint[AS_Integer]) degrees)
                        • Unit - Cause AS_Caster[AS_Current_Index] to damage AS_Picked_Unit[AS_Integer], dealing AS_Damage damage of attack type Spells and damage type Normal
                        • Unit - Move AS_Picked_Unit[AS_Integer] instantly to AS_Hit_Move[AS_Integer]
                        • Custom script: call RemoveLocation(udg_AS_Hit_Move[udg_AS_Integer])
                        • Custom script: call RemoveLocation(udg_AS_PickedPoint[udg_AS_Integer])
                        • Special Effect - Create a special effect attached to the chest of AS_Picked_Unit[AS_Integer] using AS_Model_3
                        • Special Effect - Destroy (Last created special effect)
                    • Custom script: call RemoveLocation(udg_AS_Dummy_Point[udg_AS_Integer])
                    • Custom script: call DestroyGroup(udg_AS_Hit_Group[udg_AS_Integer])
                • Custom script: call RemoveLocation(udg_AS_Point)
              • Else - Actions
                • Set AS_Point = (Position of AS_Caster[AS_Current_Index])
                • For each (Integer AS_Integer) from 1 to AS_Total_Axes[AS_Current_Index], do (Actions)
                  • Loop - Actions
                    • Unit - Kill AS_Dummy[AS_Integer]
                    • Special Effect - Create a special effect at (AS_Point offset by AS_AxeDistance towards ((360.00 / (Real(AS_Total_Axes[AS_Current_Index]))) x (Real(AS_Integer))) degrees) using AS_Model_2
                    • Special Effect - Destroy (Last created special effect)
                • Custom script: call RemoveLocation(udg_AS_Point)
                • Set AS_Index_Listener = (AS_Index_Listener - 1)
                • Set AS_Index_Container[AS_Loop] = AS_Index_Container[AS_Index_Listener]
                • Set AS_Recycle_Container[AS_Recycle_Size] = AS_Current_Index
                • Set AS_Recycle_Size = (AS_Recycle_Size + 1)
                • Set AS_Loop = (AS_Loop - 1)
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • AS_Index_Listener Equal to 0
                  • Then - Actions
                    • Trigger - Turn off AS Loop <gen>
                    • Skip remaining actions
                  • Else - Actions



    Dummy Dies

    • AS Dummy Dies
      • Events
        • Unit - A unit Dies
      • Conditions
        • (Unit-type of (Dying unit)) Equal to Axe Spiral Unit
      • Actions
        • Unit - Remove (Triggering unit) from the game


    Feel Free To Post Your Opinion
     
    Last edited: Oct 31, 2012
  4. Losam

    Losam

    Joined:
    Mar 27, 2011
    Messages:
    259
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Although not approved by the moderator ...
    I liked his spell is really cool, you won my vote (5/5).
     
  5. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Thanks for the vote
    But the total downloads is very low
    I wish the moderator will approve this soon
     
  6. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Here a fixed version of Axe Spiral.(in the attachment)
    Screenshot

    [​IMG]
     
    Last edited: Dec 31, 2012
  7. BUP

    BUP

    Joined:
    Sep 9, 2012
    Messages:
    149
    Resources:
    8
    Spells:
    8
    Resources:
    8
    I didn't mean leakfree in that fixed version,i just added a model so i put it in the attachment
     
  8. eubz

    eubz

    Map Reviewer

    Joined:
    Mar 29, 2011
    Messages:
    3,176
    Resources:
    135
    Models:
    77
    Icons:
    16
    Packs:
    1
    Tools:
    1
    Maps:
    26
    Spells:
    7
    Tutorials:
    7
    Resources:
    135
    delete that
    • skip remaining action
    action.
     
  9. gorillabull

    gorillabull

    Joined:
    Jul 17, 2011
    Messages:
    1,365
    Resources:
    2
    Spells:
    2
    Resources:
    2
    axes dont destroy if cast twice