Spell Shield with triggered abilities problem

Zefnar

New Member
Reaction score
0
Hi guys, here I come with a spiky problem..

I got a map where 90% of my spells are triggered. And, due to the gameplay, I can't change that.

I just created an item similar to the Spell block amulet.

Here comes the problem : The amulet blocks the spell, but not the effects contained in the trigger ! I knew it but I thought I could find an answer on those forums. Actually not.

For example :

My Hero got the spell Fire dart. It's based on Storm bolt and just do a mini stun. Here's the trigger :

Trigger:
  • Fire dart
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire dart
    • Actions
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (5.00 x (Real((Intelligence of (Casting unit) (Include bonuses))))) damage of attack type Spells and damage type Fire


I just want now to do something like that :

Trigger:
  • Fire dart
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire dart
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Target unit of ability being cast) has buff Spell shield ) Equal to True
        • Then - Actions
          • Do nothing
        • Else - Actions
          • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (5.00 x (Real((Intelligence of (Casting unit) (Include bonuses))))) damage of attack type Spells and damage type Fire


Unfortunately, there's no buff at all with this item... And I have NO way to detect if the amulet is up or not.

So here's my wish : I want to detect if the amulet is up, andd if yes, counter the triggered effects (Here : damages) while the buff will wipe out the effective spell (Here : Storm bolt).

Please you guys got an idea?
 

LurkerAspect

Now officially a Super Lurker
Reaction score
118
Why don't you just make a dummy ability that applies a buff, then use a trigger to check if a unit hit with that spell retains the buff, and then apply the damage?

For example:
Code:
Fire dart
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire dart 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Target unit of ability being cast) has buff (buff from [COLOR="Red"]Fire Dart[/COLOR] ) Equal to True
            Then - Actions
                Do nothing
            Else - Actions
                Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (5.00 x (Real((Intelligence of (Casting unit) (Include bonuses))))) damage of attack type Spells and damage type Fire

That way, if the unit has spell shield, and it blocks the spell, it won't be able to do the damage because no buff would have been applied.
 

tjordell

New Member
Reaction score
7
Why don't you just make a dummy ability that applies a buff, then use a trigger to check if a unit hit with that spell retains the buff, and then apply the damage?

For example:
Code:
Fire dart
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Fire dart 
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Target unit of ability being cast) has buff (buff from [COLOR="Red"]Fire Dart[/COLOR] ) Equal to True
            Then - Actions
                Do nothing
            Else - Actions
                Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (5.00 x (Real((Intelligence of (Casting unit) (Include bonuses))))) damage of attack type Spells and damage type Fire

That way, if the unit has spell shield, and it blocks the spell, it won't be able to do the damage because no buff would have been applied.

Or, he could use
Trigger:
  • ((Target unit of ability being cast) has item of-Type (Fire Dart) Equal to True


EDIT: And also, try to avoid the action
Trigger:
  • Do nothing
because if you dont have it there, it does nothing anyway. But if you have it there, it takes extra memory. And also, use the Warcraft 3 Trigger Tag around the text instead of JASS tag. It looks like a yellow "a".
 

Zefnar

New Member
Reaction score
0
First of all, thanks for replies.

I will try with buffs.

Ok & thx for the "Do nothing" tip.

Brb.

PS : I forgot to mention that I'm working ONLY in GUI.
 

RangerX

I am justice!
Reaction score
69
when "tjordell" said: {because if you dont have it there, it does nothing anyway. But if you have it there, it takes extra memory. And also, use the Warcraft 3 Trigger Tag around the text instead of JASS tag. It looks like a yellow "a". } he wanted to say that when yo post your trigers use the
wc3tag.gif
option in reply window so your code will have some fancy icons before each line of the trigger that will mimic the look on World editor like this:
Trigger:
  • Summon Ancestral Spirit
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Summon Ancestral Spirit
    • Actions
      • Set TempPoint[1] = (Target point of ability being cast)
      • Set TempPoint[2] = (Position of (Triggering unit))
      • Unit - Create 1 Summon Ancestral Spirit SXF for (Owner of (Triggering unit)) at TempPoint[2] facing (Angle from TempPoint[2] to TempPoint[1]) degrees
      • Unit - Add a 0.80 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_TempPoint[1])
      • Custom script: call RemoveLocation(udg_TempPoint[2])
 
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