• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

Aura stops effecting caster?

Status
Not open for further replies.
Level 1
Joined
Aug 19, 2019
Messages
3
So I haven't been using the editor for well over 10 years, but I recently found my way back. Started creating some new spells, and god how I have missed it.

I'm now trying to create a spell that, when activated, gives the caster trueshot aura for a short duration.

My triggers are working fine, and the aura is added to the hero, BUT

the aura bonus disappears from the caster after just a few seconds (about 4), even though the effect stays for all nerby units for the entire length of the effect.
My triggers are as follows.

Untitled.png


Again, the effect is flawless for all OTHER units, but for the caster it dissapears almost instantly.

The triggering spell is based on Battle Cry, and the aura effect on Trueshot Aura. There are no durations between them which would make the effects collide. Completely stumped.

Cheers guys!
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,580
Use "A unit starts the effect of an ability" instead of Begins. Begins casting an Ability starts before the ability goes on cooldown/mana is spent so if you cancel the ability (like ordering your hero to Stop immediately after issuing the order) the trigger will go off but the ability will have never been used. Also, you don't need "Do nothing" it's pointless.

Those aside, I don't know why the aura stops affecting the Hero. If you upload the map/spell I could take a look at it for you.

Also, how to post your triggers: How To Post Your Trigger
 
Last edited:
Level 8
Joined
May 21, 2019
Messages
435
Use "A unit starts the effect of an ability" instead of Begins.
Seconding this.

As for the issue itself... it seems like it's either a deeprooted issue or the actions of something else that you've made.
Do you have any triggers that remove buffs from units in any context whatsoever?
If so, have you tried disabling them?

If this turns out to be a persistent issue rooted in a game bug, you could just use a dummy unit with the aura instead. Then you just throw the animation of the aura onto the hero manually.
 
Level 15
Joined
Jul 9, 2008
Messages
1,552
i cant see the trigger being the issue other then it not being MUI meaning if multiple units use this spell it will break e.g caster 1 uses the spell then 1 sec after caster 2 uses it caster 1 will end up having the aura permanently and your timer will be messed up

like others have said do u have any other triggers that interact with buffs or buffs on this unit?
 
Level 8
Joined
May 21, 2019
Messages
435
This sounds like the way to go.

Any idea of how I get the dummy to always follow the caster around? What's a good way of doing that with triggers?
Well, you can literally issue an order to the dummy unit to follow the caster around. Also, I haven't actually used what I'm about to say myself, but many people use the ability "Locust" on the dummy unit, to get the it to behave a bit more like a non-interactive part of the game, kinda like an ability effect. You can try messing around with that.
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,580
You could issue a move order like Cespie said but keep in mind that the dummy unit would lag behind a bit even with max movement speed. Depends if you care or not, it probably wouldn't be noticeable but it's one of those things that would bother me.

The more precise solution is to have a timer that moves the dummy unit to the position of the hero every let's say 0.10 seconds. Also, if you use "SetUnitPosX/Y" instead of Move Unit Instantly you could order the unit to follow the Hero AND set it's X and Y position every interval. That's because Move Unit Instantly issues a Stop order to the moved unit, whereas SetUnitPosX/Y does not.

Regardless, SetUnitX/Y is better than Move Unit Instantly so I recommend using it in most cases. It can even stack units on top of one another (until one of the unit's moves/issues an order).

  • Move Dummy
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Set TempPoint = (Position of YourHero)
      • Set X = (X of TempPoint)
      • Set Y = (Y of TempPoint)
      • Custom script: call SetUnitX (udg_YourHero, udg_X)
      • Custom script: call SetUnitY (udg_YourHero, udg_Y)
      • Custom script: call RemoveLocation (udg_TempPoint)
Have this trigger set to Initially Off and then turn it on when you cast your ability. Once your ability is finished turn this trigger off.
 
Last edited:
Status
Not open for further replies.
Top