• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Evil Ninja Magic v1.1

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: CeDiL and Ironside
Hey guys, I made this spell to use in my map Relic Wars on a hero called ninja. I wanted to have a passive slow like slow poison but I didnt want it to be constantly on the enemy you attack. I also didnt want my hero to have a bash so I combined the two slow and bash and out came this skill.

  • Evil Ninja Magic
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Unit-type of (Attacking unit)) Equal to Skill Tester
      • Or - Any (Conditions) are true
        • Conditions
          • ((Attacked unit) has buff Evil Ninja Magic (Level 1)) Equal to True
          • ((Attacked unit) has buff Evil Ninja Magic (Level 2)) Equal to True
          • ((Attacked unit) has buff Evil Ninja Magic (Level 3)) Equal to True
          • ((Attacked unit) has buff Evil Ninja Magic (Level 4)) Equal to True
          • ((Attacked unit) has buff Evil Ninja Magic (Level 5)) Equal to True
          • ((Attacked unit) has buff Evil Ninja Magic (Level 6)) Equal to True
    • Actions
      • -------- Depending on how many levels you use in the skill, that is how many IF statements you will need --------
      • -------- --------------------------------------------------------------------------------------------------------------------------- --------
      • -------- --------------------------------------------------------------------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Attacked unit) has buff Evil Ninja Magic (Level 1)) Equal to True
        • Then - Actions
          • Set Ninja_Level = 1
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Attacked unit) has buff Evil Ninja Magic (Level 2)) Equal to True
            • Then - Actions
              • Set Ninja_Level = 2
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Attacked unit) has buff Evil Ninja Magic (Level 3)) Equal to True
                • Then - Actions
                  • Set Ninja_Level = 3
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Attacked unit) has buff Evil Ninja Magic (Level 4)) Equal to True
                    • Then - Actions
                      • Set Ninja_Level = 4
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Attacked unit) has buff Evil Ninja Magic (Level 5)) Equal to True
                        • Then - Actions
                          • Set Ninja_Level = 5
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • ((Attacked unit) has buff Evil Ninja Magic (Level 6)) Equal to True
                            • Then - Actions
                              • Set Ninja_Level = 6
                            • Else - Actions
                              • Set Ninja_Level = 0
      • -------- --------------------------------------------------------------------------------------------------------------------------- --------
      • -------- --------------------------------------------------------------------------------------------------------------------------- --------
      • -------- In this Condition you can change the % chance. --------
      • -------- Example: If you want a 2, 4, 6 ETC % chance of this skill to proc then change the 3 --> 2 --------
      • -------- --------------------------------------------------------------------------------------------------------------------------- --------
      • -------- --------------------------------------------------------------------------------------------------------------------------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Ninja_Level x 3) Greater than or equal to (Random integer number between 1 and 100)
        • Then - Actions
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- Dont change anything here --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • Set Ninja_Loc = (Position of (Attacking unit))
          • Unit - Create 1 Ninja Dummy for (Owner of (Attacking unit)) at Ninja_Loc facing Default building facing degrees
          • Set Ninja_Dummy_Unit = (Last created unit)
          • Unit - Add Ninja Slow Dummy to Ninja_Dummy_Unit
          • Unit - Order Ninja_Dummy_Unit to Orc Shaman - Purge (Attacked unit)
          • Unit - Add a 0.70 second Generic expiration timer to Ninja_Dummy_Unit
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- Removing Leaks --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • Custom script: call RemoveLocation( udg_Ninja_Loc )
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
          • -------- --------------------------------------------------------------------------------------------------------------------------- --------
        • Else - Actions
This skill is easy to understand but there is a lot of copy-pasting that you will need to do. You can change anything you want for this skill, and if you need to find something the comments in the triggers will help you along.

Many, many, many thanks to paskovich who made the tutorial that I used in making this skill.
Tutorial can be found here


If you use this skill please give me credits


original

Condenced IF statements



Keywords:
passive, slow, AOE
Contents

Evil Ninja Magic (Map)

Reviews
Bribe Instead of the "or - block" (you can delete that) you can just replace "Set Ninja_Level = 0" with "Skip remaining actions". Why a different ability for each buff level? That's really innefficient. The fact that this checks "(Unit-type...

Moderator

M

Moderator

Bribe

Instead of the "or - block" (you can delete that) you can just replace "Set Ninja_Level = 0" with "Skip remaining actions".

Why a different ability for each buff level? That's really innefficient.

The fact that this checks "(Unit-type of (Attacking unit)) Equal to Skill Tester" in the conditions means that this is totally not modular.

"A unit is attacked" is also highly abusable by spamming the "stop" action.

The only features this offers depends on the object editor...

This thing needs such a major overhaul to be useful, it has to be rejected.
 
To post the triggers correctly, you should copy the trigger as text in the world editor, and paste it into Something like this:

  • Set TempUnit = bla bla bla...


Open brackets, write "TRIGGER", close brackets
Open brackets, write "/TRIGGER", close brackets

To all you other guys: Sorry for stating the obvious ;)
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
Yeah like this:
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
  • If - Conditions
  • Then - Actions
  • Else - Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
    • Then - Actions
    • Else - Actions
I don't know if it's a big problem in your trigger but the thing I know is that "Do Nothing" is not okay
 
Level 16
Joined
Jun 24, 2009
Messages
1,409
like this:
  • Melee Initialization
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Has buff lv1
        • Then - Actions
          • Set Level := 1
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Has buff lv2
            • Then - Actions
              • Set level := 2
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Has buff lv3
                • Then - Actions
                  • Set level := 3
                • Else - Actions
 
Level 3
Joined
Oct 31, 2010
Messages
32
This event sucks. Unfortunatly, damage detection isn't the strongest side of GUI.

Yeah I tried a couple different things but this was one of the few ways that it worked.

Good Job:

[+] No leaks
[+] MUI
[+] Useful
[+] Original
[+] Works properly

[-] Way too simple

Thus, your final score would be a 4/5 :)

Thanks and its my first skill too so i would be happy with a pass and i get a 4/5 :ogre_hurrhurr:
 
Level 29
Joined
Mar 10, 2009
Messages
5,016
you dont need this...
  • Set Ninja_Dummy_Unit = (Last created unit)
"Last created unit" is enough...

example:

  • Unit - Add Ninja Slow Dummy to Last created unit
  • Unit - Add a 0.70 second Generic expiration timer to Last created unit
  • Unit - Set level of Ninja Slow Dummy for Last created unit to level of blahh blahhh <<<< additional
  • Unit - Order Last created unit to Orc Shaman - Purge (Attacked unit)
always put this to the last...
  • Unit - Order Last created unit to Orc Shaman - Purge (Attacked unit)
because AI/computer cant cast this spell (dummy spell) if not...
 
Level 9
Joined
Jan 23, 2008
Messages
310
Okay, first purge has nothing related with bash, it's only slow.
Second it removes the buffs from target.
Third, this would need a decent damage detection system.
Fourth, damn who will need a spell that's simply purging the unit, too simple.
Fifth, some of your If's are not needed, or can be combined together.
2/5
 
Level 3
Joined
Oct 31, 2010
Messages
32
Okay, first purge has nothing related with bash, it's only slow.
Second it removes the buffs from target.
Third, this would need a decent damage detection system.
Fourth, damn who will need a spell that's simply purging the unit, too simple.
Fifth, some of your If's are not needed, or can be combined together.
2/5

Ill answer your inquires.

1) Yeah I used purge because it is a slow
2) Removing buffs from targets is a bonus
3) I cant think of a better DD system atm
4) Never said it was rocket science
5) That I will do. Probly get rid of the first IF in the conditions.
 
Top