Ayanami
칼리
- Reaction score
- 288
Introduction - Version 1.1
The spells:
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:
Code:
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:
Code:
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:
Code:
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:
Code:
Changelogs
Feedbacks will be appreciated.
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:
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
- If - Conditions
- 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)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
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)
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- Unit Group - Pick every unit in VeWaitGroup and do (Actions)
- Events
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
- Conditions
- Or - Any (Conditions) are 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)
- Loop - Actions
- Custom script: call DestroyGroup(udg_VeGroup[udg_VeTempInt])
- Else - Actions
- If - Conditions
- 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
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- 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])
- If - Conditions
- Loop - Actions
- Unit Group - Pick every unit in VeDummyGroup and do (Actions)
- Events
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
- Events
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:
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)
- Events
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>
- Events
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:
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
- Events
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)
- Events
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))))
- If - Conditions
- 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)
- Loop - Actions
- 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:
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)
- Events
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)
- Events
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
- If - Conditions
- 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)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
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
- If - Conditions
- Loop - Actions
- Unit Group - Pick every unit in DVDummyGroup and do (Actions)
- Events
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
- If - Conditions
- Loop - 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.