TLDR: this thread kind of changed topic mid flight, the main topic - I am trying to get damage engine to help me transfer the damage one unit gets to a different one, and for some reason having trouble doing this. I'm using damage engine V5.6.0 bc I'm using patch 1.31.1.
hey all,
I'm trying to create an ability that makes a few allied units take damage instead of the caster, sort of a 1 way spirit link.
the way I came up with to do this was to have the caster cast spirit link with 100% damage sharing (distributed damage factor set to 0.01), and make the targeted unit take a percentage of his damage, thus distributing it among the spirit link.
it's not working....the caster is taking full damage, and only the targeted unit is taking damage from him. it's not being distributed further. what did I do wrong? (I am using bribe's unit indexer and damage engine)
thanks!
hey all,
I'm trying to create an ability that makes a few allied units take damage instead of the caster, sort of a 1 way spirit link.
the way I came up with to do this was to have the caster cast spirit link with 100% damage sharing (distributed damage factor set to 0.01), and make the targeted unit take a percentage of his damage, thus distributing it among the spirit link.
it's not working....the caster is taking full damage, and only the targeted unit is taking damage from him. it's not being distributed further. what did I do wrong? (I am using bribe's unit indexer and damage engine)
-
Carried setup
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Carried
-
Actions
- Set CV = (Custom value of (Triggering unit))
- Set CarriedTarget[CV] = (Target unit of ability being cast)
- Unit Group - Add (Triggering unit) to CarriedGroup
- Trigger - Turn on Carried loop <gen>
-
Events
-
carried damage
-
Events
- Game - DamageModifierEvent becomes Equal to 1.00
-
Conditions
- (DamageEventTarget is in CarriedGroup) Equal to True
-
Actions
- Set CV = (Custom value of DamageEventTarget)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of Carried for DamageEventTarget) Equal to 1
-
Then - Actions
- Unit - Cause DamageEventSource to damage CarriedTarget[CV], dealing (DamageEventAmount x 0.30) damage of attack type Normal and damage type Normal
- Set DamageEventAmount = (DamageEventAmount x 0.70)
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of Carried for DamageEventTarget) Equal to 2
-
Then - Actions
- Unit - Cause DamageEventSource to damage CarriedTarget[CV], dealing (DamageEventAmount x 0.50) damage of attack type Normal and damage type Normal
- Set DamageEventAmount = (DamageEventAmount x 0.50)
-
Else - Actions
- Unit - Cause DamageEventSource to damage CarriedTarget[CV], dealing (DamageEventAmount x 0.70) damage of attack type Normal and damage type Normal
- Set DamageEventAmount = (DamageEventAmount x 0.30)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
Events
-
Carried loop
-
Events
- Time - Every 0.20 seconds of game time
- Conditions
-
Actions
-
Unit Group - Pick every unit in CarriedGroup and do (Actions)
-
Loop - Actions
- Set CV = (Custom value of (Picked unit))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (CarriedTarget[CV] has buff Carried ) Equal to False
-
Then - Actions
- Unit Group - Remove (Picked unit) from CarriedGroup
- Else - Actions
-
If - Conditions
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (CarriedGroup is empty) Equal to True
-
Then - Actions
- Trigger - Turn off (This trigger)
- Else - Actions
-
If - Conditions
-
Unit Group - Pick every unit in CarriedGroup and do (Actions)
-
Events
thanks!
Last edited: