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!
Damage Over Time IMPORT GUIDE :
1. Enable "Tick the Automatically create unknown variables ..." located at File>Preference>General
2. Copy the DamageOverTime trigger folder
3. Configure the DOTConfig trigger according to the comments provided
4. Configure the triggers that needs the DOT effect based on the provided DOTExample and Example triggers in the test map SPELL INFORMATION :
Based on Dynasti-Paladon Damage Over Time.
Currently focuses on mimicking the features provided in Paladon version. Future extensions are planned.
In order to inflict DOT to a unit, setup a trigger with the following information provided:
DOTExample
Events
Conditions
Actions
-------- SourceUnit refers to the damage source --------
Set DOT_SourceUnit = No unit
-------- TargetUnit refers to the unit being damaged --------
Set DOT_TargetUnit = No unit
-------- Total Damage is the total damage dealt over the entire DOT --------
Set DOT_TotalDamage = 0.00
-------- Duration is how long the effect lasts --------
Set DOT_Duration = 0.00
-------- DamageInterval is the time between two damage instances --------
Set DOT_DamageInterval = 0.00
-------- SFX is the effect attached while the DOT occurs --------
Set DOT_SFX = <Empty String>
-------- SFX Attach Point is the effect attach point while the DOT occurs --------
Set DOT_SFXAttachPoint = <Empty String>
-------- Attack Type is the type of attack for the DOT --------
Set DOT_AttackType = Spells
-------- Damage Type is the type of damage for the DOT --------
Set DOT_DamageType = Unknown
-------- Run the DOT system --------
Trigger - Run DOT_TriggerRegister (checking conditions)
MEDIA SHOWCASE :
CHANGELOG :
Version 1.3: Removed TELL requirement and restructure the code to utilize Dynamic Indexing (refer to this post for the reasoning) - there's no major loss from this since unlike TSELL, DOT is a very closed system by itself.
Version 1.2: Fixed a critical bug within the loop section of the system
Version 1.1: Updated TimedEventLinkedList in test map to match the updated version
Version 1.0: Released
CREDIT :
Dynasti & Paladon: Original [GUI] DamageOverTime
Question: Can you stack DoT with this system? e.g. You deal 100 damage over 10 seconds and 5 seconds later you deal another 100 over 10 seconds. Will the total damage be 200 in that case?
Question: Can you stack DoT with this system? e.g. You deal 100 damage over 10 seconds and 5 seconds later you deal another 100 over 10 seconds. Will the total damage be 200 in that case?
Version 1.1: Updated TimedEventLinkedList in test map to match the updated version
Hi, Daffa here. After some testing I determined that this update is not mandatory IF YOU DO NOT USE TSELL AT ALL. However, DO NOT USE TELL FROM TEST MAP IF YOU DOWNLOAD V1.0 SINCE IT IS NOT COMPATIBLE WITH TSELL!
So, I found a critical bug in the loop's conditional check. This line:
(DOT_TargetUnit is alive) Equal to False
should have been:
(DOT_TargetUnit_I[DOT_Index] is alive) Equal to False
patch 1.2 addresses this issue. If you use 1.0 or 1.1, you can use the following trigger to make it equivalent to the 1.2 fix:
DOTLoop
Events
Conditions
Actions
-------- For readability --------
Set DOT_Index = TELL__Index
-------- Deal damage --------
Unit - Cause DOT_SourceUnit_I[DOT_Index] to damage DOT_TargetUnit_I[DOT_Index], dealing DOT_DamagePerTime_I[DOT_Index] damage of attack type DOT_AttackType_I[DOT_Index] and damage type DOT_DamageType_I[DOT_Index]
-------- End prematurely if target is already killed --------
Set DOT_TargetUnit = DOT_TargetUnit_I[DOT_Index]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(DOT_TargetUnit is alive) Equal to False
Then - Actions
Set TELL__Duration = 0.00
Else - Actions
The only thing you need to add is this line before If/Then/Else condition:
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.