| 1066 | } |
| 1067 | |
| 1068 | void ScriptExt::Set_ForceJump_Countdown(TeamClass* pTeam, bool repeatLine, int count) |
| 1069 | { |
| 1070 | auto const pTeamData = TeamExt::ExtMap.Find(pTeam); |
| 1071 | auto const pScript = pTeam->CurrentScript; |
| 1072 | |
| 1073 | if (count <= 0) |
| 1074 | count = 15 * pTeam->CurrentScript->Type->ScriptActions[pTeam->CurrentScript->CurrentMission].Argument; |
| 1075 | |
| 1076 | if (count > 0) |
| 1077 | { |
| 1078 | pTeamData->ForceJump_InitialCountdown = count; |
| 1079 | pTeamData->ForceJump_Countdown.Start(count); |
| 1080 | pTeamData->ForceJump_RepeatMode = repeatLine; |
| 1081 | } |
| 1082 | else |
| 1083 | { |
| 1084 | pTeamData->ForceJump_InitialCountdown = -1; |
| 1085 | pTeamData->ForceJump_Countdown.Stop(); |
| 1086 | pTeamData->ForceJump_RepeatMode = false; |
| 1087 | } |
| 1088 | |
| 1089 | // This action finished |
| 1090 | pTeam->StepCompleted = true; |
| 1091 | ScriptExt::Log("AI Scripts - SetForceJumpCountdown: [%s] [%s](line: %d = %d,%d) Set Timed Jump -> (Countdown: %d, repeat action: %d)\n", pTeam->Type->ID, pScript->Type->ID, pScript->CurrentMission, pScript->Type->ScriptActions[pScript->CurrentMission].Action, pScript->Type->ScriptActions[pScript->CurrentMission].Argument, count, repeatLine); |
| 1092 | } |
| 1093 | |
| 1094 | void ScriptExt::Stop_ForceJump_Countdown(TeamClass* pTeam) |
| 1095 | { |