Searing arrows problem

Skeith

New Member
Reaction score
3
So, i'm using searing arrows (mana absorb) so that the unit gains mana everytime he uses the skill. He gains, but only the player use the skill manually, he dont gains mana when the player sets the auto cast. How to make the unit gains mana on auto cast? heres the trigger i'm using.

Trigger:
  • Mana Absorb
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Mana Absorb
      • (Unit-type of (Casting unit)) Equal to Fire Magic Panda Warrior
    • Actions
      • Unit - Set mana of (Casting unit) to ((Mana of (Casting unit)) + 25.00)
 

ThePlague

New Member
Reaction score
14
When the spell is on autocast and the unit attacks it doesnt count as using an ability. So if you want it to still work you would need to make a trigger to detect when the unit attacks and if searing arrows is on.

To detect if searing arrows is on or off use a seperate trigger checking for Order given is searingarrowson/off (the order id find inside the spell in object editor)
 

Skeith

New Member
Reaction score
3
Ok, i'll try it, thnx.

EDIT: Sry but i really dont know how 2 do this, please can you post the triggeR?
 

ThePlague

New Member
Reaction score
14
It will take 4 triggers in total.
1 of the triggers is the one you have at start
1 is this one in case of autocast

JASS:
function Trig_Untitled_Trigger_004_Conditions takes nothing returns boolean
    return  IsUnitInGroup(GetAttacker(), udg_UnitGroupVariable)
endfunction

function Conditions_Two takes nothing returns boolean
    return UnitHasBuffBJ(GetTriggerUnit(), 'BNab')
endfunction

function Actions_Two takes nothing returns nothing
    call SetUnitManaBJ( GetEventDamageSource(), GetUnitStateSwap(UNIT_STATE_MANA, GetEventDamageSource()) )
call DestroyTrigger(GetTriggeringTrigger())
endfunction

function Trig_Untitled_Trigger_004_Actions takes nothing returns nothing
local trigger PartTwo
    call TriggerRegisterUnitEvent( PartTwo, GetAttackedUnitBJ(), EVENT_UNIT_DAMAGED )
    call TriggerAddCondition(PartTwo, Condition(function Actions_Two))
    call TriggerAddAction( PartTwo, function Conditions_Two )
    call TriggerSleepAction (3)
call DestroyTrigger(PartTwo)
set PartTwo=null
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_004 takes nothing returns nothing
    set gg_trg_Untitled_Trigger_004 = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Untitled_Trigger_004, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_Untitled_Trigger_004, Condition( function Trig_Untitled_Trigger_004_Conditions ) )
    call TriggerAddAction( gg_trg_Untitled_Trigger_004, function Trig_Untitled_Trigger_004_Actions )
endfunction


Note: udg_UnitGroupVariable can be any unit group variable (shocking)
and the buff code 'BNab' needs to be replaced with the code for your spell


I'll post the other 2 in a sec

Sorry I had to use Jass to avoid annoying glitches associated with the event
"a unit is attacked"
 

ThePlague

New Member
Reaction score
14
Code:
Autocast-ON
E
Unit - A unit Is issued an order with no target
C
(Issued order) Equal to (Order(flamingarrows))
A
Unit Group - Add (Triggering unit) to UnitGroupVariable

Code:
Autocast-OFF
E
Unit - A unit Is issued an order with no target
C
(Issued order) Equal to (Order(unflamingarrows))
A
Unit Group - Remove (Triggering unit) to UnitGroupVariable

oh also note that the Jass Trigger is case sensitive
 

Cheddar

This is the way it was meant to be.
Reaction score
126
Full trigger:

Code:
Your Ad Could Be Here
    Events
        Unit - A unit Is issued an order with no target
    Conditions
        (Issued order) Equal to (Order(flamingarrows))
    Actions
        Unit - Kill (Ordered unit)

Code:
Your Ad Could Be Here Too
    Events
        Unit - A unit Is issued an order with no target
    Conditions
        (Issued order) Equal to (Order(unflamingarrows))
    Actions
        Unit - Explode World
 

Skeith

New Member
Reaction score
3
Hmm dont worked =/
Tryed the triggers (Not the JASS one, also i dont understand why theres an unit group variable?)
 

Cheddar

This is the way it was meant to be.
Reaction score
126
Try replacing "Triggering unit" with "Ordered unit". The unit group variable is to detect who has the ability autocasted and who doesn't.
 

ThePlague

New Member
Reaction score
14
The first trigger you had works for manual casting. My Jass trigger checks if a unit in a certain unit group attacks something and then gives it mana when the target is actually hit. The 2 basic triggers put a unit inside of that unit group when autocast is turned on (and remove it when its turned off).

The three triggers work together it wont work unless you have all 3.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top