Система стака

Добавлен
Как сделать систему стака баффа без кэша? (пример: юнит атакует врага. за каждую след. атаку уровень баффа на врага увеличивается.)
Пытался сделать так:
function Trig_Hell_mark_Conditions takes nothing returns boolean
    return GetAttacker() == udg_Brutalstirke_owner
endfunction

function Trig_Hell_mark_Actions takes nothing returns nothing
 local unit t = GetTriggerUnit()
 local location loc = GetUnitLoc(t)
 local integer i = GetUnitAbilityLevel(t,'B01U')
 local unit d
  if i==0 then
   set d = CreateUnitAtLoc(GetOwningPlayer(udg_Brutalstirke_owner),'e00P',loc,0.0)
   call IssueTargetOrder(d,"curse",t)
  else
   set i=i+1
   set d = CreateUnitAtLoc(GetOwningPlayer(udg_Brutalstirke_owner),'e00P',loc,0.0)
   call SetUnitAbilityLevel(d,'A05H',i)
   call IssueTargetOrder(d,"curse",t)
  endif
 call PolledWait(0.2)
 call ShowUnit(d,false)
 call RemoveUnit(d)
 set d=null
 call RemoveLocation(loc)
 set t=null
endfunction

//===========================================================================
function InitTrig_Hell_mark takes nothing returns nothing
    set gg_trg_Hell_mark = CreateTrigger(  )
    call DisableTrigger( gg_trg_Hell_mark )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Hell_mark, EVENT_PLAYER_UNIT_ATTACKED )
    call TriggerAddCondition( gg_trg_Hell_mark, Condition( function Trig_Hell_mark_Conditions ) )
    call TriggerAddAction( gg_trg_Hell_mark, function Trig_Hell_mark_Actions )
endfunction
но GetUnitAbilityLevel возвращает либо 0, либо 1. т.е. максимальный уровень баффа - 2.

Принятый ответ

Можно закрывать, ответ получен в другой теме