Merge pull request #9969 from obrakmann/fix9892_dead-radar-stops-all-reinf

Fix reinforcements appearing in soviet04a/b despite killed radar dome
This commit is contained in:
Pavel Penev
2015-11-14 14:58:25 +02:00
2 changed files with 52 additions and 36 deletions

View File

@@ -31,6 +31,10 @@ AttackPaths =
}
ReinfInf = function()
if Radar.IsDead or Radar.Owner ~= Greece then
return
end
Reinforcements.Reinforce(Greece, InfantryReinfGreece, InfReinfPath, 0, function(soldier)
soldier.Hunt()
end)
@@ -46,35 +50,39 @@ ReinfArmor = function()
end
BringPatrol1 = function()
if Radar.IsDead or Radar.Owner ~= Greece then
return
end
local units = Reinforcements.Reinforce(Greece, Patrol1Group, { SWRoadPoint.Location }, 0)
Utils.Do(units, function(patrols)
patrols.Patrol(Patrol1Path, true, 250)
end)
if not Radar.IsDead and Radar.Owner == Greece then
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol1)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol1)
end
end)
end
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol1)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol1)
end
end)
end
BringPatrol2 = function()
if Radar.IsDead or Radar.Owner ~= Greece then
return
end
local units = Reinforcements.Reinforce(Greece, Patrol2Group, { NRoadPoint.Location }, 0)
Utils.Do(units, function(patrols)
patrols.Patrol(Patrol2Path, true, 250)
end)
if not Radar.IsDead and Radar.Owner == Greece then
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol2)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol2)
end
end)
end
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol2)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol2)
end
end)
end

View File

@@ -31,6 +31,10 @@ AttackPaths =
}
ReinfInf = function()
if Radar.IsDead or Radar.Owner ~= Greece then
return
end
Reinforcements.Reinforce(Greece, InfantryReinfGreece, InfReinfPath, 0, function(soldier)
soldier.Hunt()
end)
@@ -46,35 +50,39 @@ ReinfArmor = function()
end
BringPatrol1 = function()
if Radar.IsDead or Radar.Owner ~= Greece then
return
end
local units = Reinforcements.Reinforce(Greece, Patrol1Group, { NRoadPoint.Location }, 0)
Utils.Do(units, function(patrols)
patrols.Patrol(Patrol1Path, true, 250)
end)
if not Radar.IsDead and Radar.Owner == Greece then
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol1)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol1)
end
end)
end
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol1)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol1)
end
end)
end
BringPatrol2 = function()
if Radar.IsDead or Radar.Owner ~= Greece then
return
end
local units = Reinforcements.Reinforce(Greece, Patrol2Group, { NRoadPoint.Location }, 0)
Utils.Do(units, function(patrols)
patrols.Patrol(Patrol2Path, true, 250)
end)
if not Radar.IsDead and Radar.Owner == Greece then
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol2)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol2)
end
end)
end
Trigger.OnAllKilled(units, function()
if Map.Difficulty == "Hard" then
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol2)
else
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol2)
end
end)
end