Hice eso en un mapa. Uso este sistema https://www.hiveworkshop.com/pastebin/894d2c076c67b006c00e4abe5fa27d0a18789/
[gui]LastHeroHit Dmg
Acontecimientos
Partida - DamageModifierEvent becomes Igual a 1.00
Condiciones
(DamageEventTarget is Un hÃ

roe) Igual a (==) True
(DamageEventSource belongs to an enemy of (Owner of DamageEventTarget)) Igual a (==) True
Acciones
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
(Owner of DamageEventSource) No igual a (!=) Jugador 6 (naranja)
(Owner of DamageEventSource) No igual a (!=) Jugador 12 (marrón)
(Owner of DamageEventSource) No igual a (!=) Neutral hostil
Entonces: Acciones
Set HEROLasHit[(Player number of (Owner of DamageEventTarget))] = DamageEventSource
Cuenta atrás del reloj - Start Timer_Hro_lastHit[(Player number of (Owner of DamageEventTarget))] as a Un tiro timer that will expire in 5.00 seconds
-------- --- --------
-------- --- --------
Otros: Acciones
[/gui]
[gui]LastHeroHit
Acontecimientos
Tiempo - Timer_Hro_lastHit[1] expires
Tiempo - Timer_Hro_lastHit[2] expires
Tiempo - Timer_Hro_lastHit[3] expires
Tiempo - Timer_Hro_lastHit[4] expires
Tiempo - Timer_Hro_lastHit[5] expires
Tiempo - Timer_Hro_lastHit[7] expires
Tiempo - Timer_Hro_lastHit[8] expires
Tiempo - Timer_Hro_lastHit[9] expires
Tiempo - Timer_Hro_lastHit[10] expires
Tiempo - Timer_Hro_lastHit[11] expires
Condiciones
Acciones
Do Multiple ActionsFor each (Integer Asis_Loop) from 2 to 11, do (Actions)
Bucle: Acciones
Custom script: if GetExpiredTimer() == udg_Timer_Hro_lastHit[udg_Asis_Loop] then
Set HEROLasHit[Asis_Loop] = Ninguna unidad
Custom script: endif
-------- --------
[/gui]
[gui]HeroLastHit config
Acontecimientos
Partida - DamageModifierEvent becomes Igual a 1.00
Condiciones
(DamageEventTarget belongs to an enemy of (Owner of HEROLasHit[(Player number of (Owner of DamageEventTarget))])) Igual a (==) True
HEROLasHit[(Player number of (Owner of DamageEventTarget))] No igual a (!=) Ninguna unidad
DamageEventAmount Mayor que (>) (Vida of DamageEventTarget)
Multiple ConditionsOr - Any (Conditions) are true
Condiciones
(Owner of DamageEventSource) Igual a (==) Jugador 6 (naranja)
(Owner of DamageEventSource) Igual a (==) Jugador 12 (marrón)
Acciones
Set DamageEventAmount = 0.00
Unidad - Set life of DamageEventTarget to 1.00
Unidad - Cause HEROLasHit[(Player number of (Owner of DamageEventTarget))] to damage DamageEventTarget, dealing 2.00 damage of attack type Caos and damage type Universal
[/gui]
Lo que esto hace es guardar el último héroe que le hizo daño a un héroe, y si recibe daño letal de una torre, cancela ese daño, luego hace que el héroe en cuestión lo mate (haciendo que el objetivo baje a 1 de vida y luego causandole 2 de daño