Trigger Dificulties

Naga'sShadow

Ultra Cool Member
Reaction score
49
I've got a trigger designed to add damage to an arrow ability. I can't see a problem with it and the phraser has no issues with it, but in testing the move does nothing and I'm not sure whats wrong. Could someone please let me know if they see anything that doesn't work?

JASS:
function OoD_Detect takes nothing returns boolean
    if GetTriggerEventId()==EVENT_PLAYER_UNIT_ATTACKED and GetUnitAbilityLevel(GetAttacker(),'A0AR')>0 then        
        return true           
    elseif GetTriggerEventId()==EVENT_PLAYER_UNIT_SPELL_EFFECT and GetSpellAbilityId()=='A0AR' then        
        return true        
    endif
    return false
endfunction

function OoD_Effects takes nothing returns nothing
    local unit targ = GetTriggerUnit()
    local unit cast = GetEventDamageSource()
    local texttag t
    local real dam
            
    if GetUnitAbilityLevel(targ,'B00D')>0 and GetUnitAbilityLevel(cast,'A0AR')>0 then
        if IsUnitType(targ,UNIT_TYPE_HERO) then
            set dam = (GetUnitAbilityLevel(cast, 'A0AR')*GetHeroInt(cast,true) - GetHeroInt(targ,true))
                if dam <= 0 then
                    set dam = (GetUnitAbilityLevel(cast, 'A0AR')* 25)
                endif 
            else 
                set dam = (GetUnitAbilityLevel(cast, 'A0AR')* 25)
        endif 
        
        call DisableTrigger(GetTriggeringTrigger())                        
        set t = CreateTextTag()
        call SetTextTagText(t,"+"+I2S(R2I(dam)),.023)
        call SetTextTagPosUnit(t,targ,15)
        call SetTextTagColor(t,255,105,180,50)               
        call SetTextTagVelocity(t,.0355 * Cos(90 * bj_DEGTORAD),.0355 * Sin(90 * bj_DEGTORAD))
        call SetTextTagLifespan(t,1.)
        call UnitDamageTarget(cast,targ,dam,false,false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MIND,null)                
        call PolledWait(1.)
        call DestroyTextTag(t) 
        set t = null                   
    endif

    set targ = null
    set cast = null       
endfunction

function OoD_Detect_Actions takes nothing returns nothing
    local trigger trig = CreateTrigger()  
    local triggeraction ta  
    local unit u
    
    if GetTriggerEventId()==EVENT_PLAYER_UNIT_SPELL_EFFECT then        
        set u = GetSpellTargetUnit()
    else        
        set u = GetTriggerUnit()
    endif
    call TriggerRegisterUnitEvent(trig,u, EVENT_UNIT_DAMAGED)
    set ta = TriggerAddAction(trig, function OoD_Effects)
    call PolledWait(2)

    call DisableTrigger(trig)
    call TriggerRemoveAction(trig,ta)    
    call DestroyTrigger(trig)     
     
    set ta = null  
    set u = null
    set trig = null
endfunction

function InitTrig_Orb_of_Dreams takes nothing returns nothing
    local trigger gg_trg_OoD
    set gg_trg_OoD = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ(gg_trg_OoD, EVENT_PLAYER_UNIT_ATTACKED)
    call TriggerRegisterAnyUnitEventBJ(gg_trg_OoD, EVENT_PLAYER_UNIT_SPELL_EFFECT)        
    call TriggerAddCondition(gg_trg_OoD, Condition(function OoD_Detect))
    call TriggerAddAction(gg_trg_OoD, function OoD_Detect_Actions)
    set gg_trg_OoD = null
endfunction


*Edit I removed the wait in that section to see if it made any difference in the trigger's execution. It didn't and removing the disable and destroy function had no effect either.*

*Edit 2 nevermind, I flubed up and used the wrong buff. If you spot a leak let me know please.*
 
How are you supposing the trigger you create in the actions to run if you disable it, remove its actions, and destroy it immediately after you've created it and added the event and action?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good

      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