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

Festering Doom

  • Like
Reactions: Zpider
Summons an orb above the target point which deals (level x 10) damage per second to all enemies within it for 10 seconds. Any dead units within the spells reach are reanimated for a short time too.


[trigger=Doom Cast]Doom Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Festering Doom
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
D_Skip Equal to 0
Then - Actions
Trigger - Turn on Doom Loop <gen>
Else - Actions
Set D_Times = (D_Times + 1)
Set D_Skip = (D_Skip + 1)
Set D_Off[D_Times] = True
-------- Caster/Point Config --------
Set D_Caster[D_Times] = (Casting unit)
Set D_Point[0] = (Target point of ability being cast)
Set D_Level[D_Times] = (Level of Festering Doom for D_Caster[D_Times])
Set D_Damage[D_Times] = (D_Level[D_Times] x 10)
-------- Effects Config --------
Set D_Aoe[D_Times] = 350.00
Set D_Duration[D_Times] = 10.00
Set D_Minus[D_Times] = 1.00
-------- Dummy Creation --------
Unit - Create 1 Doom Dummy for (Owner of D_Caster[D_Times]) at D_Point[0] facing Default building facing degrees
Set D_Dummy[D_Times] = (Last created unit)
Unit - Create 1 Doom Caster for (Owner of D_Caster[D_Times]) at D_Point[0] facing Default building facing degrees
Set D_CasterDummy[D_Times] = (Last created unit)
Unit - Set level of Raise_Dead for D_CasterDummy[D_Times] to D_Level[D_Times]
-------- Leaky Leaks --------
Custom script: call RemoveLocation(udg_D_Point[0])[/trigger]


[trigger=Doom Loop]Doom Loop
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
For each (Integer D) from 1 to D_Times, do (Actions)
Loop - Actions
Set D_Duration[D] = (D_Duration[D] - D_Minus[D])
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
D_Off[D] Equal to True
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
D_Duration[D] Less than or equal to 0.00
Then - Actions
Unit - Remove D_Dummy[D] from the game
Unit - Remove D_CasterDummy[D] from the game
Set D_Off[D] = False
Set D_Skip = (D_Skip - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
D_Skip Equal to 0
Then - Actions
Set D_Times = 0
Trigger - Turn off Doom Loop <gen>
Else - Actions
Else - Actions
Set D_Point[2] = (Position of D_Dummy[D])
Set D_Group[D] = (Units within D_Aoe[D] of D_Point[2] matching ((((Matching unit) belongs to an ally of (Owner of D_Caster[D])) Equal to False) and ((((Matching unit) is dead) Equal to False) and (((Matching unit) is Magic Immune) Equal to False))))
Unit - Order D_CasterDummy[D] to Undead Death Knight - Animate Dead
Unit Group - Pick every unit in D_Group[D] and do (Actions)
Loop - Actions
Set D_Point[1] = (Position of (Picked unit))
Special Effect - Create a special effect at D_Point[1] using Abilities\Spells\Undead\Possession\PossessionMissile.mdl
Special Effect - Destroy (Last created special effect)
Unit - Order D_Dummy[D] to Neutral Naga Sea Witch - Forked Lightning (Picked unit)
Unit - Cause D_Caster[D] to damage (Picked unit), dealing (Real(D_Damage[D])) damage of attack type Hero and damage type Poison
Custom script: call RemoveLocation(udg_D_Point[1])
For each (Integer A) from 1 to 10, do (Actions)
Loop - Actions
Set D_Point[3] = (D_Point[2] offset by D_Aoe[D] towards (36.00 x (Real((Integer A)))) degrees)
Special Effect - Create a special effect at D_Point[3] using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation(udg_D_Point[3])
Special Effect - Create a special effect at D_Point[2] using Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call DestroyGroup(udg_D_Group[udg_D])
Custom script: call RemoveLocation(udg_D_Point[2])
Else - Actions
[/trigger]


Keywords:
Doom, Dark, Evil, Undead, Life,
Contents

Festering Doom (Map)

Reviews
16:17, 17th Apr 2010 The_Reborn_Devil: The triggering looks ok. Edit: Ohsh-, forgot to click "Approve" Status: Approved Rating: Useful

Moderator

M

Moderator

16:17, 17th Apr 2010
The_Reborn_Devil:

The triggering looks ok.

Edit: Ohsh-, forgot to click "Approve"


Status: Approved
Rating: Useful
 
Level 12
Joined
May 21, 2009
Messages
994
put them into a hidden tag. this is how u do it.
HIDDEN="NAME of your box e.g Triggers"]Here you can post the triggers[/HIDDEN add [ to the first HIDDEN= and ] after [/HIDDEN

how it will look
triggers here
 
Level 6
Joined
Nov 3, 2008
Messages
117
uhm one thing. you use:
  • For each (Integer D) from 1 to D_Times, do (Actions)
Shouldn't it be from 0 to D_Times, since arrays start with 0 values and integers aswell

PS: I only refer to the code posted here. And i dunno GUI very well, so correct me if i am wrong :p.
 
Level 10
Joined
Sep 6, 2008
Messages
423
uhm one thing. you use:
  • For each (Integer D) from 1 to D_Times, do (Actions)
Shouldn't it be from 0 to D_Times, since arrays start with 0 values and integers aswell

PS: I only refer to the code posted here. And i dunno GUI very well, so correct me if i am wrong :p.

If he has put values in arrays that are 1 and above and ignored the 0 then there is no reason to have it from 0 to D_Times

I also do like that even if I know that arrays starts at 0 and not 1
 
Top