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

Help with attack speed increase after every attack

Status
Not open for further replies.
Level 9
Joined
Jun 10, 2013
Messages
473
Hey >:D Can any one help me out with triggering this ability?:

Bloodlust: (Infinite amount of stacking )
With each attack the Demon's bloodlust grows stronger and stronger causing his attack and movement speed to increase by 5% after every strike how ever should the Demon not attack for 10 seconds the bloodlust bonus will be over.

As always all help is appreciated and have a great day :) btw I have a unit indexer, DDS and the Bonus mod.
 
Level 7
Joined
Nov 19, 2015
Messages
283
Hey >:D Can any one help me out with triggering this ability?:

Bloodlust: (Infinite amount of stacking )
With each attack the Demon's bloodlust grows stronger and stronger causing his attack and movement speed to increase by 5% after every strike how ever should the Demon not attack for 10 seconds the bloodlust bonus will be over.

As always all help is appreciated and have a great day :)


Create the bloodlust ability with many levels with 5% increases and 10s duration. Don't think inifinite is possible but really high numbers should work.
If you are using a damage detection system then all good however if you use the event - unit is attacked, you can cancel attack animation to boost you attack/move speed.

Trigger something like this

On event
Set i = i+1
set t = 10
create dummy
Add bloodlust
Set level of bloodlust to i
cast it on your unit

Every 0.5 seconds
set t = t-0.5
if t=0 then
i = 0

This is only a simple example, its not MUI and check your leaks. I can give you a better example if you don't understand. The higher leveled buff will override the previous buff and reset the buff duration
 
Level 9
Joined
Jun 10, 2013
Messages
473
Create the bloodlust ability with many levels with 5% increases and 10s duration. Don't think inifinite is possible but really high numbers should work.
If you are using a damage detection system then all good however if you use the event - unit is attacked, you can cancel attack animation to boost you attack/move speed.

Trigger something like this

On event
Set i = i+1
set t = 10
create dummy
Add bloodlust
Set level of bloodlust to i
cast it on your unit

Every 0.5 seconds
set t = t-0.5
if t=0 then
i = 0

This is only a simple example, its not MUI and check your leaks. I can give you a better example if you don't understand. The higher leveled buff will override the previous buff and reset the buff duration

I kind of get it but if you could elaborate any more please do soo and thanks for helping out :D
 
Level 7
Joined
Nov 19, 2015
Messages
283
that's the point the unit has almost no hitpoints and low damage

You will hit the max attackspeed and movespeed of the game anyway. Unless his initial ATK speed /Mv Spd is really low stacking 5% will double the attack speed in 20 hits with the rate increasing exponentially. Just make enough levels so that you can at least reach the max attack speed. Movespeed is capped at 522 unless you use movespeed systems to bypass that but you will still have to trigger the 5% increases rather than rely on bloodlust.

EDIT: what part do you not understand?
 
Level 9
Joined
Jun 10, 2013
Messages
473
You will hit the max attackspeed and movespeed of the game anyway. Unless his initial ATK speed /Mv Spd is really low stacking 5% will double the attack speed in 20 hits with the rate increasing exponentially. Just make enough levels so that you can at least reach the max attack speed. Movespeed is capped at 522 unless you use movespeed systems to bypass that but you will still have to trigger the 5% increases rather than rely on bloodlust.

EDIT: what part do you not understand?

just what event i'd use since isn't the attacked unit thing buggy?
 
Level 7
Joined
Nov 19, 2015
Messages
283
just what event i'd use since isn't the attacked unit thing buggy?

Well you said you had a DDS system so why not use:

Unit takes damage event
Damage source = Your hero
Damage type not equal to spell_damage


So this checks that the damage is coming from your hero but not from his spells. Not sure what DDS you use. I use Bribe's and it has damage types.
 
Level 9
Joined
Jun 10, 2013
Messages
473
Well you said you had a DDS system so why not use:

Unit takes damage event
Damage source = Your hero
Damage type not equal to spell_damage


So this checks that the damage is coming from your hero but not from his spells. Not sure what DDS you use. I use Bribe's and it has damage types.

thanks and I probably hav e the same and will test this out and get back to you

EDIT since there to events this would require two triggers?
bte there is no unit takes damage event.
 
Last edited:
Level 9
Joined
Jun 10, 2013
Messages
473
So the ability works but its buggy with my Two test units they got the buff every time they attacked however the second temp unit eventually stop receiving the buff permanently while the other one still does and eventually the opposite happens :/ maybe I did some thing wrong so here's the two triggers

  • Bloodlust
    • Events
      • Game - DamageEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Demon
      • DamageEventType Equal to 0
    • Actions
      • Set Unit_Caster = (Triggering unit)
      • Set Player_Owner = (Owner of Unit_Caster)
      • Set TempPoint = (Position of Unit_Caster)
      • Set AbilityAdd = Bloodlust dummy
      • Set DamageEventSource = Unit_Caster
      • Set IsDamageSpell = False
      • Set i = (i + 1)
      • Set t = 10
      • Unit - Create 1 Dummy Spellcaster for Player_Owner at TempPoint facing Default building facing degrees
      • Set TempUnit = (Last created unit)
      • Unit - Add AbilityAdd to TempUnit
      • Unit - Set level of AbilityAdd for TempUnit to i
      • Unit - Order TempUnit to Orc Shaman - Bloodlust Unit_Caster
      • Trigger - Turn on Bloodlust Copy <gen>
      • Custom script: call RemoveLocation(udg_TempPoint)
  • Bloodlust Copy
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • Set t = (t - (1 / 2))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • t Equal to 0
        • Then - Actions
          • Set i = 0
        • Else - Actions
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
Download a BonusMod. (Google search for "Warcraft 3 BonusMod" would do.)

Then you can do:
- Add unit bonus attack speed: 5
The syntax depends on what stat system you will be using.

You can do the duration by dynamic indexing or by timers (preferable but requires some JASS).
 
Level 9
Joined
Jun 10, 2013
Messages
473
Download a BonusMod. (Google search for "Warcraft 3 BonusMod" would do.)

Then you can do:
- Add unit bonus attack speed: 5
The syntax depends on what stat system you will be using.

You can do the duration by dynamic indexing or by timers (preferable but requires some JASS).

I do have a bonus mod installed how ever could please explain how to do what your suggesting in more detail :)
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
the part about "Set SL_Counter[SL_Loop_Integer] = (SL_Counter[SL_Loop_Integer] + 0.10)"

However, I have to recommend you to actually do that tutorial and make that ability that they describe.
It will improve your skills really much at this point.
 
Level 9
Joined
Jun 10, 2013
Messages
473
the part about "Set SL_Counter[SL_Loop_Integer] = (SL_Counter[SL_Loop_Integer] + 0.10)"

However, I have to recommend you to actually do that tutorial and make that ability that they describe.
It will improve your skills really much at this point.

I think i'll learn more if I just adapt it to what I want instead of making an ability I don't need any how this is what I've got so far, not much

  • Bloodlust
    • Events
      • Game - DamageEvent becomes Equal to 1.00
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Demon
      • DamageEventType Equal to 0
    • Actions
      • Set SL_Caster[SL_Index] = (Triggering unit)
      • Set Player_Owner = (Owner of SL_Caster[SL_Index])
      • Set TempPoint = (Position of SL_Caster[SL_Index])
      • Set AbilityAdd = Bloodlust dummy
      • Set DamageEventSource = SL_Caster[SL_Index]
      • Set SL_Target[SL_Index] = (Target unit of ability being cast)
      • Set SL_Counter[SL_Index] = 0.00
      • Set IsDamageSpell = False
      • Set i = (i + 1)
      • Set t = 10
      • Unit - Create 1 Dummy Spellcaster for Player_Owner at TempPoint facing Default building facing degrees
      • Set TempUnit = (Last created unit)
      • Unit - Add AbilityAdd to TempUnit
      • Unit - Set level of AbilityAdd for TempUnit to i
      • Unit - Order TempUnit to Orc Shaman - Bloodlust SL_Caster[SL_Index]
      • Trigger - Turn on Bloodlust Copy <gen>
      • Custom script: call RemoveLocation(udg_TempPoint)
  • Bloodlust Copy
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • Set t = (t - (1 / 2))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • t Equal to 0
        • Then - Actions
          • Set i = 0
        • Else - Actions
 
Level 7
Joined
Nov 19, 2015
Messages
283
I agree with Weilol that you should try to follow the example as it really helps you learn. At least follow it in your head but if you can't make the spell. This is one of those things that if you learn it, it will help you with almost everything. Its really important.

Ill have a look at bonus mods and try to see if I can clear things up for you.
 
Level 15
Joined
Aug 14, 2007
Messages
936
Since you have a DDS you should just check unit type, avoid using built in damage, all damage from that particular hero based off spells should be done by dummy units not the actual hero, that would ensure to work correctly. Lastly, change the item abilities to base off dummy units to perfect it.
 
Level 7
Joined
Nov 19, 2015
Messages
283
Since you have a DDS you should just check unit type, avoid using built in damage, all damage from that particular hero based off spells should be done by dummy units not the actual hero, that would ensure to work correctly. Lastly, change the item abilities to base off dummy units to perfect it.

I think his problem is making it MUI not with the DDS system.
 
Level 15
Joined
Aug 14, 2007
Messages
936
Alright for the Mui part you can always check the buff difference, or ability level depending on Whut you choose, if it has a buff then you have to make different kinds of buff, the 10 seconds deactivation would be a lot easier with the buff since it has a timer itself. Mui with passive ability add-on will be harder for the 10 seconds limit.
 
Status
Not open for further replies.
Top