Use global difficulty.
This commit is contained in:
committed by
abcdefg30
parent
58b105f0d4
commit
d42edfc0b9
@@ -46,7 +46,7 @@ WorldLoaded = function()
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function() InitialUnitsArrived = true end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(15), function() ReinforceWithLandingCraft(Nod, BazookaReinforcments, SeaEntryB.Location, BeachReinforceB.Location, BeachReinforceB.Location) end)
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(25), function() ReinforceWithLandingCraft(Nod, BikeReinforcments, SeaEntryA.Location, BeachReinforceA.Location, BeachReinforceA.Location) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(30), function() ReinforceWithLandingCraft(Nod, BikeReinforcments, SeaEntryB.Location, BeachReinforceB.Location, BeachReinforceB.Location) end)
|
||||
end
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
RepairThreshold = { easy = 0.3, normal = 0.6, hard = 0.9 }
|
||||
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
information, see COPYING.
|
||||
]]
|
||||
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
RepairThreshold = { easy = 0.3, normal = 0.6, hard = 0.9 }
|
||||
|
||||
ActorRemovals =
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
IslandSamSites = { SAM01, SAM02 }
|
||||
NodBase = { PowerPlant1, PowerPlant2, PowerPlant3, PowerPlant4, PowerPlant5, Refinery, HandOfNod, Silo1, Silo2, Silo3, Silo4, ConYard, CommCenter }
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
information, see COPYING.
|
||||
]]
|
||||
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
SamSites = { sam1, sam2, sam3, sam4, sam5 }
|
||||
|
||||
NodRetaliateIfDestroyedUnits = { harv1, bggy, ltnk1, ltnk2, ltnk3, arty1, arty2, arty3}
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
NodStartUnitsRight =
|
||||
{
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
NodUnitsVehicle1 =
|
||||
{
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
if Difficulty == "easy" then
|
||||
Rambo = "rmbo.easy"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
if Difficulty == "easy" then
|
||||
Rambo = "rmbo.easy"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
if Difficulty == "easy" then
|
||||
Rambo = "rmbo.easy"
|
||||
|
||||
@@ -21,16 +21,16 @@ SovietBase = { SovietConyard, SovietRefinery, SovietPower1, SovietPower2, Soviet
|
||||
|
||||
IdlingUnits = { }
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
DateTime.TimeLimit = DateTime.Minutes(10) + DateTime.Seconds(3)
|
||||
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
DateTime.TimeLimit = DateTime.Minutes(5) + DateTime.Seconds(3)
|
||||
InfantryTypes = { "e1", "e1", "e1", "e2", "e2", "e1" }
|
||||
InfantryDelay = DateTime.Seconds(18)
|
||||
AttackGroupSize = 5
|
||||
|
||||
elseif Map.LobbyOption("difficulty") == "hard" then
|
||||
elseif Difficulty == "hard" then
|
||||
DateTime.TimeLimit = DateTime.Minutes(3) + DateTime.Seconds(3)
|
||||
InfantryTypes = { "e1", "e1", "e1", "e2", "e2", "e1" }
|
||||
InfantryDelay = DateTime.Seconds(10)
|
||||
@@ -141,7 +141,7 @@ SendAttack = function()
|
||||
end
|
||||
|
||||
Utils.Do(units, function(unit)
|
||||
if Map.LobbyOption("difficulty") ~= "tough" then
|
||||
if Difficulty ~= "tough" then
|
||||
unit.AttackMove(DeployPoint.Location)
|
||||
end
|
||||
Trigger.OnIdle(unit, unit.Hunt)
|
||||
|
||||
@@ -17,7 +17,7 @@ WaterTransportTriggerArea = { CPos.New(39, 54), CPos.New(40, 54), CPos.New(41, 5
|
||||
ParadropTriggerArea = { CPos.New(81, 60), CPos.New(82, 60), CPos.New(83, 60), CPos.New(63, 63), CPos.New(64, 63), CPos.New(65, 63), CPos.New(66, 63), CPos.New(67, 63), CPos.New(68, 63), CPos.New(69, 63), CPos.New(70, 63), CPos.New(71, 63), CPos.New(72, 63) }
|
||||
ReinforcementsTriggerArea = { CPos.New(96, 55), CPos.New(97, 55), CPos.New(97, 56), CPos.New(98, 56) }
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
TanyaType = "e7"
|
||||
else
|
||||
TanyaType = "e7.noautotarget"
|
||||
|
||||
@@ -28,7 +28,7 @@ GuardTanks = { Heavy1, Heavy2, Heavy3 }
|
||||
CheckpointGuards = { USSRCheckpointGuard1, USSRCheckpointGuard2 }
|
||||
CheckpointGuardWaypoints = { CheckpointGuardWaypoint1, CheckpointGuardWaypoint2 }
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
TanyaType = "e7"
|
||||
else
|
||||
TanyaType = "e7.noautotarget"
|
||||
|
||||
@@ -246,9 +246,8 @@ ActivateAI = function()
|
||||
InitAIUnits()
|
||||
ProtectHarvester(Harvester)
|
||||
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
AttackDelay = AttackDelays[difficulty]
|
||||
AttackGroupSize = AttackGroupSizes[difficulty]
|
||||
AttackDelay = AttackDelays[Difficulty]
|
||||
AttackGroupSize = AttackGroupSizes[Difficulty]
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), function()
|
||||
ProduceInfantry()
|
||||
ProduceVehicles()
|
||||
|
||||
@@ -65,7 +65,7 @@ Paradrop = function()
|
||||
end)
|
||||
|
||||
Paradropped = Paradropped + 1
|
||||
if Paradropped <= ParadropWaves[Map.LobbyOption("difficulty")] then
|
||||
if Paradropped <= ParadropWaves[Difficulty] then
|
||||
Paradrop()
|
||||
end
|
||||
end)
|
||||
@@ -114,7 +114,7 @@ SendConvoys = function()
|
||||
Trigger.RemoveFootprintTrigger(id)
|
||||
|
||||
ConvoysSent = ConvoysSent + 1
|
||||
if ConvoysSent <= Convoys[Map.LobbyOption("difficulty")] then
|
||||
if ConvoysSent <= Convoys[Difficulty] then
|
||||
SendConvoys()
|
||||
else
|
||||
player.MarkCompletedObjective(DestroyConvoys)
|
||||
@@ -173,9 +173,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives()
|
||||
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
ConvoyDelay = ConvoyDelays[difficulty]
|
||||
ParadropDelay = ParadropDelays[difficulty]
|
||||
ConvoyDelay = ConvoyDelays[Difficulty]
|
||||
ParadropDelay = ParadropDelays[Difficulty]
|
||||
PowerProxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
|
||||
Paradrop()
|
||||
SendConvoys()
|
||||
|
||||
@@ -164,7 +164,7 @@ InitProductionBuildings = function()
|
||||
end)
|
||||
end
|
||||
|
||||
if Map.LobbyOption("difficulty") ~= "easy" then
|
||||
if Difficulty ~= "easy" then
|
||||
|
||||
if not Airfield1.IsDead then
|
||||
Trigger.OnKilled(Airfield1, function()
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
information, see COPYING.
|
||||
]]
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
TanyaType = "e7"
|
||||
ReinforceCash = 5000
|
||||
HoldAITime = DateTime.Minutes(3)
|
||||
SpecialCameras = true
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
TanyaType = "e7.noautotarget"
|
||||
ReinforceCash = 2250
|
||||
HoldAITime = DateTime.Minutes(2)
|
||||
@@ -89,7 +89,7 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ussr.HasNoRequiredUnits() then
|
||||
if not greece.IsObjectiveCompleted(KillAll) and Map.LobbyOption("difficulty") == "tough" then
|
||||
if not greece.IsObjectiveCompleted(KillAll) and Difficulty == "tough" then
|
||||
SendWaterExtraction()
|
||||
end
|
||||
greece.MarkCompletedObjective(KillAll)
|
||||
@@ -191,7 +191,7 @@ FreeTanya = function()
|
||||
|
||||
Trigger.OnKilled(Tanya, function() ussr.MarkCompletedObjective(ussrObj) end)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "tough" then
|
||||
if Difficulty == "tough" then
|
||||
KillSams = greece.AddObjective("Destroy all four SAM Sites that block\nour reinforcements' helicopter.")
|
||||
|
||||
greece.MarkCompletedObjective(mainObj)
|
||||
@@ -316,7 +316,7 @@ InitTriggers = function()
|
||||
end
|
||||
end)
|
||||
|
||||
if Map.LobbyOption("difficulty") ~= "tough" then
|
||||
if Difficulty ~= "tough" then
|
||||
Trigger.OnKilled(Mammoth, function()
|
||||
Trigger.AfterDelay(HoldAITime - DateTime.Seconds(45), function() HoldProduction = false end)
|
||||
Trigger.AfterDelay(HoldAITime, function() Attacking = true end)
|
||||
@@ -342,7 +342,7 @@ InitTriggers = function()
|
||||
Trigger.AfterDelay(DateTime.Seconds(7), flare.Destroy)
|
||||
Media.PlaySpeechNotification(greece, "SignalFlare")
|
||||
|
||||
if Map.LobbyOption("difficulty") == "tough" then
|
||||
if Difficulty == "tough" then
|
||||
Reinforcements.ReinforceWithTransport(greece, InsertionHeliType, HeliReinforcements, ExtractionPath, { ExtractionPath[1] })
|
||||
if not Harvester.IsDead then
|
||||
Harvester.FindResources()
|
||||
|
||||
@@ -44,7 +44,7 @@ ProduceUSSRInfantry = function()
|
||||
USSR.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -56,7 +56,7 @@ ProduceUSSRVehicles = function()
|
||||
USSR.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -73,7 +73,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Planes, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(plane, Greece)
|
||||
|
||||
@@ -413,12 +413,12 @@ WorldLoaded = function()
|
||||
SendSpy()
|
||||
ChurchFootprint()
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
TanyaType = "e7"
|
||||
ReinforceCash = 5000
|
||||
USSR.Cash = 8000
|
||||
SpecialCameras = true
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
TanyaType = "e7.noautotarget"
|
||||
ReinforceCash = 2250
|
||||
USSR.Cash = 15000
|
||||
|
||||
@@ -44,7 +44,7 @@ ProduceUSSRInfantry = function()
|
||||
USSR.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -56,7 +56,7 @@ ProduceUSSRVehicles = function()
|
||||
USSR.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -73,7 +73,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Planes, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(plane, Greece)
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
TanyaType = "e7"
|
||||
ReinforceCash = 5000
|
||||
HoldAITime = DateTime.Minutes(3)
|
||||
SpecialCameras = true
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
TanyaType = "e7.noautotarget"
|
||||
ReinforceCash = 3500
|
||||
HoldAITime = DateTime.Minutes(2)
|
||||
@@ -190,7 +190,7 @@ FreeTanya = function()
|
||||
|
||||
Trigger.OnKilled(Tanya, function() USSR.MarkCompletedObjective(USSRObj) end)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "tough" then
|
||||
if Difficulty == "tough" then
|
||||
KillSams = Greece.AddObjective("Destroy all six SAM Sites that block\nour reinforcements' helicopter.")
|
||||
|
||||
Greece.MarkCompletedObjective(MainObj)
|
||||
@@ -324,7 +324,7 @@ Tick = function()
|
||||
end
|
||||
|
||||
if USSR.HasNoRequiredUnits() then
|
||||
if not Greece.IsObjectiveCompleted(KillAll) and Map.LobbyOption("difficulty") == "tough" then
|
||||
if not Greece.IsObjectiveCompleted(KillAll) and Difficulty == "tough" then
|
||||
SendWaterExtraction()
|
||||
end
|
||||
Greece.MarkCompletedObjective(KillAll)
|
||||
|
||||
@@ -197,12 +197,11 @@ WTransWaves = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
WaterAttackTypes = WaterAttackTypes[difficulty]
|
||||
WaterAttacks = WaterAttacks[difficulty]
|
||||
WTransUnits = WTransUnits[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
BuildDelays = BuildDelays[difficulty]
|
||||
WaterAttackTypes = WaterAttackTypes[Difficulty]
|
||||
WaterAttacks = WaterAttacks[Difficulty]
|
||||
WTransUnits = WTransUnits[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
BuildDelays = BuildDelays[Difficulty]
|
||||
|
||||
InitialiseAttack()
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), ProduceInfantry)
|
||||
|
||||
@@ -121,14 +121,14 @@ CaptureRadarDome = function()
|
||||
end
|
||||
|
||||
Beacon.New(player, a.CenterPosition)
|
||||
if Map.LobbyOption("difficulty") ~= "hard" then
|
||||
if Difficulty ~= "hard" then
|
||||
Actor.Create("TECH.CAM", true, { Owner = player, Location = a.Location + CVec.New(1, 1) })
|
||||
end
|
||||
end)
|
||||
|
||||
Media.DisplayMessage("Coordinates of the Soviet tech centers discovered.")
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Actor.Create("Camera", true, { Owner = player, Location = Weapcam.Location })
|
||||
end
|
||||
end)
|
||||
@@ -145,7 +145,7 @@ InfiltrateTechCenter = function()
|
||||
player.MarkCompletedObjective(InfiltrateTechCenterObj)
|
||||
|
||||
local Proxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
|
||||
Utils.Do(ParadropWaypoints[Map.LobbyOption("difficulty")], function(waypoint)
|
||||
Utils.Do(ParadropWaypoints[Difficulty], function(waypoint)
|
||||
Proxy.TargetParatroopers(waypoint.CenterPosition, Angle.South)
|
||||
end)
|
||||
Proxy.Destroy()
|
||||
|
||||
@@ -209,12 +209,11 @@ WTransWaves = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
WaterAttackTypes = WaterAttackTypes[difficulty]
|
||||
WaterAttacks = WaterAttacks[difficulty]
|
||||
WTransUnits = WTransUnits[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
BuildDelays = BuildDelays[difficulty]
|
||||
WaterAttackTypes = WaterAttackTypes[Difficulty]
|
||||
WaterAttacks = WaterAttacks[Difficulty]
|
||||
WTransUnits = WTransUnits[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
BuildDelays = BuildDelays[Difficulty]
|
||||
|
||||
InitialiseAttack()
|
||||
Trigger.AfterDelay(DateTime.Seconds(40), ProduceInfantry)
|
||||
|
||||
@@ -131,14 +131,14 @@ CaptureRadarDome = function()
|
||||
end
|
||||
|
||||
Beacon.New(player, a.CenterPosition)
|
||||
if Map.LobbyOption("difficulty") ~= "hard" then
|
||||
if Difficulty ~= "hard" then
|
||||
Actor.Create("TECH.CAM", true, { Owner = player, Location = a.Location + CVec.New(1, 1) })
|
||||
end
|
||||
end)
|
||||
|
||||
Media.DisplayMessage("Coordinates of the Soviet tech centers discovered.")
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Actor.Create("Camera", true, { Owner = player, Location = Weapcam.Location })
|
||||
end
|
||||
end)
|
||||
@@ -207,7 +207,7 @@ WorldLoaded = function()
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Trigger.OnEnteredProximityTrigger(SovietDefenseCam.CenterPosition, WDist.New(1024 * 7), function(a, id)
|
||||
if a.Owner == player then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
@@ -225,7 +225,7 @@ WorldLoaded = function()
|
||||
end)
|
||||
end
|
||||
|
||||
if Map.LobbyOption("difficulty") ~= "hard" then
|
||||
if Difficulty ~= "hard" then
|
||||
Trigger.OnKilled(DefBrl1, function(a, b)
|
||||
if not DefenseFlame1.IsDead then
|
||||
DefenseFlame1.Kill()
|
||||
|
||||
@@ -71,7 +71,7 @@ ProduceBadGuyInfantry = function()
|
||||
badguy.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(BGAttackGroup, units[1])
|
||||
SendBGAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceBadGuyInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceBadGuyInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -97,7 +97,7 @@ ProduceUSSRInfantry = function()
|
||||
ussr.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -109,7 +109,7 @@ ProduceVehicles = function()
|
||||
ussr.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -126,7 +126,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Yaks, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(yak, greece)
|
||||
@@ -134,8 +134,7 @@ ProduceAircraft = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
SovietVehicles = SovietVehicles[difficulty]
|
||||
SovietVehicles = SovietVehicles[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == ussr and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -27,7 +27,7 @@ lstReinforcements =
|
||||
}
|
||||
}
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
ActivateAIDelay = DateTime.Minutes(1)
|
||||
else
|
||||
ActivateAIDelay = DateTime.Seconds(30)
|
||||
@@ -82,7 +82,7 @@ CaptureRadarDome = function()
|
||||
end
|
||||
|
||||
BaseRaids = function()
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
return
|
||||
else
|
||||
Trigger.AfterDelay(Utils.RandomInteger(BaseRaidDelay1[1], BaseRaidDelay1[2]), function()
|
||||
@@ -108,7 +108,7 @@ BaseRaids = function()
|
||||
end
|
||||
|
||||
StartTimerFunction = function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
StartTimer = true
|
||||
Media.PlaySpeechNotification(greece, "TimerStarted")
|
||||
end
|
||||
|
||||
@@ -91,7 +91,7 @@ ProduceInfantry = function()
|
||||
ussr.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -103,7 +103,7 @@ ProduceVehicles = function()
|
||||
ussr.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -120,7 +120,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Migs, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(mig, greece)
|
||||
@@ -194,11 +194,10 @@ SendParabombs = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
GroundWavesDelays = GroundWavesDelays[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
ParadropDelays = ParadropDelays[difficulty]
|
||||
BombDelays = BombDelays[difficulty]
|
||||
GroundWavesDelays = GroundWavesDelays[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
ParadropDelays = ParadropDelays[Difficulty]
|
||||
BombDelays = BombDelays[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == ussr and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -90,7 +90,7 @@ ProduceInfantry = function()
|
||||
ussr.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -102,7 +102,7 @@ ProduceVehicles = function()
|
||||
ussr.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -119,7 +119,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Migs, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(mig, greece)
|
||||
@@ -194,11 +194,10 @@ SendParabombs = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
GroundWavesDelays = GroundWavesDelays[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
ParadropDelays = ParadropDelays[difficulty]
|
||||
BombDelays = BombDelays[difficulty]
|
||||
GroundWavesDelays = GroundWavesDelays[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
ParadropDelays = ParadropDelays[Difficulty]
|
||||
BombDelays = BombDelays[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == ussr and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -180,13 +180,12 @@ Paradrop = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
WTransUnits = WTransUnits[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
SubAttackGroupSize = SubAttackGroupSize[difficulty]
|
||||
InfantryUnits = InfantryUnits[difficulty]
|
||||
ProductionInterval = ProductionInterval[difficulty]
|
||||
ParadropDelay = ParadropDelay[difficulty]
|
||||
WTransUnits = WTransUnits[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
SubAttackGroupSize = SubAttackGroupSize[Difficulty]
|
||||
InfantryUnits = InfantryUnits[Difficulty]
|
||||
ProductionInterval = ProductionInterval[Difficulty]
|
||||
ParadropDelay = ParadropDelay[Difficulty]
|
||||
PowerProxy = Actor.Create("powerproxy.paratroopers", false, { Owner = USSR })
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == USSR and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -12,7 +12,6 @@ baseDiscovered = false
|
||||
AtEndGame = false
|
||||
|
||||
--Basic Vars
|
||||
DifficultySetting = Map.LobbyOption("difficulty")
|
||||
TimerColor = Player.GetPlayer("Spain").Color
|
||||
InsertionHelicopterType = "tran.insertion"
|
||||
TimerTicks = DateTime.Minutes(18) -- 18 minutes is roughly 30 mins in the original game
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
DifficultySetting = Map.LobbyOption("difficulty")
|
||||
timeTracker = 0
|
||||
amount = 1
|
||||
SendAnts = true
|
||||
@@ -53,19 +52,19 @@ StartAntAttack = function()
|
||||
antType = Utils.Random(AntTypes)
|
||||
end
|
||||
|
||||
if antType == "warriorant" and DifficultySetting == "easy" then
|
||||
if antType == "warriorant" and Difficulty == "easy" then
|
||||
antType = "scoutant"
|
||||
end
|
||||
|
||||
if DifficultySetting == "normal" and timeTracker < DateTime.Minutes(6) and antType == "scoutant" then
|
||||
if Difficulty == "normal" and timeTracker < DateTime.Minutes(6) and antType == "scoutant" then
|
||||
antType = "warriorant"
|
||||
elseif DifficultySetting == "hard" and timeTracker < DateTime.Minutes(8) and antType == "scoutant" then
|
||||
elseif Difficulty == "hard" and timeTracker < DateTime.Minutes(8) and antType == "scoutant" then
|
||||
antType = "warriorant"
|
||||
end
|
||||
|
||||
local max = MaxAnts[DifficultySetting] - math.ceil(timeTracker / DateTime.Minutes(6))
|
||||
local max = MaxAnts[Difficulty] - math.ceil(timeTracker / DateTime.Minutes(6))
|
||||
if timeTracker > DateTime.Minutes(3) and antType == "fireant" then
|
||||
amount = Utils.RandomInteger(1, MaxFireAnts[DifficultySetting])
|
||||
amount = Utils.RandomInteger(1, MaxFireAnts[Difficulty])
|
||||
elseif timeTracker > 15 and antType == "fireant" then
|
||||
antType = "scoutant"
|
||||
else
|
||||
@@ -83,7 +82,7 @@ StartAntAttack = function()
|
||||
|
||||
-- Setup next wave
|
||||
if SendAnts then
|
||||
Trigger.AfterDelay(AttackInterval[DifficultySetting], function()
|
||||
Trigger.AfterDelay(AttackInterval[Difficulty], function()
|
||||
StartAntAttack()
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -91,8 +91,7 @@ ActivateHive7 = function()
|
||||
end
|
||||
|
||||
ActivateAntHives = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
AntSquad = AntSquad[difficulty]
|
||||
AntSquad = AntSquad[Difficulty]
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), ActivateHive1)
|
||||
Trigger.AfterDelay(DateTime.Minutes(1) + DateTime.Seconds(30), ActivateHive2)
|
||||
|
||||
@@ -13,7 +13,7 @@ DeathThreshold =
|
||||
}
|
||||
|
||||
TanyaType = "e7"
|
||||
if Map.LobbyOption("difficulty") ~= "easy" then
|
||||
if Difficulty ~= "easy" then
|
||||
TanyaType = "e7.noautotarget"
|
||||
end
|
||||
|
||||
@@ -150,7 +150,7 @@ ProduceInfantry = function()
|
||||
soviets.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -162,7 +162,7 @@ ProduceVehicles = function()
|
||||
soviets.Build({ Utils.Random(SovietVehicles[SovietVehicleType]) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -183,7 +183,7 @@ Tick = function()
|
||||
allies2.MarkCompletedObjective(objCutSovietPower)
|
||||
end
|
||||
|
||||
if not allies2.IsObjectiveCompleted(objLimitLosses) and allies2.UnitsLost > DeathThreshold[Map.LobbyOption("difficulty")] then
|
||||
if not allies2.IsObjectiveCompleted(objLimitLosses) and allies2.UnitsLost > DeathThreshold[Difficulty] then
|
||||
allies2.MarkFailedObjective(objLimitLosses)
|
||||
end
|
||||
|
||||
@@ -197,7 +197,7 @@ end
|
||||
SetupSoviets = function()
|
||||
soviets.Cash = 1000
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Utils.Do(Sams, function(sam)
|
||||
local camera = Actor.Create("Camera.SAM", true, { Owner = allies1, Location = sam.Location })
|
||||
Trigger.OnKilledOrCaptured(sam, function()
|
||||
@@ -209,7 +209,7 @@ SetupSoviets = function()
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == soviets and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
Trigger.OnDamaged(actor, function(building)
|
||||
if building.Owner == soviets and building.Health < (building.MaxHealth * RepairTriggerThreshold[Map.LobbyOption("difficulty")] / 100) then
|
||||
if building.Owner == soviets and building.Health < (building.MaxHealth * RepairTriggerThreshold[Difficulty] / 100) then
|
||||
building.StartBuildingRepairs()
|
||||
end
|
||||
end)
|
||||
@@ -290,7 +290,7 @@ end
|
||||
SpawnTanya = function()
|
||||
Tanya = Actor.Create(TanyaType, true, { Owner = allies1, Location = TanyaLocation.Location })
|
||||
|
||||
if Map.LobbyOption("difficulty") ~= "easy" and allies1.IsLocalPlayer then
|
||||
if Difficulty ~= "easy" and allies1.IsLocalPlayer then
|
||||
Trigger.AfterDelay(DateTime.Seconds(2), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
end)
|
||||
@@ -362,7 +362,7 @@ WorldLoaded = function()
|
||||
objDestroySamSites = allies1.AddObjective("Destroy the SAM sites.")
|
||||
|
||||
objHoldPosition = allies2.AddObjective("Hold your position and protect the base.")
|
||||
objLimitLosses = allies2.AddObjective("Do not lose more than " .. DeathThreshold[Map.LobbyOption("difficulty")] .. " units.", "Secondary", false)
|
||||
objLimitLosses = allies2.AddObjective("Do not lose more than " .. DeathThreshold[Difficulty] .. " units.", "Secondary", false)
|
||||
objCutSovietPower = allies2.AddObjective("Take out the Soviet power grid.", "Secondary", false)
|
||||
|
||||
SetupTriggers()
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
UnitsEvacuatedThreshold =
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ MissionStart = function()
|
||||
local insertionFlare = Actor.Create("flare", true, { Owner = Allies, Location = LightFlare.Location })
|
||||
Trigger.AfterDelay(DateTime.Seconds(2), function()
|
||||
FlareBoy.AttackMove(FlareBoyAttack.Location)
|
||||
if Map.LobbyOption("difficulty") == "normal" then
|
||||
if Difficulty == "normal" then
|
||||
local normalDrop = InsertionDrop.TargetParatroopers(InsertionPoint.CenterPosition, Angle.New(892))
|
||||
Utils.Do(normalDrop, function(a)
|
||||
Trigger.OnPassengerExited(a, function(t,p)
|
||||
@@ -208,7 +208,7 @@ FootprintTriggers = function()
|
||||
Media.DisplayMessage("Extraction point is compromised. Evacuate the base!", "Headquarters")
|
||||
local defenders = Reinforcements.Reinforce(England, TentTeam, { Tent.Location, TentMove.Location }, 0)
|
||||
Utils.Do(defenders, IdleHunt)
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(30), function()
|
||||
local wave2 = Reinforcements.Reinforce(USSR, SovietAttackers, { BaseAttackersSpawn.Location, SovietAttack.Location })
|
||||
Utils.Do(wave2, IdleHunt)
|
||||
@@ -451,7 +451,7 @@ SovBaseAttack = function()
|
||||
end
|
||||
end)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
local barracksTeam = Reinforcements.Reinforce(USSR, RaxTeam, { SovRaxSpawn.Location, SovBaseCam.Location }, 0)
|
||||
Utils.Do(barracksTeam, IdleHunt)
|
||||
end
|
||||
|
||||
@@ -51,7 +51,7 @@ ProduceInfantry = function()
|
||||
USSR.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -63,7 +63,7 @@ ProduceVehicles = function()
|
||||
USSR.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -80,7 +80,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Yaks, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(yak, Allies)
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
AlliedReinforcementsA = { "jeep", "jeep" }
|
||||
AlliedReinforcementsB = { "e1", "e1", "e1", "e3", "e3" }
|
||||
AlliedReinforcementsC = { "jeep", "mcv" }
|
||||
@@ -238,9 +237,9 @@ WorldLoaded = function()
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
|
||||
end)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
RescueCivilians = Allies.AddObjective("Evacuate at least half of the civilians to the island\nshelter.")
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
RescueCivilians = Allies.AddObjective("Evacuate at least three quarters of the civilians to\nthe island shelter.")
|
||||
else
|
||||
RescueCivilians = Allies.AddObjective("Evacuate all civilians to the island shelter.")
|
||||
|
||||
@@ -21,7 +21,7 @@ Walls =
|
||||
{ WallBottomRight1, WallBottomRight2, WallBottomRight3, WallBottomRight4, WallBottomRight5, WallBottomRight6, WallBottomRight7, WallBottomRight8, WallBottomRight9 }
|
||||
}
|
||||
|
||||
if Map.LobbyOption("difficulty") == "veryeasy" then
|
||||
if Difficulty == "veryeasy" then
|
||||
ParaChance = 20
|
||||
Patrol = { "e1", "e2", "e1" }
|
||||
Infantry = { "e4", "e1", "e1", "e2", "e2" }
|
||||
@@ -30,7 +30,7 @@ if Map.LobbyOption("difficulty") == "veryeasy" then
|
||||
LongRange = { "arty" }
|
||||
Boss = { "v2rl" }
|
||||
Swarm = { "shok", "shok", "shok" }
|
||||
elseif Map.LobbyOption("difficulty") == "easy" then
|
||||
elseif Difficulty == "easy" then
|
||||
ParaChance = 25
|
||||
Patrol = { "e1", "e2", "e1" }
|
||||
Infantry = { "e4", "e1", "e1", "e2", "e1", "e2", "e1" }
|
||||
@@ -39,7 +39,7 @@ elseif Map.LobbyOption("difficulty") == "easy" then
|
||||
LongRange = { "v2rl" }
|
||||
Boss = { "4tnk" }
|
||||
Swarm = { "shok", "shok", "shok", "shok", "ttnk" }
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
ParaChance = 30
|
||||
Patrol = { "e1", "e2", "e1", "e1" }
|
||||
Infantry = { "e4", "e1", "e1", "e2", "e1", "e2", "e1" }
|
||||
@@ -48,7 +48,7 @@ elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
LongRange = { "v2rl" }
|
||||
Boss = { "4tnk" }
|
||||
Swarm = { "shok", "shok", "shok", "shok", "ttnk", "ttnk", "ttnk" }
|
||||
elseif Map.LobbyOption("difficulty") == "hard" then
|
||||
elseif Difficulty == "hard" then
|
||||
ParaChance = 35
|
||||
Patrol = { "e1", "e2", "e1", "e1", "e4" }
|
||||
Infantry = { "e4", "e1", "e1", "e2", "e1", "e2", "e1" }
|
||||
@@ -85,7 +85,7 @@ Waves =
|
||||
}
|
||||
|
||||
-- Now do some adjustments to the waves
|
||||
if Map.LobbyOption("difficulty") == "tough" or Map.LobbyOption("difficulty") == "endless" then
|
||||
if Difficulty == "tough" or Difficulty == "endless" then
|
||||
Waves[8] = { delay = 1500, units = { Infantry, Infantry, Patrol, Infantry, Infantry, Infantry }, ironUnits = { LongRange } }
|
||||
Waves[9] = { delay = 1500, units = { Infantry, Infantry, Patrol, Infantry, Infantry, Infantry, Infantry, Infantry, LongRange, LongRange, Vehicles, Tank }, ironUnits = { Tank } }
|
||||
Waves[11] = { delay = 1500, units = { Vehicles, Infantry, Patrol, Patrol, Patrol, Infantry, LongRange, Tank, Boss, Infantry, Infantry, Patrol } }
|
||||
@@ -159,7 +159,7 @@ SendWave = function()
|
||||
SendWave()
|
||||
end
|
||||
else
|
||||
if Map.LobbyOption("difficulty") == "endless" then
|
||||
if Difficulty == "endless" then
|
||||
Wave = 0
|
||||
IncreaseDifficulty()
|
||||
SendWave()
|
||||
|
||||
@@ -27,7 +27,7 @@ World:
|
||||
FlashPaletteEffect@LIGHTNINGSTRIKE:
|
||||
Type: LightningStrike
|
||||
LuaScript:
|
||||
Scripts: fort-lonestar.lua, fort-lonestar-AI.lua
|
||||
Scripts: fort-lonestar.lua, fort-lonestar-AI.lua, campaign.lua
|
||||
MapBuildRadius:
|
||||
AllyBuildRadiusCheckboxVisible: False
|
||||
BuildRadiusCheckboxVisible: False
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
if Difficulty == "hard" then
|
||||
TimerTicks = DateTime.Minutes(25)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
|
||||
BeachheadTrigger =
|
||||
{
|
||||
CPos.New(120, 90), CPos.New(120, 89), CPos.New(120, 88), CPos.New(121, 88), CPos.New(122, 88), CPos.New(123, 88), CPos.New(124, 88),
|
||||
@@ -17,8 +18,6 @@ BeachheadTrigger =
|
||||
CPos.New(137, 104), CPos.New(137, 105), CPos.New(137, 106), CPos.New(136, 106), CPos.New(136, 107)
|
||||
}
|
||||
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
if Difficulty == "normal" then
|
||||
BaseRaidInterval = DateTime.Minutes(3)
|
||||
BaseFrontAttackInterval = DateTime.Minutes(3) + DateTime.Seconds(30)
|
||||
|
||||
@@ -23,7 +23,7 @@ SubEscapePath = { SubPath1, SubPath2, SubPath3 }
|
||||
MissionStart = function()
|
||||
LZCamera = Actor.Create("camera", true, { Owner = Greece, Location = LZ.Location })
|
||||
Chalk1.TargetParatroopers(LZ.CenterPosition, Angle.New(740))
|
||||
if Map.LobbyOption("difficulty") == "normal" then
|
||||
if Difficulty == "normal" then
|
||||
Actor.Create("tsla", true, { Owner = USSR, Location = EasyCamera.Location })
|
||||
Actor.Create("4tnk", true, { Owner = USSR, Facing = Angle.South, Location = Mammoth.Location })
|
||||
Actor.Create("4tnk", true, { Owner = USSR, Facing = Angle.South, Location = Mammoth.Location + CVec.New(1,0) })
|
||||
|
||||
@@ -55,7 +55,7 @@ ProduceBadGuyInfantry = function()
|
||||
badguy.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(BGAttackGroup, units[1])
|
||||
SendBGAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceBadGuyInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceBadGuyInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -81,7 +81,7 @@ ProduceUSSRInfantry = function()
|
||||
ussr.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -93,7 +93,7 @@ ProduceVehicles = function()
|
||||
ussr.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -106,8 +106,7 @@ GroundWaves = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
GroundWavesDelays = GroundWavesDelays[difficulty]
|
||||
GroundWavesDelays = GroundWavesDelays[Difficulty]
|
||||
|
||||
ProduceBadGuyInfantry()
|
||||
ProduceUSSRInfantry()
|
||||
|
||||
@@ -86,8 +86,7 @@ MissionStart = function()
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
CombatTeam2 = CombatTeam2[difficulty]
|
||||
CombatTeam2 = CombatTeam2[Difficulty]
|
||||
Reinforcements.Reinforce(greece, CombatTeam2, { TruckEscapeCenter.Location, DefaultCameraPosition.Location })
|
||||
Media.PlaySpeechNotification(greece, "ReinforcementsArrived")
|
||||
end)
|
||||
|
||||
@@ -32,7 +32,7 @@ ObjectiveTriggers = function()
|
||||
EscapeGoalTrigger = true
|
||||
|
||||
greece.MarkCompletedObjective(ExitBase)
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
greece.MarkCompletedObjective(NoCasualties)
|
||||
end
|
||||
|
||||
@@ -444,7 +444,7 @@ Tick = function()
|
||||
greece.MarkFailedObjective(ExitBase)
|
||||
end
|
||||
|
||||
if Map.LobbyOption("difficulty") == "hard" and greece.UnitsLost > AcceptableLosses then
|
||||
if Difficulty == "hard" and greece.UnitsLost > AcceptableLosses then
|
||||
greece.MarkFailedObjective(NoCasualties)
|
||||
end
|
||||
end
|
||||
@@ -466,7 +466,7 @@ WorldLoaded = function()
|
||||
FreeTanya = greece.AddObjective("Free Tanya and keep her alive.")
|
||||
KillVIPs = greece.AddObjective("Kill all Soviet officers and scientists.", "Secondary", false)
|
||||
StealTank = greece.AddObjective("Steal a Soviet mammoth tank.", "Secondary", false)
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
NoCasualties = greece.AddPrimaryObjective("Do not lose a single soldier or civilian\nunder your command.")
|
||||
end
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ ProduceBadGuyInfantry = function()
|
||||
BadGuy.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(BGAttackGroup, units[1])
|
||||
SendBGAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceBadGuyInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceBadGuyInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -70,7 +70,7 @@ ProduceUSSRInfantry = function()
|
||||
USSR.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -82,7 +82,7 @@ ProduceVehicles = function()
|
||||
USSR.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -124,7 +124,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Planes, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(plane, Greece)
|
||||
@@ -132,8 +132,7 @@ ProduceAircraft = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
GroundWavesDelays = GroundWavesDelays[difficulty]
|
||||
GroundWavesDelays = GroundWavesDelays[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == USSR and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -36,7 +36,7 @@ SetupTriggers = function()
|
||||
if actor.Owner == Greece then
|
||||
Trigger.RemoveProximityTrigger(trigger1)
|
||||
local baseCamera = Actor.Create("camera", true, { Owner = Greece, Location = BaseCam.Location })
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Reinforcements.Reinforce(BadGuy, RaxTeam, { BadGuyRaxSpawn.Location, BaseCam.Location }, 0)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), function()
|
||||
@@ -76,7 +76,7 @@ PowerDownTeslas = function()
|
||||
KillBase = Greece.AddObjective("Destroy the enemy compound.")
|
||||
Greece.MarkCompletedObjective(TakeOutPower)
|
||||
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
|
||||
Reinforcements.Reinforce(Greece, MCVReinforcements[Map.LobbyOption("difficulty")], { AlliesSpawn.Location, AlliesMove.Location })
|
||||
Reinforcements.Reinforce(Greece, MCVReinforcements[Difficulty], { AlliesSpawn.Location, AlliesMove.Location })
|
||||
local baseFlare = Actor.Create("flare", true, { Owner = Greece, Location = AlliedBase.Location })
|
||||
Actor.Create("proc", true, { Owner = USSR, Location = Proc1.Location })
|
||||
Actor.Create("proc", true, { Owner = USSR, Location = Proc2.Location })
|
||||
|
||||
@@ -109,7 +109,7 @@ SendConvoys = function()
|
||||
end)
|
||||
|
||||
ConvoysPassed = ConvoysPassed + 1
|
||||
if ConvoysPassed <= ConvoyWaves[Map.LobbyOption("difficulty")] then
|
||||
if ConvoysPassed <= ConvoyWaves[Difficulty] then
|
||||
Trigger.AfterDelay(DateTime.Seconds(90), SendConvoys)
|
||||
else
|
||||
FinalTrucks()
|
||||
@@ -274,7 +274,6 @@ WorldLoaded = function()
|
||||
ConvoyExit()
|
||||
BridgeTriggers()
|
||||
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
ConvoyUnits = ConvoyUnits[difficulty]
|
||||
AttackWaveDelay = AttackWaveDelays[difficulty]
|
||||
ConvoyUnits = ConvoyUnits[Difficulty]
|
||||
AttackWaveDelay = AttackWaveDelays[Difficulty]
|
||||
end
|
||||
|
||||
@@ -69,7 +69,7 @@ ProduceBadGuyInfantry = function()
|
||||
BadGuy.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(BGAttackGroup, units[1])
|
||||
SendBGAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceBadGuyInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceBadGuyInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -81,7 +81,7 @@ ProduceBadGuyVehicles = function()
|
||||
BadGuy.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(BGAttackGroup, units[1])
|
||||
SendBGAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceBadGuyVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceBadGuyVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -107,7 +107,7 @@ ProduceUSSRInfantry = function()
|
||||
USSR.Build({ Utils.Random(SovietInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -119,7 +119,7 @@ ProduceUSSRVehicles = function()
|
||||
USSR.Build({ Utils.Random(SovietVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceUSSRVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceUSSRVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -136,7 +136,7 @@ ProduceAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Planes, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), ProduceAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), ProduceAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(plane, Allies)
|
||||
@@ -183,11 +183,10 @@ USSRMammoths = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
ParadropDelays = ParadropDelays[difficulty]
|
||||
MammothDelays = MammothDelays[difficulty]
|
||||
StartBGMammoths = StartBGMammoths[difficulty]
|
||||
StartUSSRMammoths = StartUSSRMammoths[difficulty]
|
||||
ParadropDelays = ParadropDelays[Difficulty]
|
||||
MammothDelays = MammothDelays[Difficulty]
|
||||
StartBGMammoths = StartBGMammoths[Difficulty]
|
||||
StartUSSRMammoths = StartUSSRMammoths[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == USSR and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
remainingTime = DateTime.Minutes(7)
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
remainingTime = DateTime.Minutes(6)
|
||||
elseif Map.LobbyOption("difficulty") == "hard" then
|
||||
elseif Difficulty == "hard" then
|
||||
remainingTime = DateTime.Minutes(5)
|
||||
end
|
||||
|
||||
@@ -264,7 +264,7 @@ end)
|
||||
Trigger.OnEnteredFootprint(SpyHideout3Trigger, function(a, id)
|
||||
if not spyHideout3Trigger and a.Owner == player then
|
||||
spyHideout3Trigger = true
|
||||
if Map.LobbyOption("difficulty") ~= "hard" then
|
||||
if Difficulty ~= "hard" then
|
||||
Reinforcements.Reinforce(player, USSRReinforcements2, { ReinforcementSpawn.Location, CameraSpyHideout33.Location }, 0)
|
||||
Media.PlaySpeechNotification(player, "ReinforcementsArrived")
|
||||
end
|
||||
@@ -371,7 +371,7 @@ Tick = function()
|
||||
if not SpyHideout4.IsDead and SpyHideout4.HasPassengers then
|
||||
spyReachedHideout4 = true
|
||||
end
|
||||
if remainingTime == DateTime.Minutes(5) and Map.LobbyOption("difficulty") ~= "hard" then
|
||||
if remainingTime == DateTime.Minutes(5) and Difficulty ~= "hard" then
|
||||
Media.PlaySpeechNotification(player, "WarningFiveMinutesRemaining")
|
||||
elseif remainingTime == DateTime.Minutes(4) then
|
||||
Media.PlaySpeechNotification(player, "WarningFourMinutesRemaining")
|
||||
|
||||
@@ -26,7 +26,7 @@ Patrol2Path = { BridgeEntrancePoint.Location, NERoadTurnPoint.Location, Crossroa
|
||||
|
||||
VillageCamArea = { CPos.New(68, 75),CPos.New(68, 76),CPos.New(68, 77),CPos.New(68, 78),CPos.New(68, 79), CPos.New(68, 80), CPos.New(68, 81), CPos.New(68, 82) }
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
ArmorReinfGreece = { "jeep", "1tnk", "1tnk" }
|
||||
else
|
||||
ArmorReinfGreece = { "jeep", "jeep", "1tnk", "1tnk", "1tnk" }
|
||||
@@ -68,7 +68,7 @@ BringPatrol1 = function()
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol1)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol1)
|
||||
@@ -87,7 +87,7 @@ BringPatrol2 = function()
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol2)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol2)
|
||||
|
||||
@@ -91,7 +91,7 @@ RunInitialActivities = function()
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), ProduceInfantry)
|
||||
Trigger.AfterDelay(DateTime.Minutes(2), ProduceArmor)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "hard" or Map.LobbyOption("difficulty") == "normal" then
|
||||
if Difficulty == "hard" or Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(15), ReinfInf)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), ReinfInf)
|
||||
@@ -116,9 +116,9 @@ Tick = function()
|
||||
|
||||
if RCheck then
|
||||
RCheck = false
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(150), ReinfArmor)
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), ReinfArmor)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(8), ReinfArmor)
|
||||
|
||||
@@ -25,7 +25,7 @@ Patrol2Path = { EntranceSouthPoint.Location, ToRadarBridgePoint.Location, Island
|
||||
|
||||
VillageCamArea = { CPos.New(37, 58),CPos.New(37, 59),CPos.New(37, 60),CPos.New(38, 60),CPos.New(39, 60), CPos.New(40, 60), CPos.New(41, 60), CPos.New(35, 57), CPos.New(34, 57), CPos.New(33, 57), CPos.New(32, 57) }
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
ArmorReinfGreece = { "jeep", "1tnk", "1tnk" }
|
||||
else
|
||||
ArmorReinfGreece = { "jeep", "jeep", "1tnk", "1tnk", "1tnk" }
|
||||
@@ -68,7 +68,7 @@ BringPatrol1 = function()
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol1)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol1)
|
||||
@@ -87,7 +87,7 @@ BringPatrol2 = function()
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), BringPatrol2)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), BringPatrol2)
|
||||
|
||||
@@ -76,7 +76,7 @@ RunInitialActivities = function()
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), ProduceInfantry)
|
||||
Trigger.AfterDelay(DateTime.Minutes(2), ProduceArmor)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "hard" or Map.LobbyOption("difficulty") == "normal" then
|
||||
if Difficulty == "hard" or Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), ReinfInf)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), ReinfInf)
|
||||
@@ -101,9 +101,9 @@ Tick = function()
|
||||
|
||||
if RCheck then
|
||||
RCheck = false
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(150), ReinfArmor)
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), ReinfArmor)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(8), ReinfArmor)
|
||||
|
||||
@@ -12,7 +12,7 @@ SovietStartToBasePath = { StartPoint.Location, SovietBasePoint.Location }
|
||||
SovietMCVReinf = { "mcv", "3tnk", "3tnk", "e1", "e1" }
|
||||
SovExpansionPointGuard = { "2tnk", "2tnk", "e3", "e3", "e3" }
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
ArmorReinfGreece = { "jeep", "1tnk", "1tnk" }
|
||||
else
|
||||
ArmorReinfGreece = { "jeep", "jeep", "1tnk", "1tnk", "1tnk" }
|
||||
@@ -79,11 +79,11 @@ IslandTroops1 = function()
|
||||
end)
|
||||
if not CheckForCYard() then
|
||||
return
|
||||
elseif Map.LobbyOption("difficulty") == "easy" then
|
||||
elseif Difficulty == "easy" then
|
||||
return
|
||||
else
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), IslandTroops1)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), IslandTroops1)
|
||||
@@ -101,11 +101,11 @@ IslandTroops2 = function()
|
||||
end)
|
||||
if not CheckForCYard() then
|
||||
return
|
||||
elseif Map.LobbyOption("difficulty") == "easy" then
|
||||
elseif Difficulty == "easy" then
|
||||
return
|
||||
else
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), IslandTroops2)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), IslandTroops2)
|
||||
@@ -123,11 +123,11 @@ IslandTroops3 = function()
|
||||
end)
|
||||
if not CheckForCYard() then
|
||||
return
|
||||
elseif Map.LobbyOption("difficulty") == "easy" then
|
||||
elseif Difficulty == "easy" then
|
||||
return
|
||||
else
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), IslandTroops3)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), IslandTroops3)
|
||||
@@ -147,7 +147,7 @@ BringDDPatrol1 = function()
|
||||
return
|
||||
else
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), BringDDPatrol1)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), BringDDPatrol1)
|
||||
@@ -167,7 +167,7 @@ BringDDPatrol2 = function()
|
||||
return
|
||||
else
|
||||
Trigger.OnAllKilled(units, function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), BringDDPatrol2)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), BringDDPatrol2)
|
||||
|
||||
@@ -28,7 +28,7 @@ CheckForSPen = function()
|
||||
end
|
||||
|
||||
RunInitialActivities = function()
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Expand()
|
||||
ExpansionCheck = true
|
||||
else
|
||||
@@ -65,7 +65,7 @@ RunInitialActivities = function()
|
||||
ProduceInfantry()
|
||||
Trigger.AfterDelay(DateTime.Minutes(2), ProduceShips)
|
||||
|
||||
if Map.LobbyOption("difficulty") == "hard" or Map.LobbyOption("difficulty") == "normal" then
|
||||
if Difficulty == "hard" or Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(25), ReinfInf)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Minutes(2), ReinfInf)
|
||||
@@ -171,9 +171,9 @@ Tick = function()
|
||||
|
||||
if not RCheck then
|
||||
RCheck = true
|
||||
if Map.LobbyOption("difficulty") == "easy" and ReinfCheck then
|
||||
if Difficulty == "easy" and ReinfCheck then
|
||||
Trigger.AfterDelay(DateTime.Minutes(6), ReinfArmor)
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), ReinfArmor)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), ReinfArmor)
|
||||
@@ -226,7 +226,7 @@ WorldLoaded = function()
|
||||
HoldObjective = player.AddObjective("Defend the Radar Dome.")
|
||||
player.MarkCompletedObjective(CaptureObjective)
|
||||
Beacon.New(player, MCVDeploy.CenterPosition)
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Actor.Create("camera", true, { Owner = player, Location = MCVDeploy.Location })
|
||||
Media.DisplayMessage("Movement of an Allied expansion base discovered.")
|
||||
else
|
||||
|
||||
@@ -45,7 +45,7 @@ EnemyPaths =
|
||||
|
||||
wave = 0
|
||||
SendEnemies = function()
|
||||
Trigger.AfterDelay(EnemyAttackDelay[Map.LobbyOption("difficulty")], function()
|
||||
Trigger.AfterDelay(EnemyAttackDelay[Difficulty], function()
|
||||
|
||||
wave = wave + 1
|
||||
if wave > 3 then
|
||||
@@ -53,10 +53,10 @@ SendEnemies = function()
|
||||
end
|
||||
|
||||
if wave == 1 then
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "tran", EnemyReinforcements[Map.LobbyOption("difficulty")][wave], EnemyPaths[1], { EnemyPaths[1][1] })[2]
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "tran", EnemyReinforcements[Difficulty][wave], EnemyPaths[1], { EnemyPaths[1][1] })[2]
|
||||
Utils.Do(units, IdleHunt)
|
||||
else
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "lst", EnemyReinforcements[Map.LobbyOption("difficulty")][wave], EnemyPaths[2], { EnemyPaths[2][1] })[2]
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "lst", EnemyReinforcements[Difficulty][wave], EnemyPaths[2], { EnemyPaths[2][1] })[2]
|
||||
Utils.Do(units, IdleHunt)
|
||||
end
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ EnemyPaths =
|
||||
|
||||
wave = 0
|
||||
SendEnemies = function()
|
||||
Trigger.AfterDelay(EnemyAttackDelay[Map.LobbyOption("difficulty")], function()
|
||||
Trigger.AfterDelay(EnemyAttackDelay[Difficulty], function()
|
||||
|
||||
wave = wave + 1
|
||||
if wave > 3 then
|
||||
@@ -53,10 +53,10 @@ SendEnemies = function()
|
||||
end
|
||||
|
||||
if wave == 1 then
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "tran", EnemyReinforcements[Map.LobbyOption("difficulty")][wave], EnemyPaths[1], { EnemyPaths[1][1] })[2]
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "tran", EnemyReinforcements[Difficulty][wave], EnemyPaths[1], { EnemyPaths[1][1] })[2]
|
||||
Utils.Do(units, IdleHunt)
|
||||
else
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "lst", EnemyReinforcements[Map.LobbyOption("difficulty")][wave], EnemyPaths[2], { EnemyPaths[2][1] })[2]
|
||||
local units = Reinforcements.ReinforceWithTransport(enemy, "lst", EnemyReinforcements[Difficulty][wave], EnemyPaths[2], { EnemyPaths[2][1] })[2]
|
||||
Utils.Do(units, IdleHunt)
|
||||
end
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
remainingTime = DateTime.Minutes(7)
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
remainingTime = DateTime.Minutes(6)
|
||||
elseif Map.LobbyOption("difficulty") == "hard" then
|
||||
elseif Difficulty == "hard" then
|
||||
remainingTime = DateTime.Minutes(5)
|
||||
end
|
||||
|
||||
@@ -307,7 +307,7 @@ Tick = function()
|
||||
enemy.MarkCompletedObjective(alliedObjective)
|
||||
end
|
||||
|
||||
if remainingTime == DateTime.Minutes(5) and Map.LobbyOption("difficulty") ~= "hard" then
|
||||
if remainingTime == DateTime.Minutes(5) and Difficulty ~= "hard" then
|
||||
Media.PlaySpeechNotification(player, "WarningFiveMinutesRemaining")
|
||||
elseif remainingTime == DateTime.Minutes(4) then
|
||||
Media.PlaySpeechNotification(player, "WarningFourMinutesRemaining")
|
||||
|
||||
@@ -92,7 +92,7 @@ ProduceInfantry = function()
|
||||
Greece.Build({ Utils.Random(AlliedInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -104,7 +104,7 @@ ProduceVehicles = function()
|
||||
Greece.Build({ Utils.Random(AlliedVehicles[AlliedVehicleType]) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -120,7 +120,7 @@ BringDDPatrol = function(patrolPath)
|
||||
if GreeceNavalYard.IsDead then
|
||||
return
|
||||
else
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), function() BringDDPatrol(patrolPath) end)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), function() BringDDPatrol(patrolPath) end)
|
||||
@@ -130,9 +130,8 @@ BringDDPatrol = function(patrolPath)
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
WTransUnits = WTransUnits[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
WTransUnits = WTransUnits[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == Greece and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -92,7 +92,7 @@ ProduceInfantry = function()
|
||||
Greece.Build({ Utils.Random(AlliedInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -104,7 +104,7 @@ ProduceVehicles = function()
|
||||
Greece.Build({ Utils.Random(AlliedVehicles[AlliedVehicleType]) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -120,7 +120,7 @@ BringDDPatrol = function(patrolPath)
|
||||
if GreeceNavalYard.IsDead then
|
||||
return
|
||||
else
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), function() BringDDPatrol(patrolPath) end)
|
||||
else
|
||||
Trigger.AfterDelay(DateTime.Minutes(4), function() BringDDPatrol(patrolPath) end)
|
||||
@@ -130,9 +130,8 @@ BringDDPatrol = function(patrolPath)
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
WTransUnits = WTransUnits[difficulty]
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
WTransUnits = WTransUnits[Difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner == Greece and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -73,7 +73,7 @@ ChinookAttack = function()
|
||||
end)
|
||||
|
||||
ChinookAttacks = ChinookAttacks + 1
|
||||
if ChinookAttacks <= ChinookWaves[Map.LobbyOption("difficulty")] then
|
||||
if ChinookAttacks <= ChinookWaves[Difficulty] then
|
||||
ChinookAttack()
|
||||
end
|
||||
end)
|
||||
@@ -87,7 +87,7 @@ ProduceInfantry = function()
|
||||
Germany.Build({ Utils.Random(AlliedInfantry) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceInfantry)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceInfantry)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -99,7 +99,7 @@ ProduceVehicles = function()
|
||||
Germany.Build({ Utils.Random(AlliedVehicles) }, function(units)
|
||||
table.insert(AttackGroup, units[1])
|
||||
SendAttackGroup()
|
||||
Trigger.AfterDelay(ProductionInterval[Map.LobbyOption("difficulty")], ProduceVehicles)
|
||||
Trigger.AfterDelay(ProductionInterval[Difficulty], ProduceVehicles)
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -146,7 +146,7 @@ GermanAircraft = function()
|
||||
|
||||
local alive = Utils.Where(Longbows, function(y) return not y.IsDead end)
|
||||
if #alive < 2 then
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Map.LobbyOption("difficulty")] / 2), GermanAircraft)
|
||||
Trigger.AfterDelay(DateTime.Seconds(ProductionInterval[Difficulty] / 2), GermanAircraft)
|
||||
end
|
||||
|
||||
InitializeAttackAircraft(longbow, USSR)
|
||||
@@ -168,9 +168,8 @@ WTransWaves = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
WTransDelays = WTransDelays[difficulty]
|
||||
ChinookDelay = ChinookDelay[difficulty]
|
||||
WTransDelays = WTransDelays[Difficulty]
|
||||
ChinookDelay = ChinookDelay[Difficulty]
|
||||
|
||||
local buildings = Utils.Where(Map.ActorsInWorld, function(self) return self.Owner ~= USSR and self.HasProperty("StartBuildingRepairs") end)
|
||||
Utils.Do(buildings, function(actor)
|
||||
|
||||
@@ -336,9 +336,8 @@ WorldLoaded = function()
|
||||
end)
|
||||
end)
|
||||
|
||||
difficulty = Map.LobbyOption("difficulty")
|
||||
ConvoyEscort = ConvoyEscort[difficulty]
|
||||
StartTimerDelay = StartTimerDelay[difficulty]
|
||||
ConvoyEscort = ConvoyEscort[Difficulty]
|
||||
StartTimerDelay = StartTimerDelay[Difficulty]
|
||||
|
||||
MissionStart()
|
||||
MissionSetup()
|
||||
|
||||
@@ -218,13 +218,12 @@ BridgeTrigger = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
TransportDelays = TransportDelays[difficulty]
|
||||
DestroyerDelays = DestroyerDelays[difficulty]
|
||||
TransportUnits = TransportUnits[difficulty]
|
||||
ProductionDelays = ProductionDelays[difficulty]
|
||||
AlliedShips = AlliedShips[difficulty]
|
||||
SurpriseTransportUnits = SurpriseTransportUnits[difficulty]
|
||||
TransportDelays = TransportDelays[Difficulty]
|
||||
DestroyerDelays = DestroyerDelays[Difficulty]
|
||||
TransportUnits = TransportUnits[Difficulty]
|
||||
ProductionDelays = ProductionDelays[Difficulty]
|
||||
AlliedShips = AlliedShips[Difficulty]
|
||||
SurpriseTransportUnits = SurpriseTransportUnits[Difficulty]
|
||||
|
||||
BuildingsHealing()
|
||||
AlliedTransportAmbush()
|
||||
|
||||
@@ -224,13 +224,12 @@ BridgeTrigger = function()
|
||||
end
|
||||
|
||||
ActivateAI = function()
|
||||
local difficulty = Map.LobbyOption("difficulty")
|
||||
TransportDelays = TransportDelays[difficulty]
|
||||
DestroyerDelays = DestroyerDelays[difficulty]
|
||||
TransportUnits = TransportUnits[difficulty]
|
||||
ProductionDelays = ProductionDelays[difficulty]
|
||||
AlliedShips = AlliedShips[difficulty]
|
||||
SurpriseTransportUnits = SurpriseTransportUnits[difficulty]
|
||||
TransportDelays = TransportDelays[Difficulty]
|
||||
DestroyerDelays = DestroyerDelays[Difficulty]
|
||||
TransportUnits = TransportUnits[Difficulty]
|
||||
ProductionDelays = ProductionDelays[Difficulty]
|
||||
AlliedShips = AlliedShips[Difficulty]
|
||||
SurpriseTransportUnits = SurpriseTransportUnits[Difficulty]
|
||||
|
||||
BuildingsHealing()
|
||||
AlliedTransportAmbush()
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
]]
|
||||
|
||||
AlliedInfantryTypes = { "e1", "e3" }
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
AlliedArmorTypes = { "1tnk", "1tnk" }
|
||||
else
|
||||
AlliedArmorTypes = { "1tnk", "2tnk" }
|
||||
end
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
AlliedNavyGuard = { "ca", "ca" }
|
||||
else
|
||||
AlliedNavyGuard = { "ca" }
|
||||
@@ -87,10 +87,10 @@ ProduceArmor = function()
|
||||
greece.Build(toBuild, function(unit)
|
||||
ArmorAttack[#ArmorAttack + 1] = unit[1]
|
||||
|
||||
if #ArmorAttack >= ArmorAttackNumbers[Map.LobbyOption("difficulty")] then
|
||||
if #ArmorAttack >= ArmorAttackNumbers[Difficulty] then
|
||||
SendAttackToBase(ArmorAttack)
|
||||
ArmorAttack = { }
|
||||
Trigger.AfterDelay(ArmorAttackDelays[Map.LobbyOption("difficulty")], ProduceArmor)
|
||||
Trigger.AfterDelay(ArmorAttackDelays[Difficulty], ProduceArmor)
|
||||
else
|
||||
Trigger.AfterDelay(delay, ProduceArmor)
|
||||
end
|
||||
|
||||
@@ -53,11 +53,11 @@ WorldLoaded = function()
|
||||
--AI Production Setup
|
||||
ProduceArmor()
|
||||
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(10), ProduceNavyGuard)
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), ProduceNavyGuard)
|
||||
elseif Map.LobbyOption("difficulty") == "hard" then
|
||||
elseif Difficulty == "hard" then
|
||||
ProduceNavyGuard()
|
||||
end
|
||||
|
||||
@@ -334,7 +334,7 @@ WorldLoaded = function()
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), function()
|
||||
if prtcamera.IsInWorld then prtcamera.Destroy() end
|
||||
end)
|
||||
if Map.LobbyOption("difficulty") == "hard" and not RiflemanGuard01.IsDead then
|
||||
if Difficulty == "hard" and not RiflemanGuard01.IsDead then
|
||||
Trigger.ClearAll(RiflemanGuard01)
|
||||
ProduceInfantry() --Greece will start infantry production right away if the difficulty is set to hard
|
||||
end
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
the License, or (at your option) any later version. For more
|
||||
information, see COPYING.
|
||||
]]
|
||||
Difficulty = Map.LobbyOption("difficulty")
|
||||
|
||||
if Difficulty == "easy" then
|
||||
AttackAtFrameIncrement = DateTime.Seconds(22)
|
||||
|
||||
@@ -22,11 +22,11 @@ AlliedSquad02 = { AlliedSquad02RifleInf01, AlliedSquad02RifleInf02, AlliedSquad0
|
||||
AlliedSquad03 = { AlliedSquad03LTank01, AlliedSquad03RocketInf01, AlliedSquad03RocketInf02, AlliedSquad03RocketInf03 }
|
||||
AlliedSquad04 = { AlliedSquad04MGG01, AlliedSquad04MTank01, AlliedSquad04MTank02, AlliedSquad04MTank03, AlliedSquad04MTank04, AlliedSquad04MTank05, AlliedSquad04Arty01, AlliedSquad04Arty02, AlliedSquad04Arty03 }
|
||||
AlliedTanksReinforcement = { "2tnk", "2tnk" }
|
||||
if Map.LobbyOption("difficulty") == "easy" then
|
||||
if Difficulty == "easy" then
|
||||
AlliedHuntingParty = { "1tnk" }
|
||||
elseif Map.LobbyOption("difficulty") == "normal" then
|
||||
elseif Difficulty == "normal" then
|
||||
AlliedHuntingParty = { "1tnk", "1tnk" }
|
||||
elseif Map.LobbyOption("difficulty") == "hard" then
|
||||
elseif Difficulty == "hard" then
|
||||
AlliedHuntingParty = { "1tnk", "1tnk", "1tnk" }
|
||||
end
|
||||
|
||||
@@ -197,12 +197,12 @@ WorldLoaded = function()
|
||||
if bridgecamera01.IsInWorld then bridgecamera01.Destroy() end
|
||||
if bridgecamera02.IsInWorld then bridgecamera02.Destroy() end
|
||||
end)
|
||||
if Map.LobbyOption("difficulty") == "normal" then
|
||||
if Difficulty == "normal" then
|
||||
Reinforcements.Reinforce(goodguy, { "dd" }, { AlliedDestroyer01Spawn.Location, AlliedDestroyer01WP01.Location, AlliedDestroyer01WP02.Location }, 0, function(unit)
|
||||
unit.Stance = "Defend"
|
||||
end)
|
||||
end
|
||||
if Map.LobbyOption("difficulty") == "hard" then
|
||||
if Difficulty == "hard" then
|
||||
Reinforcements.Reinforce(goodguy, { "dd" }, { AlliedDestroyer01Spawn.Location, AlliedDestroyer01WP01.Location, AlliedDestroyer01WP02.Location }, 0, function(unit)
|
||||
unit.Stance = "Defend"
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user