Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
I'm requesting a very simple neutral hostile respawn system that respawns specific enemies only. The trigger should be leakless and GUI so that I can understand something about it. It will be used for a campaign.
I have my own but it doesn't work correctly so that's why I'm requesting this one. It should be somewhat same as this:
Lava Monster Respawn
Events
Unit - A unit Dies
Conditions
(Unit-type of (Dying unit)) Equal to Lava Monster
Actions
Wait 30.00 seconds
Unit - Create 1 (Unit-type of (Dying unit)) for Neutral Hostile at (Position of (Dying unit)) facing Default building facing degrees
Unit - Set level of Permanent Immolation (Lava Monster) for (Last created unit) to Difficulty_Spell_Level
Special Effect - Create a special effect attached to the origin of (Last created unit) using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
Special Effect - Destroy (Last created special effect)
There can be different enemies with different respawn times. There are about 1 to 5 different enemies that will use this system. Also I might turn on/off respawn for specific enemies.
Unit - Create 1 Unit for Neutral Hostile at (Position of (Dying unit)) facing Default building facing degrees
Unit - Set level of Permanent Immolation (Lava Monster) for (Last created unit) to Difficulty_Spell_Level
Special Effect - Create a special effect attached to the origin of (Last created unit) using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
Special Effect - Destroy (Last created special effect)
(Unit-type of (Dying unit)) Equal to Spider Crab Shorecrawler
Actions
Unit Group - Add (Dying unit) to CreepGroup
Wait 10.00 seconds
Unit Group - Pick every unit in CreepGroup and do (Actions)
Loop - Actions
Unit Group - Remove (Picked unit) from CreepGroup
Unit - Create 1 (Unit-type of (Picked unit)) for Neutral Hostile at (Position of (Picked unit)) facing Default building facing degrees
Unit - Set level of Immolation for (Picked unit) to 1
Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
Special Effect - Destroy (Last created special effect)
*No leaks
*Supports revive even if the triggering unit gets removed
*Revives the unit where it was originally positioned, not where it died
Add the special effect, unit types and ability level setting yourself. rtime is the time after which a unit gets revived.
In the init trigger, you can add a unit type if/then/else inside the unit group loop, so it doesn't store data for units that are not supposed to be revived.
It's not a good idea to revive a unit where it died. In RPGs you can lure units to towns for example, and then they fight guards there endlessly. Also, one must think of the case where the revive time is longer than decay time of bones. The unit won't exist after the decay time is over, therefore calling <position of triggering unit> returns null.
(Unit-type of (Dying unit)) Equal to Lava Monster (Chapter 6 Basic Enemy)
Actions
Set TempLoc = (Position of (Dying unit))
Set TempGroup2 = (Units owned by Neutral Hostile)
Set TempGroup = (Units within 200.00 of TempLoc matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is in TempGroup2) Equal to True) and (((Matching unit) has buff Invulnerable) Equal to False))))
Set TempReal = (200.00 + ((Real(Difficulty_Spell_Level)) x 100.00))
Item - Create Fire Heart at TempLoc
Special Effect - Create a special effect at TempLoc using Abilities\Spells\Other\Doom\DoomDeath.mdl
Special Effect - Destroy (Last created special effect)
Unit Group - Pick every unit in TempGroup and do (Actions)
Loop - Actions
Unit - Cause BOSS2 to damage (Picked unit), dealing TempReal damage of attack type Spells and damage type Normal
Special Effect - Create a special effect attached to the head of (Picked unit) using Abilities\Spells\Items\AIfb\AIfbSpecialArt.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call DestroyGroup(udg_TempGroup2)
Custom script: call DestroyGroup(udg_TempGroup)
Custom script: call RemoveLocation(udg_TempLoc)
EDIT: Suddenly no more that screen and the system started to work. THANKS ONCE AGAIN, MAKER FOR THIS SIMPLE, YET VERY USEFUL SYSTEM!
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.