Snippet Abusing the Orb of Lightning (New)

vypur85

Hibernate
Reaction score
803
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.

attachment.php


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)
The attack trigger has a flaw. It usually activates the Orb of Lightning only after the first attack. Meaning the first attack will not have the Orb effect.

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

  • Orb of Lightning.w3x
    26.5 KB · Views: 939
  • Critical Strike.jpg
    Critical Strike.jpg
    62 KB · Views: 3,930

Tru_Power22

You can change this now in User CP.
Reaction score
144
Some cool things that I did not know about the orb of lightning. Thanks!
 

vypur85

Hibernate
Reaction score
803
> don't make an OoL have itself for an effect. Infinite loop when the abil preloads

Explain? I don't really get you here. :p


> tutorial

It doesn't matter. It's something short...
 

vypur85

Hibernate
Reaction score
803
> He definitely needs to include that in his info.

Done :).


> Make an orb of lightning where the bonus effect is the orb of lightning ability itself

Wtf. Never thought of that :p.


> Does that apply to all orb attacks

I'm not sure. Haven't tried before. It's easy to identify. Create a test map, order your unit to move nearby creeps. Don't press anything else. When your unit auto acquire attack the creep, the OoL won't activate itself. (If you want to use my test map, you will need to disable the Bug triggers for respective ability).
 

Tom_Kazansky

--- wraith it ! ---
Reaction score
157
Note: Please report any bug related to the 'Unit Acquires a target' trigger

use event "Notices a target in range" instead, this event occurs before "is attacked" a bit.
 

vypur85

Hibernate
Reaction score
803
> Graveyard ?

I think because I didn't update the thread much. Nothing much to update actually. The mods (Ghan?) were cleaning up the section, and direct all outdated threads to Graveyard.


> use event "Notices a target in range" instead....

Not sure about that. I think I tried that myself too. Ended up with bug I think. Can't really remember the reason why.
 

luorax

Invasion in Duskwood
Reaction score
67
Fortunately he's not working on LoL - one of the most important reasons why LoL is actually enjoyable.
 
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