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!
Lifestealer of DotA
The hero does not originally belong to me, but I tried to make it as close to the DotA map as possible.
I am using the resources of "Weep": GUI Friendly Damage Detection
Any question, suggestion or criticism is accepted.
"Rage Cast"
Rage Cast
Acontecimientos
Unidad - A unit Inicia el efecto de una habilidad
Condiciones
(Ability being cast) Igual a Lifestealer (Rage)
Acciones
Set RageCast = (Triggering unit)
Unidad - Add Rage (Container) to RageCast
Unidad - Set level of Rage (Container) for RageCast to (Level of (Ability being cast) for RageCast)
Jugador - Desactivar Rage (Container) for (Owner of RageCast)
Animación - Change RageCast's vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
Cuenta atrás del reloj - Start RageTime as a Un tiro timer that will expire in (2.25 + (0.75 x (Real((Level of (Ability being cast) for RageCast))))) seconds
"Rage End"
Rage End
Acontecimientos
Tiempo - RageTime expires
Condiciones
Acciones
For each (Integer A) from 1 to 16, do (Actions)
Bucle: Acciones
Animación - Change RageCast's vertex coloring to (60.00%, 60.00%, 60.00%) with 0.00% transparency
Unidad - Remove Rage (Container) from RageCast
"Feast"
Feast Effect
Acontecimientos
Partida - GDD_Event becomes Igual a 1.00
Condiciones
((Level of Lifestealer (Feast) for GDD_DamageSource) Mayor que 0) and ((GDD_DamagedUnit is Una estructura) Igual a False)
Acciones
Set FeastAttack = GDD_DamageSource
Set FeastAttacked = GDD_DamagedUnit
Set FeastDamage = ((0.03 + (0.01 x (Real((Level of Lifestealer (Feast) for FeastAttack))))) x (Vida of FeastAttacked))
Efecto especial - Create a special effect attached to the origin of FeastAttack using Abilities\Spells\Undead\VampiricAura\VampiricAuraTarget.mdl
Unidad - Cause FeastAttack to damage FeastAttacked, dealing FeastDamage damage of attack type Conjuros and damage type Normal
Unidad - Set life of FeastAttack to ((Vida of FeastAttack) + FeastDamage)
Efecto especial - Destroy (Last created special effect)
Set FeastAttack = Ninguna unidad
Set FeastAttacked = Ninguna unidad
Set FeastDamage = 0.00
"Open Wounds"
Open Wounds Cast
Acontecimientos
Unidad - A unit Inicia el efecto de una habilidad
Condiciones
(Ability being cast) Igual a Lifestealer (Open Wounds)
Acciones
Detonador - Add to Open Wounds Effect <gen> the event (Unidad - (Target unit of ability being cast) Recibe daño)
"Open Wounds Effect"
Open Wounds Effect
Acontecimientos
Condiciones
Acciones
Detonador - Turn off (This trigger)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
((Triggering unit) has buff Open Wounds ) Igual a True
(Damage taken) Mayor que 0.00
Entonces: Acciones
Efecto especial - Create a special effect attached to the origin of (Damage source) using Abilities\Spells\Undead\VampiricAura\VampiricAuraTarget.mdl
Unidad - Set life of (Damage source) to ((Vida of (Damage source)) + ((Damage taken) + (0.10 + (0.05 x (Real((Level of Lifestealer (Open Wounds) for (Damage source))))))))
Efecto especial - Destroy (Last created special effect)
Otros: Acciones
Do nothing
Detonador - Turn on (This trigger)
"Infest Cast"
Infest Cast
Acontecimientos
Unidad - A unit Inicia el efecto de una habilidad
Condiciones
(Ability being cast) Igual a Lifestealer (Infest)
Acciones
Set InfestID = (Ability being cast)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
(InfestTarget belongs to an ally of (Owner of InfestCast)) Igual a True
Entonces: Acciones
Selección - Select InfestCast
Otros: Acciones
Unidad - Set life of InfestCast to ((Vida of InfestCast) + (Vida of InfestTarget))
Unidad - Kill InfestTarget
Selección - Select InfestCast
"Infest Select"
Infest Select
Acontecimientos
Jugador - Jugador 1 (rojo) Seleccionar a unit
Jugador - Jugador 2 (azul) Seleccionar a unit
Jugador - Jugador 3 (teja) Seleccionar a unit
Jugador - Jugador 4 (morado) Seleccionar a unit
Jugador - Jugador 5 (amarillo) Seleccionar a unit
Jugador - Jugador 6 (naranja) Seleccionar a unit
Jugador - Jugador 7 (verde) Seleccionar a unit
Jugador - Jugador 8 (rosa) Seleccionar a unit
Jugador - Jugador 9 (Gris) Seleccionar a unit
Jugador - Jugador 10 (azul claro) Seleccionar a unit
Jugador - Jugador 11 (verde oscuro) Seleccionar a unit
Jugador - Jugador 12 (marrón) Seleccionar a unit
Condiciones
(Triggering unit) Igual a InfestTarget
Acciones
Selección - Select InfestUnit2[InfestInteger]
"Infest Dies"
Infest Dies
Acontecimientos
Unidad - A unit Muere
Condiciones
(Triggering unit) Igual a InfestTarget
Acciones
Set ConsumePoint2 = (Position of (Triggering unit))
Set ConsumeGroupUnit = (Units within 700.00 of ConsumePoint2 matching ((((Matching unit) is Una estructura) Igual a False) and ((((Matching unit) belongs to an enemy of (Owner of InfestCast)) Igual a True) and (((Matching unit) is alive) Igual a True))))
Unidad - Unhide InfestCast
Unidad - Kill InfestUnit2[InfestInteger]
Unidad - Move InfestCast instantly to ConsumePoint2
Selección - Select InfestCast
Grupo de unidad - Pick every unit in ConsumeGroupUnit and do (Actions)
Bucle: Acciones
Unidad - Cause InfestCast to damage (Picked unit), dealing (75.00 + (75.00 x (Real((Level of InfestID for InfestCast))))) damage of attack type Conjuros and damage type Magia
Set ConsumePoint2 = (Position of (Triggering unit))
Set ConsumeGroupUnit = (Units within 700.00 of ConsumePoint2 matching ((((Matching unit) is Una estructura) Igual a False) and ((((Matching unit) belongs to an enemy of (Owner of InfestCast)) Igual a True) and (((Matching unit) is alive) Igual a True))))
Unidad - Unhide InfestCast
Unidad - Kill InfestUnit2[InfestInteger]
Unidad - Move InfestCast instantly to ConsumePoint2
Selección - Select InfestCast
Grupo de unidad - Pick every unit in ConsumeGroupUnit and do (Actions)
Bucle: Acciones
Unidad - Cause InfestCast to damage (Picked unit), dealing (75.00 + (75.00 x (Real((Level of InfestID for InfestCast))))) damage of attack type Conjuros and damage type Magia
A lot of work must be done before this can be deemed useful.
General
Have a configuration section (usually a separate trigger) for each spell. Most of the spell values appear to be hardcoded.
Rage
Rage (container) appears to be the custom Spell Immune ability that's .. meant to be hidden? You can hide it using the Command Button Position trick (0, -11), which is now intended behavior since 1.28+.
The spell itself is not MUI, since there appears to be no data attachment to the running timer.
Feast
Refer to the General section for more details.
Open Wounds
Open Wounds Cast should attempt to assign the level of the ability being cast as the reference level for the debuff being placed or update the value as the maximum between the previous value and the new level of the ability being cast.
Open Wounds Cast should not attach a new unit event every time it's cast, since a damage detection system is already being used by the spellpack.
Open Wounds Effect should use the reference level for the debuff instead of the level of the attacker's own ability.
Infest
Infest Cast and Infest Effect should not share the same event.
Infest Cast should be used with the event "A unit begins casting an ability" only to determine whether the target is eligible or not.
Infest Effect does not need the stop order interruption block, since Infest Cast should ideally handle that already.
Infest Consume leaks a location handle. (ConsumePoint1)
Infest Select is neither MUI, nor does it handle additional events for players 13 to 24 in later patches. Just use the generic event instead.
There's no need to use Do Nothing as an action in Infest Move Loop, aside from padding the conditional blocks.
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.