Triggered ability malfunction

Advena

Just casually observing atm ;)
Reaction score
42
Hi guys!

I have a trigger that's supposed to cast a Flame Strike on all units that are in a certain unit group, when a dummy spell is cast (based on Channel).

I've tried changing around ant testing things, but I can't get the dummy to cast the spell. From testing I know it creates the dummy, but after that it's anyones guess.
The order id of the spell I want the dummy to cast is "flamestrike". And I've tried changing it to something else to test, too.


This is the trigger in it's current state.
Code:
Channel Fire Chrystal
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire Chrystal (Tower)
    Actions
        Unit Group - Pick every unit in ChrystalSelf_ug and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Owner of (Picked unit)) Equal to (Owner of (Casting unit))
                    Then - Actions
                        Game - Display to (Player group((Owner of (Picked unit)))) the text: test muppet
                        Unit - Create 1 DummyCaster3000 for Neutral Hostile at (Position of (Picked unit)) facing (Random angle) degrees
                        Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                        Unit - Add ChannelFireChrystal (dummycast) to (Last created unit)
                        Unit - Order (Last created unit) to Human Blood Mage - Flame Strike (Position of (Picked unit))
                    Else - Actions
                        Do nothing
Anyone got any ideas?
Thanks in advance :eek:
//Advena
 

Bloodcount

Starcraft II Moderator
Reaction score
297
Well i fail to see the error.However put the exparation timer to be the last action.And check the reagions again.
 

Jagan

New Member
Reaction score
30
How can you pick units from a group that has not been set? Set the unit group before you pick them and it should work.
 

Advena

Just casually observing atm ;)
Reaction score
42
EDIT:

The reason I can't set the unit group in this trigger is that I already do that in another trigger, and adding that action here too would mess that up.

Here's the deal:
I have a unit-type with a "Chrystallise Self" ability, that turns them into a statue but enables triggered spells like this one to be channeled through them. Btw, these units can be owned by all players so hence the owner-condition.
So you see, the unit already is in the unit group, from when he chrystallised himself.

The test-text ensures me that it works, since it shows up a number of times equal to how many chrystallised units I currently own.
So I know that that part works as intended.

And I've tried with using both (owner of (unit)), an unused player slot and NH. I'll try using neutral extra though, thanks.

Thanks for answering all of you, btw.
 

Vestras

Retired
Reaction score
248
I don't see you setting the gruop variable...
And you would probably use Triggering Unit instead of Casting, and create the dummy unit for owner of Triggering Unit.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
change the owner of the dummy from neutral hostile to something else. neutral hostile creeps got an AI which is malfunctioning with cast orders. use neutral extra or something similar instead.
 

Advena

Just casually observing atm ;)
Reaction score
42
There, I edited the post here above; that I posted accidntally before wrighting barely anything in it. Taken care of now.
EDIT:

The reason I can't set the unit group in this trigger is that I already do that in another trigger, and adding that action here too would mess that up.

Here's the deal:
I have a unit-type with a "Chrystallise Self" ability, that turns them into a statue but enables triggered spells like this one to be channeled through them. Btw, these units can be owned by all players so hence the owner-condition.
So you see, the unit already is in the unit group, from when he chrystallised himself.

The test-text ensures me that it works, since it shows up a number of times equal to how many chrystallised units I currently own.
So I know that that part works as intended.

And I've tried with using both (owner of (unit)), an unused player slot and NH. I'll try using neutral extra though, thanks.

Thanks for answering all of you, btw.
See what I mean?


Edited main post as well. Removed a line and changed one, to better show what I want to do.
I was testing things when I posted, so it looked a little.. wrecked, 'til now :p
 

Advena

Just casually observing atm ;)
Reaction score
42
Terribly sorry for double posting, but my question haven't been answered.
I thought bumping was better than creating a new post. :eek:

I really need a hand on this. It'd be a real shame it I couldn't get it to work.

Anyone?
 

saw792

Is known to say things. That is all.
Reaction score
280
Have you checked your dummy caster, that it has mana, low cast point and cooldown, etc?

Also, bumps are allowed after 24 hours ONLY.
 

vypur85

Hibernate
Reaction score
803
> tried with using both (owner of (unit)), an unused player slot and NH

Have you tried Player 1? Or whatever player number you're using as a user...


Else, it should be Object Editor problem. The dummies unable to cast the spell. So, I'll just list down the obvious... Mana cost, Tech Requirements, Duration, Effect etc etc...

Or could it be terrain problem? Some spells cannot cast on impassable terrains (Not sure about Flamestrike though).

Anyway, try to create a Footman dummy instead and then give them long expiration timer. Cast the spell. When the units are spawned, try to manually cast the Flamestrike on the ground. If it's castable then it shouldn't be Object Editor problem. Should be something else...
 

Advena

Just casually observing atm ;)
Reaction score
42
saw792 said:
Also, bumps are allowed after 24 hours ONLY.
Oh sorry, didn't know. I'l remember that :eek:


@vypur:
Ok, thanks mate. I'll try that :)

Edit:
vypur85 said:
Have you tried Player 1? Or whatever player number you're using as a user...
Well I can't just use player 1, since I have four players (1, 4, 7 & 10) that all have to be able to use this.
 

vypur85

Hibernate
Reaction score
803
> Well I can't just use player 1

Hmmm... My suggestion was mainly to lead to find the root of the problem. Since (If) you found the root of the problem, which is the 'Player 1', then you can work better from there instead of wondering whether it's dummy problem... mana problem... etc etc...

And, if it's indeed the player problem, then I honestly do not know how to solve it :p. Because I'm having that same problem as well (since a very very long time ago...).
 

XeNiM666

I lurk for pizza
Reaction score
138
there is a simpler way, just set the unit group variable at the beggining of your trigger and destory it later:

Code:
Channel Fire Chrystal
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire Chrystal (Tower)
    Actions
        Set ChrystalSelf_ug = (Pick every units in (blah. blah. blah) and do (Actions))
        Unit Group - Pick every unit in ChrystalSelf_ug and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Owner of (Picked unit)) Equal to (Owner of (Casting unit))
                    Then - Actions
                        Game - Display to (Player group((Owner of (Picked unit)))) the text: test muppet
                        Unit - Create 1 DummyCaster3000 for Neutral Hostile at (Position of (Picked unit)) facing (Random angle) degrees
                        Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
                        Unit - Add ChannelFireChrystal (dummycast) to (Last created unit)
                        Unit - Order (Last created unit) to Human Blood Mage - Flame Strike (Position of (Picked unit))
                    Else - Actions
        Custom Script:   call DestroyGroup(udg_ChrystalSelf_ug)

Also, remove the Do Nothing, its useless
 

Advena

Just casually observing atm ;)
Reaction score
42
XeNiM666 said:
there is a simpler way, just set the unit group variable at the beggining of your trigger and destory it later
Sorry man, but I've already said that that wont work, since the ChrystalSelf unit group is a global unit-group variable that I can't destroy.

Every time a unit uses "Chystallise Self" it is added to the group, and when returned to normal (by an ability that another unit can use) it is removed from it.
The group itself can't be destroyed or set specifically like what you're saying.

See what I mean? :eek:
 
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