Ability Help - Sovereign Howl

wc3shady

You can change this now in User CP.
Reaction score
40
I'm making an ability called Sovereign Howl for a unit who is permanently invisible except when attacking. Anyways, the ability effects enemy units within 600 range, and forces them to move to wherever the casting unit is in 10 seconds. Here's my trigger, but whenever I try to use it it doesn't work:


Trigger:
  • Sovereign Howl
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sovereign Howl
    • Actions
      • Set SovereignHowlUnit = (Casting unit)
      • Unit Group - Pick every unit in (Units within 600.00 of (Position of SovereignHowlUnit)) and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Stop
          • Trigger - Run Sovereign Howl Variables <gen> (checking conditions)
          • Wait 10.00 seconds
          • Unit - Order (Picked unit) to Move To SovereignHowlLocation
          • Do nothing



and also:


Trigger:
  • Sovereign Howl Variables
    • Events
    • Conditions
    • Actions
      • Wait 9.90 seconds
      • Set SovereignHowlLocation = (Rally-Point of SovereignHowlUnit as a point)


EDIT

Also, MUI is hard for me - is this MUI? If not, how could it become MUI?
 

perkeyone

something clever
Reaction score
71
i dont think it is mui

use [noparse]
Trigger:
[/noparse] tags instead of [noparse]
PHP:
[/noparse] tags

to make it mui you might have to change most of your variables to arrays
ill edit this with more info in a second

Trigger:
  • Sovereign Howl
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sovereign Howl
    • Actions
      • Set mui = mui + 1
      • If mui > 50
        • Set mui = 1
      • Set SovereignHowlUnit[mui] = (Casting unit)
      • Set castpoint[mui] = position of SovereignHowlUnit
      • Set targets[mui] = units within 600.00 of castpoint
      • Wait 10.00 seconds
      • For every integer A from 1 to 50
        • If SovereignHolwUnit[integer A] equal to (casting unit)
          • set temp_int = integer A
      • Unit Group - Pick every unit in targets[temp_int] and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Stop
          • Unit - Order (Picked unit) to Move To SovereignHowlLocation[integer A]


i think that should work
i did it free hand though
 

wc3shady

You can change this now in User CP.
Reaction score
40
Hey thanks, yeah about the PHP thing I couldn't remember what the trigger tags were so I figured PHP would work.

I'll go try your trigger out - thanks again!

+rep
 

wc3shady

You can change this now in User CP.
Reaction score
40
OK I tried your trigger, it didn't work. I messed around with the trigger some more, but it didn't work.

This is what I got:
Trigger:
  • Sovereign Howl
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sovereign Howl
    • Actions
      • Set mui = (mui + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • mui Greater than 50
        • Then - Actions
          • Set mui = 1
        • Else - Actions
      • Set SovereignHowlUnit[mui] = (Casting unit)
      • Set SovereignHowlCastPoint[mui] = (Position of SovereignHowlUnit[mui])
      • Set SovereignHowlTargets[mui] = (Units within 600.00 of SovereignHowlCastPoint[mui])
      • Wait 10.00 seconds
      • For each (Integer A) from 1 to 50, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SovereignHowlUnit[(Integer A)] Equal to (Casting unit)
            • Then - Actions
              • Set temp_int = (Integer A)
            • Else - Actions
      • Unit Group - Pick every unit in SovereignHowlTargets[temp_int] and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Stop
          • Unit - Order (Picked unit) to Move To SovereignHowlLocation[(Integer A)]


Thanks
 

CaptDeath

New Member
Reaction score
103
why wait why not change
Unit - A unit Starts the effect of an ability
to
Unit - A unit Finishes casting an ability
and have cast time 10 secs
 

Emu.Man00

New Member
Reaction score
41
Why don't you replace (casting unit) with SovereignHowlUnit[mui] if its the same thing?

ALSO:

Trigger:
  • Unit - Order (Picked unit) to Move To SovereignHowlLocation[(Integer A)]


Integer A is null. You want temp_int or you need to make a new loop.
 

wc3shady

You can change this now in User CP.
Reaction score
40
Tried it. Didn't work. I'll repost trigger:
Trigger:
  • Sovereign Howl
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sovereign Howl
    • Actions
      • Set mui = (mui + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • mui Greater than 50
        • Then - Actions
          • Set mui = 1
        • Else - Actions
      • Set SovereignHowlUnit[mui] = (Casting unit)
      • Set SovereignHowlCastPoint[mui] = (Position of SovereignHowlUnit[mui])
      • Set SovereignHowlTargets[mui] = (Units within 600.00 of SovereignHowlCastPoint[mui])
      • Wait 10.00 seconds
      • For each (Integer A) from 1 to 50, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SovereignHowlUnit[(Integer A)] Equal to SovereignHowlUnit[mui]
            • Then - Actions
              • Set temp_int = (Integer A)
            • Else - Actions
      • Unit Group - Pick every unit in SovereignHowlTargets[temp_int] and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Stop
          • Unit - Order (Picked unit) to Move To SovereignHowlLocation[temp_int]
 

perkeyone

something clever
Reaction score
71
Trigger:
  • Sovereign Howl
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sovereign Howl
    • Actions
      • Set mui = (mui + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • mui Greater than 50
        • Then - Actions
          • Set mui = 1
        • Else - Actions
      • Set SovereignHowlUnit[mui] = (Casting unit)
      • Set SovereignHowlCastPoint[mui] = (Position of SovereignHowlUnit[mui])
      • Set SovereignHowlTargets[mui] = (Units within 600.00 of SovereignHowlCastPoint[mui])
      • Wait 10.00 seconds
      • For each (Integer A) from 1 to 50, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • SovereignHowlUnit[(Integer A)] Equal to <span style="color: Lime">triggering unit</span>
            • Then - Actions
              • Set temp_int = (Integer A)
            • Else - Actions
      • Unit Group - Pick every unit in SovereignHowlTargets[temp_int] and do (Actions)
        • Loop - Actions
          • Unit - Order (Picked unit) to Stop
          • Unit - Order (Picked unit) to Move To SovereignHowlLocation[temp_int]

this should work...
just make little display messages to double check.
[freehand]
game - display string(unit type of (picked unit)) to all players

if you add this into the last loop you will see that it does in fact correctly pick units
i think the problem is something else
if your spell does damage then the units will try to attack you.
also ordering the units to stop does not make them stay still.
maybe you should consider "hold position" or "pause"
i dont know what effect you are looking to achieve so all i can do is guess
 

wc3shady

You can change this now in User CP.
Reaction score
40
Well this trigger hasn't been working, so I'm trying a new approach.

But, alas, it still no luck:
Trigger:
  • Sovereign Howl
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sovereign Howl
    • Actions
      • Set mui = (Number of units in (Units within 600.00 of (Position of (Casting unit))))
      • Set SovereignHowlUnit[mui] = (Casting unit)
      • Unit Group - Pick every unit in (Units within 600.00 of (Position of SovereignHowlUnit[mui])) and do (Unit Group - Add (Picked unit) to SovereignGroup[mui])
      • Unit - Create 1 InfiniteDummy [Sovereign Howl] for (Owner of (Casting unit)) at (Position of SovereignHowlUnit[mui]) facing Default building facing degrees
      • Set SovereignDummy[mui] = (Last created unit)
      • Unit Group - Pick every unit in SovereignGroup[mui] and do (Unit - Order (Picked unit) to Hold Position)
      • Wait 10.00 seconds
      • Set SovereignHowlLocation[mui] = (Position of SovereignHowlUnit[mui])
      • Unit - Order SovereignDummy[mui] to Night Elf Mountain Giant - Taunt
      • Unit - Order SovereignDummy[mui] to Night Elf Warden - Blink SovereignHowlLocation[mui]
      • Unit - Add a 20.00 second Generic expiration timer to SovereignDummy[mui]


Maybe I'm missing something?
 
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