Abilities cause order-giving problems

Advena

Just casually observing atm ;)
Reaction score
42
Hi guys

I have a problem with my latest map. It's a Hero Defence map with two lanes and blabla. That'll be explained thoroughly when I post in the MP forum :)

Anyway, my problem is as follows:
Some of my custom abilities cause the casting unit to listen badly to given orders. It sounds strange, I know, so let me elaborate.

When I cast the spell nothing happens (spell doesn't seem to work) and afterwards the casting unit acts strange; When given an order he ignores it until he's completed his current order. For example, if he is attacking a creep and I order him to move away, he doesn't move until he's killed the creep.
And it's not a problem with the hero, he acts just as normal before the ability is cast (but remains stupid eternally after it is).
As far as I know, there is nothing that could cause it in the trigger (except leaks maybe, I haven't learned much about that yet :p).

The dummy ability (that the casting unit have) is based on Avatar, since I needed an ability without targeting or such, just "instant cast".
And see, here comes the really funny part.. all my triggered "instant" abilities are based of Avatar, and it seems that all of them cause the same problem.
I'd really like to not have to remake most abilities in my map :p

Here's how one of the spells trigger look like. It's supposed to cast Entangle on all creeps within X of casting unit, simply explained.
Code:
Ability  Entangling Vines
    Events
        Unit - A unit Finishes casting an ability
    Conditions
        (Ability being cast) Equal to Entangling Vines (Support Leaf Px1)
    Actions
        Set EntangleVines_Level = (Level of Entangling Vines (Support Leaf Px1) for (Casting unit))
        Set EntangleVines_Range = (((Real(EntangleVines_Level)) x 50.00) + 250.00)
        Wait 0.01 seconds
        Unit Group - Pick every unit in (Units within EntangleVines_Range of (Position of (Casting unit)) matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is A Hero) Equal to False))) and do (Actions)
            Loop - Actions
                Unit - Create 1 DummyCaster3000 for Neutral Passive at (Position of (Picked unit)) facing (Random angle) degrees
                Unit - Add Entangling Vines (DummyCaster) to (Last created unit)
                Unit - Add a 4.00 second Generic expiration timer to (Last created unit)
                Unit - Order (Last created unit) to Night Elf Keeper Of The Grove - Entangling Roots (Picked unit)

But like I said, it's not only this spell so I don't think there's anything wrong with the trigger.


Thanks for reading, and I hope you have any ideas!
~Advena
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
besides of the leaks in your trigger i dont think theres anything wrong. base your ability on berserk and try it again.
 

vypur85

Hibernate
Reaction score
803
Your trigger... change the 'Casting unit' to 'Triggering unit'. Else, everything seems fine. The 'wait' is the problem. 'Casting unit' may not sustain after the wait. Why add the wait anyway? 0.01 seconds is like nothing... Just remove it or change the 'Casting unit'.

Also, Neutral player can be stubborn sometimes. They just refuse to cast spells. Use 'Owner of (Triggering unit)'.
 

Advena

Just casually observing atm ;)
Reaction score
42
Thanks Accname, it worked perfectly with berserk as base-ability! :)


And vypur, I dunno what that wait is doing there tbh. Might've been some feeble attempt to test if it'd help solve my problem. I'll remove it :p
And for the reccord, I always use Neutral player for dummy-spells and 'casting unit' or 'entering unit' or such instead of 'triggering' and it usually works fine :)

Anyways, thanks guys +rep to both of you :thup:
 
General chit-chat
Help Users

      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