Spellpack Vengeance Spellpack

Ayanami

칼리
Reaction score
288
Introduction - Version 1.1

The spells:
  • Vengeance [Active]
  • Vengeful Spirit [Passive]
  • Nether Link [Passive]
  • Direct Vengeance [Active]


Details
- The spells are GUI.
- They are leakless (hope so) and lagless (at least for me).
- Vengeance and Direct Vengeance is MUI. Vengeful Spirit and Nether Link is MPI.
- Easy to import. Easy to edit.
- A vengeful theme consisting of 2 active and 2 passive spells.


Spells

Vengeance

Description:
Pours all vengeance into a pursuit after 0.6 seconds. Charges towards an enemy, with charge speed increasing per second. When the caster comes in contact with the enemy, deals damage in an area. Immune to spells while charging and has zero collision.

Level 1 - Increases charge speed by 10 units per second. Deals 150 damage in an area of 200.
Level 2 - Increases charge speed by 20 units per second. Deals 200 damage in an area of 250.
Level 3 - Increases charge speed by 30 units per second. Deals 250 damage in an area of 300.

Cooldown - 25 seconds

Screenshot:

vengeancess.jpg

Code:
Trigger:
  • Vengeance
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Vengeance
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • VeCustomValue Less than 100
        • Then - Actions
          • Set VeCustomValue = (VeCustomValue + 1)
        • Else - Actions
          • Set VeCustomValue = 1
      • Set VeCaster[VeCustomValue] = (Triggering unit)
      • Set VeTarget[VeCustomValue] = (Target unit of ability being cast)
      • Set VeWait[VeCustomValue] = 0.60
      • Set VeChargeReal[VeCustomValue] = 0.00
      • Set TempPoint = (Center of (Playable map area))
      • Unit - Create 1 Vengeance Dummy for (Owner of VeCaster[VeCustomValue]) at TempPoint facing Default building facing degrees
      • Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire VeTarget[VeCustomValue]
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Create 1 Hidden Dummy for (Owner of VeCaster[VeCustomValue]) at TempPoint facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to VeCustomValue
      • Unit Group - Add (Last created unit) to VeWaitGroup
      • Custom script: call RemoveLocation(udg_TempPoint)


Trigger:
  • Vengeance Wait
    • Events
      • Time - Every 0.30 seconds of game time
    • Conditions
      • (VeWaitGroup is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in VeWaitGroup and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • VeWait[(Custom value of (Picked unit))] Less than or equal to 0.00
            • Then - Actions
              • Unit - Unpause VeCaster[(Custom value of (Picked unit))]
              • Animation - Change VeCaster[(Custom value of (Picked unit))]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 80.00% transparency
              • Unit - Add Spell Immunity to VeCaster[(Custom value of (Picked unit))]
              • Unit - Add Cancel Vengeance to VeCaster[(Custom value of (Picked unit))]
              • Selection - Select VeCaster[(Custom value of (Picked unit))] for (Owner of VeCaster[(Custom value of (Picked unit))])
              • Unit Group - Add (Picked unit) to VeDummyGroup
              • Unit Group - Remove (Picked unit) from VeWaitGroup
            • Else - Actions
              • Unit - Pause VeCaster[(Custom value of (Picked unit))]
              • Set VeWait[(Custom value of (Picked unit))] = (VeWait[(Custom value of (Picked unit))] - 0.30)


Trigger:
  • Vengeance Periodic
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
      • (VeDummyGroup is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in VeDummyGroup and do (Actions)
        • Loop - Actions
          • Set VeTempInt = (Custom value of (Picked unit))
          • Set VeCasterLoc[VeTempInt] = (Position of VeCaster[VeTempInt])
          • Set VeTargetLoc[VeTempInt] = (Position of VeTarget[VeTempInt])
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Or - Any (Conditions) are true
                • Conditions
                  • (Distance between VeCasterLoc[VeTempInt] and VeTargetLoc[VeTempInt]) Less than or equal to 200.00
                  • (VeCaster[VeTempInt] is in VeCancelGroup) Equal to True
                  • (VeCaster[VeTempInt] is dead) Equal to True
                  • (VeTarget[VeTempInt] is dead) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Distance between VeCasterLoc[VeTempInt] and VeTargetLoc[VeTempInt]) Less than or equal to 200.00
                • Then - Actions
                  • Set VeGroup[VeTempInt] = (Units within (150.00 + (50.00 x (Real((Level of Vengeance for VeCaster[VeTempInt]))))) of VeCasterLoc[VeTempInt] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immu
                  • Unit Group - Pick every unit in VeGroup[VeTempInt] and do (Actions)
                    • Loop - Actions
                      • Unit - Cause VeCaster[VeTempInt] to damage (Picked unit), dealing (100.00 + (50.00 x (Real((Level of Vengeance for VeCaster[VeTempInt]))))) damage of attack type Spells and damage type Normal
                      • Animation - Play VeCaster[VeTempInt]'s attack animation
                      • Animation - Reset VeCaster[VeTempInt]'s animation
                      • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Undead\DeathandDecay\DeathandDecayTarget.mdl
                      • Special Effect - Destroy (Last created special effect)
                  • Custom script: call DestroyGroup(udg_VeGroup[udg_VeTempInt])
                • Else - Actions
              • Animation - Change VeCaster[VeTempInt]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
              • Unit - Order VeCaster[VeTempInt] to Attack VeTarget[VeTempInt]
              • Unit - Turn collision for VeCaster[VeTempInt] On
              • Unit - Remove Spell Immunity from VeCaster[VeTempInt]
              • Unit - Remove Cancel Vengeance from VeCaster[VeTempInt]
              • Unit - Remove Vengeance (Custom) buff from VeTarget[VeTempInt]
              • Unit Group - Remove VeCaster[VeTempInt] from VeCancelGroup
              • Custom script: call RemoveLocation(udg_VeCasterLoc[udg_VeTempInt])
              • Custom script: call RemoveLocation(udg_VeTargetLoc[udg_VeTempInt])
              • Unit - Remove (Picked unit) from the game
            • Else - Actions
              • Unit - Turn collision for VeCaster[VeTempInt] Off
              • Set VeChargeReal[VeTempInt] = (VeChargeReal[VeTempInt] + ((10.00 x (Real((Level of Vengeance for VeCaster[VeTempInt])))) x 0.04))
              • Set VeChargeOffset[VeTempInt] = (VeCasterLoc[VeTempInt] offset by VeChargeReal[VeTempInt] towards (Angle from VeCasterLoc[VeTempInt] to VeTargetLoc[VeTempInt]) degrees)
              • Custom script: call SetUnitPosition(udg_VeCaster[udg_VeTempInt], GetLocationX(udg_VeChargeOffset[udg_VeTempInt]), GetLocationY(udg_VeChargeOffset[udg_VeTempInt]))
              • Custom script: call RemoveLocation(udg_VeCasterLoc[udg_VeTempInt])
              • Custom script: call RemoveLocation(udg_VeTargetLoc[udg_VeTempInt])


Trigger:
  • Vengeance Cancel
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Cancel Vengeance
    • Actions
      • Unit Group - Add (Triggering unit) to VeCancelGroup


Vengeful Spirit

Description:
Summons phantoms of itself when attacked. The images deal 35% damage and they recieve 200% damage. Lasts 15 seconds. Maximum of 4 images.

Level 1 - 10% chance to produce phantom.
Level 2 - 15% chance to produce phantom.
Level 3 - 20% chance to produce phantom.

Passive

Screenshot:
vengefulspiritss.jpg

Code:
Trigger:
  • Vengeful Spirit
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Level of Vengeful Spirit for (Triggering unit)) Greater than 0
      • ((Attacking unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
      • ((Triggering unit) is an illusion) Equal to False
      • VSInteger[(Player number of (Owner of (Triggering unit)))] Less than 4
      • (Random real number between 1.00 and 100.00) Less than or equal to (5.00 + (5.00 x (Real((Level of Vengeful Spirit for (Triggering unit))))))
    • Actions
      • Trigger - Turn off (This trigger)
      • Set VSAttacker = (Attacking unit)
      • Set TempPoint = (Position of (Attacking unit))
      • Unit - Create 1 Vengeful Spirit Dummy for (Owner of (Triggering unit)) at TempPoint facing (Facing of (Attacking unit)) degrees
      • Custom script: call IssueTargetOrderById(GetLastCreatedUnit(), 852274, GetTriggerUnit())
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_TempPoint)


Trigger:
  • Vengeful Spirit Group
    • Events
      • Unit - A unit Spawns a summoned unit
    • Conditions
      • (Unit-type of (Summoning unit)) Equal to Vengeful Spirit Dummy
    • Actions
      • Set VSAttackerLoc = (Position of (Summoning unit))
      • Set VSAttackerOffset = (VSAttackerLoc offset by 100.00 towards ((Facing of (Summoning unit)) - 180.00) degrees)
      • Custom script: call SetUnitPosition(GetSummonedUnit(), GetLocationX(udg_VSAttackerOffset), GetLocationY(udg_VSAttackerOffset))
      • Unit - Order (Summoned unit) to Attack VSAttacker
      • Set VSInteger[(Player number of (Owner of (Summoning unit)))] = (VSInteger[(Player number of (Owner of (Summoning unit)))] + 1)
      • Trigger - Add to Vengeful Spirit Death <gen> the event (Unit - (Summoned unit) Dies)
      • Custom script: call RemoveLocation(udg_VSAttackerLoc)
      • Custom script: call RemoveLocation(udg_VSAttackerOffset)
      • Trigger - Turn on Vengeful Spirit <gen>


Trigger:
  • Vengeful Spirit Death
    • Events
    • Conditions
    • Actions
      • Set VSInteger[(Player number of (Owner of (Triggering unit)))] = (VSInteger[(Player number of (Owner of (Triggering unit)))] - 1)


Nether Link

Description:
For every damage taken, distributes the damage equally among its phantoms. A certain percentage of damage is blocked. Blocked damage is ignored in the distributed damage. Images distributes damage ignoring their extra damage taken factor.

Level 1 - Blocks 4% of damage.
Level 2 - Blocks 7% of damage.
Level 3 - Blocks 10% of damage.

Passive

Screenshot:
netherlinkss.jpg

Code:
Trigger:
  • Nether Link Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Nether Link
      • ((Triggering unit) is in NLLearnGroup) Equal to False
    • Actions
      • Trigger - Add to Nether Link <gen> the event (Unit - (Triggering unit) Takes damage)
      • Unit Group - Add (Triggering unit) to NLLearnGroup


Trigger:
  • Nether Link Images Init
    • Events
      • Unit - A unit enters (Playable map area)
    • Conditions
      • ((Matching unit) has buff Nether Link ) Equal to True
      • ((Triggering unit) is an illusion) Equal to True
    • Actions
      • Trigger - Add to Nether Link <gen> the event (Unit - (Triggering unit) Takes damage)


Trigger:
  • Nether Link
    • Events
    • Conditions
    • Actions
      • Trigger - Turn off (This trigger)
      • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + ((Damage taken) x (0.01 + ((Real((Level of Nether Link for (Triggering unit)))) x 0.03))))
      • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + (Damage taken))
      • Set NLGroup = (Units in (Playable map area) matching ((((Matching unit) has buff Nether Link ) Equal to True) and ((Owner of (Matching unit)) Equal to (Owner of (Triggering unit)))))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) is an illusion) Equal to True
        • Then - Actions
          • Set NLDamage = (((Damage taken) / (Real((Number of units in NLGroup)))) / 2.00)
        • Else - Actions
          • Set NLDamage = ((Damage taken) / (Real((Number of units in NLGroup))))
      • Unit Group - Pick every unit in NLGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause (Damage source) to damage (Picked unit), dealing NLDamage damage of attack type Chaos and damage type Universal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\WingedSerpentMissile\WingedSerpentMissile.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call DestroyGroup(udg_NLGroup)
      • Trigger - Turn on (This trigger)


Direct Vengeance

Description:
Directs all its vengeance towards an enemy. For every damage it or it's phantoms take, the target receives the same amount of damage. Directed damage cannot kill the target. Lasts 10 seconds.

Cooldown - Cooldown: 55 seconds

Screenshot:
directvengeance.jpg

Code:
Trigger:
  • Direct Vengeance Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Direct Vengeance
      • (Level of Direct Vengeance for (Triggering unit)) Equal to 1
    • Actions
      • Trigger - Add to Direct Vengeance Damage <gen> the event (Unit - (Triggering unit) Takes damage)


Trigger:
  • Direct Vengeance Init
    • Events
      • Unit - A unit enters (Playable map area)
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Vindictive Wraith
      • ((Triggering unit) is an illusion) Equal to True
    • Actions
      • Trigger - Add to Direct Vengeance Damage <gen> the event (Unit - (Triggering unit) Takes damage)


Trigger:
  • Direct Vengeance
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Direct Vengeance
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • DVCustomValue Less than 100
        • Then - Actions
          • Set DVCustomValue = (DVCustomValue + 1)
        • Else - Actions
          • Set DVCustomValue = 1
      • Set DVCaster[DVCustomValue] = (Triggering unit)
      • Set DVTarget[DVCustomValue] = (Target unit of ability being cast)
      • Set TempPoint = (Center of (Playable map area))
      • Unit - Create 1 Hidden Dummy for (Owner of DVCaster[DVCustomValue]) at TempPoint facing Default building facing degrees
      • Unit - Set the custom value of (Last created unit) to DVCustomValue
      • Unit Group - Add (Last created unit) to DVDummyGroup
      • Custom script: call RemoveLocation(udg_TempPoint)


Trigger:
  • Direct Vengeance Periodic
    • Events
      • Time - Every 0.04 seconds of game time
    • Conditions
      • (DVDummyGroup is empty) Equal to False
    • Actions
      • Unit Group - Pick every unit in DVDummyGroup and do (Actions)
        • Loop - Actions
          • Set DVTempInt = (Custom value of (Picked unit))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (DVTarget[DVTempInt] has buff Direct Vengeance ) Equal to False
            • Then - Actions
              • Unit - Remove (Picked unit) from the game
            • Else - Actions


Trigger:
  • Direct Vengeance Damage
    • Events
    • Conditions
      • (DVDummyGroup is empty) Equal to False
    • Actions
      • Trigger - Turn off (This trigger)
      • Unit Group - Pick every unit in DVDummyGroup and do (Actions)
        • Loop - Actions
          • Set DVTempInt = (Custom value of (Picked unit))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Owner of (Triggering unit)) Equal to (Owner of DVCaster[DVTempInt])
            • Then - Actions
              • Unit - Cause (Triggering unit) to damage DVTarget[DVTempInt], dealing (Damage taken) damage of attack type Chaos and damage type Universal
              • Floating Text - Create floating text that reads (+ + (String((Integer((Damage taken)))))) above DVTarget[DVTempInt] with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 100.00%), and 0.00% transparency
              • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
              • Floating Text - Change (Last created floating text): Disable permanence
              • Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
              • Floating Text - Change the fading age of (Last created floating text) to 2.50 seconds
            • Else - Actions
      • Trigger - Turn on (This trigger)


Changelogs
Code:
Version 1.0
- Initial relase
Version 1.1
- Fixed Vengeance's MUI issue.
- Vengeance no longer pulls enemy.
- Fixed Vengeful Spirit. It is now MPI.
- Fixed Nether Link. It is now MPI. Seperated Nether Link and Direct Vengeance trigger.
- Direct Vengeance is now MUI.

Feedbacks will be appreciated.
 

Attachments

  • Vengeful Spellpack v1.1.w3x
    123.4 KB · Views: 431

Weep

Godspeed to the sound of the pounding
Reaction score
400
Not bad ideas. Seems like it would belong in an AoS.

The triggering needs more work. You're gonna need more arrays. :p My comments:

You're not using waits in your triggers; I don't understand why you use a local variable Point in Vengeance and Vengeful Spirit. The only line that needs to be custom script is the order to cast Item Illusion (and leak removal.) For that matter, you don't destroy the local variable Point nor do you set it to null in either trigger, which are needed to prevent leaks with a local variable, as far as I know.

Your map has several unused variables. You can find them by using the Object Editor's Variable section.

• Vengeance:
Seems a little unsatisfying to me. There's only a very subtle visual effect on collision (death and decay). Something additional that stands out more would help give the impression of impact; maybe create and destroy Abilities\Spells\Undead\OrbOfDeath\OrbOfDeathMissile.mdl at the point of impact.

The way it pulls the enemy also seems to be a bit self-defeating, since it causes AOE damage, but pulls the enemy toward you, most likely away from any other enemy units.

Your test map has no terrain; I suspect that this spell would either bug or have a good chance of making the caster, the target, or both end up stuck in a tree or a cliff or other trapped position.

It's not MUI; when I started the second hero sliding, the first one stopped, and would not return to normal even if I hit Cancel (but did when I re-cast the spell).

It looks like you're trying to make it MUI up to 10 casts; that's pretty limited. Also, is the line "Set VeCustomValue = (TeCustomValue + 1)" an error? Shouldn't it be "Set VeCustomValue = (VeCustomValue + 1)"? TeCustomValue is not used anywhere in any trigger except there, so VeCustomValue will always be 1...

• Vengeful Spirit:
It's not really MUI, nor MPI; it restricts itself to 4 images total from ANY hero with this ability, owned by ANY player. It should be 4 per hero.

You don't need the "And - All (Conditions) are true" in the Vengeful Spirit trigger, since conditions are by default all required to be true.

• Nether Link:
This is also not really MUI; the damage will be distributed between all heroes and images with the ability, not just the hero and the images created from it. It is also not MPI; at the very least, you should put in a check that Matching Unit belongs to the owner of Triggering Unit. As it stands, if two of these heroes fought on opposing teams, they would still have their damage distributed between them...

• Direct Vengeance:
Also not really MUI nor MPI, since any damage taken by any hero and any image with the ability will cause damage to every targeted enemy.

The triggers "Nether Link and Direct Vengeance" and "Nether Link and Direct Vengeance Images" are almost exact clones of each other; couldn't they be combined into one with a simple if statement?
Trigger:
  • Set NLDamage = ((Damage taken) / (Real((Number of units in (Units in NLRect matching (((Matching unit) has buff Nether Link ) Equal to True))))))
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • ((Triggering unit) is an illusion) Equal to True
      • Then - Actions
        • Set NLDamage = (NLDamage / 2.00)
      • Else - Actions


Also, you have leak removal in "Nether Link and Direct Vengeance Images" but it is missing in "Nether Link and Direct Vengeance".
 

Igor_Z

You can change this now in User CP.
Reaction score
61
These spells are preaty good. Nice eye candy too :). One thing bothers me. Vengeful Spirit spell isn't good. It has A unit attack event. Please use Damage Detection System(DDS) to make the spell immune to typing Stop(S) command...

EDIT: Checked the illusion spell. I don't know how but i broke the 4 illusion limit :). Try to fix it somehow
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Vengeance:

Your first trigger leaks a point...

Where are you removing this:
Trigger:
  • Custom script: local location Point


??
Add this line:
Trigger:
  • Custom script: call RemoveLocation(Point)


Vengeful Spirit:

This one leaks the same point as above.

Trigger:
  • And - All (Conditions) are true
    • Conditions
      • (Level of Vengeful Spirit for (Triggering unit)) Greater than 0
      • VSInteger Less than 4
      • ((Attacking unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
      • ((Triggering unit) is an illusion) Equal to False
    • (Random integer number between 1 and 100) Less than or equal to (5 + (5 x (Level of Vengeful Spirit for (Triggering unit))))


First, why do you have an "And" here, but don't insert all conditions there ?
And, that "And" isn't needed since it's always "And" in the "Conditions" field :D
This goes for all your triggers, you don't need an "And" in the first "Conditions" field :D

Direct Vengeance:

You aren't destroying the groups in the "Nether Link and Direct Vengeance" trigger.

And you don't have to destroy the rect "Playable map area", since it already exists :D
 

Gtam

Lerning how to write and read!! Yeah.
Reaction score
164
You should chose fully GUI or jass not half half coz GUI people dont understand the custom scripts and jass people hate it.
 

Igor_Z

You can change this now in User CP.
Reaction score
61
You should chose fully GUI or jass not half half coz GUI people dont understand the custom scripts and jass people hate it.
Not true! Its best that way. If you combinate your GUI with some JASS you will get great things done. Thats what I do cuz i don't want to learn JASS but i use GUI combinated with JASS custom scripts...
 

Gtam

Lerning how to write and read!! Yeah.
Reaction score
164
Yes but its fine if you do it in your map but when you release it to the public whats the point then.
 

Ayanami

칼리
Reaction score
288
Thanks for the quick replies. Just released the v1.1. Hope everything is fixed now. Feedbacks will be appreciated :thup:
 

Komaqtion

You can change this now in User CP.
Reaction score
469
I also think you should change this to a bit more still...
Trigger:
  • VeCustomValue Less than 100


Like 1000 at least :D

And Vengeful Spirit isn't MUI, right ? :S
Since this isn't using custom values:
Trigger:
  • Set VSAttacker = (Attacking unit)

And it's still used in another trigger, so not MUI :(
 

Igor_Z

You can change this now in User CP.
Reaction score
61
Glenphir why u didn't add a damage detection system? The passive spell that creates illusions would be more efficient than now because now i press S when my hero attack and I cr8 illusions T.T
 

Ayanami

칼리
Reaction score
288
@ Komaqtion
Yes, it's not MUI. It's MPI.

@ Igor_Z
Hmm, damage detection eh? You mean by doing the Unit Takes Damage event?
 

Ayanami

칼리
Reaction score
288
By using that, won't the illusions spawn although if the damage source is from a spell?
 

Flare

Stops copies me!
Reaction score
662
By using that, won't the illusions spawn although if the damage source is from a spell?
That's where an orb effect ability that applies a buff (e.g. Slow Poison) comes into play. Just detect if the buff was present on the target when damage was taken, then remove the buff. The buff will only be applied by physical attacks, so there should be no way that spells and physical attacks would become mixed up
 

Ayanami

칼리
Reaction score
288
But that'll cause other orb effects to malfunction. I had that in mind but didn't do it as it affects other orbs. Is Envenomed Spears considered orb? Tried with Lifesteal and it stacked. So just wondering.
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
Isn't it OK to use Unit Is Attacked when it's the unit being attacked that has the ability? It can't exploit it by spamming "stop" because it's not the attacking unit, and if the attacking unit spams "stop" then it's actually making things worse for itself. :p
 

Igor_Z

You can change this now in User CP.
Reaction score
61
Flare thank you very much for the info. I didn't know that. I had problems in my map because my units used their passive spells when they dealt damage via spells. Well not anymore thnx to you. You got +rep from me
 

Flare

Stops copies me!
Reaction score
662
But that'll cause other orb effects to malfunction. I had that in mind but didn't do it as it affects other orbs. Is Envenomed Spears considered orb? Tried with Lifesteal and it stacked. So just wondering.
Simply add something to the tooltip such as
Will not work in the presence of other orb effects
or
This ability is an orb effect

If people choose to add additional orb effects, tough sh*t. The ability should work properly, and being able to spam the Stop order to abuse the spell does not constitute correct functionality...
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
The ability should work properly, and being able to spam the Stop order to abuse the spell does not constitute correct functionality...
But Flare, it's the enemy's attack triggering the ability, not the hero. How is that abusable? (Aside from being in cahoots with someone on the opposing team...)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top