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. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  5. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  6. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  7. The results are out! Check them out.
    Dismiss Notice
  8. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  9. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  10. 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.

Gogonnash - Darkslayer

Submitted by Marcos DAB
This bundle is marked as approved. It works and satisfies the submission rules.
Gogonnash - Darkslayer

SKill 1

[​IMG]

SKill 2

[​IMG]

SKill 3

[​IMG]

SKill 4

[​IMG]


=<1> Well, if you're importing a whole trigger, then you can go to
File - Preferences
and then check "Automatically create unknown variables while pasting trigger data".
If you now copy & paste a trigger which contains variables, they'll be automatically created in your map when you paste the triggers there.

=<2> Set the following variables with their ability.
Set Skill1_Ability_DarkConversion = Dark Conversion (Darkslayer)
Set Skill2_Ability_MagicalSeal = Magical Seal (Darkslayer)
Set Skill3_Ability_MagicalSeal = Magical Seal (Darkslayer)
Set Skill4_Ability_ForceofPain = Force of Pain (Darkslayer)

=<3> Enjoy that!


Changelog

=> Improved Screenshot 16:12, 3rd Apr 2011


Sorry for bad english =/

Keywords:
Dark, Slayer, Blink, Strike, Force, Power, Seal, Magical, Charge, Death, Assassin, Hunter, Bounty, Follower, Deadly, Fatal, Pain.
Contents

Gogonnash - Darkslayer [GUI] (Map)

Reviews
Moderator
13:55, 2nd Jun 2011 Maker: Approved You could store the unit's handle into an integer variable and then use the variable instead of repeatedly calling Key(Triggering unit) or Key(Picked unit). You store the triggering unit into a variable, so use...
  1. 13:55, 2nd Jun 2011
    Maker: Approved
    You could store the unit's handle into an integer variable and then use the variable instead of repeatedly calling Key(Triggering unit) or Key(Picked unit).
    You store the triggering unit into a variable, so use the variable instead of calling Triggering unit.
    Do this only after you remove a unit from the group, not during every loop:
    • (Number of units in Skill1_Caster_Group) Equal to 0

    You could hide the floating texts for players that do not have vision over the position.
     
  2. Marcos DAB

    Marcos DAB

    Joined:
    Mar 26, 2011
    Messages:
    1,041
    Resources:
    218
    Models:
    1
    Icons:
    214
    Spells:
    2
    Tutorials:
    1
    Resources:
    218
    Triggers

    Skill 1

    • Skill2 Setup
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Hashtable - Create a hashtable
        • Set Skill2_Hashtable = (Last created hashtable)
        • Set Skill2_Ability_MagicalSeal = Magical Seal (Darkslayer)

    • Skill2 Cast
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Skill2_Ability_MagicalSeal
      • Actions
        • Special Effect - Destroy (Load 1 of (Key (Target unit of ability being cast)) in Skill2_Hashtable)
        • -------- ### Hashtable value 0 ### --------
        • -------- Target config --------
        • Set Skill2_Target = (Target unit of ability being cast)
        • Unit Group - Add Skill2_Target to Skill2_Target_Group
        • -------- Caster config --------
        • Set Skill2_Caster = (Triggering unit)
        • Unit - Grant shared vision of Skill2_Target to (Owner of (Triggering unit))
        • -------- Ability config --------
        • Set Skill2_Ability = (Ability being cast)
        • Set Skill2_Ability_Level = (Level of (Ability being cast) for (Triggering unit))
        • -------- ### Hashtable value 1 ### --------
        • -------- Special effect of seal --------
        • Special Effect - Create a special effect attached to the chest of Skill2_Target using Abilities\Weapons\DruidoftheTalonMissile\DruidoftheTalonMissile.mdl
        • Set Skill2_Seal = (Last created special effect)
        • -------- ### Hashtable value 2 ### --------
        • -------- Count sealed time --------
        • Set Skill2_Count = (1 + (Skill2_Ability_Level x 2))
        • -------- ### Hashtable value 3 ### --------
        • -------- Damage based on hitpoints --------
        • Set Skill2_Damage = (((Max life of (Triggering unit)) / 100.00) x (Real(Skill2_Count)))
        • -------- Hashtable saving values --------
        • Hashtable - Save Handle OfSkill2_Caster as 0 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • Hashtable - Save Handle OfSkill2_Seal as 1 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • Hashtable - Save Skill2_Count as 2 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • Hashtable - Save Skill2_Damage as 3 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill2_Target_Group) Greater than 0
          • Then - Actions
            • Trigger - Turn on Skill2 Work <gen>
          • Else - Actions

    • Skill2 Work
      • Events
        • Time - Every 1.00 seconds of game time
      • Conditions
      • Actions
        • Unit Group - Pick every unit in Skill2_Target_Group and do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • ((Picked unit) is alive) Equal to True
              • Then - Actions
                • -------- ### Hashtable load 0 ### --------
                • Set Skill2_E_Caster = (Load 0 of (Key (Picked unit)) in Skill2_Hashtable)
                • Set Skill2_E_Target = (Picked unit)
                • Set Skill2_E_Target_Loc = (Position of Skill2_E_Target)
                • -------- ### Hashtable load 2 ### --------
                • Set Skill2_E_Count = (Load 2 of (Key (Picked unit)) from Skill2_Hashtable)
                • -------- ### Hashtable load 3 ### --------
                • Set Skill2_E_Damage = (Load 3 of (Key (Picked unit)) from Skill2_Hashtable)
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill2_E_Count Greater than or equal to 0
                  • Then - Actions
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • Skill2_E_Count Not equal to 0
                      • Then - Actions
                        • Floating Text - Create floating text that reads (String(Skill2_E_Count)) at Skill2_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
                        • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                        • Floating Text - Change (Last created floating text): Disable permanence
                        • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                        • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                      • Else - Actions
                    • Set Skill2_E_Count = ((Load 2 of (Key (Picked unit)) from Skill2_Hashtable) - 1)
                    • Hashtable - Save Skill2_E_Count as 2 of (Key (Picked unit)) in Skill2_Hashtable
                  • Else - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill2_E_Count Less than 0
                  • Then - Actions
                    • Unit - Deny shared vision of (Picked unit) to (Owner of Skill2_E_Caster)
                    • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Skill2_Hashtable)
                    • Special Effect - Create a special effect at Skill2_E_Target_Loc using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl
                    • Special Effect - Destroy (Last created special effect)
                    • Unit - Cause Skill2_E_Caster to damage Skill2_E_Target, dealing Skill2_E_Damage damage of attack type Spells and damage type Normal
                    • Floating Text - Create floating text that reads (- + (String((Integer(Skill2_E_Damage))))) at Skill2_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                    • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                    • Floating Text - Change (Last created floating text): Disable permanence
                    • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                    • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                    • Unit Group - Remove (Picked unit) from Skill2_Target_Group
                    • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill2_Hashtable
                  • Else - Actions
                • Custom script: call RemoveLocation(udg_Skill2_E_Target_Loc)
              • Else - Actions
                • Unit - Deny shared vision of (Picked unit) to (Owner of Skill2_E_Caster)
                • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Skill2_Hashtable)
                • Unit Group - Remove (Picked unit) from Skill2_Target_Group
                • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill2_Hashtable
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill2_Target_Group) Equal to 0
          • Then - Actions
            • Trigger - Turn off (This trigger)
          • Else - Actions


    Skill 2

    • Skill2 Setup
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Hashtable - Create a hashtable
        • Set Skill2_Hashtable = (Last created hashtable)
        • Set Skill2_Ability_MagicalSeal = Magical Seal (Darkslayer)

    • Skill2 Cast
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Skill2_Ability_MagicalSeal
      • Actions
        • Special Effect - Destroy (Load 1 of (Key (Target unit of ability being cast)) in Skill2_Hashtable)
        • -------- ### Hashtable value 0 ### --------
        • -------- Target config --------
        • Set Skill2_Target = (Target unit of ability being cast)
        • Unit Group - Add Skill2_Target to Skill2_Target_Group
        • -------- Caster config --------
        • Set Skill2_Caster = (Triggering unit)
        • Unit - Grant shared vision of Skill2_Target to (Owner of (Triggering unit))
        • -------- Ability config --------
        • Set Skill2_Ability = (Ability being cast)
        • Set Skill2_Ability_Level = (Level of (Ability being cast) for (Triggering unit))
        • -------- ### Hashtable value 1 ### --------
        • -------- Special effect of seal --------
        • Special Effect - Create a special effect attached to the chest of Skill2_Target using Abilities\Weapons\DruidoftheTalonMissile\DruidoftheTalonMissile.mdl
        • Set Skill2_Seal = (Last created special effect)
        • -------- ### Hashtable value 2 ### --------
        • -------- Count sealed time --------
        • Set Skill2_Count = (1 + (Skill2_Ability_Level x 2))
        • -------- ### Hashtable value 3 ### --------
        • -------- Damage based on hitpoints --------
        • Set Skill2_Damage = (((Max life of (Triggering unit)) / 100.00) x (Real(Skill2_Count)))
        • -------- Hashtable saving values --------
        • Hashtable - Save Handle OfSkill2_Caster as 0 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • Hashtable - Save Handle OfSkill2_Seal as 1 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • Hashtable - Save Skill2_Count as 2 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • Hashtable - Save Skill2_Damage as 3 of (Key (Target unit of ability being cast)) in Skill2_Hashtable
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill2_Target_Group) Greater than 0
          • Then - Actions
            • Trigger - Turn on Skill2 Work <gen>
          • Else - Actions

    • Skill2 Work
      • Events
        • Time - Every 1.00 seconds of game time
      • Conditions
      • Actions
        • Unit Group - Pick every unit in Skill2_Target_Group and do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • ((Picked unit) is alive) Equal to True
              • Then - Actions
                • -------- ### Hashtable load 0 ### --------
                • Set Skill2_E_Caster = (Load 0 of (Key (Picked unit)) in Skill2_Hashtable)
                • Set Skill2_E_Target = (Picked unit)
                • Set Skill2_E_Target_Loc = (Position of Skill2_E_Target)
                • -------- ### Hashtable load 2 ### --------
                • Set Skill2_E_Count = (Load 2 of (Key (Picked unit)) from Skill2_Hashtable)
                • -------- ### Hashtable load 3 ### --------
                • Set Skill2_E_Damage = (Load 3 of (Key (Picked unit)) from Skill2_Hashtable)
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill2_E_Count Greater than or equal to 0
                  • Then - Actions
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • Skill2_E_Count Not equal to 0
                      • Then - Actions
                        • Floating Text - Create floating text that reads (String(Skill2_E_Count)) at Skill2_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
                        • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                        • Floating Text - Change (Last created floating text): Disable permanence
                        • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                        • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                      • Else - Actions
                    • Set Skill2_E_Count = ((Load 2 of (Key (Picked unit)) from Skill2_Hashtable) - 1)
                    • Hashtable - Save Skill2_E_Count as 2 of (Key (Picked unit)) in Skill2_Hashtable
                  • Else - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill2_E_Count Less than 0
                  • Then - Actions
                    • Unit - Deny shared vision of (Picked unit) to (Owner of Skill2_E_Caster)
                    • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Skill2_Hashtable)
                    • Special Effect - Create a special effect at Skill2_E_Target_Loc using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl
                    • Special Effect - Destroy (Last created special effect)
                    • Unit - Cause Skill2_E_Caster to damage Skill2_E_Target, dealing Skill2_E_Damage damage of attack type Spells and damage type Normal
                    • Floating Text - Create floating text that reads (- + (String((Integer(Skill2_E_Damage))))) at Skill2_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                    • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                    • Floating Text - Change (Last created floating text): Disable permanence
                    • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                    • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                    • Unit Group - Remove (Picked unit) from Skill2_Target_Group
                    • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill2_Hashtable
                  • Else - Actions
                • Custom script: call RemoveLocation(udg_Skill2_E_Target_Loc)
              • Else - Actions
                • Unit - Deny shared vision of (Picked unit) to (Owner of Skill2_E_Caster)
                • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Skill2_Hashtable)
                • Unit Group - Remove (Picked unit) from Skill2_Target_Group
                • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill2_Hashtable
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill2_Target_Group) Equal to 0
          • Then - Actions
            • Trigger - Turn off (This trigger)
          • Else - Actions


    Skill 3

    • Skill3 Setup
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Hashtable - Create a hashtable
        • Set Skill3_Hashtable = (Last created hashtable)
        • Set Skill3_Ability_FastHands = Fast Hands (Darkslayer)
        • Set Skill3_Ability_MagicalSeal = Magical Seal (Darkslayer)

    • Skill3 Cast
      • Events
        • Unit - A unit Is attacked
      • Conditions
        • (Level of Skill3_Ability_FastHands for (Attacking unit)) Greater than 0
        • (Level of Skill3_Ability_MagicalSeal for (Attacking unit)) Greater than 0
      • Actions
        • Special Effect - Destroy (Load 1 of (Key (Attacked unit)) in Skill3_Hashtable)
        • Set Skill3_Ability_Level = (Level of Skill3_Ability_FastHands for (Attacking unit))
        • Set Skill3_Ability_Chance = (Skill3_Ability_Level x 5)
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Random integer number between 1 and 100) Less than or equal to Skill3_Ability_Chance
          • Then - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • ((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to True
              • Then - Actions
                • -------- ### Hashtable value 0 ### --------
                • Set Skill3_Caster = (Attacking unit)
                • Set Skill3_Target = (Attacked unit)
                • Unit Group - Add (Attacked unit) to Skill3_Target_Group
                • Unit - Grant shared vision of (Attacked unit) to (Owner of (Attacking unit))
                • -------- ### Hashtable value 1 ### --------
                • Special Effect - Create a special effect attached to the chest of (Attacked unit) using Abilities\Weapons\DruidoftheTalonMissile\DruidoftheTalonMissile.mdl
                • Set Skill3_Seal = (Last created special effect)
                • -------- ### Hashtable value 2 ### --------
                • Set Skill3_Count = (1 + (2 x (Level of Skill3_Ability_MagicalSeal for (Attacking unit))))
                • -------- ### Hashtable value 3 ### --------
                • Set Skill3_Damage = (((Max life of (Attacking unit)) / 100.00) x (Real(Skill3_Count)))
                • -------- Hashtable saving values --------
                • Hashtable - Save Handle OfSkill3_Caster as 0 of (Key (Attacked unit)) in Skill3_Hashtable
                • Hashtable - Save Handle OfSkill3_Seal as 1 of (Key (Attacked unit)) in Skill3_Hashtable
                • Hashtable - Save Skill3_Count as 2 of (Key (Attacked unit)) in Skill3_Hashtable
                • Hashtable - Save Skill3_Damage as 3 of (Key (Attacked unit)) in Skill3_Hashtable
              • Else - Actions
          • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill3_Target_Group) Greater than 0
          • Then - Actions
            • Trigger - Turn on Skill3 Work <gen>
          • Else - Actions

    • Skill3 Work
      • Events
        • Time - Every 1.00 seconds of game time
      • Conditions
      • Actions
        • Unit Group - Pick every unit in Skill3_Target_Group and do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • ((Picked unit) is alive) Equal to True
              • Then - Actions
                • -------- ### Hashtable load 0 ### --------
                • Set Skill3_E_Caster = (Load 0 of (Key (Picked unit)) in Skill3_Hashtable)
                • Set Skill3_E_Target = (Picked unit)
                • Set Skill3_E_Target_Loc = ((Position of Skill3_E_Target) offset by 32.00 towards 0.00 degrees)
                • -------- ### Hashtable load 2 ### --------
                • Set Skill3_E_Count = (Load 2 of (Key (Picked unit)) from Skill3_Hashtable)
                • -------- ### Hashtable load 3 ### --------
                • Set Skill3_E_Damage = (Load 3 of (Key (Picked unit)) from Skill3_Hashtable)
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill3_E_Count Greater than or equal to 0
                  • Then - Actions
                    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • Skill3_E_Count Not equal to 0
                      • Then - Actions
                        • Floating Text - Create floating text that reads (String(Skill3_E_Count)) at Skill3_E_Target_Loc with Z offset 0.00, using font size 8.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
                        • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                        • Floating Text - Change (Last created floating text): Disable permanence
                        • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                        • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                      • Else - Actions
                    • Set Skill3_E_Count = ((Load 2 of (Key (Picked unit)) from Skill3_Hashtable) - 1)
                    • Hashtable - Save Skill3_E_Count as 2 of (Key (Picked unit)) in Skill3_Hashtable
                  • Else - Actions
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill3_E_Count Less than 0
                  • Then - Actions
                    • Unit - Deny shared vision of Skill3_E_Target to (Owner of Skill3_E_Caster)
                    • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Skill3_Hashtable)
                    • Special Effect - Create a special effect at Skill3_E_Target_Loc using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl
                    • Special Effect - Destroy (Last created special effect)
                    • Unit - Cause Skill3_E_Caster to damage Skill3_E_Target, dealing Skill3_E_Damage damage of attack type Spells and damage type Normal
                    • Floating Text - Create floating text that reads (- + (String((Integer(Skill3_E_Damage))))) at Skill3_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                    • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                    • Floating Text - Change (Last created floating text): Disable permanence
                    • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                    • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                    • Unit Group - Remove (Picked unit) from Skill3_Target_Group
                    • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill3_Hashtable
                  • Else - Actions
                • Custom script: call RemoveLocation(udg_Skill3_E_Target_Loc)
              • Else - Actions
                • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in Skill3_Hashtable)
                • Unit Group - Remove (Picked unit) from Skill3_Target_Group
                • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill3_Hashtable
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill3_Target_Group) Equal to 0
          • Then - Actions
            • Trigger - Turn off (This trigger)
          • Else - Actions


    Skill 4

    • Skill4 Setup
      • Events
        • Map initialization
      • Conditions
      • Actions
        • Hashtable - Create a hashtable
        • Set Skill4_Hashtable = (Last created hashtable)
        • Set Skill4_Ability_ForceofPain = Force of Pain (Darkslayer)

    • Skill4 Cast
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Skill4_Ability_ForceofPain
      • Actions
        • Floating Text - Destroy (Load 5 of (Key (Triggering unit)) in Skill4_HashtableIf the label is not found, this function returns NULL.)
        • Lightning - Destroy (Load 1 of (Key (Triggering unit)) in Skill4_Hashtable)
        • -------- ### Hashtable value 0 ### --------
        • -------- Caster config --------
        • Set Skill4_Caster = (Triggering unit)
        • Set Skill4_Target = (Target unit of ability being cast)
        • Set Skill4_Caster_Loc = (Position of (Triggering unit))
        • Set Skill4_Target_Loc = (Position of (Target unit of ability being cast))
        • Unit Group - Add (Triggering unit) to Skill4_Caster_Group
        • -------- Ability config --------
        • Set Skill4_Ability = (Ability being cast)
        • Set Skill4_Ability_Level = (Level of (Ability being cast) for (Triggering unit))
        • -------- ### Hashtable value 1 ### --------
        • Lightning - Create a Drain lightning effect from source Skill4_Target_Loc to target Skill4_Caster_Loc
        • Lightning - Change color of (Last created lightning effect) to (1.00 0.00 1.00) with 1.00 alpha
        • Set Skill4_Light = (Last created lightning effect)
        • -------- ### Hashtable value 2 ### --------
        • Set Skill4_Count_Current = 0
        • -------- ### Hashtable value 3 ### --------
        • -------- Count damage and distance --------
        • Set Skill4_Count_Limit = (100 + (200 x Skill4_Ability_Level))
        • -------- ### Hashtable value 4 ### --------
        • -------- Damage based on cap --------
        • Set Skill4_Damage = (Real(Skill4_Count_Current))
        • -------- ### Hashtable value 5 ### --------
        • Floating Text - Create floating text that reads (String(Skill4_Count_Current)) at Skill4_Caster_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
        • Set Skill4_Floating = (Last created floating text)
        • -------- Hashtable saving values --------
        • Hashtable - Save Handle OfSkill4_Target as 0 of (Key (Triggering unit)) in Skill4_Hashtable
        • Hashtable - Save Handle OfSkill4_Light as 1 of (Key (Triggering unit)) in Skill4_Hashtable
        • Hashtable - Save Skill4_Count_Current as 2 of (Key (Triggering unit)) in Skill4_Hashtable
        • Hashtable - Save Skill4_Count_Limit as 3 of (Key (Triggering unit)) in Skill4_Hashtable
        • Hashtable - Save Skill4_Damage as 4 of (Key (Triggering unit)) in Skill4_Hashtable
        • Hashtable - Save Handle OfSkill4_Floating as 5 of (Key (Triggering unit)) in Skill4_Hashtable
        • Custom script: call RemoveLocation(udg_Skill4_Target_Loc)
        • Custom script: call RemoveLocation(udg_Skill4_Caster_Loc)
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill4_Caster_Group) Greater than 0
          • Then - Actions
            • Trigger - Turn on Skill4 Work <gen>
          • Else - Actions

    • Skill4 Work
      • Events
        • Time - Every 0.03 seconds of game time
      • Conditions
      • Actions
        • Unit Group - Pick every unit in Skill4_Caster_Group and do (Actions)
          • Loop - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • ((Picked unit) is alive) Equal to True
                • ((Load 0 of (Key (Picked unit)) in Skill4_Hashtable) is alive) Equal to True
              • Then - Actions
                • -------- ### Hashtable load 0 ### --------
                • Set Skill4_E_Caster = (Picked unit)
                • Set Skill4_E_Caster_Loc = (Position of (Picked unit))
                • Set Skill4_E_Target = (Load 0 of (Key (Picked unit)) in Skill4_Hashtable)
                • Set Skill4_E_Target_Loc = (Position of Skill4_E_Target)
                • -------- ### Hashtable load 1 ### --------
                • Set Skill4_E_Light = (Load 1 of (Key (Picked unit)) in Skill4_Hashtable)
                • -------- ### Hashtable load 2 ### --------
                • Set Skill4_E_Count_Current = (Load 2 of (Key (Picked unit)) from Skill4_Hashtable)
                • -------- ### Hashtable load 3 ### --------
                • Set Skill4_E_Count_Limit = (Load 3 of (Key (Picked unit)) from Skill4_Hashtable)
                • -------- ### Hashtable load 4 ### --------
                • Set Skill4_E_Damage = (Load 4 of (Key (Picked unit)) from Skill4_Hashtable)
                • -------- ### Hashtable load 5 ### --------
                • Set Skill4_E_Floating = (Load 5 of (Key (Picked unit)) in Skill4_HashtableIf the label is not found, this function returns NULL.)
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • Skill4_E_Count_Current Less than Skill4_E_Count_Limit
                  • Then - Actions
                    • Set Skill4_E_Count_Current = (Skill4_E_Count_Current + 1)
                    • Hashtable - Save Skill4_E_Count_Current as 2 of (Key (Picked unit)) in Skill4_Hashtable
                    • Set Skill4_E_Damage = (Real(Skill4_E_Count_Current))
                    • Hashtable - Save Skill4_E_Damage as 4 of (Key (Picked unit)) in Skill4_Hashtable
                    • Floating Text - Change the position of Skill4_E_Floating to Skill4_E_Caster_Loc with Z offset 0.00
                    • Floating Text - Change text of Skill4_E_Floating to (String(Skill4_E_Count_Current)) using font size 12.00
                    • Lightning - Move Skill4_E_Light to source Skill4_E_Target_Loc and target Skill4_E_Caster_Loc
                    • Special Effect - Create a special effect at Skill4_E_Target_Loc using Abilities\Weapons\BlackKeeperMissile\BlackKeeperMissile.mdl
                    • Special Effect - Destroy (Last created special effect)
                    • Special Effect - Create a special effect at Skill4_E_Caster_Loc using Abilities\Weapons\BlackKeeperMissile\BlackKeeperMissile.mdl
                    • Special Effect - Destroy (Last created special effect)
                  • Else - Actions
                    • Floating Text - Destroy Skill4_E_Floating
                    • Floating Text - Destroy (Load 5 of (Key (Picked unit)) in Skill4_HashtableIf the label is not found, this function returns NULL.)
                    • Lightning - Destroy Skill4_E_Light
                    • Lightning - Destroy (Load 1 of (Key (Picked unit)) in Skill4_Hashtable)
                    • Special Effect - Create a special effect at Skill4_E_Target_Loc using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl
                    • Special Effect - Destroy (Last created special effect)
                    • Unit - Cause Skill4_E_Caster to damage Skill4_E_Target, dealing Skill4_E_Damage damage of attack type Spells and damage type Normal
                    • Floating Text - Create floating text that reads (- + (String((Integer(Skill4_E_Damage))))) at Skill4_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                    • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                    • Floating Text - Change (Last created floating text): Disable permanence
                    • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                    • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                    • Unit Group - Remove (Picked unit) from Skill4_Caster_Group
                    • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill4_Hashtable
                • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  • If - Conditions
                    • (Distance between Skill4_E_Target_Loc and Skill4_E_Caster_Loc) Greater than or equal to (Real(Skill4_E_Count_Limit))
                  • Then - Actions
                    • Floating Text - Destroy Skill4_E_Floating
                    • Floating Text - Destroy (Load 5 of (Key (Picked unit)) in Skill4_HashtableIf the label is not found, this function returns NULL.)
                    • Lightning - Destroy Skill4_E_Light
                    • Lightning - Destroy (Load 1 of (Key (Picked unit)) in Skill4_Hashtable)
                    • Special Effect - Create a special effect at Skill4_E_Target_Loc using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl
                    • Special Effect - Destroy (Last created special effect)
                    • Unit - Cause Skill4_E_Caster to damage Skill4_E_Target, dealing Skill4_E_Damage damage of attack type Spells and damage type Normal
                    • Floating Text - Create floating text that reads (- + (String((Integer(Skill4_E_Damage))))) at Skill4_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                    • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                    • Floating Text - Change (Last created floating text): Disable permanence
                    • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                    • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                    • Unit Group - Remove (Picked unit) from Skill4_Caster_Group
                    • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill4_Hashtable
                  • Else - Actions
                • Custom script: call RemoveLocation(udg_Skill4_E_Target_Loc)
                • Custom script: call RemoveLocation(udg_Skill4_E_Caster_Loc)
              • Else - Actions
                • Floating Text - Destroy Skill4_E_Floating
                • Floating Text - Destroy (Load 5 of (Key (Picked unit)) in Skill4_HashtableIf the label is not found, this function returns NULL.)
                • Lightning - Destroy Skill4_E_Light
                • Lightning - Destroy (Load 1 of (Key (Picked unit)) in Skill4_Hashtable)
                • Special Effect - Create a special effect at Skill4_E_Target_Loc using units\nightelf\SpiritOfVengeance\SpiritOfVengeance.mdl
                • Special Effect - Destroy (Last created special effect)
                • Unit - Cause Skill4_E_Caster to damage Skill4_E_Target, dealing Skill4_E_Damage damage of attack type Spells and damage type Normal
                • Floating Text - Create floating text that reads (- + (String((Integer(Skill4_E_Damage))))) at Skill4_E_Target_Loc with Z offset 0.00, using font size 12.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                • Floating Text - Change (Last created floating text): Disable permanence
                • Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
                • Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                • Unit Group - Remove (Picked unit) from Skill4_Caster_Group
                • Hashtable - Clear all child hashtables of child (Key (Picked unit)) in Skill4_Hashtable
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Number of units in Skill4_Caster_Group) Equal to 0
          • Then - Actions
            • Trigger - Turn off (This trigger)
          • Else - Actions


     
  3. Axarion

    Axarion

    Joined:
    Sep 30, 2009
    Messages:
    675
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Post the triggers in the spell description and not in another post

    - You should not use "A unit is attacked" for your third spell.

    - The tooltips have some grammar fails which make it really hard to understand what the spell does
     
  4. Magtheridon96

    Magtheridon96

    Joined:
    Dec 12, 2008
    Messages:
    6,006
    Resources:
    26
    Maps:
    1
    Spells:
    8
    Tutorials:
    7
    JASS:
    10
    Resources:
    26
    I'm more of a Magtheridon guy ;)

    • Lightning - Move Skill4_E_Light to source Skill4_E_Target_Loc and target Skill4_E_Caster_Loc


    It would be much better to move lightning with custom scripts cuz they're a thousand times faster.

    • Create a Drain lightning effect from source Skill4_Target_Loc to target Skill4_Caster_Loc


    Same here. For this, use:

    • Custom script: call AddLightningEx("DRAB", true, GetLocationX(udg_Skill4_Target_Loc), GetLocationY(udg_Skill4_Target_Loc), GetLocationZ(udg_Skill4_Target_Loc), GetLocationX(udg_Skill4_Caster_Loc), GetLocationY(udg_Skill4_Caster_Loc), GetLocationZ(udg_Skill4_Caster_Loc))


    For moving lightning, well, i'll edit this post and tell you in a minute.

    EDIT:

    On second thought, for adding the lightning, do this:

    Code (vJASS):

    Custom script: set bj_lastCreatedLightning = AddLightningEx("DRAB", true, GetLocationX(udg_Skill4_Target_Loc), GetLocationY(udg_Skill4_Target_Loc), GetLocationZ(udg_Skill4_Target_Loc), GetLocationX(udg_Skill4_Caster_Loc), GetLocationY(udg_Skill4_Caster_Loc), GetLocationZ(udg_Skill4_Caster_Loc))

     


    (Sorry. Trigger tags made it look wierd lol)
    Then set the lightning variable to (Last Created Lightning)

    For moving the lightning, do this:

    • Custom script: call MoveLightningEx(udg_Skill4_E_Light, true, GetLocationX(udg_Skill4_Target_Loc), GetLocationY(udg_Skill4_Target_Loc), GetLocationZ(udg_Skill4_Target_Loc), GetLocationX(udg_Skill4_Caster_Loc), GetLocationY(udg_Skill4_Caster_Loc), GetLocationZ(udg_Skill4_Caster_Loc))
     
  5. D4RK_G4ND4LF

    D4RK_G4ND4LF

    Joined:
    Feb 4, 2009
    Messages:
    1,196
    Resources:
    20
    Models:
    3
    Spells:
    15
    Tutorials:
    2
    Resources:
    20
    when I made spells (years ago) the desciption editor was quite retarded so everyone wrote the trigger stuff in the first post

    that's wrong
    the GUI function compiles to pretty much the same and is not much slower
    you probably mistook this with unit movement
    the reason why people are using custom script for lightning movement is because the GUI function attaches the lightning to the ground and not the center of the unit
    with the JASS function you can add like 35.00 and it will look better
    also using coordinates over locations improves performance
    if you use locations and have to call GetLocationXYZ all the time it is no way better
     
  6. Marcos DAB

    Marcos DAB

    Joined:
    Mar 26, 2011
    Messages:
    1,041
    Resources:
    218
    Models:
    1
    Icons:
    214
    Spells:
    2
    Tutorials:
    1
    Resources:
    218
    Thanks for clarifying D4RK_G4ND4LF
     
  7. Magtheridon96

    Magtheridon96

    Joined:
    Dec 12, 2008
    Messages:
    6,006
    Resources:
    26
    Maps:
    1
    Spells:
    8
    Tutorials:
    7
    JASS:
    10
    Resources:
    26
    Thanks for clearing that up. I was just about to edit my post (not really) when i realized that i mistook it for UnitMovement. Unit Movement is 10x slower.

    We use the custom script to give height too.

    +rep for stoping me from confusing him lol
     
  8. Archangel678

    Archangel678

    Joined:
    Apr 25, 2009
    Messages:
    246
    Resources:
    4
    Spells:
    4
    Resources:
    4
    Very cool spells.

    Suggestions
    Decrease the damage on Force of Pain ability. 700 maximum damage is way too much. Same goes for dark conversion, 300% of agility is... alot.

    I really wish the passive ability fast hands was a different ability, it seems... repeated. That's an opinion though.


    I didn't check the coding. Overall very nice effects. I vote for approval, when it shows back up... And 5/5.
     
    Last edited: Apr 4, 2011
  9. Marcos DAB

    Marcos DAB

    Joined:
    Mar 26, 2011
    Messages:
    1,041
    Resources:
    218
    Models:
    1
    Icons:
    214
    Spells:
    2
    Tutorials:
    1
    Resources:
    218
    Thanks for the constructive criticism. The damage is easily customizable. On the third ability, was intentionally similar to the second ability.
     
  10. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,139
    Resources:
    1
    Spells:
    1
    Resources:
    1
    1 THING, you use abil_spell 1 which is totaly stupid in my opinion.
    "Set Skill1_Ability_DarkConversion = Dark Conversion (Darkslayer)
    Set Skill2_Ability_MagicalSeal = Magical Seal (Darkslayer)
    Set Skill3_Ability_MagicalSeal = Magical Seal (Darkslayer)
    Set Skill4_Ability_ForceofPain = Force of Pain (Darkslayer)"
    and in much more places. :D
    good spells :)
     
  11. Marcos DAB

    Marcos DAB

    Joined:
    Mar 26, 2011
    Messages:
    1,041
    Resources:
    218
    Models:
    1
    Icons:
    214
    Spells:
    2
    Tutorials:
    1
    Resources:
    218
    This is to make the spell easier to implement.
    If you do not like is so delete...
     
  12. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,139
    Resources:
    1
    Spells:
    1
    Resources:
    1
    NO, it's a gramatic mistake, spell and ability are nearly same i guess...