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.

Pandaren Spells v1.00

Submitted by NFWar
This bundle is marked as substandard. It may contain bugs, not perform optimally or otherwise be in violation of the submission rules.
Spells for Midnighter's fallen project. So I uploaded them here.
Sorry for imported files, but in project those was chosen for heroes.

Documentation is lacking, because of my bad knowlage of english language.
I will give you some info here:

Club Toss______________________

Type: missile, target point/location
Functions: damage dealing, stun/dizzy
Special: stun/dizzy are effected with 50% (50% to stun or 50% to make enemy dizzy)
bouncing on units (enemys) and trees. Tree destroys after club bounce on it. Dummy unit is doodad model that rotates (with trigger).

Sumo Tactics__________________
Type: passive, activation on hit with chance
Functions: knockback (more like push), stacking armor reduction (with limit).
Special: effect starts when unit takes damage only.

Power Rise_____________________
Type: no target, area
Functions: knockback, stun, damage
Special: none

Roll___________________________
Type: target point/location
Functions: hero movement
Special: bounce on doodads, bounce on other rolling units :)D), full hero controll while spell cast (it make the spell modern).

Pulverize_______________________
Type: area, no target
Functions: damage
Special: area shared on rings and units take damage within ring. Rings are coming from center to outside. Spell deal damage 1 time only. Automatical effect fill with circle (no spaces between effects).

Earthquake_____________________
Type: channeling, area
Functions: slow/chance to miss in area of effect
Special: effect starts after channeling of spell ends (so hero can fight in are of effect after channeling). Extra sfx: terrain deformation (dummy spell wasnt doing it, so it is added with trigger).

Hope you will find the spells usefull. Dont be lazy and give a credit.
~NFWar~

Keywords:
Pack, Panda, Pandaren, Stun, Slow, Disable, Earthquake, Club, Toss, Pulverize, Knockback, Stun, Armor, Reduction, Passive, Funny, Roll, Bouncing, Stom
Contents

Panda's Spells (Map)

Reviews
Moderator
12th Dec 2015 IcemanBo: Too long time as NeedsFix. Rejected. 21:29, 16th Jun 2010 Hanky: The imports are not necessary for the spell so remove them. After you have done this message me or one of the other spell moderators.
  1. 12th Dec 2015
    IcemanBo: Too long time as NeedsFix. Rejected.

    21:29, 16th Jun 2010
    Hanky:
    The imports are not necessary for the spell so remove them. After you have done this message me or one of the other spell moderators.
     
  2. War_Golum

    War_Golum

    Joined:
    Jan 12, 2010
    Messages:
    756
    Resources:
    7
    Models:
    3
    Icons:
    4
    Resources:
    7
    funny and well done,
    Deserve a +rep for codes? =) kidding

    Club Toss
    • Club Toss Setings
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Club Toss
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • CT_Skip Equal to 0
          • Then - Actions
            • Trigger - Turn on Club Toss Loop <gen>
          • Else - Actions
        • Set CT_Skip = (CT_Skip + 1)
        • Set CT_Times = (CT_Times + 1)
        • Set CT_On[CT_Times] = True
        • Set CT_Hero[CT_Times] = (Triggering unit)
        • -------- -------------------------------------------------- --------
        • Set CT_Level[CT_Times] = (Level of Club Toss for (Triggering unit))
        • Set CT_Point[0] = (Position of (Triggering unit))
        • Set CT_Point[1] = (Target point of ability being cast)
        • Set CT_Distance[CT_Times] = (500.00 + (100.00 x (Real(CT_Level[CT_Times]))))
        • Set CT_MaxDistance[CT_Times] = CT_Distance[CT_Times]
        • Set CT_Angle[CT_Times] = (Angle from CT_Point[0] to CT_Point[1])
        • Set CT_Speed[CT_Times] = 15.00
        • Set CT_RotateSpeed[CT_Times] = (5.00 + (5.00 x (Real(CT_Level[CT_Times]))))
        • Set CT_Height[CT_Times] = 100.00
        • Set CT_Damage[CT_Times] = (60.00 + (50.00 x (Real(CT_Level[CT_Times]))))
        • -------- -------------------------------------------------- --------
        • -------- Collision is range of contact with objects. --------
        • -------- -------------------------------------------------- --------
        • Set CT_Colision[CT_Times] = 80.00
        • Unit - Create 1 Chicken for (Owner of (Triggering unit)) at CT_Point[0] facing CT_Angle[CT_Times] degrees
        • Set CT_Missile[CT_Times] = (Last created unit)
        • -------- -------------------------------------------------- --------
        • -------- This will able to move unit up and down. (changing of height). I added parabola that is not too high to make the spell nicer. --------
        • -------- -------------------------------------------------- --------
        • Unit - Add Storm Crow Form to (Last created unit)
        • Unit - Remove Storm Crow Form from (Last created unit)
        • -------- -------------------------------------------------- --------
        • -------- Muhaha! Doodad model of falen tree is great for FAT HUGE CLUB! --------
        • -------- -------------------------------------------------- --------
        • Special Effect - Create a special effect attached to the origin of CT_Missile[CT_Times] using Doodads\Felwood\Props\FelwoodLogStraight\FelwoodLogStraight.mdl
        • Set CT_Effect[CT_Times] = (Last created special effect)
        • Custom script: call RemoveLocation(udg_CT_Point[0])
        • Custom script: call RemoveLocation(udg_CT_Point[1])
    ]
    • Club Toss Loop
      • Events
        • Time - Every 0.02 seconds of game time
      • Conditions
      • Actions
        • For each (Integer CT) from 1 to CT_Times, do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • CT_On[CT] Equal to True
              • Then - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • CT_Distance[CT] Less than or equal to 0.00
                  • Then - Actions
                    • Special Effect - Destroy CT_Effect[CT]
                    • Unit - Kill CT_Missile[CT]
                    • -------- -------------------------------------------------- --------
                    • -------- Turning the spell off --------
                    • -------- -------------------------------------------------- --------
                    • Set CT_On[CT] = False
                    • -------- -------------------------------------------------- --------
                    • -------- Recicling... please w8 --------
                    • -------- -------------------------------------------------- --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • CT Less than CT_Times
                      • Then - Actions
                        • Set CT_On[CT] = CT_On[CT_Times]
                        • Set CT_Missile[CT] = CT_Missile[CT_Times]
                        • Set CT_Angle[CT] = CT_Angle[CT_Times]
                        • Set CT_Colision[CT] = CT_Colision[CT_Times]
                        • Set CT_Damage[CT] = CT_Damage[CT_Times]
                        • Set CT_Distance[CT] = CT_Distance[CT_Times]
                        • Set CT_Height[CT] = CT_Height[CT_Times]
                        • Set CT_Hero[CT] = CT_Hero[CT_Times]
                        • Set CT_Level[CT] = CT_Level[CT_Times]
                        • Set CT_MaxDistance[CT] = CT_MaxDistance[CT_Times]
                        • Set CT_Parabola[CT] = CT_Parabola[CT_Times]
                        • Set CT_Speed[CT] = CT_Speed[CT_Times]
                        • Set CT_RotateSpeed[CT] = CT_RotateSpeed[CT_Times]
                        • Set CT_Effect[CT] = CT_Effect[CT_Times]
                      • Else - Actions
                    • Set CT = (CT - 1)
                    • Set CT_Skip = (CT_Skip - 1)
                    • Set CT_Times = (CT_Times - 1)
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • CT_Skip Equal to 0
                      • Then - Actions
                        • Set CT_Times = 0
                        • Trigger - Turn off (This trigger)
                      • Else - Actions
                  • Else - Actions
                    • Set CT_Point[2] = (Position of CT_Missile[CT])
                    • Set CT_Point[3] = (CT_Point[2] offset by CT_Speed[CT] towards CT_Angle[CT] degrees)
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • ((Playable map area) contains CT_Point[3]) Equal to False
                      • Then - Actions
                        • Set CT_Distance[CT] = 0.00
                      • Else - Actions
                        • Unit - Move CT_Missile[CT] instantly to CT_Point[3], facing ((Facing of CT_Missile[CT]) + CT_RotateSpeed[CT]) degrees
                        • -------- -------------------------------------------------- --------
                        • -------- Standard parabola calculation to add arc to missile. --------
                        • -------- -------------------------------------------------- --------
                        • Set CT_Parabola[CT] = (((4.00 x CT_Height[CT]) / CT_MaxDistance[CT]) x ((CT_MaxDistance[CT] - CT_Distance[CT]) x (CT_Distance[CT] / CT_MaxDistance[CT])))
                        • -------- -------------------------------------------------- --------
                        • -------- calculation of parabola is useless without using it. Set height of missile to parabola value. --------
                        • -------- -------------------------------------------------- --------
                        • Animation - Change CT_Missile[CT] flying height to CT_Parabola[CT] at 0.00
                        • Set CT_Distance[CT] = (CT_Distance[CT] - CT_Speed[CT])
                        • -------- -------------------------------------------------- --------
                        • -------- Doodad HIT! --------
                        • -------- -------------------------------------------------- --------
                        • Destructible - Pick every destructible within CT_Colision[CT] of CT_Point[3] and do (Actions)
                          • Loop - Actions
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • ((Picked destructible) is alive) Equal to True
                              • Then - Actions
                                • -------- -------------------------------------------------- --------
                                • -------- Only hervesters know what is tree and what is barrel or gate. Hervest ability is special, so I using it to detect trees. --------
                                • -------- -------------------------------------------------- --------
                                • Unit - Add Harvest (Ghouls Lumber) to CT_Missile[CT]
                                • Unit - Order CT_Missile[CT] to Harvest (Picked destructible)
                                • -------- -------------------------------------------------- --------
                                • -------- If harvester cant harvest doodad than it is not a tree... skip it --------
                                • -------- -------------------------------------------------- --------
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • (Current order of CT_Missile[CT]) Equal to (Order(harvest))
                                  • Then - Actions
                                    • Set CT_Point[4] = (Position of (Picked destructible))
                                    • Set CT_Angle[CT] = (Angle from CT_Point[4] to CT_Point[3])
                                    • Destructible - Kill (Picked destructible)
                                    • Custom script: call RemoveLocation(udg_CT_Point[4])
                                  • Else - Actions
                              • Else - Actions
                        • -------- -------------------------------------------------- --------
                        • -------- Dmage and effects are below --------
                        • -------- -------------------------------------------------- --------
                        • Set CT_Group = (Units within CT_Colision[CT] of CT_Point[3] matching (((((Matching unit) is A structure) Equal to False) and (((Matching unit) is A flying unit) Equal to False)) and (((((Matching unit) is Magic Immune) Equal to False) and (((Matching unit) is dead) Equal to
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • (Number of units in CT_Group) Greater than 0
                          • Then - Actions
                            • Unit Group - Pick every unit in (Random 1 units from CT_Group) and do (Actions)
                              • Loop - Actions
                                • Set CT_Point[4] = (Position of (Picked unit))
                                • Set CT_Angle[CT] = (Angle from CT_Point[4] to CT_Point[3])
                                • Unit - Cause CT_Hero[CT] to damage (Picked unit), dealing CT_Damage[CT] damage of attack type Spells and damage type Demolition
                                • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\GlaiveMissile\GlaiveMissileTarget.mdl
                                • Special Effect - Destroy (Last created special effect)
                                • -------- -------------------------------------------------- --------
                                • -------- Create InviSIbLE unit and add effect to it! Do not forget to set timer to 1. You can descrease it but I dont sugest you to do that. Dummy may not cast it spell/effect. --------
                                • -------- -------------------------------------------------- --------
                                • Unit - Create 1 Chicken for (Owner of CT_Hero[CT]) at CT_Point[4] facing Default building facing degrees
                                • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                                • -------- -------------------------------------------------- --------
                                • -------- Duh... so much spells and all do DMG! ... lets add stun or dizzy also to make imbalanced spell! LOL --------
                                • -------- Randomize effect of spell. --------
                                • -------- -------------------------------------------------- --------
                                • Set CT_Chance = (Random integer number between 1 and 100)
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • CT_Chance Less than or equal to 50
                                  • Then - Actions
                                    • Unit - Add Dizziness (Dummy Spell) to (Last created unit)
                                    • Unit - Set level of Dizziness (Dummy Spell) for (Last created unit) to CT_Level[CT]
                                    • Unit - Order (Last created unit) to Undead Necromancer - Cripple (Picked unit)
                                  • Else - Actions
                                    • Unit - Add Hurl Boulder (Dummy Spell) to (Last created unit)
                                    • Unit - Set level of Hurl Boulder (Dummy Spell) for (Last created unit) to CT_Level[CT]
                                    • Unit - Order (Last created unit) to Neutral - Hurl Boulder (Picked unit)
                                • Custom script: call RemoveLocation(udg_CT_Point[4])
                          • Else - Actions
                    • -------- -------------------------------------------------- --------
                    • -------- Clear leaks --------
                    • -------- -------------------------------------------------- --------
                    • Custom script: call DestroyGroup(udg_CT_Group)
                    • Custom script: call RemoveLocation(udg_CT_Point[2])
                    • Custom script: call RemoveLocation(udg_CT_Point[3])
              • Else - Actions

    Pulverise
    • Pulverise Setings
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Pulverize
      • Actions
        • Custom script: local real PR_Radius
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • PR_Skip Equal to 0
          • Then - Actions
            • Trigger - Turn on Pulverise Loop <gen>
          • Else - Actions
        • Set PR_Skip = (PR_Skip + 1)
        • Set PR_Times = (PR_Times + 1)
        • Set PR_On[PR_Times] = True
        • Set PR_Point[0] = (Position of (Triggering unit))
        • -------- -------------------------------------------------- --------
        • -------- this is center of area. it will remain undeleted until ring will reach edge of area. --------
        • -------- -------------------------------------------------- --------
        • Set PR_CenterPoint[PR_Times] = (PR_Point[0] offset by 150.00 towards (Facing of (Triggering unit)) degrees)
        • -------- -------------------------------------------------- --------
        • -------- Effect on center for eye candy. --------
        • -------- -------------------------------------------------- --------
        • Special Effect - Create a special effect at PR_CenterPoint[PR_Times] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
        • Special Effect - Destroy (Last created special effect)
        • Set PR_Hero[PR_Times] = (Triggering unit)
        • Set PR_Damage[PR_Times] = (25.00 + (55.00 x (Real((Level of Pulverize for (Triggering unit))))))
        • -------- -------------------------------------------------- --------
        • -------- Radius of area effect. --------
        • -------- -------------------------------------------------- --------
        • Set PR_MaxRadius[PR_Times] = 300.00
        • -------- -------------------------------------------------- --------
        • -------- This is wideness of ring within units will be damaged. Example: --------
        • -------- First ring picks units: from 0 to 50 range --------
        • -------- Second picks within: 50-100 --------
        • -------- Third: 100-150 --------
        • -------- ... --------
        • -------- -------------------------------------------------- --------
        • Set PR_RingWide[PR_Times] = 50.00
        • -------- -------------------------------------------------- --------
        • -------- Ok... if radius is 330... than it will be 6 rings with 50 wideness and 30 towards left o.O Dow!!! Who will sit and calculate all this??? --------
        • -------- noone... I made it so it will pick at 30 range from start of effect and after cause dmg to picked units. --------
        • -------- So the last ring will be on edge of area always. --------
        • -------- -------------------------------------------------- --------
        • Set PR_Radius[PR_Times] = (PR_MaxRadius[PR_Times] mod PR_RingWide[PR_Times])
        • -------- -------------------------------------------------- --------
        • -------- Calculation of waves count --------
        • -------- -------------------------------------------------- --------
        • Set PR_Waves[PR_Times] = (Integer(((PR_MaxRadius[PR_Times] - PR_Radius[PR_Times]) / PR_RingWide[PR_Times])))
        • -------- -------------------------------------------------- --------
        • -------- Blizzard I love you! They gave number for variations of models. It means i can index to variable variation by getting random number instead of making LOTS OF LINES WITH IF. --------
        • -------- -------------------------------------------------- --------
        • Set PR_Chance = (Random integer number between 0 and 5)
        • -------- -------------------------------------------------- --------
        • -------- Check the lower like and you will understand how I get variation of model. --------
        • -------- -------------------------------------------------- --------
        • Special Effect - Create a special effect at PR_CenterPoint[PR_Times] using (Doodads\LordaeronSummer\Terrain\LoardaeronRockChunks\LoardaeronRockChunks + ((String(PR_Chance)) + .mdl))
        • Special Effect - Destroy (Last created special effect)
        • -------- -------------------------------------------------- --------
        • -------- Interval will increase until it will be aqual to IntervalSkip. That next ring will be released. --------
        • -------- -------------------------------------------------- --------
        • Set PR_Interval[PR_Times] = 0.00
        • Set PR_IntervalSkip[PR_Times] = 0.06
        • -------- -------------------------------------------------- --------
        • -------- If that is no remaining range after calculating of rings count, than no picking UP UNITS FROM START OF EFFECT XD --------
        • -------- -------------------------------------------------- --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • PR_Radius[PR_Times] Greater than 0.00
          • Then - Actions
            • -------- -------------------------------------------------- --------
            • -------- Damage to units. --------
            • -------- -------------------------------------------------- --------
            • Set PR_Group = (Units within PR_Radius[PR_Times] of PR_CenterPoint[PR_Times] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) i
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Number of units in PR_Group) Greater than 0
              • Then - Actions
                • -------- -------------------------------------------------- --------
                • -------- Spell cant damage twise. Some jass lines that prepare group for every spell casted. Elso it bugs. --------
                • -------- -------------------------------------------------- --------
                • Custom script: if udg_PR_DebugGroup[udg_PR_Times] == null then
                • Custom script: set udg_PR_DebugGroup[udg_PR_Times] = CreateGroup()
                • Custom script: endif
                • Unit Group - Pick every unit in PR_Group and do (Actions)
                  • Loop - Actions
                    • Unit - Cause PR_Hero[PR_Times] to damage (Picked unit), dealing PR_Damage[PR_Times] damage of attack type Spells and damage type Normal
                    • Unit Group - Add (Picked unit) to PR_DebugGroup[PR_Times]
              • Else - Actions
            • Custom script: call DestroyGroup(udg_PR_Group)
          • Else - Actions
    • Pulverise Loop
      • Events
        • Time - Every 0.02 seconds of game time
      • Conditions
      • Actions
        • For each (Integer PR) from 1 to PR_Times, do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • PR_On[PR] Equal to True
              • Then - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • PR_Waves[PR] Equal to 0
                  • Then - Actions
                    • -------- -------------------------------------------------- --------
                    • -------- Units in this group was damaged and when spell ends, group must to be cleared. --------
                    • -------- -------------------------------------------------- --------
                    • Unit Group - Remove all units from PR_DebugGroup[PR]
                    • Custom script: call RemoveLocation(udg_PR_CenterPoint[udg_PR])
                    • Set PR_On[PR] = False
                    • -------- -------------------------------------------------- --------
                    • -------- Recycling --------
                    • -------- -------------------------------------------------- --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • PR Less than PR_Times
                      • Then - Actions
                        • Set PR_On[PR] = PR_On[PR_Times]
                        • Set PR_Hero[PR] = PR_Hero[PR_Times]
                        • Set PR_Damage[PR] = PR_Damage[PR_Times]
                        • Set PR_Waves[PR] = PR_Waves[PR_Times]
                        • Set PR_Interval[PR] = PR_Interval[PR_Times]
                        • Set PR_IntervalSkip[PR] = PR_IntervalSkip[PR_Times]
                        • Set PR_Radius[PR] = PR_Radius[PR_Times]
                        • Set PR_DebugGroup[PR] = PR_DebugGroup[PR_Times]
                        • Set PR_Perimeter[PR] = PR_Perimeter[PR_Times]
                        • Set PR_CenterPoint[PR] = PR_CenterPoint[PR_Times]
                      • Else - Actions
                    • Set PR = (PR - 1)
                    • Set PR_Skip = (PR_Skip - 1)
                    • Set PR_Times = (PR_Times - 1)
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • PR_Skip Equal to 0
                      • Then - Actions
                        • Set PR_Times = 0
                        • Trigger - Turn off (This trigger)
                      • Else - Actions
                  • Else - Actions
                    • -------- -------------------------------------------------- --------
                    • -------- Interval count time between next ring will come out. When it reach IntervalSkip value, next ring come out. --------
                    • -------- -------------------------------------------------- --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • PR_Interval[PR] Greater than or equal to PR_IntervalSkip[PR]
                      • Then - Actions
                        • Set PR_Interval[PR] = 0.00
                        • Set PR_Waves[PR] = (PR_Waves[PR] - 1)
                        • Set PR_Radius[PR] = (PR_Radius[PR] + PR_RingWide[PR])
                        • -------- -------------------------------------------------- --------
                        • -------- Picking... damaging... adding todebug group to do not cause damage more than once --------
                        • -------- -------------------------------------------------- --------
                        • Set PR_Group = (Units within PR_Radius[PR] of PR_CenterPoint[PR] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and (((((Matching unit) is dead) Equ
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • (Number of units in PR_Group) Greater than 0
                          • Then - Actions
                            • Unit Group - Pick every unit in PR_Group and do (Actions)
                              • Loop - Actions
                                • Set PR_Point[1] = (Position of (Picked unit))
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • (Distance between PR_Point[1] and PR_CenterPoint[PR]) Greater than or equal to (PR_Radius[PR] - PR_RingWide[PR])
                                  • Then - Actions
                                    • Unit - Cause PR_Hero[PR] to damage (Picked unit), dealing PR_Damage[PR] damage of attack type Spells and damage type Normal
                                    • Unit Group - Add (Picked unit) to PR_DebugGroup[PR]
                                  • Else - Actions
                                • Custom script: call RemoveLocation(udg_PR_Point[1])
                          • Else - Actions
                        • Custom script: call DestroyGroup(udg_PR_Group)
                        • -------- -------------------------------------------------- --------
                        • -------- Formula and calculation of auto effect filling in circle. --------
                        • -------- -------------------------------------------------- --------
                        • Set PR_Perimeter[PR] = ((2.00 x 3.14) x (PR_Radius[PR] - (PR_RingWide[PR] / 2.00)))
                        • -------- -------------------------------------------------- --------
                        • -------- 100 is the size of effect. It depends on model and your look about how big this value must to be --------
                        • -------- -------------------------------------------------- --------
                        • Set PR_Effects = (Integer((PR_Perimeter[PR] / 100.00)))
                        • -------- -------------------------------------------------- --------
                        • -------- loop to spread out effects on circle --------
                        • -------- -------------------------------------------------- --------
                        • For each (Integer PRE) from 1 to PR_Effects, do (Actions)
                          • Loop - Actions
                            • Set PR_Point[2] = (PR_CenterPoint[PR] offset by (PR_Radius[PR] - (PR_RingWide[PR] / 2.00)) towards ((360.00 / (Real(PR_Effects))) x (Real(PRE))) degrees)
                            • Set PR_Chance = (Random integer number between 0 and 5)
                            • Special Effect - Create a special effect at PR_Point[2] using (Doodads\LordaeronSummer\Terrain\LoardaeronRockChunks\LoardaeronRockChunks + ((String(PR_Chance)) + .mdl))
                            • Special Effect - Destroy (Last created special effect)
                            • Custom script: call RemoveLocation(udg_PR_Point[2])
                      • Else - Actions
                        • Set PR_Interval[PR] = (PR_Interval[PR] + 0.02)
              • Else - Actions

    Earthquake
    • Earthquake Setings
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Earthquake (Custom)
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • EQ_Skip Equal to 0
          • Then - Actions
            • Trigger - Turn on Earthquake Loop <gen>
          • Else - Actions
        • Set EQ_Skip = (EQ_Skip + 1)
        • Set EQ_Times = (EQ_Times + 1)
        • Set EQ_On[EQ_Times] = True
        • -------- -------------------------------------------------- --------
        • Set EQ_Point[EQ_Times] = (Target point of ability being cast)
        • Set EQ_Level[EQ_Times] = (Level of Earthquake (Custom) for (Triggering unit))
        • Set EQ_Hero[EQ_Times] = (Triggering unit)
        • -------- -------------------------------------------------- --------
        • -------- Max Duration is a time of effect duration after finishing of channeling. --------
        • -------- -------------------------------------------------- --------
        • Set EQ_MaxDuration[EQ_Times] = (2.00 + (2.00 x (Real(EQ_Level[EQ_Times]))))
        • Set EQ_Duration[EQ_Times] = 0.00
        • -------- -------------------------------------------------- --------
        • -------- This value used for creating of effect. --------
        • -------- -------------------------------------------------- --------
        • Set EQ_Spam[EQ_Times] = 0
        • -------- -------------------------------------------------- --------
        • -------- Hero is added to group. When he will get order, he will stop casting the spell and this group help to find him from other casters. --------
        • -------- -------------------------------------------------- --------
        • Unit Group - Add (Triggering unit) to EQ_DebugGroup
    • Earthquake Loop
      • Events
        • Time - Every 0.02 seconds of game time
      • Conditions
      • Actions
        • -------- -------------------------------------------------- --------
        • -------- This is local variable. It is used for this trigger only. I used local to avoid global variable that used just for a moment (also it is easy to set it than seting local unit group variable) --------
        • -------- -------------------------------------------------- --------
        • Custom script: local location EQ_Point
        • For each (Integer EQ) from 1 to EQ_Times, do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • EQ_On[EQ] Equal to True
              • Then - Actions
                • -------- -------------------------------------------------- --------
                • -------- The spell stops when... read conditions --------
                • -------- -------------------------------------------------- --------
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Or - Any (Conditions) are true
                      • Conditions
                        • (EQ_Hero[EQ] is in EQ_DebugGroup) Equal to False
                        • EQ_Duration[EQ] Greater than or equal to EQ_MaxDuration[EQ]
                        • (EQ_Hero[EQ] is Stunned) Equal to True
                  • Then - Actions
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • (EQ_Hero[EQ] is in EQ_DebugGroup) Equal to False
                      • Then - Actions
                      • Else - Actions
                        • -------- -------------------------------------------------- --------
                        • -------- We move hero when he is not in debug group to stop "dummy spell" cast --------
                        • -------- -------------------------------------------------- --------
                        • Custom script: set EQ_Point = GetUnitLoc(udg_EQ_Hero[udg_EQ])
                        • Custom script: call SetUnitPositionLoc( udg_EQ_Hero[udg_EQ], EQ_Point )
                        • Custom script: call RemoveLocation(EQ_Point)
                    • -------- -------------------------------------------------- --------
                    • -------- Some terrain deformation effects --------
                    • -------- -------------------------------------------------- --------
                    • Environment - Create a EQ_Duration[EQ] second Normal ripple deformation at EQ_Point[EQ] with starting radius (200.00 + (100.00 x (Real(EQ_Level[EQ])))), ending radius (200.00 + (200.00 x (Real(EQ_Level[EQ])))), and depth 50.00, using 0.50 second ripples spaced 200.00 apart
                    • -------- -------------------------------------------------- --------
                    • -------- We create a dummy unit that will cast the spell, because it is channeling and we need a hero to fight when spell is casting. --------
                    • -------- -------------------------------------------------- --------
                    • Unit - Create 1 Chicken for (Owner of EQ_Hero[EQ]) at EQ_Point[EQ] facing Default building facing degrees
                    • Unit - Add Earthquake to (Last created unit)
                    • Unit - Set level of Earthquake for (Last created unit) to EQ_Level[EQ]
                    • Unit - Order (Last created unit) to Human Dragonhawk Rider - Cloud EQ_Point[EQ]
                    • -------- -------------------------------------------------- --------
                    • -------- Duration variable is life time of dummy. Simple. --------
                    • -------- -------------------------------------------------- --------
                    • Unit - Add a EQ_Duration[EQ] second Generic expiration timer to (Last created unit)
                    • Custom script: call RemoveLocation(udg_EQ_Point[udg_EQ])
                    • Unit Group - Remove EQ_Hero[EQ] from EQ_DebugGroup
                    • Set EQ_On[EQ] = False
                    • -------- -------------------------------------------------- --------
                    • -------- Recycling --------
                    • -------- -------------------------------------------------- --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • EQ Less than EQ_Times
                      • Then - Actions
                        • Set EQ_On[EQ] = EQ_On[EQ_Times]
                        • Set EQ_Duration[EQ] = EQ_Duration[EQ_Times]
                        • Set EQ_Hero[EQ] = EQ_Hero[EQ_Times]
                        • Set EQ_Level[EQ] = EQ_Level[KB]
                        • Set EQ_MaxDuration[EQ] = EQ_MaxDuration[EQ_Times]
                        • Set EQ_Point[EQ] = EQ_Point[EQ_Times]
                        • Set EQ_Spam[EQ] = EQ_Spam[EQ_Times]
                      • Else - Actions
                    • Set EQ = (EQ - 1)
                    • Set EQ_Skip = (EQ_Skip - 1)
                    • Set EQ_Times = (EQ_Times - 1)
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • EQ_Skip Equal to 0
                      • Then - Actions
                        • Set EQ_Times = 0
                        • Trigger - Turn off (This trigger)
                      • Else - Actions
                  • Else - Actions
                    • -------- -------------------------------------------------- --------
                    • -------- Spam is varible that when gets to 0 effect creates under hero legs. --------
                    • -------- -------------------------------------------------- --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • EQ_Spam[EQ] Less than or equal to 0
                      • Then - Actions
                        • Set EQ_Spam[EQ] = 45
                        • Animation - Play EQ_Hero[EQ]'s spell animation
                        • Special Effect - Create a special effect attached to the origin of EQ_Hero[EQ] using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                        • Special Effect - Destroy (Last created special effect)
                      • Else - Actions
                        • Set EQ_Spam[EQ] = (EQ_Spam[EQ] - 1)
                    • Set EQ_Duration[EQ] = (EQ_Duration[EQ] + 0.04)
                    • -------- -------------------------------------------------- --------
                    • -------- Effect duration increses two times faster than channeling it. --------
                    • -------- -------------------------------------------------- --------
              • Else - Actions
    • Stop Earthquake
      • Events
        • Unit - A unit Is issued an order targeting an object
        • Unit - A unit Is issued an order targeting a point
        • Unit - A unit Is issued an order with no target
      • Conditions
        • ((Triggering unit) is in EQ_DebugGroup) Equal to True
      • Actions
        • -------- -------------------------------------------------- --------
        • -------- Searching a hero from group to stop him from spell casting. --------
        • -------- -------------------------------------------------- --------
        • For each (Integer EQ2) from 1 to EQ_Times, do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • EQ_Hero[EQ2] Equal to (Triggering unit)
              • Then - Actions
                • Unit Group - Remove (Triggering unit) from EQ_DebugGroup
              • Else - Actions

    Roll
    • Roll Setings
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Roll
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • RL_Skip Equal to 0
          • Then - Actions
            • Trigger - Turn on Roll Loop <gen>
          • Else - Actions
        • Set RL_Skip = (RL_Skip + 1)
        • Set RL_Times = (RL_Times + 1)
        • Set RL_On[RL_Times] = True
        • -------- -------------------------------------------------- --------
        • Set RL_Point[0] = (Position of (Triggering unit))
        • Set RL_Point[1] = (Target point of ability being cast)
        • Set RL_Hero[RL_Times] = (Triggering unit)
        • Set RL_Level[RL_Times] = (Level of Roll for (Triggering unit))
        • Unit Group - Add (Triggering unit) to RL_DebugGroup
        • Set RL_Angle[RL_Times] = (Angle from RL_Point[0] to RL_Point[1])
        • Set RL_Distance[RL_Times] = (250.00 + (150.00 x (Real(RL_Level[RL_Times]))))
        • Set RL_Speed[RL_Times] = 16.00
        • Set RL_Collision[RL_Times] = 135.00
        • Unit - Create 1 Chicken for (Owner of (Triggering unit)) at RL_Point[0] facing RL_Angle[RL_Times] degrees
        • Set RL_Dummy[RL_Times] = (Last created unit)
        • Animation - Change (Last created unit)'s size to (130.00%, 130.00%, 130.00%) of its original size
        • -------- -------------------------------------------------- --------
        • -------- Hero is getting transparent and dummy gets his roling model. --------
        • -------- -------------------------------------------------- --------
        • Special Effect - Create a special effect attached to the chest of (Last created unit) using Units\Creeps\EarthPandarenBrewmaster\EarthPandarenBrewmaster_Missile.mdl
        • Set RL_Effect[RL_Times] = (Last created special effect)
        • Animation - Change (Triggering unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
        • Custom script: call RemoveLocation(udg_RL_Point[0])
        • Custom script: call RemoveLocation(udg_RL_Point[1])
    • Roll Loop
      • Events
        • Time - Every 0.02 seconds of game time
      • Conditions
      • Actions
        • For each (Integer RL) from 1 to RL_Times, do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • RL_On[RL] Equal to True
              • Then - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Or - Any (Conditions) are true
                      • Conditions
                        • RL_Distance[RL] Less than or equal to 0.00
                        • (RL_Hero[RL] is Stunned) Equal to True
                  • Then - Actions
                    • Unit Group - Remove RL_Hero[RL] from RL_DebugGroup
                    • Animation - Change RL_Hero[RL]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                    • Special Effect - Destroy RL_Effect[RL]
                    • Unit - Kill RL_Dummy[RL]
                    • Set RL_On[RL] = False
                    • -------- ReCyCliNg --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • RL Less than RL_Times
                      • Then - Actions
                        • Set RL_On[RL] = RL_On[RL_Times]
                        • Set RL_Angle[RL] = RL_Angle[RL_Times]
                        • Set RL_Collision[RL] = RL_Collision[RL_Times]
                        • Set RL_Distance[RL] = RL_Distance[RL_Times]
                        • Set RL_Dummy[RL] = RL_Dummy[RL_Times]
                        • Set RL_Effect[RL] = RL_Effect[RL_Times]
                        • Set RL_Hero[RL] = RL_Hero[RL_Times]
                        • Set RL_Speed[RL] = RL_Speed[RL_Times]
                        • Set RL_Level[RL] = RL_Level[RL_Times]
                        • Set RL_Level[RL] = RL_Level[RL_Times]
                      • Else - Actions
                    • Set RL = (RL - 1)
                    • Set RL_Skip = (RL_Skip - 1)
                    • Set RL_Times = (RL_Times - 1)
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • RL_Skip Equal to 0
                      • Then - Actions
                        • Set RL_Times = 0
                        • Trigger - Turn off (This trigger)
                      • Else - Actions
                  • Else - Actions
                    • Set RL_Distance[RL] = (RL_Distance[RL] - RL_Speed[RL])
                    • Set RL_Point[2] = (Position of RL_Hero[RL])
                    • Set RL_Point[3] = (RL_Point[2] offset by RL_Speed[RL] towards RL_Angle[RL] degrees)
                    • -------- -------------------------------------------------- --------
                    • -------- hero stop the roll if he get to unpathable terrain. --------
                    • -------- -------------------------------------------------- --------
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • (Terrain pathing at RL_Point[3] of type Walkability is off) Equal to True
                      • Then - Actions
                        • Set RL_Distance[RL] = 0.00
                      • Else - Actions
                        • -------- -------------------------------------------------- --------
                        • -------- picking doodas to bounce --------
                        • -------- -------------------------------------------------- --------
                        • Destructible - Pick every destructible within RL_Collision[RL] of RL_Point[3] and do (Actions)
                          • Loop - Actions
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • ((Picked destructible) is alive) Equal to True
                              • Then - Actions
                                • Set RL_Point[4] = (Position of (Picked destructible))
                                • -------- -------------------------------------------------- --------
                                • -------- If doodad is behind from hero, it will be ignored --------
                                • -------- -------------------------------------------------- --------
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • And - All (Conditions) are true
                                      • Conditions
                                        • (Angle from RL_Point[3] to RL_Point[4]) Less than or equal to (RL_Angle[RL] + 90.00)
                                        • (Angle from RL_Point[3] to RL_Point[4]) Greater than or equal to (RL_Angle[RL] - 90.00)
                                  • Then - Actions
                                    • Set RL_Angle[RL] = (Angle from RL_Point[4] to RL_Point[3])
                                  • Else - Actions
                                • Custom script: call RemoveLocation(udg_RL_Point[4])
                              • Else - Actions
                        • -------- -------------------------------------------------- --------
                        • -------- Picking units. Hero stop when it bounce on unit. --------
                        • -------- -------------------------------------------------- --------
                        • Set RL_Group = (Units within RL_Collision[RL] of RL_Point[3] matching ((((Matching unit) is dead) Equal to False) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Mechanical) Equal to False) and ((((Matching unit) is A flying unit) Equal to F
                        • Unit Group - Pick every unit in RL_Group and do (Actions)
                          • Loop - Actions
                            • Set RL_Point[4] = (Position of (Picked unit))
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • ((Picked unit) is in RL_DebugGroup) Equal to True
                              • Then - Actions
                                • Set RL_Angle[RL] = (Angle from RL_Point[4] to RL_Point[3])
                              • Else - Actions
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • And - All (Conditions) are true
                                      • Conditions
                                        • (Angle from RL_Point[3] to RL_Point[4]) Less than or equal to (RL_Angle[RL] + 60.00)
                                        • (Angle from RL_Point[3] to RL_Point[4]) Greater than or equal to (RL_Angle[RL] - 60.00)
                                  • Then - Actions
                                    • Set RL_Distance[RL] = 0.00
                                  • Else - Actions
                            • Custom script: call RemoveLocation(udg_RL_Point[4])
                        • Custom script: call DestroyGroup(udg_RL_Group)
                        • -------- -------------------------------------------------- --------
                        • -------- Hero face angle of roll and moving with jass function to give to player full controll on him. --------
                        • -------- -------------------------------------------------- --------
                        • Unit - Make RL_Hero[RL] face RL_Point[3] over 0.00 seconds
                        • Custom script: call SetUnitX(udg_RL_Hero[udg_RL], GetLocationX(udg_RL_Point[3]))
                        • Custom script: call SetUnitY(udg_RL_Hero[udg_RL], GetLocationY(udg_RL_Point[3]))
                        • -------- -------------------------------------------------- --------
                        • -------- Dummy is moving and facing angle of roll. --------
                        • -------- -------------------------------------------------- --------
                        • Unit - Move RL_Dummy[RL] instantly to RL_Point[3], facing RL_Angle[RL] degrees
                    • Custom script: call RemoveLocation(udg_RL_Point[2])
                    • Custom script: call RemoveLocation(udg_RL_Point[3])
              • Else - Actions
    • Stop Rolling
      • Events
        • Unit - A unit Is issued an order targeting an object
        • Unit - A unit Is issued an order targeting a point
        • Unit - A unit Is issued an order with no target
      • Conditions
        • ((Triggering unit) is in RL_DebugGroup) Equal to True
      • Actions
        • For each (Integer RL2) from 1 to RL_Times, do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • RL_Hero[RL2] Equal to (Triggering unit)
              • Then - Actions
                • Set RL_Distance[RL2] = 0.00
              • Else - Actions

    Sumo Tactics Trigger
    • Sumo Tactics Trigger
      • Events
      • Conditions
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Damage taken) Not equal to 0.00
          • Then - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Level of Sumo Tactics for (Damage source)) Greater than 0
              • Then - Actions
                • For each (Integer SS) from 1 to SS_Times, do (Actions)
                  • Loop - Actions
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • SS_Hero[SS] Equal to (Damage source)
                      • Then - Actions
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • SS_Passed[SS] Equal to True
                          • Then - Actions
                            • -------- -------------------------------------------------- --------
                            • -------- Geting the pass value to false. Else it will be always effect on attack after 1st effect. --------
                            • -------- -------------------------------------------------- --------
                            • Set SS_Passed[SS] = False
                            • -------- -------------------------------------------------- --------
                            • -------- If hero hit unit, he will be removed from group of heroes that waiting to damage his target (waiting is delay between animation to attack and attack after miss) --------
                            • -------- -------------------------------------------------- --------
                            • Unit Group - Remove SS_Hero[SS] from SS_HeroGroup
                            • -------- ------------------------------------------------------------------------------------------------------- --------
                            • -------- Maximum stacks are 10. Edit spell in Object Editor and change level limit here. --------
                            • -------- Installing the armor penalty spell --------
                            • -------- -------------------------------------------------- --------
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • (Level of Armor Penalty (Special) for (Triggering unit)) Equal to 10
                              • Then - Actions
                              • Else - Actions
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • AP_Skip Equal to 0
                                  • Then - Actions
                                    • Trigger - Turn on Armor Penalty Loop <gen>
                                  • Else - Actions
                                • Set AP_Skip = (AP_Skip + 1)
                                • Set AP_Times = (AP_Times + 1)
                                • Set AP_On[AP_Times] = True
                                • Set AP_Unit[AP_Times] = (Triggering unit)
                                • -------- -------------------------------------------------- --------
                                • -------- Value is how much levels the negative spell of armor descreacing will be set/increase (because of stack) --------
                                • -------- -------------------------------------------------- --------
                                • Set AP_Value[AP_Times] = (0 + (1 x (Level of Sumo Tactics for (Damage source))))
                                • -------- -------------------------------------------------- --------
                                • -------- Effect ends after duration expire --------
                                • -------- -------------------------------------------------- --------
                                • Set AP_Duration[AP_Times] = (10.00 + (0.00 x (Real((Level of Sumo Tactics for (Damage source))))))
                                • -------- -------------------------------------------------- --------
                                • -------- If this is first effect, add the negative spell --------
                                • -------- -------------------------------------------------- --------
                                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                  • If - Conditions
                                    • (Level of Armor Penalty (Special) for (Triggering unit)) Equal to 0
                                  • Then - Actions
                                    • Unit - Add Armor Penalty (Special) to (Triggering unit)
                                    • Unit - Set level of Armor Penalty (Special) for (Triggering unit) to AP_Value[AP_Times]
                                  • Else - Actions
                                    • -------- -------------------------------------------------- --------
                                    • -------- if that is not first effect of this type of spell then... --------
                                    • -------- -------------------------------------------------- --------
                                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                      • If - Conditions
                                        • ((Level of Armor Penalty (Special) for (Triggering unit)) + AP_Value[AP_Times]) Greater than 10
                                      • Then - Actions
                                        • Set AP_Value[AP_Times] = (10 - AP_Value[AP_Times])
                                      • Else - Actions
                                    • Unit - Set level of Armor Penalty (Special) for (Triggering unit) to ((Level of Armor Penalty (Special) for (Triggering unit)) + AP_Value[AP_Times])
                            • -------- ------------------------------------------------------------------------------------------------------- --------
                            • -------- Installing knockback as second effect of pandaren tactics spell --------
                            • -------- -------------------------------------------------- --------
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • KB_Skip Equal to 0
                              • Then - Actions
                                • Trigger - Turn on Knockback System <gen>
                              • Else - Actions
                            • Set KB_Skip = (KB_Skip + 1)
                            • Set KB_Times = (KB_Times + 1)
                            • Set KB_Off[KB_Times] = True
                            • Set KB_Target[KB_Times] = (Triggering unit)
                            • Set KB_Point[0] = (Position of (Damage source))
                            • Set KB_Point[1] = (Position of (Triggering unit))
                            • Set KB_Angle[KB_Times] = (Angle from KB_Point[0] to KB_Point[1])
                            • Set KB_Speed[KB_Times] = 10.00
                            • Set KB_Spam[KB_Times] = 5
                            • Set KB_Distance[KB_Times] = 150.00
                            • Custom script: call RemoveLocation(udg_KB_Point[0])
                            • Custom script: call RemoveLocation(udg_KB_Point[1])
                            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              • If - Conditions
                                • SS Less than SS_Times
                              • Then - Actions
                                • Set SS_Passed[SS] = SS_Passed[SS_Times]
                                • Set SS_Hero[SS] = SS_Hero[SS_Times]
                              • Else - Actions
                            • Set SS = (SS - 1)
                            • Set SS_Times = (SS_Times - 1)
                          • Else - Actions
                      • Else - Actions
              • Else - Actions
          • Else - Actions

    Adding Sumo Tactics Trigger
    • Adding Sumo Tactics Trigger
      • Events
        • Unit - A unit Is attacked
      • Conditions
        • (Level of Sumo Tactics for (Attacking unit)) Greater than 0
      • Actions
        • -------- -------------------------------------------------- --------
        • -------- Every hero that pass an effect will get to this group. But why we need a group here and not checking lvl of ability for spell? --------
        • -------- Because here hero that effected the spell on attack, but missed, will remain and getting finlered from chance to effect the spell again. --------
        • -------- -------------------------------------------------- --------
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • ((Attacking unit) is in SS_HeroGroup) Equal to True
          • Then - Actions
            • For each (Integer SS2) from 1 to SS_Times, do (Actions)
              • Loop - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • SS_Hero[SS2] Equal to (Attacking unit)
                  • Then - Actions
                    • Set SS_Passed[SS2] = False
                    • Set SS_Chance = (Random integer number between 1 and 100)
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • SS_Chance Less than or equal to (8 + (2 x (Level of Sumo Tactics for SS_Hero[SS2])))
                      • Then - Actions
                        • Set SS_Passed[SS2] = True
                        • Animation - Play SS_Hero[SS2]'s slam animation, using only Rare animations
                        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          • If - Conditions
                            • ((Triggering unit) is in SS_Group) Equal to False
                          • Then - Actions
                            • Unit Group - Add (Triggering unit) to SS_Group
                            • Trigger - Add to Sumo Tactics Trigger <gen> the event (Unit - (Triggering unit) Takes damage)
                          • Else - Actions
                      • Else - Actions
                  • Else - Actions
          • Else - Actions
            • Set SS_Chance = (Random integer number between 1 and 100)
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • SS_Chance Less than or equal to (8 + (2 x (Level of Sumo Tactics for (Attacking unit))))
              • Then - Actions
                • Unit Group - Add (Attacking unit) to SS_HeroGroup
                • Set SS_Times = (SS_Times + 1)
                • Set SS_Passed[SS_Times] = True
                • Set SS_Hero[SS_Times] = (Attacking unit)
                • Animation - Play SS_Hero[SS_Times]'s slam animation, using only Rare animations
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • ((Triggering unit) is in SS_Group) Equal to False
                  • Then - Actions
                    • Unit Group - Add (Triggering unit) to SS_Group
                    • Trigger - Add to Sumo Tactics Trigger <gen> the event (Unit - (Triggering unit) Takes damage)
                  • Else - Actions
              • Else - Actions
     
  3. NFWar

    NFWar

    Joined:
    Jul 27, 2008
    Messages:
    1,314
    Resources:
    227
    Models:
    1
    Icons:
    215
    Packs:
    1
    Skins:
    2
    Spells:
    6
    Tutorials:
    2
    Resources:
    227
    Omg you are already tested? o_O

    NOTE: delete all units from map. Set roll distance to maximum. Place 3-10 pandas :D and make them all to roll. They will bounce on each other and create 8 poll game XD
     
  4. Pecki

    Pecki

    Joined:
    Feb 23, 2010
    Messages:
    46
    Resources:
    0
    Resources:
    0
    Wow.................this sounds amazing :D Panda Spells uhahahha nice one
    going to test it. @NFWar i will test the bounce :)
     
  5. NFWar

    NFWar

    Joined:
    Jul 27, 2008
    Messages:
    1,314
    Resources:
    227
    Models:
    1
    Icons:
    215
    Packs:
    1
    Skins:
    2
    Spells:
    6
    Tutorials:
    2
    Resources:
    227
    LOL War_Golum posted triggerz ^^ Thx
     
  6. Pecki

    Pecki

    Joined:
    Feb 23, 2010
    Messages:
    46
    Resources:
    0
    Resources:
    0
    Tested it and it works fine.
    But maybe you use in your "Adding Sumo Tactics Trigger" Get damaged instead of Get attacked maybe i'm incorrect.

    I have one question to your roll spell. You use a dummy unit for the rolling animation and you make the hero transperent. But can the hero get damaged during the spell?
     
  7. Pecki

    Pecki

    Joined:
    Feb 23, 2010
    Messages:
    46
    Resources:
    0
    Resources:
    0
    Ah ok i tested it and you can damage the hero (unit) during the spell.
    So there is nothing more to say than.... NICE WORK
    I vote with 5/5
     
  8. Septimus

    Septimus

    Joined:
    May 3, 2008
    Messages:
    4,174
    Resources:
    49
    Packs:
    1
    Maps:
    35
    Spells:
    8
    Tutorials:
    5
    Resources:
    49
    I won't rate this spells 5/5 and recommend it either.. my rating would be 3 if i vote for it.

    That is because you do not reset the unit animation upon casting spells, which it was terrible idea as it could cause awkward animation at the caster unit.
     
  9. NFWar

    NFWar

    Joined:
    Jul 27, 2008
    Messages:
    1,314
    Resources:
    227
    Models:
    1
    Icons:
    215
    Packs:
    1
    Skins:
    2
    Spells:
    6
    Tutorials:
    2
    Resources:
    227
    Explain what spell and why animation reset needed theare. I see everything fine. All animations wasnt causing any problem to hero attacks movement or spall casting animations. What is the problem? Explain better.
     
  10. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,137
    Resources:
    1
    Spells:
    1
    Resources:
    1
    It soundsss AWESOME! Im going to test this!
    Sorry, it isn't so special, again one of those spells is knockback.
    But this is AWESOME, and it is recieved 5/5. +REP
     
  11. NFWar

    NFWar

    Joined:
    Jul 27, 2008
    Messages:
    1,314
    Resources:
    227
    Models:
    1
    Icons:
    215
    Packs:
    1
    Skins:
    2
    Spells:
    6
    Tutorials:
    2
    Resources:
    227
    I promise no knockback at next pack. Gona create something interesting >:D
    Soul Blades:
    Hero summon some blades that stand back from him. He can walk and they come with him. When hero attack someone, blades are flying to enemy and damaging it. After dealing damage, blade disapear.
     
  12. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,137
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Cool! Sounds Cool! And effect can be spiked carapace! Cool! every word with ''!''
     
  13. tjordell

    tjordell

    Joined:
    Jan 25, 2009
    Messages:
    554
    Resources:
    5
    Icons:
    1
    Spells:
    4
    Resources:
    5
    Hehe, watch here the capability of NFWar, you all must admit that he's Freaking awesome in each motherfu**er thing he does! I'm damn jealous! Teach me some more NFWar! About Parabolas! I wanna know everything about parabolas and calculating stuffs like that! :)
     
  14. Aspard

    Aspard

    Joined:
    Jul 2, 2008
    Messages:
    595
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Well... Interesting, but nothing special, I hope, you know :)
     
  15. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,137
    Resources:
    1
    Spells:
    1
    Resources:
    1
    I know, I know, I know, I know. I like his missile system! It isn't awesome it is GODLIKE!
     
  16. NFWar

    NFWar

    Joined:
    Jul 27, 2008
    Messages:
    1,314
    Resources:
    227
    Models:
    1
    Icons:
    215
    Packs:
    1
    Skins:
    2
    Spells:
    6
    Tutorials:
    2
    Resources:
    227
    Some people are just over like me ^^
     
  17. HeX.16

    HeX.16

    Joined:
    Nov 16, 2009
    Messages:
    157
    Resources:
    0
    Resources:
    0
    More spells and way more panda spells good job with it.
     
  18. Weep

    Weep

    Joined:
    Jul 12, 2009
    Messages:
    316
    Resources:
    3
    Models:
    2
    Spells:
    1
    Resources:
    3
    Your demo map uses icons that cause the Mac version of WC3 to freeze. Please remove or modify them. Spell submissions are only supposed to have resources if they are absolutely essential to the functioning or look of the abilities, anyway.
     
  19. Sorceress

    Sorceress

    Joined:
    Jul 28, 2009
    Messages:
    1,025
    Resources:
    1
    Template:
    1
    Resources:
    1
    Looks nice and funny.
    I'll try it when i get home :)