Why does this only work for player units?

W!†A_cRaft

Ultra Cool Member
Reaction score
28
GetEventDamage not working for enemies? wtf

JASS:

ffunction hgdamagecheck takes nothing returns boolean
    local unit u = LoadUnitHandle(udg_hash, GetHandleId(GetTriggerUnit()), StringHash("hgattacker"))
    local unit target = LoadUnitHandle(udg_hash, GetHandleId(GetTriggerUnit()), StringHash("hgself"))
    local boolean bool = LoadBoolean(udg_hash, GetHandleId(u), StringHash("HGactive"))
    local boolean dafired = LoadBoolean(udg_hash, GetHandleId(u), StringHash("DAfired"))
    set hgpassed = true
    call BJDebugMsg(GetUnitName(u))
    call BJDebugMsg(GetUnitName(target))
    if (GetEventDamage() >= 1.0) then
        call BJDebugMsg("damage >1")
        if(GetEventDamageSource() == u) then
        call BJDebugMsg("passed damage source check")
            if((GetUnitAbilityLevel(target, 'B004') >= 1)) then
                call BJDebugMsg("Has B004")
                return true
            else
                if (GetBooleanAnd(dafired, bool))then
                call SaveBoolean(udg_hash, GetHandleId(u), StringHash("DAfired"), false)
                call BJDebugMsg("has B003 and is active")
                return true
                else
                endif
            endif
        else
        endif
    else
    endif
    call BJDebugMsg("falsed it")
    set hgpassed = false
    return true
endfunction


when the check is called for a player owned unit it passess the checks and returns true.

when check is called for an enemy unit it doesnt pass the
JASS:
if (GetEventDamage() >= 1.0) then


Why does this not work for enemy units?

EDIT: return value of GetEventDamage() = 0.0 when the damaged unit is an enemy, but he still gets damage by the attack (which i seen), WTF?
EDIT: EDIT: the function i posted is used as a condition in a trigger.

Purpose:
I attack a unit while having an ability (Item Attack Frost Damage Bonus)
and save the attacker and the aterget to hesh, create a new trigger that registers when the target is damaged.
If the target is damaged i than check if the damage is >=1
if it is than i check is the attacker = damage dealer
and finally does unit have a "slowed" debuf (to avoid having attacked, than damage via spell of the attacker before the projectile hits, resulting in double effect)

if it does it returns true to the trigger conditions
if it doest it sets the global bool to false and returns true.

The action in the trigger first checks if the global bool is true, i it is than it continues with it's course otherwise it does nothing

Problem is when the enemy unit is attacked by my hero, the trigger is made, event is registered but the condition doesnt pass,
the EventDamage displays as 0.0, even though the target clearly gets damaged....

so what gives??
 
Problem is when the enemy unit is attacked by my hero, the trigger is made, event is registered but the condition doesnt pass,
the EventDamage displays as 0.0, even though the target clearly gets damaged....

so what gives??

What do you mean by 'the condition doesn't pass'?

Is that the condition function doesn't run at all, or the damage >= 1 condition doesn't pass.

Maybe ppl will understand your problem better if you post the whole trigger(creation,event registration...)

Add a line call BJDebugMsg(R2S(GetEventDamage())) and see what it displays.
 
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