Spellsteal No Stealable Buff (poison, stun, etc.)

Status
Not open for further replies.
Level 8
Joined
Jul 8, 2013
Messages
249
I'm making an ability based on Spell Steal, but I would like it to work on various types of buffs which cannot normally be stolen (poison, stuns, etc.)


Now I have already tried giving the abilities that create those buffs a value for the Stat - Spell Steal Priority field, but that doesn't seem to actually change anything. When attempting to spell steal, I still get the failure message that the Unit Has No Stealable Buffs.


The only workaround I can think of would be an extremely clunky one:

When a unit receives one of those debuffs, create a dummy caster unit which casts some dummy debuff that CAN be spell stolen. Then when a unit with that dummy debuff is hit with spell steal, manually trigger detecting the right kind of debuff and applying it to an enemy unit.

That sounds terribly complicated, borderline impossible to get right considering the huge number of different buffs and debuffs it might need to apply to.

Is there a better way to make a buff spell stealable when it normally wouldn't be?
 
Level 29
Joined
Feb 18, 2014
Messages
3,602
There is no easy way to achieve this without making things complicated. Some debuffs simply cannot be stealed due to how hardcoded they are. However, there is a trick you can use to get this to work, it may not be the perfect solution but that's the only method I can think of : Abolish Magic, You can create an ability based on Abolish Magic to replace the Spell Steal ability with it and a Dummy unit that has a 100% stun chance, then use triggers to make the ability look similar to Steal Spell.
  • Custom Spell Steal
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Abolish Magic (Custom)
    • Actions
      • Set Target = (Target unit of ability being cast)
      • Set Point = (Position of Target)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Target has buff Stun (Pause)) Equal to TRUE
        • Then - Actions
          • Unit - Remove Stun (Pause) buff from Target
          • Set Group = (Units within 600.00 of Point matching (((Matching unit) belongs to an enemy of (Owner of Target)) Equal to TRUE))
          • Unit - Create 1 DUMMY for (Owner of (Casting unit)) at (Position of (Random unit from Group)) facing 0 degrees
          • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Attack (Random unit from Group)
          • Custom script: call RemoveLocation (udg_Point)
          • Custom script: call DestroyGroup (udg_Group)
          • Custom script: set udg_Target = null
        • Else - Actions
 
Status
Not open for further replies.
Top