What's wrong with this?

DarkBELL

New Member
Reaction score
1
I'm stuck with yet another skill

This one is called "Savage" its increase the Owner's attackspeed each time its attacks the same target, but revert the bonus back to 0 if the Owner of the skills target a different unit

I create one Real Ability with description and stuff

Then Create 4 Dummies abilities base on Endurance Aura

I create a trigger which give the dummy ability to the unit that Learn the Real Ability

and set the Dmmy Ability level to 1 which gives 10% attackspeed aura
Each time the unit attacks the same target the Bonus goes up by 10% but if it attacks a different target the bonus will bounce back to 5%

At level 4 of the skill - 400% maximum attackspeed bonus can be aquired

It seems to work at first around level 1-2 where the bonus rate is 5% per attacks but when its get to Level 3-4 It starts to ignore conditions and keeps the 400% bons attackspeed on the unit even though the Owner of the skills has attack a different unit

This is my Trigger


This is the Trigger that turn on necessary trigger when I Learn the Skill, There are 4 of these trigger, it pretty much nearly the same thing
Trigger:
  • Savage Learn Level 1
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Savage
    • Actions
      • Set Savage_Hero = (Learning Hero)
      • Unit - Add Savage Attackspeed (Level 1) to Savage_Hero
      • Unit - Set level of Savage Attackspeed (Level 1) for Savage_Hero to 1
      • Trigger - Turn off Savage Attackspeed <gen>
      • Trigger - Turn off Savage Attackspeed 2 <gen>
      • Trigger - Turn on Savage Attackspeed <gen>
      • Wait 2.00 seconds
      • Trigger - Turn on Savage Learn Level 2 <gen>
      • Trigger - Turn off (This trigger)


Trigger:
  • Savage Learn Level 2
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Savage
    • Actions
      • Set Savage_Hero = (Learning Hero)
      • Unit - Remove Savage Attackspeed (Level 1) from Savage_Hero
      • Unit - Add Savage Attackspeed (Level 2) to Savage_Hero
      • Unit - Set level of Savage Attackspeed (Level 2) for Savage_Hero to 1
      • Trigger - Turn off Savage Attackspeed <gen>
      • Trigger - Turn off Savage Attackspeed 2 <gen>
      • Trigger - Turn on Savage Attackspeed <gen>
      • Wait 2.00 seconds
      • Trigger - Turn on Savage Learn Level 3 <gen>
      • Trigger - Turn off (This trigger)


Trigger:
  • Savage Learn Level 3
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Savage
    • Actions
      • Set Savage_Hero = (Learning Hero)
      • Unit - Remove Savage Attackspeed (Level 2) from Savage_Hero
      • Unit - Add Savage Attackspeed (Level 3) to Savage_Hero
      • Unit - Set level of Savage Attackspeed (Level 3) for Savage_Hero to 1
      • Trigger - Turn off Savage Attackspeed <gen>
      • Trigger - Turn off Savage Attackspeed 2 <gen>
      • Trigger - Turn on Savage Attackspeed <gen>
      • Wait 2.00 seconds
      • Trigger - Turn on Savage Learn Level 4 <gen>
      • Trigger - Turn off (This trigger)


Trigger:
  • Savage Learn Level 4
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Savage
    • Actions
      • Set Savage_Hero = (Learning Hero)
      • Unit - Remove Savage Attackspeed (Level 3) from Savage_Hero
      • Unit - Add Savage Attackspeed (Level 4) to Savage_Hero
      • Unit - Set level of Savage Attackspeed (Level 4) for Savage_Hero to 1
      • Trigger - Turn off Savage Attackspeed <gen>
      • Trigger - Turn off Savage Attackspeed 2 <gen>
      • Trigger - Turn on Savage Attackspeed <gen>
      • Trigger - Turn off (This trigger)



Here are the skills Trigger, There are two part to it, one happened when a unit is attack, it trigger of the Attacking unit is the unit with skill, it stored the Attacked unit in variable and check if it the same unit with the other trigger if it is then increase the dummy spell level by 1, if it isn't then set the level of dummy spell to 1. Then it close itself and turn on the other trigger which do the same thing. I believe two trigger is needed because i need to store 2 unit variable and check if they are the same

Trigger:
  • Savage Attackspeed
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Attacking unit) Equal to Savage_Hero
    • Actions
      • Set Savage_Target = (Attacked unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Savage_Target Equal to Savage_Target2
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 1
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 1) for Savage_Hero
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 2
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 2) for Savage_Hero
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 3
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 3) for Savage_Hero
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 4
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 4) for Savage_Hero
            • Else - Actions
        • Else - Actions
          • Unit - Set level of Savage Attackspeed (Level 1) for Savage_Hero to 1
          • Unit - Set level of Savage Attackspeed (Level 2) for Savage_Hero to 1
          • Unit - Set level of Savage Attackspeed (Level 3) for Savage_Hero to 1
          • Unit - Set level of Savage Attackspeed (Level 4) for Savage_Hero to 1
      • Trigger - Turn on Savage Attackspeed 2 <gen>
      • Trigger - Turn off (This trigger)


Trigger:
  • Savage Attackspeed 2
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Attacking unit) Equal to Savage_Hero
    • Actions
      • Set Savage_Target2 = (Attacked unit)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Savage_Target2 Equal to Savage_Target
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 1
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 1) for Savage_Hero
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 2
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 2) for Savage_Hero
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 3
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 3) for Savage_Hero
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Savage for Savage_Hero) Equal to 4
            • Then - Actions
              • Unit - Increase level of Savage Attackspeed (Level 4) for Savage_Hero
            • Else - Actions
        • Else - Actions
          • Unit - Set level of Savage Attackspeed (Level 1) for Savage_Hero to 1
          • Unit - Set level of Savage Attackspeed (Level 2) for Savage_Hero to 1
          • Unit - Set level of Savage Attackspeed (Level 3) for Savage_Hero to 1
          • Unit - Set level of Savage Attackspeed (Level 4) for Savage_Hero to 1
      • Trigger - Turn on Savage Attackspeed <gen>
      • Trigger - Turn off (This trigger)


I cannot find any error in my triggering :( since the skills does work on the first two levels

Can anybody help me with this, or do you have an alternative way to do this skill? I would be appreciate if someone could help me figure this out

Thank you.
 

NeuroToxin

New Member
Reaction score
46
First of all, this could all be in one trigger, A unit is attacked, Unit has ability equal to true, unit ability = to X, increase units attack speed by X. But, you need a damage detection system in order to correctly tell whether or not the unit actually received the damage.
EDIT: By the way, please use [ wc3] [ /wc3] tags, I cant read that crap.
 

tommerbob

Minecraft. :D
Reaction score
110
I don't have an exact answer, but I don't recommend using "A unit is attacked" event. With that, someone could bug the spell and spam attack/stop and gain 400% attack speed really fast. Use a damage detection system instead.
 

Sajin

User title under construction.
Reaction score
56
Perhaps it just that endurance aura doesn't stack? Im guessing but if it works for a little bit but not at later times, maybe it has a limit to stacking, or maybe it doesn't stack at all
 

tommerbob

Minecraft. :D
Reaction score
110
Perhaps it just that endurance aura doesn't stack? Im guessing but if it works for a little bit but not at later times, maybe it has a limit to stacking, or maybe it doesn't stack at all

Aura's with the same buff do not stack at all.

I'd recommend using the Item ability Attack Speed Bonus instead of auras. Just give the ability 100 levels, 0% at the first level, and increasing by 5% increase each level. Give your unit the ability in the Object Editor. In triggering, detect when he deals damage and set the target to a variable. When he attacks again, if it is the same target, increase the level of your ability accordingly.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top