Code
function Trig_NeedBlood_Cond takes nothing returns boolean
return GetUnitAbilityLevel(GetKillingUnit(),'A006')>1
endfunction
function Trig_NeedBlood_Actions takes nothing returns nothing
local unit u=GetKillingUnit()
call SetWidgetLife(u,GetWidgetLife(u)+GetUnitState(GetTriggerUnit(),UNIT_STATE_MAX_LIFE)*GetUnitAbilityLevel(u,'A006')*.1)
set u=null
endfunction
//===========================================================================
function InitTrig_NeedBlood takes nothing returns nothing
local integer index=0
set gg_trg_NeedBlood=CreateTrigger()
loop
exitwhen index==11
call TriggerRegisterPlayerUnitEvent(gg_trg_NeedBlood,Player(index),EVENT_PLAYER_UNIT_DEATH,null)
set index=index+1
endloop
call TriggerAddCondition(gg_trg_NeedBlood,function Trig_NeedBlood_Cond)
call TriggerAddAction(gg_trg_NeedBlood,function Trig_NeedBlood_Actions)
endfunction