Help with forcing knockback spell to cause damage needed!

Murre

New Member
Reaction score
14
When this ability is cast, it deals damage twice. And I can't figure out why. The ability in object editor doesn't deal damage. Help appreciated! (try to understand my horrible english aswell >_<)

Trigger:
  • Knockback Damage
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Warstomp Pushback
    • Actions
      • For each (Integer A) from 1 to 3, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Warstomp Pushback for (Triggering unit)) Equal to (Integer A)
            • Then - Actions
              • Set KB_DMG_Group = (Units within 350.00 of (Position of (Triggering unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
              • Unit Group - Pick every unit in KB_DMG_Group and do (Actions)
                • Loop - Actions
                  • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (125.00 + (75.00 x (Real((Level of Warstomp Pushback for (Triggering unit)))))) damage of attack type Spells and damage type Normal
            • Else - Actions
              • Custom script: call DestroyGroup (udg_KB_DMG_Group)


I used Tom_Kazansky's GUI Knockback System for this.

Thanks in advance,
/Murre
 

avalya

New Member
Reaction score
37
First of all, why are you using damage area and not picking every ENEMY unit in a 350 area around the caster, or wherever the center of your spell is and deal damage individually to them? Secondly, have you tried removing the Do Nothing actions and placing the next part of the trigger on the "Else" part? Like, when it checks if your spell is level 1, and it is not, then the Else part would check if the spell is level 2, and if it is not, then it would check if it is level 3.
 

Moridin

Snow Leopard
Reaction score
144
Your code could be more efficient. Also I've heard that the "do nothing"s occasionally bug up WC3, so try not to use them. Will write down the code using a loop for you...

Note: The old code also damages allies and causes a leak.

Trigger:
  • KnockBack Damage
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Warstomp Pushback
    • Actions
      • For (Integer A) from 1 to 3 do (multiple actions)
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Level of Warstomp Pushback for KBA_Caster) Equal to (Integer A)
      • Then - Actions
        • Set Temp_Group = (Units in 350 range of (Position of Triggering unit) matching ((Matching unit) belongs to an Ally of (Owner of (Triggering unit)) Equal to True)
        • Unit Group - Pick all units in Temp_Group and do (multiple actions)
          • Unit - Cause (Triggering unit) to damage (Picked unit) dealing (125.00 + (75.00 x (Level of Warstomp Pushback for (Triggering unit))) damage of attack type Spells and damage type Normal
      • Else - Actions
      • Custom script: call DestroyGroup (udg_Temp_Group)
 

Murre

New Member
Reaction score
14
First of all, why are you using damage area and not picking every ENEMY unit in a 350 area around the caster, or wherever the center of your spell is and deal damage individually to them?
Uhm, I really don't know the difference :s That's why :p And I knew this way by heart.

Secondly, have you tried removing the Do Nothing actions and placing the next part of the trigger on the "Else" part? Like, when it checks if your spell is level 1, and it is not, then the Else part would check if the spell is level 2, and if it is not, then it would check if it is level 3.
Nope, I haven't... But I'll certainly look into it. ;)

Thanks to both of you two for the help! :) I really appreciate it :p I'll edit this post when I've tested your solutions. :p

Hmm... I can't really find how to get level of warstomp pushback, is it "(Real" before? the "(Level of Warstomp"? Anyhow, now I remember that I want it to stun aswell. Anyone who knows how to add that into the trigger above?
 

avalya

New Member
Reaction score
37
It's an integer, Convert Real to Integer(Level of _[Ability]_ for _[Unit]_).
 

Murre

New Member
Reaction score
14
It's an integer, Convert Real to Integer(Level of _[Ability]_ for _[Unit]_).
Uhm, you mean "Convert Integer to Real"? Anyhow, in that way it looks like you mentioned.
Yet, this won't work with the damage :s
Edit: Fixed a part, it deals double damage. AGAIN! >_<
 

avalya

New Member
Reaction score
37
Yeah that's what I meant, can't figure out why it deals double damage though, care to post the trigger in
Trigger:
  • (GUI) tags?
 

Murre

New Member
Reaction score
14
*BUMP* (it has been more than 24 hours :p)
It still won't work, could anyone who gets this, explain with a trigger in the post?
Edit this code:
Code:
Knockback Damage
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Warstomp Pushback 
    Actions
        For each (Integer A) from 1 to 3, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Level of Warstomp Pushback  for (Triggering unit)) Equal to (Integer A)
                    Then - Actions
                        Set KB_DMG_Group = (Units within 350.00 of (Position of (Triggering unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
                        Unit Group - Pick every unit in KB_DMG_Group and do (Actions)
                            Loop - Actions
                                Unit - Cause (Triggering unit) to damage (Picked unit), dealing (125.00 + (75.00 x (Real((Level of Warstomp Pushback  for (Triggering unit)))))) damage of attack type Spells and damage type Normal
                    Else - Actions
                        Custom script:   call DestroyGroup (udg_KB_DMG_Group)

Edit: I fixed the damage with some help from Renendaru. Now all I need is a stun ._.
 

avalya

New Member
Reaction score
37
You could, instead of damaging them (if you want spell damage this will work) use a warstomp, to either damage and stun them or only stun them (and deal damage with triggers) or you can use storm bolt.

If you know how to create a dummy unit, good. If not, find out! :)

In the Unit Group loop, create a dummy at the location of the unit, add Storm Bolt to it, set the level of Storm Bolt to the level of the main ability, add a 1 second expiration timer to the dummy, and order the dummy to Human Mountain King - Storm Bolt (Picked Unit).
 
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