- Joined
- May 16, 2020
- Messages
- 660
Hi guys,
I'm trying to copy dota 2's Orchid spell: Orchid Malevolence
However, this part of the description is giving me troubles:
I'm guessing this will require a group, to connect the target to the caster. And if a new caster casts the ability on the same unit, to remap the target to the new caster and remove its connection to the old caster. But I don't know how to adjust the below trigger for this (if it's even possible with this structure that is).
Can anyone please help?
Starting the trigger:
I'm trying to copy dota 2's Orchid spell: Orchid Malevolence
Silences the target unit for 5 seconds. At the end of the silence, 30% of the damage received while silenced is inflicted as bonus magical damage.
- Does not directly amplify damage as it is dealt, but rather saves all damage values and deals 30% of it 5 seconds after cast.
- This means that the damage can be avoided by becoming spell immune or invulnerable/hidden at the end of the duration.
- The damage is applied as soon as the debuff expires. Dispelling the debuff, however, skips the damage entirely.
- Recasting Soul Burn on the same target refreshes the duration.
- Doing this delays the damage further, and gives more time to deal damage to the target.
- The damage is credited to the last caster of Soul Burn on the target.
However, this part of the description is giving me troubles:
- The damage is credited to the last caster of Soul Burn on the target.
I'm guessing this will require a group, to connect the target to the caster. And if a new caster casts the ability on the same unit, to remap the target to the new caster and remove its connection to the old caster. But I don't know how to adjust the below trigger for this (if it's even possible with this structure that is).
Can anyone please help?
Starting the trigger:
-
Orchid Malevolence
-
Events
-
Unit - A unit Starts the effect of an ability
-
-
Conditions
-
(Ability being cast) Equal to Orchid Malevolence (Effect)
-
-
Actions
-
Set VariableSet Orchid_Index = (Orchid_Index + 1)
-
Set VariableSet Orchid_Target[Orchid_Index] = (Target unit of ability being cast)
-
Set VariableSet Orchid_Caster[Orchid_Index] = (Triggering unit)
-
Set VariableSet Orchid_Counter[Orchid_Index] = 0
-
-------- --------
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Orchid_Index Equal to 1
-
-
Then - Actions
-
Countdown Timer - Start Orchid_Timer as a Repeating timer that will expire in 0.10 seconds
-
Trigger - Turn on Orchid Malevolence Damage <gen>
-
Trigger - Turn on Orchid Malevolence Loop <gen>
-
-
Else - Actions
-
-
-
-
Orchid Malevolence Damage
-
Events
-
Game - DamageEvent becomes Equal to 1.00
-
-
Conditions
-
(DamageEventTarget has buff Soul Burn (Item)) Equal to True
-
-
Actions
-
Set VariableSet Orchid_CV = (Custom value of DamageEventTarget)
-
Set VariableSet Orchid_DamageTaken[Orchid_CV] = (Orchid_DamageTaken[Orchid_CV] + DamageEventAmount)
-
-
-
Orchid Malevolence Loop
-
Events
-
Time - Orchid_Timer expires
-
-
Conditions
-
Actions
-
For each (Integer Orchid_Integer) from 1 to Orchid_Index, do (Actions)
-
Loop - Actions
-
Set VariableSet Orchid_Counter[Orchid_Integer] = (Orchid_Counter[Orchid_Integer] + 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Or - Any (Conditions) are true
-
Conditions
-
Orchid_Counter[Orchid_Integer] Greater than or equal to 50
-
(Orchid_Target[Orchid_Integer] has buff Soul Burn (Item)) Equal to False
-
-
-
-
Then - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Orchid_Target[Orchid_Integer] has buff Soul Burn (Item)) Equal to True
-
-
Then - Actions
-
Set VariableSet Orchid_CV = (Custom value of Orchid_Target[Orchid_Integer])
-
Unit - Cause Orchid_Caster[Orchid_Integer] to damage Orchid_Target[Orchid_Integer], dealing (0.30 x Orchid_DamageTaken[Orchid_CV]) damage of attack type Spells and damage type Magic
-
-
Else - Actions
-
-
Set VariableSet Orchid_DamageTaken[Orchid_CV] = 0.00
-
-------- --------
-
Set VariableSet Orchid_Target[Orchid_Integer] = Orchid_Target[Orchid_Index]
-
Set VariableSet Orchid_Counter[Orchid_Integer] = Orchid_Counter[Orchid_Index]
-
-------- --------
-
Set VariableSet Orchid_Index = (Orchid_Index - 1)
-
Set VariableSet Orchid_Integer = (Orchid_Integer - 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Orchid_Index Equal to 0
-
-
Then - Actions
-
Countdown Timer - Pause Orchid_Timer
-
Trigger - Turn off Orchid Malevolence Damage <gen>
-
Trigger - Turn off (This trigger)
-
-
Else - Actions
-
-
-
Else - Actions
-
-
-
-
-
Last edited: