function Trig_Computer_Kills_Light_Conditions takes nothing returns boolean
if ( not ( GetDyingUnit() == udg_Player_Hero[GetPlayerId(GetOwningPlayer(GetDyingUnit()))] ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetKillingUnit()) == Player(11) ) ) then
return false
endif
if ( not ( IsPlayerInForce(GetOwningPlayer(GetDyingUnit()), udg_Ability_Pheonix) == false ) ) then
return false
endif
if ( not ( IsUnitInGroup(GetTriggerUnit(), udg_Creation_Group) == false ) ) then
return false
endif
return true
endfunction
function Trig_Computer_Kills_Light_Actions takes nothing returns nothing
local unit d = GetTriggerUnit()
local unit k = GetKillingUnit()
local player p = GetOwningPlayer(d)
local real x = GetUnitX(d)
local real y = GetUnitY(d)
local integer seventy = GetPlayerState(p, PLAYER_STATE_RESOURCE_GOLD) * R2I(.70)
local integer fifty = GetPlayerState(p, PLAYER_STATE_RESOURCE_GOLD) * R2I(.50)
local integer thirty = GetPlayerState(p, PLAYER_STATE_RESOURCE_GOLD) * R2I(.30)
local location base
call DisplayTextToPlayer(p, x, y, I2S(seventy))
call DestroyEffect(AddSpecialEffect("Units\\NightElf\\Wisp\\WispExplode.mdl", x, y))
if (IsPlayerInForce(GetLocalPlayer(), bj_FORCE_ALL_PLAYERS)) then
call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, "TRIGSTR_241")
endif
if ( (GetRectMinX(gg_rct_SeventyLoss) <= x) and (x <= GetRectMaxX(gg_rct_SeventyLoss)) and (GetRectMinY(gg_rct_SeventyLoss) <= y) and (y <= GetRectMaxY(gg_rct_SeventyLoss)) ) then
set udg_Gold = GetPlayerState((p), PLAYER_STATE_RESOURCE_GOLD) - seventy
set udg_Loss_Amount[GetPlayerId(p)] = ( udg_Loss_Amount[GetPlayerId(p)] + udg_Gold )
call SetPlayerState(p, PLAYER_STATE_RESOURCE_GOLD, - udg_Gold)
else
set udg_Gold = GetPlayerState((p), PLAYER_STATE_RESOURCE_GOLD)
set udg_Loss_Amount[GetPlayerId(p)] = ( udg_Loss_Amount[GetPlayerId(p)] + udg_Gold )
call SetPlayerState( p, PLAYER_STATE_RESOURCE_GOLD, 0 )
endif
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 3, ( udg_Rows[GetPlayerId(p)] + 1 ), I2S(udg_Loss_Amount[GetPlayerId(p)]) )
if ( GetHeroLevel(GetDyingUnit()) > 5 ) then
call TriggerSleepAction( 25.00 )
else
call TriggerSleepAction( 15.00 )
endif
set base = Location(GetRectCenterX(gg_rct_Dark_Base_Hero), GetRectCenterY(gg_rct_Dark_Base_Hero))
if (GetLocalPlayer() == p) then
call PanCameraToTimed(GetLocationX(base), GetLocationY(base), 2.00)
call ResetToGameCamera(1.00)
endif
call ReviveHeroLoc( d, base, true )
call RemoveLocation(base)
set d = null
set k = null
set p = null
endfunction