I need one just like DotA's. I have searched everywhere, found 3 hero revival systems that looked promising, but each failed. This is my latest attempt
Trigger:
- Hero Revival Revised
- Events
- Unit - A unit Dies
- Conditions
- ((Triggering unit) is A Hero) Equal to True
- Actions
- Custom script: local timerdialog WINDOW
- Custom script: local integer HEROWAIT
- Custom script: local timer OURTIMER
- Custom script: local unit OURHERO
- Custom script: set OURHERO = GetDyingUnit()
- Custom script: set HEROWAIT = ( GetHeroLevel(OURHERO) * 4 )
- Custom script: set OURTIMER = CreateTimer()
- Custom script: call StartTimerBJ( OURTIMER, false, ( I2R(HEROWAIT) ))
- Custom script: call CreateTimerDialogBJ( OURTIMER, GetPlayerName(GetOwningPlayer(OURHERO)) )
- Custom script: set WINDOW = GetLastCreatedTimerDialogBJ()
- Custom script: call TimerDialogDisplayForPlayerBJ( true, WINDOW, GetOwningPlayer(OURHERO) )
- Custom script: call PolledWait( HEROWAIT )
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Owner of (Triggering unit)) is in Team1) Equal to True
- Then - Actions
- Custom script: set udg_Point[943] = GetRectCenter(gg_rct_Hero_Spawn_T1)
- Custom script: call CameraSetupApplyForPlayer( true, gg_cam_Team_1_Store, GetOwningPlayer(GetTriggerUnit()), 0 )
- Custom script: call ReviveHeroLoc( OURHERO, udg_Point[943], true )
- Else - Actions
- Custom script: set udg_Point[943] = GetRectCenter(gg_rct_Hero_Spawn_T2)
- Custom script: call CameraSetupApplyForPlayer( true, gg_cam_Team_2_Store, GetOwningPlayer(GetTriggerUnit()), 0 )
- Custom script: call ReviveHeroLoc( OURHERO, udg_Point[943], true )
- If - Conditions
- Custom script: call DestroyTimerDialog(WINDOW)
- Events