• 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!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Essence Shift v1.2

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Is the spell of murlock(dota)
Every time murlock hits an enemy hero you will steal 1 point from all attributes while murlock gets 3 points of Agility.
Level 1._Last 15 seconds
Level 2._Last 30 seconds
Level 3._Last 60 seconds
Level 4._Last 120 seconds

Keywords:
dota, essence shift, murlock, nightwalker, drain damage, drain attributes
Contents

Essence Shift (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 14:18, 15th Sep 2012 Magtheridon96: - The indexing needs to be changed. Try out Bribe's GUI UnitIndexer Alternately, you can check out Hanky's Dynamic Indexing Template - A Damage...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

14:18, 15th Sep 2012
Magtheridon96:

- The indexing needs to be changed.
Try out Bribe's GUI UnitIndexer
Alternately, you can check out Hanky's Dynamic Indexing Template

- A Damage detection system should be used as I mentioned in the PM. Check out Bribe's GUI DamageEngine.

- You should have a configuration trigger that runs on map initialization which can be used by the user to configure things like the amount of stats taken and the duration.
(You would use arrays:
Set interval[1] = 15
Set interval[2] = 30
Set interval[3] = 60
Set interval[4] = 120

// when you want to set the interval, use interval[(Level of ... for ...)])

This is better than having the values reset every single time your trigger runs because the actions become useless after that.
If it's set once as a constant, it doesn't need to be set again, because nothing's modifying it, so you might as well just do it once on map initialization.
 
Level 17
Joined
Jul 17, 2011
Messages
1,863

[trigger=Rovar]Rovar
Events
Unit - A unit Is attacked
Conditions
(((Level of Essence Shift for (Attacking unit)) Greater than 0) and (((Attacked unit) is A Hero) Equal to True)) and (((Strength of (Attacked unit) (Exclude bonuses)) Greater than 1) and (((Agility of (Attacked unit) (Exclude bonuses)) Greater than 1) and ((Intelligence of (Attacked unit) (Exclude bonuses)) Greater than 1)))
Actions
Set Rovar_Count = (Rovar_Count + 1)
Set Rovar_Caster[Rovar_Count] = (Attacking unit)
Set Rovar_Target[Rovar_Count] = (Attacked unit)
Set Rovar_Time[Rovar_Count] = 0
Hero - Modify Agility of Rovar_Caster[Rovar_Count]: Add 3
Hero - Modify Agility of Rovar_Target[Rovar_Count]: Subtract 1
Hero - Modify Strength of Rovar_Target[Rovar_Count]: Subtract 1
Hero - Modify Intelligence of Rovar_Target[Rovar_Count]: Subtract 1
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Essence Shift for Rovar_Caster[Rovar_Count]) Equal to 1
Then - Actions
Set Rovar_Period[Rovar_Count] = 15
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Essence Shift for Rovar_Caster[Rovar_Count]) Equal to 2
Then - Actions
Set Rovar_Period[Rovar_Count] = 30
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Essence Shift for Rovar_Caster[Rovar_Count]) Equal to 3
Then - Actions
Set Rovar_Period[Rovar_Count] = 60
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Essence Shift for Rovar_Caster[Rovar_Count]) Equal to 4
Then - Actions
Set Rovar_Period[Rovar_Count] = 120
Else - Actions
[/trigger]
[trigger=Robar Normal]

Robar Normal
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
For each (Integer Rovar_Integre) from 1 to Rovar_Count, do (Actions)
Loop - Actions
Set Rovar_Time[Rovar_Integre] = (Rovar_Time[Rovar_Integre] + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Rovar_Time[Rovar_Integre] Equal to Rovar_Period[Rovar_Integre]
Then - Actions
Hero - Modify Agility of Rovar_Caster[Rovar_Integre]: Subtract 3
Hero - Modify Agility of Rovar_Target[Rovar_Integre]: Add 1
Hero - Modify Strength of Rovar_Target[Rovar_Integre]: Add 1
Hero - Modify Intelligence of Rovar_Target[Rovar_Integre]: Add 1
Set Rovar_Caster[Rovar_Integre] = No unit
Set Rovar_Target[Rovar_Integre] = No unit
Else - Actions
[/trigger]
 
Level 3
Joined
Jul 29, 2010
Messages
47
Need ajusts. He don't fishing his attacks and stack agi. I'm work in Berserk Trance. Is similar to Essence Shift. When I finish, I'll post here.
 
Top