• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

DOT [GUI-Damage Over Time]

  • Like
Reactions: Shade Da Scout
The GUI DOT [Damage Over Time] System

This system allows you to attach a damage dealt over time to a unit of your choice.
You can check the Sample Spell to see how this system works.

This GUI version is the first result of the teamwork between Dynasti and Paladon, started due to a request for the GUI version of the DOT system.



Keywords:
Damage, Time, System, Spell, Hero,
Contents

GUI DOT [Damage Over Time] (Map)

Reviews
09:57, 17th Jan 2009 Hanky: Advice: 5 points are the highest rating and 1 point is the lowest rating. Documentation: 4 Visual Effects: - Triggering: 5 Idea: 3 Good job, this could be useful for all GUI users. Advice: If you...

Moderator

M

Moderator

09:57, 17th Jan 2009
Hanky:
Evaluation

Rating Points
Advice: 5 points are the highest rating and 1 point is the lowest rating.

Documentation: 4
Visual Effects: -
Triggering: 5
Idea: 3
Rating Comment

Good job, this could be useful for all GUI users.
Advice: If you didn't understood my rating or if you maybe have questions because you don't know how to fix bugs or leaks etc.. You can always send a private message to me. I will answer as soon I got time.
 
Paladon, you're unbelievable. And Dynasti?! You both can cause GUI chaos together. 5/5

EDIT: Damn, there should be some description on how the system precisely works. :/

EDIT 2: When I implemented it in my map, the map lags. >.< I changed the periodic event and the variables and it still lags. D:
 
Last edited:
Level 24
Joined
May 9, 2007
Messages
3,563
I'm looking at it. Expect edit soon.

Well, the code itself is nice and clean. Not overly long, and the users end is nice.

No leaks that I could find in the code, mostly because reals don't leak, and it's you. 0.01 was a poor call.

Really, it should be much, much slower.

Also, although this isn't applicable so much for GUI, change the Multi-Line if/then/else in GetDot to a one liner. That's just me though.

EDIT 2: Hell, it was a still a 5/5. Good job, although the math was simple. :p
 
Level 16
Joined
Oct 12, 2008
Messages
1,570
Paladon,, i got a question,, for quite a while i have been looking at your triggering very closely, and i think i learned a LOT about it!,, but what i dont get is the Integer[1],,
What is it for?

Anywayz,, very nice!! And again learned something about GUI ^^
 
Level 16
Joined
Oct 12, 2008
Messages
1,570
no xD i know what an array for is,,
but the DT_Integers[1] (i mean the 1,, with the 1 in the array box)
The 2 is how many units,, (or something like that)
the 3 is for the loop
but the 1? i dont get that,,
 
Level 16
Joined
Oct 12, 2008
Messages
1,570
W00t! ^^ i finally understand that! I always thought turning off the trigger was bad, because then other units effected by the same spell (diferent caster) werent effected anymore,, but your Integers[1] is a great solution to that!

And again,, Paladon has learned me a new thing!! +rep!
 
Level 5
Joined
Sep 29, 2008
Messages
171
I'm trying to make a DoT on hit effect, but from digging through the triggers, I'm even more thoroughly confused. Can't I just have a countdown that on every 2 deals ([level of ability]x8)+2 damage?
But then again, countdown timers are confusing for me having not messed with them before now T.T I'll go find a tutorial and tell you whether my idea works or not ^.^
 
Level 11
Joined
Sep 14, 2009
Messages
284
I'm having a problem with this system. When I set DTA_Time to 18, the unit will be damaged 19 times. (I have a floating text system, I counted the dots several times and there is 19 of them).
I tried solving this by setting the DTA_Time to 17, but then the damage done will be incorrect.
Any idea how to solve this?
EDIT: Solved, with some calculations the damage can be corrected.
 
Last edited:
Level 2
Joined
Oct 16, 2017
Messages
16
Well I realize this system is well over 10 years old at this point, but I was wondering if anyone would be able to explain to me how to make it so the DOT stops when the buff is removed/dispelled?
I've had a go at it for the last couple of hours as I thought it'd be relatively simple. But I'm at a bit of a stand-still now.

I've uploaded a screenshot of my attempt, I would have posted the trigger text but the option seems to be missing for me when I right click the trigger and when I press edit the option to copy to text is greyed out.
- I made a new array variable to keep track of which buff a spell applies
- I've inserted it into the looping trigger
- It works for a single spell but only when the array is set to 1, as shown in the screenshot. I would have thought that this should be a 3 for the current executing DOT as Paladon put in the thread.
Ok, the [1] counts the current active spells(DOTs), the [2] raises for every new DOT, [2] does not decrease until [1] is 0. If [1] is 0, [2] is set to 0.
[3] is the current executing DOT.

However, when I cast a second spell after the first ones duration has finished the second spell mimics the DOT effects of the first.
Furthermore if I dispel the first buff while a second is up then the DOT for the second spell will also disappear.

Apologies if bumping old spells is against the posting rules.
 

Attachments

  • Issue.png
    Issue.png
    66.1 KB · Views: 35

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,456
Well I realize this system is well over 10 years old at this point, but I was wondering if anyone would be able to explain to me how to make it so the DOT stops when the buff is removed/dispelled?
I've had a go at it for the last couple of hours as I thought it'd be relatively simple. But I'm at a bit of a stand-still now.

I've uploaded a screenshot of my attempt, I would have posted the trigger text but the option seems to be missing for me when I right click the trigger and when I press edit the option to copy to text is greyed out.
- I made a new array variable to keep track of which buff a spell applies
- I've inserted it into the looping trigger
- It works for a single spell but only when the array is set to 1, as shown in the screenshot. I would have thought that this should be a 3 for the current executing DOT as Paladon put in the thread.


However, when I cast a second spell after the first ones duration has finished the second spell mimics the DOT effects of the first.
Furthermore if I dispel the first buff while a second is up then the DOT for the second spell will also disappear.

Apologies if bumping old spells is against the posting rules.

Paladon hasn't been online in 5 years. I'd recommend posting your question in the World Editor Help Zone.
 
Top