• 🏆 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!

[GUI] "Haste" Spells

I have noticed that on hive isn't any spell/tutorial/system.... that uses "haste"
if you play WoW you know what i mean.
Haste is something that increases casting speed of a spell or reduces it's time between ticks by %.
I have made a simple trigger to show what i mean:
  • Haste
    • Events
      • Time - Every (1.00 / (1.00 + ((%Haste) / 100.00))) seconds of game time
    • Conditions
    • Actions
      • Unit - Cause CASTER to damage TARGET, dealing 100.00 damage of attack type Spells and damage type Normal
I used this in my map, i think it is useful but don't know if already someone made this (maybe :p), The formula for haste calculation is this:
Base Casting Time / (1 + (% Spell Haste / 100))

Base Casting Time = means the casting time that has the spell (or time between ticks)

1 = it is the same as the casting time (in this case Base Casting time was too 1)

% Spell Haste = It is the ammount of haste that the caster has (I calculated the haste as Intelligence of the hero / 7.5(in my map(but you can use whatever))

100 = the number 100 makes from it % (if you write 50 instead, the haste will be doubled, 25 = 4x, 12.5 = 8x .....)

Note that the Event must be inserted through another trigger (through init or others....) and only then can be used variables!!!

Edit: One final thing, if the haste is 100% the casting speed will not be reduced to 0, because the formula is:
1 / (1+Haste/100)
That means it will just decrease the casting speed by half ---> 1/2
200% equal to a 1/3 reduction, 300% = 1/4 so it is:
1/((%Haste/100)+1)
 
Last edited:

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,183
1. the haste should be stored in variable, it should not be calculated every X seconds.
2. the example you use is not MUI.
3. this forces you to trigger every single spell, haste wont stack on normal abilities this highly limit the usage.

even if you fix all that in some way you still need to improve the tutorial by a lot, check out approved GUI tutorials to see what I mean.
 
1. the haste should be stored in variable, it should not be calculated every X seconds.
But thats the point of the system, calculate it every X seconds, so you don't have to calculate it using another trigger, more profit, less memorey used.
2. the example you use is not MUI.
I thought this is a tutorial section, not the spell section but anyways, it's an example not the final spell, there ARE other sections where players can learn how to make spells MUI/Leakless.
3. this forces you to trigger every single spell, haste wont stack on normal abilities this highly limit the usage.
Don't know what you mean :p

even if you fix all that in some way you still need to improve the tutorial by a lot, check out approved GUI tutorials to see what I mean.
Ok, i will update it if ppl will interest in it.
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,183
"I thought this is a tutorial section, not the spell section but anyways, it's an example not the final spell, there ARE other sections where players can learn how to make spells MUI/Leakless."

you must show a good way to show how its done properly, what's the point with a tutorial if you only teach halfway?



"But thats the point of the system, calculate it every X seconds, so you don't have to calculate it using another trigger, more profit, less memorey used."

how can it better to do a calculation every second (close to one second atleast doesnt really mater.) than doing it everytime you pick up a item for example?



"this forces you to trigger every single spell, haste wont stack on normal abilities this highly limit the usage."
Haste needs to be a viable stat and stack on every single spell possible right? how do I apply haste to a default spell like shadow strike?
 
Haste needs to be a viable stat and stack on every single spell possible right? how do I apply haste to a default spell like shadow strike?

It cannot be applied to a default spell, it is made to work only with trigger spells.

how can it better to do a calculation every second (close to one second atleast doesnt really mater.) than doing it everytime you pick up a item for example?
Cause i am too lazy :p, i will update the whole tutorial and make the calculation and other things......
 
Yeah, and how could i make it work for standard spells? :D thats impossible at least until someone doesn't make something with the engine. I made it exactly for a map where i am adding heroes for later use :D.
PS. I used Haste because i wanted to do a hero from LoL (the Harbinger of Doom) with the WoW mechanics. but i stopped at 2 spells thats why i didn't post it. So i tried to make a "tutorial" on how to use haste, how can it be calculated and so on.
My main point wasn't to make spells that ppl can use but add a new idea to Hive.
(btw don't you know if someone else tried something like this?)
 
Top