vypur85
Hibernate
- Reaction score
- 796
Abusing the Orb of Lightning (New)
Orb of Lightning (OoL) is an ability which allows you to add a second target-acquired ability. Whenever the unit with this ability attacks another unit, as soon as the target gets the attack damage, the target-acquired ability will be casted onto that unit.
Tip 1 - Double attack
Orb of Lightning combined with Searing Arrows. This allows a ranged unit to cast Searing Arrows to the target unit whenever its attack missile hits the target. This makes it as if the unit attacks twice. This is what is used on Nerubian Weaver's Germinate Attack in DotA.
Tip 2 - Creating a cooldown passive ability
There are 2 ways. Direct method and Indirect method.
Direct method:
Combine OoL with any target-acquiring ability which deals the effects you want. An example is to create a passive cooldown Bash. Just combine OoL with StormBolt.
Indirect method (Triggers required):
This can be done by combining OoL with an instant damage targeting ability like Unholy Frenzy. This allows you to detect when the attack missile hits the target. Target unit will be buffed by the Unholy Frenzy ability and damage taken can be detected. We can abuse the damage taken value for our desired ability. An example is by creating cooldown Critical Strike.
Triggers for Critical Strike:
Code:
Critical Strike Init
Events
Map initialization
Conditions
Actions
Set B_Abi_CriticalStrike = Critical Strike (Base: Orb of Lightning)
Set B_Buff_UnholyFrenzy_Buff = (CUSTOM) Critical Strike
Set B_Real_Multiplier_Initial = 1.00
Set B_Real_Multiplier_PerLevel = 1.00
Code:
Critical Strike
Events
Unit - A unit Is attacked
Conditions
(Level of B_Abi_CriticalStrike for (Attacking unit)) Greater than 0
((Triggering unit) is in B_Unitgp_Store) Equal to False
Actions
Unit Group - Add (Triggering unit) to B_Unitgp_Store
Trigger - Add to Critical Strike Damage Taken <gen> the event (Unit - (Triggering unit) Takes damage)
Code:
Critical Strike Damage Taken
Events
Conditions
((Triggering unit) has buff B_Buff_UnholyFrenzy_Buff) Equal to True
(Life of (Triggering unit)) Greater than or equal to (Damage taken)
Actions
Set Real1 = ((Damage taken) x (B_Real_Multiplier_Initial + (B_Real_Multiplier_PerLevel x ((Real((Level of B_Abi_CriticalStrike for (Damage source)))) - 1.00))))
Trigger - Turn off (This trigger)
Unit - Cause (Damage source) to damage (Triggering unit), dealing Real1 damage of attack type Normal and damage type Normal
Trigger - Turn on (This trigger)
Floating Text - Create floating text that reads ((String((Integer((Real1 + (Damage taken)))))) + !) above (Triggering unit) with Z offset 0.00, using font size 10.00, color (100.00%, 0.00%, 0.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.00 seconds
Unit - Remove B_Buff_UnholyFrenzy_Buff buff from (Triggering unit)
Other examples include Timed Life Steal, Timed Bouncing Attacks etc. Use your own creativity to think of something possible.
Tip 3 - Eliminating auto-attack bug
OoL has a bug in that it only activates if the player manually order the unit to attack its target (or attack move). Without the attack order, units which auto-acquire a target will not activate the OoL at all. (If you notice, this is a flaw in DotA. Weaver, S&Y, Mjolnir etc will never activate when the hero auto-attacks.)
To fix this, we can use the event 'Unit Acquires a target'. This is only available in 'Specific Unit Event'. 'Triggering unit' will be your unit/hero while 'Targeted unit' is the target who alerted your unit/hero. All we need to do is just ordering the unit to attack ground when the event fires.
Trigger:
Code:
Bug Init
Events
Map initialization
Conditions
Actions
Set Group1 = (Units in (Playable map area) matching ((Level of Orb of Lightning (new) for (Matching unit)) Greater than 0))
Unit Group - Pick every unit in Group1 and do (Actions)
Loop - Actions
Trigger - Add to Bug <gen> the event (Unit - (Picked unit) Acquires a target)
Custom script: call DestroyGroup (udg_Group1)
Code:
Bug Enter
Events
Unit - A unit enters (Playable map area)
Conditions
(Level of Orb of Lightning (new) for (Triggering unit)) Greater than 0
Actions
Trigger - Add to Bug <gen> the event (Unit - (Triggering unit) Acquires a target)
Code:
Bug
Events
Conditions
Actions
Set Point1 = (Position of (Triggering unit))
Unit - Order (Triggering unit) to Attack-Move To Point1
Custom script: call RemoveLocation (udg_Point1)
Some suggest to use this:
Code:
Attack
Events
Unit - A unit Is attacked
Conditions
(Level of Orb of Lightning (new) for (Attacking unit)) Greater than 0
Actions
Trigger - Turn off (This trigger)
Unit - Order (Attacking unit) to Attack (Triggering unit)
Trigger - Turn on (This trigger)
Note: Please report any bug related to the 'Unit Acquires a target' trigger.
Attached along is the map containing some examples of abilities (eg. Critical Strike (MUI), Multiple Attacks (MPI), etc.)
Comment: Made this because I realise a lot of people asking about this. And just to share the cooldown and bug thing with you guys.
Attachments
-
26.5 KB Views: 866
-
62 KB Views: 3,854