Units don't get properly stunned by the dummy

Zealot

Member
Reaction score
11
Ok, I've made a ability based on Fan of Knives and added a trigger so that it also stuns the targets for 2 second, but it only randomly stuns one instead of all units in range, what's wrong with it?

Trigger:
  • Flurry
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Skull Flurry
    • Actions
      • Set FlurryCaster = (Casting unit)
      • Set Flurried = (Position of (Casting unit))
      • Set FlurriedGroup = (Units within 450.00 of Flurried matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of FlurryCaster)) Equal to True) and ((((Matching unit) is A f
      • Unit - Create 1 Dummy for (Owner of FlurryCaster) at Flurried facing Default building facing degrees
      • Set FlurryDestroyer = (Last created unit)
      • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
      • Unit - Add Flurry Stun to (Last created unit)
      • Unit Group - Pick every unit in FlurriedGroup and do (Actions)
        • Loop - Actions
          • Unit - Order FlurryDestroyer to Human Mountain King - Storm Bolt (Picked unit)
      • Custom script: call RemoveLocation(udg_Flurried)
      • Custom script: call DestroyGroup(udg_FlurriedGroup)
 

Zealot

Member
Reaction score
11
1 unit can't stun at same time 10000 units... if you had to do this way you would use war stomp instead.

Weird, is it only for stuns? I have other group effect triggers in which a single unit casts entangling roots or slow on an entire unit group. I can't use war stomp because I want it to look like the unit gets stunned due to the skulls hitting his noggin. Can't it be done any other way?
 

Tichondrius

New Member
Reaction score
11
Yes... I don'y know what the problem could be :/.

Storm Bolt has a hardcoded casting time that's not instantaneous. Basicly the dummy can't be casting its ability more then once per a certain duration.

If you want to use Storm Bolt over Warstomp you will need to create a dummy unit for each unit you want to stun.

EDIT: Looking over your code I noticed you set your dummy unit to a variable. That's not needed, it will clear itself with the expiration timer and you can still order it as Last Created Unit since there are no waits.
 

Zealot

Member
Reaction score
11
Storm Bolt has a hardcoded casting time that's not instantaneous. Basicly the dummy can't be casting its ability more then once per a certain duration.

If you want to use Storm Bolt over Warstomp you will need to create a dummy unit for each unit you want to stun.

Goddamit, nevermind I think i'll use entangling roots and give it the stun buff, at least that will work :/.

EDIT: I changed to entangling roots and there's a problem that way too. The trigger is buggy but I can't see where...
 

Tichondrius

New Member
Reaction score
11
Goddamit, nevermind I think i'll use entangling roots and give it the stun buff, at least that will work :/.

Well it shouldn't be that hard to modify your trigger to work as intended. Just add on a For each Integer A from 1 to number of units in FlurriedGroup then move the dummy creation part into that loop and you're done.

You already did the "hard" part.

EDIT: I changed to entangling roots and there's a problem that way too. The trigger is buggy but I can't see where...

EDIT in response to your edit: Same problem, most spells aren't instant cast. The only spell I can think of on the spot that is instant cast is Beserk. I'm sure there's more but the fact that I can't remember more then one on the spot says something.
 

Zealot

Member
Reaction score
11
Well it shouldn't be that hard to modify your trigger to work as intended. Just add on a For each Integer A from 1 to number of units in FlurriedGroup then move the dummy creation part into that loop and you're done.

You already did the "hard" part.

I'm gonna try something else, thanks for the help though + rep to both:thup:.
 

Tichondrius

New Member
Reaction score
11
I'm sorry, I just realised I was offering bad advice. (Talking about the For Loop bit, totally meant Pick Every Unit). Anyway here's what the working version would look like: (you were close)

Trigger:
  • Flurry
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Skull Flurry
    • Actions
      • Set FlurryCaster = (Casting unit)
      • Set Flurried = (Position of (Triggering Unit))
      • Set FlurriedGroup = (Units within 450.00 of Flurried matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of FlurryCaster)) Equal to True) and ((((Matching unit) is A f
      • Unit Group - Pick every unit in FlurriedGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for (Owner of FlurryCaster) at Flurried facing Default building facing degrees
          • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
          • Unit - Add Flurry Stun to (Last created unit)
          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
      • Custom script: call RemoveLocation(udg_Flurried)
      • Custom script: call DestroyGroup(udg_FlurriedGroup)
 

Zealot

Member
Reaction score
11
I'm sorry, I just realised I was offering bad advice. (Talking about the For Loop bit, totally meant Pick Every Unit). Anyway here's what the working version would look like: (you were close)

Trigger:
  • Flurry
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Skull Flurry
    • Actions
      • Set FlurryCaster = (Casting unit)
      • Set Flurried = (Position of (Triggering Unit))
      • Set FlurriedGroup = (Units within 450.00 of Flurried matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of FlurryCaster)) Equal to True) and ((((Matching unit) is A f
      • Unit Group - Pick every unit in FlurriedGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for (Owner of FlurryCaster) at Flurried facing Default building facing degrees
          • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
          • Unit - Add Flurry Stun to (Last created unit)
          • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Picked unit)
      • Custom script: call RemoveLocation(udg_Flurried)
      • Custom script: call DestroyGroup(udg_FlurriedGroup)

Works now, but I changed the trigger X(, oh well thanks anyway might need it for my last hero :D.
 
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