#1
function Trig_White_MageHealthShield_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A02O' ) ) then
return false
endif
return true
endfunction
function Trig_White_MageHealthShield_Actions takes nothing returns nothing
local unit Targ
local unit Cast
local real PercHP
local real OldHP
local real NewHP
set Targ = GetSpellTargetUnit()
set Cast = GetSpellAbilityUnit()
set PercHP = GetUnitLifePercent(Targ)
set OldHP = GetUnitStateSwap(UNIT_STATE_MAX_LIFE, Targ)
set NewHP = GetUnitStateSwap(UNIT_STATE_MAX_LIFE, Targ) + ( 30 * I2R(GetUnitAbilityLevelSwapped('A02O', Cast )) )
call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, NewHP)
call SetUnitLifePercentBJ( Targ, PercHP )
call TriggerSleepAction( 30.00 )
set PercHP = GetUnitLifePercent(Targ)
call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, OldHP)
call SetUnitLifePercentBJ( Targ, PercHP )
set Targ = null
set PercHP = 0.00
set OldHP = 0.00
set NewHP = 0.00
endfunction
//===========================================================================
function InitTrig_White_MageHealthShield takes nothing returns nothing
set gg_trg_White_MageHealthShield = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_White_MageHealthShield, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_White_MageHealthShield, Condition( function Trig_White_MageHealthShield_Conditions ) )
call TriggerAddAction( gg_trg_White_MageHealthShield, function Trig_White_MageHealthShield_Actions )
endfunctionfunction Trig_White_MageHealthShield_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A02O'
endfunction
function Trig_White_MageHealthShield_Actions takes nothing returns nothing
local unit Targ = GetSpellTargetUnit()
local unit Cast = GetSpellAbilityUnit()
local real PercHP = GetUnitLifePercent(Targ)
local real OldHP = GetUnitState(Targ, UNIT_STATE_MAX_LIFE)
local real NewHP = GetUnitState(Targ, UNIT_STATE_MAX_LIFE) + 30 * GetUnitAbilityLevel(Cast, 'A02O')
set Cast = null
call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, NewHP)
call SetUnitLifePercentBJ( Targ, PercHP )
call TriggerSleepAction( 30.00 )
set PercHP = GetUnitLifePercent(Targ)
call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, OldHP)
call SetUnitLifePercentBJ( Targ, PercHP )
set Targ = null
endfunction
//===========================================================================
function InitTrig_White_MageHealthShield takes nothing returns nothing
set gg_trg_White_MageHealthShield = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_White_MageHealthShield, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_White_MageHealthShield, Condition( function Trig_White_MageHealthShield_Conditions ) )
call TriggerAddAction( gg_trg_White_MageHealthShield, function Trig_White_MageHealthShield_Actions )
endfunctionPurplePootare you sure that you copied the SetUnitMaxState function ( and all its child funcs ) to your map's script section?
call SetUnitLifePercentBJ( Targ, PercHP )call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, R2I(NewHP))function Trig_White_MageHealthShield_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A02O'
endfunction
function Trig_White_MageHealthShield_Actions takes nothing returns nothing
local unit Targ = GetSpellTargetUnit()
local unit Cast = GetSpellAbilityUnit()
local real PercHP = GetUnitLifePercent(Targ)
local real OldHP = GetUnitState(Targ, UNIT_STATE_MAX_LIFE)
local real NewHP = GetUnitState(Targ, UNIT_STATE_MAX_LIFE) + 30 * GetUnitAbilityLevel(Cast, 'A02O')
set Cast = null
call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, R2I(NewHP))
call SetUnitLifePercentBJ( Targ, PercHP )
call TriggerSleepAction( 30.00 )
set PercHP = GetUnitLifePercent(Targ)
call SetUnitMaxState(Targ, UNIT_STATE_MAX_LIFE, R2I(OldHP))
call SetUnitLifePercentBJ( Targ, PercHP )
set Targ = null
endfunction
//===========================================================================
function InitTrig_White_MageHealthShield takes nothing returns nothing
set gg_trg_White_MageHealthShield = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_White_MageHealthShield, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_White_MageHealthShield, Condition( function Trig_White_MageHealthShield_Conditions ) )
call TriggerAddAction( gg_trg_White_MageHealthShield, function Trig_White_MageHealthShield_Actions )
endfunction