Tawnttoo
New Member
- Reaction score
- 36
I found Blizzard's awesome "Extreme Candy Wars 2004" map the other day and decided to implement its hero death/resurrection system to my map. Here are my triggers: It works flawlessly, except that the Hero's vision goes away in the time of next dusk. No idea why. He just goes blind. So, any idea why this happens or how to fix it?
(Yes, there are some leaks)
Trigger:
- Death
- Events
- Unit - A unit Dies
- Conditions
- Or - Any (Conditions) are true
- Conditions
- (Triggering unit) Equal to Hero[1]
- (Triggering unit) Equal to Hero[2]
- (Triggering unit) Equal to Hero[3]
- (Triggering unit) Equal to Hero[4]
- (Triggering unit) Equal to Hero[5]
- (Triggering unit) Equal to Hero[6]
- (Triggering unit) Equal to Hero[7]
- (Triggering unit) Equal to Hero[8]
- Conditions
- Or - Any (Conditions) are true
- Actions
- Set TempPoint = (Position of (Triggering unit))
- Set TempPlayer = (Owner of (Triggering unit))
- Set TempInt = (Player number of (Owner of (Triggering unit)))
- Hero - Instantly revive (Triggering unit) at TempPoint, Hide revival graphics
- Unit - Pause (Triggering unit)
- Unit - Make (Triggering unit) Invulnerable
- Animation - Play (Triggering unit)'s death animation
- Unit - Create 1 Gravestone for TempPlayer at TempPoint facing Default building facing degrees
- Animation - Play (Last created unit)'s birth animation
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Unit-type of (Triggering unit)) Equal to Foulspawn
- Then - Actions
- Unit - Create 1 Dead Foulspawn for TempPlayer at TempPoint facing Default building facing degrees
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Unit-type of (Triggering unit)) Equal to Ogre Chef
- Then - Actions
- Unit - Create 1 Dead Ogre Chef for TempPlayer at TempPoint facing Default building facing degrees
- Else - Actions
- If - Conditions
- Animation - Change (Last created unit)'s vertex coloring to (70.00%, 70.00%, 70.00%) with 55.00% transparency
- Unit Group - Add (Last created unit) to GhostUnits
- Selection - Select (Last created unit) for TempPlayer
- Hero - Disable experience gain for (Triggering unit)
- Game - Display to (All players) for 10.00 seconds the text: (Color[(Player number of (Owner of (Killing unit)))] + ((Name of (Killing unit)) + (|r + (DeathMessages[(Random integer number between 1 and 1)] + ( + (Color[TempInt] + ((Proper name of (Triggering unit)) + |r!)))))))
- Custom script: call RemoveLocation( udg_TempPoint )
- Events
Trigger:
- Resurrect Detection
- Events
- Time - Every 0.75 seconds of game time
- Conditions
- Actions
- Unit Group - Pick every unit in GhostUnits and do (Actions)
- Loop - Actions
- Set TempPoint = (Position of Hero[(Player number of (Picked player))])
- Cinematic - Ping minimap for (Player group((Owner of (Picked unit)))) at TempPoint for 0.50 seconds
- Custom script: call RemoveLocation( udg_TempPoint )
- Set TempPoint = (Position of (Picked unit))
- Cinematic - Ping minimap for (Player group((Owner of (Picked unit)))) at TempPoint for 0.50 seconds
- Custom script: call RemoveLocation( udg_TempPoint )
- Unit - Set life of Hero[(Player number of (Picked player))] to 1.00
- Unit - Set mana of Hero[(Player number of (Picked player))] to 1.00
- Set TempPoint = (Position of (Picked unit))
- Set TempPoint2 = (Position of Hero[(Player number of (Picked player))])
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Distance between TempPoint and TempPoint2) Less than or equal to 600.00
- Then - Actions
- Unit - Add Resurrect? to (Picked unit)
- Unit - Remove You are dead. (Hero) from (Picked unit)
- Else - Actions
- Unit - Add You are dead. (Hero) to (Picked unit)
- Unit - Remove Resurrect? from (Picked unit)
- If - Conditions
- Custom script: call RemoveLocation( udg_TempPoint2 )
- Custom script: call RemoveLocation( udg_TempPoint )
- Loop - Actions
- Unit Group - Pick every unit in GhostUnits and do (Actions)
- Events
Trigger:
- Resurrect Hero
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Resurrect?
- Actions
- Set TempUnit = Hero[(Player number of (Owner of (Triggering unit)))]
- Set TempReal = (Facing of (Triggering unit))
- Set TempPoint = (Position of (Triggering unit))
- Set TempPlayer = (Owner of (Triggering unit))
- Set TempGroup = (Units owned by TempPlayer of type Gravestone)
- Special Effect - Create a special effect at (Position of TempUnit) using Abilities\Spells\Human\Resurrect\ResurrectCaster.mdl
- Set SpecialFX = (Last created special effect)
- Unit - Change ownership of TempUnit to (Owner of (Triggering unit)) and Retain color
- Unit - Make TempUnit Vulnerable
- Unit - Unpause TempUnit
- Selection - Select TempUnit for (Owner of TempUnit)
- Unit - Remove All buffs from TempUnit
- Unit - Remove (Triggering unit) from the game
- Animation - Play TempUnit's stand animation
- Unit - Make TempUnit face TempReal over 0.00 seconds
- Unit - Move TempUnit instantly to TempPoint
- Set TempPoint2 = (Position of TempUnit)
- Special Effect - Create a special effect at TempPoint2 using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
- Custom script: call RemoveLocation( udg_TempPoint2 )
- Set SpecialFX = (Last created special effect)
- Hero - Enable experience gain for TempUnit
- Animation - Change TempUnit's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
- Unit Group - Pick every unit in TempGroup and do (Actions)
- Loop - Actions
- Unit - Kill (Picked unit)
- Loop - Actions
- Custom script: call DestroyGroup (udg_TempGroup)
- Events
(Yes, there are some leaks)