function Trig_Revive_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local player p = GetOwningPlayer(u)
local real x = GetUnitX(u)
local real y = GetUnitY(u)
local integer r = GetUnitTypeId(u)
local timer t = CreateTimer()
call TimerStart (t, 60., false, null)
loop
exitwhen (TimerGetRemaining(t) <= 0.00)
call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL, 1))
endloop
call CreateUnit (p, r, x, y, 1.)
call DestroyTimer (t)
set u=null
set p=null
set t=null
endfunction
//===========================================================================
function InitTrig_Revive takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ (t, EVENT_PLAYER_UNIT_DEATH)
call TriggerAddAction (t, function Trig_Revive_Actions)
set t=null
endfunction