• 🏆 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!

Holy Warrior

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: xIceShotx
Holy Warrior Spell Pack by: 18YaphetS18

Change logs:
Holy Raze- 3 levels, deals 150/200/350 damage in 300 AoE (Once learned 2 more skills will be added which are also Holy Razes but have different ranges) 10 sec. Cooldown 75 mana cost.
Noble Aura- Gives additional 1.50/3.00/4.50/5.00 armor in a 900 AoE. Passive Skill.
Purification- Heals allies for 100/300/500/600 HP. 10 sec. Cooldown 100 mana cost.
Holy Strength- 20/40/60 damage bonus, 5/6/7 defense bonus, 200/400/600 HP bonus. Lasts 30/50/60 seconds. 180/150/100 sec. Cooldown and 150 mana cost.

Feel free to comment about this spell pack. Hope you can find this useful.
If you have any opinions please say them. Remember to give me credit when you use this spell pack.

CREDITS:
These are the guys I want to thank for helping me create this spell pack:
1. Anton Thabaine (UnHolyDarKness) for his shadow raze skill that I tweaked a bit. Hope you don't mind me editing one of your skills a bit. : ) UnHolyDarKness is his hiveworkshop username.
2. HIVEWORKSHOP (hiveworkshop.com) this site is great and is making my spell pack seen and downloaded by many people.
3. Myself (18YaphetS18) well I made this anyway. By the way I am Lorenzo Da Silva and am currently making my own custom map WotA hope you download it!
4. You! For downloading my spell pack!

Keywords:
Holy Warrior
Contents

Holy Warrior Spell Pack by ME (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 9 Nov 2011 Bribe: The triggering looks good but you need an in-game screenshot before the spell can be approved.

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

9 Nov 2011
Bribe: The triggering looks good but you need an in-game screenshot before the spell can be approved.
 
Level 2
Joined
Nov 4, 2011
Messages
28
- Post your triggers
- Needs an in-game screenshot
- Way too many leaks
- Spells not unique in anyway (very simple, some was similar to default wc3 spells)

1.5/5
 
Level 7
Joined
Aug 31, 2011
Messages
125
Looking in map - trigger


  • Spell leveling
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to HolyRaze 1 (z)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Learned Hero Skill) Equal to HolyRaze 1 (z)) and ((Level of HolyRaze 1 (z) for (Triggering unit)) Equal to 1)
        • Then - Actions
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- in here . when the Holy Warrior learns the raze for the first time . we will add 2 another abilities to him which are raise 2 and raise 3 --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • Unit - Add HolyRaze 2 (x) to (Triggering unit)
          • Unit - Add HolyRaze 3 (c) to (Triggering unit)
        • Else - Actions
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- with each level of raise 1 we make the raise 2 and raise 3 equivillant to the raise 1 --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • Unit - Set level of HolyRaze 2 (x) for (Triggering unit) to (Level of HolyRaze 1 (z) for (Triggering unit))
          • Unit - Set level of HolyRaze 3 (c) for (Triggering unit) to (Level of HolyRaze 1 (z) for (Triggering unit))
  • Spell Casting1
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to HolyRaze 1 (z)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of HolyRaze 1 (z) for (Triggering unit)) Equal to 1
        • Then - Actions
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- i put the units in variabels so that it would lag lesser and be faster --------
          • -------- in here we put the locations of the units old\new units in variables to clean the leaks later --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • Set TempUnit = (Triggering unit)
          • Set TempPlayer = (Triggering player)
          • Set Location = (Position of TempUnit)
          • Set Location2 = (Location offset by 256.00 towards (Facing of TempUnit) degrees)
          • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
          • Set TempUnit2 = (Last created unit)
          • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- in here we are removing the leaks and assigning new values to some variables --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • Custom script: call RemoveLocation(udg_Location)
          • Custom script: call RemoveLocation(udg_Location2)
          • Set Location = (Position of TempUnit2)
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- destroying the group leak automaticaly after we are finished using it --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
            • Loop - Actions
              • Set TempUnit3 = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                • Then - Actions
                  • -------- ------------------------------------------------------------------------------------------------------ --------
                  • -------- dealing damage to the units around the raise --------
                  • -------- ------------------------------------------------------------------------------------------------------ --------
                  • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[0] damage of attack type Spells and damage type Normal
                • Else - Actions
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • -------- cleaning the leak of the location of the raise --------
          • -------- ------------------------------------------------------------------------------------------------------ --------
          • Custom script: call RemoveLocation(udg_Location)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of HolyRaze 1 (z) for (Triggering unit)) Equal to 2
            • Then - Actions
              • Set TempUnit = (Triggering unit)
              • Set TempPlayer = (Triggering player)
              • Set Location = (Position of TempUnit)
              • Set Location2 = (Location offset by 256.00 towards (Facing of TempUnit) degrees)
              • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
              • Set TempUnit2 = (Last created unit)
              • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation(udg_Location)
              • Custom script: call RemoveLocation(udg_Location2)
              • Set Location = (Position of TempUnit2)
              • Custom script: set bj_wantDestroyGroup = true
              • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
                • Loop - Actions
                  • Set TempUnit3 = (Picked unit)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                    • Then - Actions
                      • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[1] damage of attack type Spells and damage type Normal
                    • Else - Actions
              • Custom script: call RemoveLocation(udg_Location)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of HolyRaze 1 (z) for (Triggering unit)) Equal to 3
                • Then - Actions
                  • Set TempUnit = (Triggering unit)
                  • Set TempPlayer = (Triggering player)
                  • Set Location = (Position of TempUnit)
                  • Set Location2 = (Location offset by 256.00 towards (Facing of TempUnit) degrees)
                  • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
                  • Set TempUnit2 = (Last created unit)
                  • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
                  • Custom script: call RemoveLocation(udg_Location)
                  • Custom script: call RemoveLocation(udg_Location2)
                  • Set Location = (Position of TempUnit2)
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
                    • Loop - Actions
                      • Set TempUnit3 = (Picked unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                        • Then - Actions
                          • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[2] damage of attack type Spells and damage type Normal
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_Location)
                • Else - Actions
  • Spell Casting2
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to HolyRaze 2 (x)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of HolyRaze 2 (x) for (Triggering unit)) Equal to 1
        • Then - Actions
          • Set TempUnit = (Triggering unit)
          • Set TempPlayer = (Triggering player)
          • Set Location = (Position of TempUnit)
          • Set Location2 = (Location offset by 450.00 towards (Facing of TempUnit) degrees)
          • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
          • Set TempUnit2 = (Last created unit)
          • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
          • Custom script: call RemoveLocation(udg_Location)
          • Custom script: call RemoveLocation(udg_Location2)
          • Set Location = (Position of TempUnit2)
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
            • Loop - Actions
              • Set TempUnit3 = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                • Then - Actions
                  • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[0] damage of attack type Spells and damage type Normal
                • Else - Actions
          • Custom script: call RemoveLocation(udg_Location)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of HolyRaze 2 (x) for (Triggering unit)) Equal to 2
            • Then - Actions
              • Set TempUnit = (Triggering unit)
              • Set TempPlayer = (Triggering player)
              • Set Location = (Position of TempUnit)
              • Set Location2 = (Location offset by 450.00 towards (Facing of TempUnit) degrees)
              • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
              • Set TempUnit2 = (Last created unit)
              • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation(udg_Location)
              • Custom script: call RemoveLocation(udg_Location2)
              • Set Location = (Position of TempUnit2)
              • Custom script: set bj_wantDestroyGroup = true
              • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
                • Loop - Actions
                  • Set TempUnit3 = (Picked unit)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                    • Then - Actions
                      • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[1] damage of attack type Spells and damage type Normal
                    • Else - Actions
              • Custom script: call RemoveLocation(udg_Location)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of HolyRaze 3 (c) for (Triggering unit)) Equal to 3
                • Then - Actions
                  • Set TempUnit = (Triggering unit)
                  • Set TempPlayer = (Triggering player)
                  • Set Location = (Position of TempUnit)
                  • Set Location2 = (Location offset by 450.00 towards (Facing of TempUnit) degrees)
                  • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
                  • Set TempUnit2 = (Last created unit)
                  • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
                  • Custom script: call RemoveLocation(udg_Location)
                  • Custom script: call RemoveLocation(udg_Location2)
                  • Set Location = (Position of TempUnit2)
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
                    • Loop - Actions
                      • Set TempUnit3 = (Picked unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                        • Then - Actions
                          • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[2] damage of attack type Spells and damage type Normal
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_Location)
                • Else - Actions
  • Spell Casting3
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to HolyRaze 3 (c)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of HolyRaze 3 (c) for (Triggering unit)) Equal to 1
        • Then - Actions
          • Set TempUnit = (Triggering unit)
          • Set TempPlayer = (Triggering player)
          • Set Location = (Position of TempUnit)
          • Set Location2 = (Location offset by 750.00 towards (Facing of TempUnit) degrees)
          • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
          • Set TempUnit2 = (Last created unit)
          • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
          • Custom script: call RemoveLocation(udg_Location)
          • Custom script: call RemoveLocation(udg_Location2)
          • Set Location = (Position of TempUnit2)
          • Custom script: set bj_wantDestroyGroup = true
          • Unit Group - Pick every unit in (Units within 300.00 of (Position of (Last created unit))) and do (Actions)
            • Loop - Actions
              • Set TempUnit3 = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                • Then - Actions
                  • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[0] damage of attack type Spells and damage type Normal
                • Else - Actions
          • Custom script: call RemoveLocation(udg_Location)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of HolyRaze 3 (c) for (Triggering unit)) Equal to 2
            • Then - Actions
              • Set TempUnit = (Triggering unit)
              • Set TempPlayer = (Triggering player)
              • Set Location = (Position of TempUnit)
              • Set Location2 = (Location offset by 750.00 towards (Facing of TempUnit) degrees)
              • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
              • Set TempUnit2 = (Last created unit)
              • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation(udg_Location)
              • Custom script: call RemoveLocation(udg_Location2)
              • Set Location = (Position of TempUnit2)
              • Custom script: set bj_wantDestroyGroup = true
              • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
                • Loop - Actions
                  • Set TempUnit3 = (Picked unit)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                    • Then - Actions
                      • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[1] damage of attack type Spells and damage type Normal
                    • Else - Actions
              • Custom script: call RemoveLocation(udg_Location)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of HolyRaze 3 (c) for (Triggering unit)) Equal to 3
                • Then - Actions
                  • Set TempUnit = (Triggering unit)
                  • Set TempPlayer = (Triggering player)
                  • Set Location = (Position of TempUnit)
                  • Set Location2 = (Location offset by 750.00 towards (Facing of TempUnit) degrees)
                  • Unit - Create 1 Holy Raze Missile for (Owner of TempUnit) at Location2 facing Default building facing degrees
                  • Set TempUnit2 = (Last created unit)
                  • Unit - Add a 0.10 second Generic expiration timer to (Last created unit)
                  • Custom script: call RemoveLocation(udg_Location)
                  • Custom script: call RemoveLocation(udg_Location2)
                  • Set Location = (Position of TempUnit2)
                  • Custom script: set bj_wantDestroyGroup = true
                  • Unit Group - Pick every unit in (Units within 300.00 of Location) and do (Actions)
                    • Loop - Actions
                      • Set TempUnit3 = (Picked unit)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((TempUnit3 is A structure) Not equal to True) and ((TempPlayer is an enemy of (Owner of TempUnit3)) Equal to True)
                        • Then - Actions
                          • Unit - Cause TempUnit to damage TempUnit3, dealing RazeDamage[2] damage of attack type Spells and damage type Normal
                        • Else - Actions
                  • Custom script: call RemoveLocation(udg_Location)
                • Else - Actions
  • RazeDamage
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- ------------------------------------------------------------------------------------------------------ --------
      • -------- -----------in here i defined the damage that the raises will deal according to their level---------------- --------
      • -------- ------------------------------------------------------------------------------------------------------ --------
      • Set RazeDamage[0] = 150.00
      • Set RazeDamage[1] = 200.00
      • Set RazeDamage[2] = 350.00
Picture -
2i27a6d.png


-Just name your spell Holy Raze for that is the only triggered spell lol..
-Does a design like this really need to be this long of a trigger? o_o
-leaks
-Why do you need to set TempUnit - Triggering unit like 500x in a trigger?
-You could use arrays lol.
-I give 1/5 +rep, i only give the rep tho because of the long triggers, im pretty sure you tried to put alot of effort in it although its not that great :pmeh:
~xIceShotx
 
Now looking at the triggers posted... I suggest a total make-over of this spell...

You don't need to if-then-else per level of spell... it also makes your spell only support up to level 3, which is bad... spells uploaded here should support unlimited levels...

@xIceShotx - Using several variables is better than using arrays when you only need about less than 10...
 
Top