Extract translation strings.
This commit is contained in:
committed by
abcdefg30
parent
867efcc6e8
commit
9b2e291a46
391
mods/ra/languages/lua/en.ftl
Normal file
391
mods/ra/languages/lua/en.ftl
Normal file
@@ -0,0 +1,391 @@
|
||||
## campaign.lua
|
||||
objective-failed = Objective failed
|
||||
objective-completed = Objective completed
|
||||
|
||||
primary = Primary
|
||||
secondary = Secondary
|
||||
|
||||
new-primary-objective = New primary objective
|
||||
new-secondary-objective = New secondary objective
|
||||
|
||||
## allies01, allies-03, allies-05abc, evacuation, personal-war
|
||||
tanya = Tanya
|
||||
|
||||
## allies-01
|
||||
extract-einstein-helicopter = Wait for the helicopter and extract Einstein.
|
||||
find-einstein = Find Einstein.
|
||||
einstein-survive = Einstein must survive.
|
||||
protect-civilians = Protect all civilians.
|
||||
|
||||
## allies-01, allies-03, allies-05abc, evacuation
|
||||
tanya-rules-of-engagement = According to the rules of engagement I need your explicit orders to fire, Commander!
|
||||
|
||||
# allies-01, allies-05abc, evacuation
|
||||
tanya-survive = Tanya must survive.
|
||||
|
||||
## allies-02, soviet-06
|
||||
escort-convoy = Escort the convoy.
|
||||
|
||||
## allies-02
|
||||
convoy-arrived = The convoy arrived!
|
||||
secure-convoy = Secure the convoy's path.
|
||||
eliminate-soviets = Eliminate the entire Soviet presence in this area.
|
||||
|
||||
## allies-03a
|
||||
destroy-oilpumps = Destroy all Soviet oil pumps.
|
||||
|
||||
## allies-03b
|
||||
find-lost-tanks = Find our lost tanks.
|
||||
|
||||
## allies-03ab
|
||||
destroy-bridges = Destroy all bridges.
|
||||
free-prisoners = Free all Allied soldiers and keep them alive.
|
||||
|
||||
## allies-04
|
||||
destroy-soviet-units-buildings = Destroy all Soviet units and buildings in this region.
|
||||
destroy-convoys = Eliminate all passing Soviet convoys.
|
||||
|
||||
## allies-05a
|
||||
extract-transport = Get all your forces into the transport.
|
||||
|
||||
# allies-05abc
|
||||
spy = Spy
|
||||
disguise-spy = Commander! You have to disguise me in order to get through the enemy patrols.
|
||||
battlefield-control = Battlefield Control
|
||||
skip-heroics = Good work! But next time skip the heroics!
|
||||
rescue-tanya = Rescue Tanya.
|
||||
elminate-soviet-units = Eliminate all Soviet units in this area.
|
||||
infiltrate-warfactory = Infiltrate the Soviet warfactory.
|
||||
destroy-sam-sites-blocker = Destroy all four SAM Sites that block
|
||||
our reinforcements' helicopter.
|
||||
|
||||
# allies-06ab
|
||||
soviet-tech-centers-discovered = Coordinates of the Soviet tech centers discovered.
|
||||
destroy-soviet-buildings-units = Destroy all Soviet buildings and units in the area.
|
||||
dont-capture-tech-centers = Do not capture the tech centers! Infiltrate one with a spy.
|
||||
infiltrate-tech-center-spy = Infiltrate one of the Soviet tech centers with a spy.
|
||||
capture-radar-shore = Capture the Radar Dome at the shore.
|
||||
|
||||
# allies-07
|
||||
enemy-approaching = Enemy approaching.
|
||||
soviet-armored-battalion-arrives-in = Soviet armored battalion arrives in { $time }
|
||||
destroy-all-soviet-sub-pens = Destroy all Soviet Sub Pens.
|
||||
clear-area-all-subs = Clear the area of all sub activity.
|
||||
|
||||
## allies-07, soviet-05
|
||||
capture-radar-dome = Capture the Radar Dome.
|
||||
|
||||
## soviet-04ab, soviet-05
|
||||
defeat-allied-forces = Defeat the Allied forces.
|
||||
|
||||
## allies-08ab
|
||||
experiment-successful = The experiment is a success!
|
||||
chronosphere-experiments-completes-in = Chronosphere experiment completes in { $time }
|
||||
defend-chronosphere-tech-center = Defend the Chronosphere and the Tech Center
|
||||
at all costs.
|
||||
chronosphere-needs-power = The Chronosphere must have power when the
|
||||
timer runs out.
|
||||
evacuate-scientists-from-island = Evacuate all scientists from the island to
|
||||
the west.
|
||||
|
||||
## allies09a
|
||||
extract-kosygin = Extract Kosygin and
|
||||
get him back to your base.
|
||||
infiltrate-soviet-command-center-contact-kosygin = Infiltrate the Soviet command center and
|
||||
contact Kosygin.
|
||||
kosygin-must-survive = Kosygin must survive.
|
||||
|
||||
## allies-10a
|
||||
we-are-too-late = We're too late!
|
||||
incoming-transmission-capitalized = INCOMING TRANSMISSION
|
||||
deactivate-four-missiles = Commander, we're tracking four missiles. They must be deactivated! We are scrambling a team to assault the missile control bunker. Clear the way and capture the enemy command center. Hurry!
|
||||
capture-enemy-command-center = Capture the enemy Command Center. Hurry!
|
||||
disable-atomic-weapons = Find a way to take the atomic weapons off-line.
|
||||
|
||||
## ant-01
|
||||
allied-forces-have-arrived = Allied forces have arrived!
|
||||
defend-outpost-until-reinforcements-arrive = Defend outpost until reinforcements arrive.
|
||||
reinforcements-arrive-in = Reinforcements arrive in { $time }
|
||||
find-outpost = Find the outpost.
|
||||
|
||||
## ants-03
|
||||
gas-every-ant-nest = Gas every ant nest.
|
||||
kill-every-ant-above-ground = Kill every ant lurking above ground.
|
||||
|
||||
## evacuation
|
||||
allied-reinforcements-arrive-in = Allied reinforcements arrive in { $time }
|
||||
wait-for-helicopter-extract-einstein = Wait for a helicopter at the LZ and extract Einstein.
|
||||
keep-einstein-alive-at-all-costs = Keep Einstein alive at all costs.
|
||||
find-einstein-crashed-helicopter = Find Einstein's crashed helicopter.
|
||||
destroy-sam-sites = Destroy the SAM sites.
|
||||
hold-position-protect-base = Hold your position and protect the base.
|
||||
keep-civilians-alive = Do not lose more than { $units } units.
|
||||
take-out-the-soviet-power-grid = Take out the Soviet power grid.
|
||||
|
||||
## exodus
|
||||
units-evacuated = { $evacuated } / { $threshold } units evacuated.
|
||||
evacuate-units = Evacuate { $threshold } units.
|
||||
destroy-nearby-soviet-airbases = Destroy the nearby Soviet airbases.
|
||||
evacuate-at-least-one-gap-generator = Evacuate at least one mobile gap generator.
|
||||
transferring-funds = Transferring funds.
|
||||
co-commander-missing = Co-Commander is missing
|
||||
|
||||
## fall-of-greece-1-personal-war
|
||||
civilians-manual-targetting = Commander, there are several civilians in the area.
|
||||
We'll need you to call out targets.
|
||||
soviet-aircraft-armor-moving-in = Alfa Niner this is Lima One Six. Be advised, Soviet aircraft and armor moving into your AO.
|
||||
headquarters = Headquarters
|
||||
extraction-point-compromised-evacuate-base = Extraction point is compromised. Evacuate the base!
|
||||
new-extraction-point-northwest = We've set up a new extraction point to the Northwest.
|
||||
stalin-will-pay = Stalin will pay for what he has done today!
|
||||
I will bury him with my own hands!
|
||||
stavros = Stavros
|
||||
keep-stavros-tanya-alive = Keep Stavros and Tanya alive.
|
||||
get-tanya-stavros-helicopter = Get Stavros and Tanya to the extraction helicopter.
|
||||
|
||||
## fall-of-greece-2-evacuation
|
||||
civilians-evacuated = { $evacuated } / { $threshold } civilians evacuated.
|
||||
chinook-assist-evacuation = Alfa Niner this is Pegasus. We are on site and ready to assist with the evacuation.
|
||||
chinook-pilot = Chinook pilot
|
||||
rescue-civlians-island-shelter-easy = Evacuate at least half of the civilians to the island
|
||||
shelter.
|
||||
rescue-civlians-island-shelter-normal = Evacuate at least three quarters of the civilians to
|
||||
the island shelter.
|
||||
rescue-civlians-island-shelter-hard = Evacuate all civilians to the island shelter.
|
||||
clear-enemy-submarines = Clear the area of enemy submarine activity.
|
||||
|
||||
## fort-lonestar
|
||||
no-more-waves = You almost survived the onslaught! No more waves incoming.
|
||||
defend-fort-lonestar = Defend Fort Lonestar at all costs!
|
||||
|
||||
## in-the-nick-of-time
|
||||
friendlies-coming-out = Friendlies coming out!
|
||||
medic = Medic
|
||||
get-scientists-evacuation-point = Commander, we're detecting Soviet transports headed your way. Get those scientists back to the extraction point in the southeast!
|
||||
landcom-16-capitalized = LANDCOM 16
|
||||
scientists-killed-in-command-center = The scientists were in the Command Center!
|
||||
too-late = We're too late!
|
||||
chronosphere-explodes-in = Chronosphere explodes in { $time }
|
||||
rescue-scientists-extraction-point = Rescue the scientists and escort them back to the
|
||||
extraction point.
|
||||
|
||||
## infiltration
|
||||
secure-laboratory-guards = Secure the laboratory by eliminating its guards.
|
||||
destroy-remaining-soviet-presence = Destroy the remaining Soviet presence.
|
||||
infiltrate-laboratory = Get our spy into the laboratory undetected.
|
||||
secure-lab-in = Secure lab in: { $time }
|
||||
soviet-research-lab-not-secured-in-time = The Soviet research laboratory was not secured in time.
|
||||
|
||||
## intervention
|
||||
percentage-village-destroyed = { $percentage }% of the village destroyed.
|
||||
save-village = Save the village.
|
||||
mcv-main-island = Get your MCV to the main island.
|
||||
capture-air-force-hq = Locate and capture the enemy's Air Force HQ.
|
||||
|
||||
## monster-tank-madness
|
||||
find-demitri = Find Dr. Demitri. He is likely hiding in the village
|
||||
to the far south.
|
||||
reprogram-super-tanks = Reprogram the super tanks by sending a spy into
|
||||
the Soviet radar dome.
|
||||
defend-outpost = Defend and repair our outpost.
|
||||
super-tank-self-destruct-t-minus-3 = In 3 minutes the super tanks will self-destruct.
|
||||
evacuate-demitri = Evacuate Dr. Demitri with the helicopter waiting
|
||||
at our outpost.
|
||||
super-tank-self-destruct-in = The super tanks self-destruct in { $time }
|
||||
super-tanks-destroyed = The super tanks are destroyed!
|
||||
eliminate-super-tanks = Eliminate these super tanks.
|
||||
steal-money-outpost = Steal money from the nearby outpost with the Thief.
|
||||
cross-river = Secure transport to the mainland.
|
||||
find-outpost = Find our outpost and start repairs on it.
|
||||
evacuate-civilian-hospital = Evacuate all civilians from the hospital.
|
||||
demitri-extracted-super-tanks-destroyed = Dr. Demitri has been extracted and the super tanks have been dealt with.
|
||||
|
||||
## production-disruption, shock-therapy
|
||||
capture-enemy-radar-dome = Capture the enemy radar dome.
|
||||
|
||||
## production-disruption
|
||||
destroy-escaping-submarine = Destroy the submarine before it escapes!
|
||||
submarine-escapes = The sub is heading for open sea!
|
||||
submarine-completes-in = Submarine completes in { $time }
|
||||
destroy-soviet-sub-pen = Destroy the Soviet sub pen.
|
||||
power-down-tesla-coils = Take down power to the tesla coils.
|
||||
|
||||
## sarin-gas-1-crackdown, soviet09
|
||||
convoy-truck-escaping = Convoy truck attempting to escape!
|
||||
|
||||
## sarin-gas-1-crackdown
|
||||
prevent-soviet-trucks-escaping = Prevent Soviet convoy trucks from escaping.
|
||||
clear-sector-soviet-presence = Clear the sector of all Soviet presence.
|
||||
infiltrate-radar-reveal-escape-routes = Infiltrate the Soviet Radar Dome to reveal truck
|
||||
ecape routes.
|
||||
|
||||
## sarin-gas-2-down-under, situation-critical
|
||||
scientist = Scientist
|
||||
|
||||
## sarin-gas-2-down-under
|
||||
flame-turret-deactivated = Flame Turret deactivated.
|
||||
console = Console
|
||||
sarin-dispenser-activated = Sarin Nerve Gas dispensers activated.
|
||||
tesla-coil-deactivated = Tesla Coil deactivated.
|
||||
tesla-coil-activated = Initialising Tesla Coil defence.
|
||||
prisoners-escaping = Warning, prisoners are attempting to escape!
|
||||
intercom = Intercom
|
||||
hurry-base-compromised = The base is compromised. We have to hurry the execution!
|
||||
soviet-officer = Soviet Officer
|
||||
prepare-to-fire = Prepare to Fire!
|
||||
fire = Fire!
|
||||
thanks-for-rescue = Thanks for the rescue!
|
||||
move-nuclear-outside = The Soviets have an unstable nuclear device stored here.
|
||||
I need to move it out of the facility!
|
||||
exit-clear-hopefully = I hope the exit is clear!
|
||||
reach-eastern-exit = Reach the eastern exit of the facility.
|
||||
free-tanya-keep-alive = Free Tanya and keep her alive.
|
||||
kill-soviet-officers-scientists = Kill all Soviet officers and scientists.
|
||||
steal-soviet-mammoth-tank = Steal a Soviet mammoth tank.
|
||||
no-casualties = Do not lose a single soldier or civilian
|
||||
under your command.
|
||||
|
||||
## sarin-gas-3-controlled-burn
|
||||
capture-sarin-plants-intact = Capture all Sarin processing plants intact.
|
||||
destroy-enemy-compound = Destroy the enemy compound.
|
||||
cut-power-east = Bring down the power of the base to the east.
|
||||
|
||||
## shock-therapy
|
||||
destroy-opposition = Destroy all that oppose us.
|
||||
|
||||
## siberian-conflict-1-fresh-tracks
|
||||
first-trucks-entering = The first trucks are entering your AO.
|
||||
first-trucks-arrive-in = First trucks arrive in { $time }
|
||||
destroy-soviet-convoy = Destroy all Soviet convoy trucks.
|
||||
destroy-bridges-slow-convoy = Destroy the nearby bridges to slow the
|
||||
convoys down.
|
||||
|
||||
## siberian-conflict-3-wasteland
|
||||
destroy-soviet-units-infrastructure = Destroy all Soviet units and structures.
|
||||
|
||||
## situation-critical
|
||||
plans-stolen-erase-data = Plans stolen; erasing all data.
|
||||
software-update-failed-manual-targets = IFF software update failed. Require manual target input.
|
||||
volkov = Volkov
|
||||
missiles-launch-in = Missiles launch in { $time }
|
||||
too-late = We're too late!
|
||||
kill-power = Bring the base to low power. Volkov will arrive
|
||||
once the defenses are down.
|
||||
infiltrate-bio-weapons-lab-scientist = Infiltrate the bio-weapons lab with the scientist.
|
||||
destroy-bio-weapons-lab-missile-silos = Destroy the bio-weapons lab and missile silos.
|
||||
destroy-all-sam-sites-strategic-bombers = Destroy all sam sites on the island.
|
||||
Our strategic bombers will finish the rest.
|
||||
|
||||
## situation-critical, soviet-soldier-volkov-n-chitzkoi
|
||||
volkov-survive = Volkov must survive.
|
||||
|
||||
## soviet-01
|
||||
raze-village = Raze the village.
|
||||
|
||||
## soviet-02ab, soviet-08a, soviet-11
|
||||
protect-command-center = Protect the Command Center.
|
||||
destroy-allied-units-structures = Destroy all Allied units and structures.
|
||||
|
||||
## soviet-03
|
||||
kill-enemy-spy = Kill the enemy spy.
|
||||
clear-farm-reinforcements = Clear the nearby farm for reinforcements.
|
||||
scavenge-civilian-buildings = Scavenge the civilian buildings for supplies.
|
||||
time-remaining = Time Remaining: { $time }
|
||||
|
||||
## soviet-04ab, soviet-08ab, soviet-10
|
||||
destroy-radar-dome-reinforcements = Destroy Allied Radar Dome to stop enemy
|
||||
reinforcements.
|
||||
|
||||
## soviet05
|
||||
allied-mcv-island = Allied MCV detected moving to the island.
|
||||
defend-radar-dome = Defend the Radar Dome.
|
||||
allied-expansion-movement-detected = Movement of an Allied expansion base discovered.
|
||||
coordinates-allied-expansion-discovered = Coordinates of an Allied expansion base discovered.
|
||||
|
||||
## soviet06ab
|
||||
destroy-capture-radar-dome-reinforcements = Destroy or capture the Allied radar dome to stop
|
||||
enemy reinforcements.
|
||||
keep-trucks-alive = Keep all trucks alive.
|
||||
|
||||
## soviet07
|
||||
deactivate-security-system = Deactivate the security system.
|
||||
rescue-engineers = Rescue the engineers.
|
||||
engineers-coolant-station = Get the engineers to the coolant stations.
|
||||
engineer-reprogram-security = Use an Engineer to reprogram the security system.
|
||||
engineer-reactor-core = Get an Engineer to the reactor core.
|
||||
free-dogs = Free the dogs.
|
||||
time-until-meltdown = Time until Meltdown: { $time }
|
||||
|
||||
## soviet-08ab
|
||||
destroy-allied-sympathizers-village = Destroy the village of Allied sympathizers.
|
||||
|
||||
## soviet-09
|
||||
trucks-stopped-near-allied-base = Commander, the truck has stopped at a nearby allied base.
|
||||
Allied radio intercepts say the truck has orders to flee the battlefield
|
||||
if any Soviet units approach the base.
|
||||
destroy-stolen-convoy-truck = Destroy the stolen convoy truck.
|
||||
Do not let it escape.
|
||||
defend-forward-command-center = Defend our forward command center.
|
||||
|
||||
## soviet-10
|
||||
run-for-it = RUN FOR IT!
|
||||
convoy-commander = Convoy commander
|
||||
we-are-surrounded = We're surrounded!
|
||||
corridor-closes-in = Corridor closes in { $time }
|
||||
escort-convoy-mountain-pass = Escort the convoy through the mountain pass.
|
||||
protect-every-truck = Do not lose a single truck.
|
||||
save-migs = Do not squander any of our new MiG aircraft.
|
||||
|
||||
## soviet-11b
|
||||
destroy-allied-naval-base = Destroy Allied naval base.
|
||||
|
||||
## soviet-soldier-volkov-n-chitzkoi
|
||||
destroy-control-center = Destroy the Control Center.
|
||||
tank-division-must-not-be-destroyed = Your tank division must not be destroyed before
|
||||
the alloy facility is dealt with.
|
||||
keep-chitzkoi-alive = Keep Chitzkoi Alive.
|
||||
destroy-alloy-facility = Destroy the alloy facility.
|
||||
heavy-turret-control-destroyed = Excellent! The heavy turret control center is destroyed
|
||||
and now we can deal with the alloy facility.
|
||||
rebuild-chitzkoy = We can rebuild Chitzkoi. We have the technology.
|
||||
|
||||
## survival01
|
||||
french-reinforcements-arrive-in = French reinforcements arrive in { $time }
|
||||
french-allies-arrived = Our french allies have arrived!
|
||||
takeover-reinforcements-kill-remaining-soviet-forces = Take control of French reinforcements and
|
||||
kill all remaining Soviet forces.
|
||||
takeover-reinforcements-dismantle-soviet-base = Take control of French reinforcements and
|
||||
dismantle the nearby Soviet base.
|
||||
enforce-position-hold-until-reinforcements = Enforce your position and hold-out the onslaught
|
||||
until reinforcements arrive.
|
||||
destroy-two-sames-before-reinforcements = Destroy the two SAM sites before reinforcements
|
||||
arrive.
|
||||
soviets-blocking-gps = The Soviets are blocking our GPS. We need to investigate their new technology.
|
||||
capture-hold-soviet-airbase-northeast = Capture and hold the Soviet airbase
|
||||
in the northeast.
|
||||
french-survived-dismantled-soviet-presence = The French forces have survived and dismantled the Soviet presence in the area!
|
||||
kill-remaining-soviet-forces = Kill all remaining Soviet forces.
|
||||
dismantle-nearby-soviet-base = Dismantle the nearby Soviet base.
|
||||
|
||||
## survival02
|
||||
destroy-all-soviet-forces = Destroy all Soviet forces in the area.
|
||||
soviet-reinforcements-arrive-in = Soviet reinforcements arrive in { $time }
|
||||
reinforced-position-initiate-counter-attack = Excellent work Commander! We have reinforced our position enough to initiate a counter-attack.
|
||||
incoming-report = Incoming Report
|
||||
destroy-remaining-soviet-forces-area = Destroy the remaining Soviet forces in the area.
|
||||
soviet-reinforcements-arrived = Soviet reinforcements have arrived!
|
||||
repair-bridges-for-reinforcement = Commander! The Soviets destroyed the bridges to disable our reinforcements. Repair them for additional reinforcements.
|
||||
repair-two-southern-bridges = Repair the two southern bridges.
|
||||
enforce-position-hold-out-onslaught = Enforce your position and hold-out the onslaught.
|
||||
remaining-soviet-presence-destroyed = We have destroyed the remaining Soviet presence!
|
||||
soviet-reinforcements-approaching = The Soviet reinforcements are approaching!
|
||||
|
||||
## top-o-the-world
|
||||
supply-truck-waystation = Bring the supply truck to the waystation.
|
||||
waystation-must-not-be-destroyed = The waystation must not be destroyed.
|
||||
destory-aa-guns-enable-air-support = Destroy all the AA Guns to enable air support.
|
||||
find-destroy-bridge-stop-allied-reinforcements = Find and destroy the bridge the allies are using
|
||||
to bring their reinforcements in the area.
|
||||
air-support-t-minus-3 = Very good comrade general! Our air units just took off
|
||||
and should be in your area in approximately three minutes.
|
||||
allied-ground-reinforcements-stopped = This should stop the allied forces from getting their ground based reinforcements.
|
||||
@@ -25,7 +25,7 @@ SendInsertionHelicopter = function()
|
||||
local tanya = passengers[1]
|
||||
Trigger.OnKilled(tanya, TanyaKilledInAction)
|
||||
Trigger.AfterDelay(DateTime.Seconds(4), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -151,7 +151,7 @@ CreateEinstein = function()
|
||||
einstein = Actor.Create(EinsteinType, true, { Location = EinsteinSpawnPoint.Location, Owner = Greece })
|
||||
einstein.Scatter()
|
||||
Trigger.OnKilled(einstein, RescueFailed)
|
||||
ExtractObjective = Greece.AddObjective("Wait for the helicopter and extract Einstein.")
|
||||
ExtractObjective = AddPrimaryObjective(Greece, "extract-einstein-helicopter")
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlaySpeechNotification(Greece, "TargetFreed") end)
|
||||
end
|
||||
|
||||
@@ -190,10 +190,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
FindEinsteinObjective = Greece.AddObjective("Find Einstein.")
|
||||
TanyaSurviveObjective = Greece.AddObjective("Tanya must survive.")
|
||||
EinsteinSurviveObjective = Greece.AddObjective("Einstein must survive.")
|
||||
CivilProtectionObjective = Greece.AddObjective("Protect all civilians.", "Secondary", false)
|
||||
FindEinsteinObjective = AddPrimaryObjective(Greece, "find-einstein")
|
||||
TanyaSurviveObjective = AddPrimaryObjective(Greece, "tanya-survive")
|
||||
EinsteinSurviveObjective = AddPrimaryObjective(Greece, "einstein-survive")
|
||||
CivilProtectionObjective = AddSecondaryObjective(Greece, "protect-civilians")
|
||||
|
||||
RunInitialActivities()
|
||||
|
||||
|
||||
@@ -448,3 +448,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -168,7 +168,9 @@ FinishTimer = function()
|
||||
c = HSLColor.White
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("The convoy arrived!", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function()
|
||||
UserInterface.SetMissionText(UserInterface.Translate("convoy-arrived"), c)
|
||||
end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -180,7 +182,7 @@ SendTrucks = function()
|
||||
|
||||
DateTime.TimeLimit = 0
|
||||
UserInterface.SetMissionText("")
|
||||
ConvoyObjective = player.AddObjective("Escort the convoy.")
|
||||
ConvoyObjective = AddPrimaryObjective(player, "escort-convoy")
|
||||
|
||||
Media.PlaySpeechNotification(player, "ConvoyApproaching")
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
@@ -220,10 +222,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
ussrObj = ussr.AddObjective("Deny the allies!")
|
||||
ussrObj = AddPrimaryObjective(ussr, "")
|
||||
|
||||
SecureObjective = player.AddObjective("Secure the convoy's path.")
|
||||
ConquestObjective = player.AddObjective("Eliminate the entire soviet presence in this area.")
|
||||
SecureObjective = AddPrimaryObjective(player, "secure-convoy")
|
||||
ConquestObjective = AddPrimaryObjective(player, "eliminate-soviets")
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlaySpeechNotification(allies, "MissionTimerInitialised") end)
|
||||
|
||||
|
||||
@@ -657,3 +657,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -51,7 +51,7 @@ SendAlliedUnits = function()
|
||||
|
||||
if TanyaType == "e7.noautotarget" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(2), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
Artillery.Stance = "HoldFire"
|
||||
@@ -107,11 +107,10 @@ InitPlayers = function()
|
||||
end
|
||||
|
||||
AddObjectives = function()
|
||||
KillBridges = player.AddObjective("Destroy all bridges.")
|
||||
TanyaSurvive = player.AddObjective("Tanya must survive.")
|
||||
KillUSSR = player.AddObjective("Destroy all Soviet oil pumps.", "Secondary", false)
|
||||
FreePrisoners = player.AddObjective("Free all Allied soldiers and keep them alive.", "Secondary", false)
|
||||
ussr.AddObjective("Bridges must not be destroyed.")
|
||||
KillBridges = AddPrimaryObjective(player, "destroy-bridges")
|
||||
TanyaSurvive = AddPrimaryObjective(player, "tanya-survive")
|
||||
KillUSSR = AddSecondaryObjective(player, "destroy-oilpumps")
|
||||
FreePrisoners = AddSecondaryObjective(player, "free-prisoners")
|
||||
end
|
||||
|
||||
InitTriggers = function()
|
||||
|
||||
@@ -1311,3 +1311,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -64,7 +64,7 @@ SetupAlliedUnits = function()
|
||||
|
||||
if TanyaType == "e7.noautotarget" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(2), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -173,11 +173,10 @@ end
|
||||
AddObjectives = function()
|
||||
InitObjectives(player)
|
||||
|
||||
KillBridges = player.AddObjective("Destroy all bridges.")
|
||||
TanyaSurvive = player.AddObjective("Tanya must survive.")
|
||||
FindAllies = player.AddObjective("Find our lost tanks.", "Secondary", false)
|
||||
FreePrisoners = player.AddObjective("Free all Allied soldiers and keep them alive.", "Secondary", false)
|
||||
ussr.AddObjective("Bridges must not be destroyed.")
|
||||
KillBridges = AddPrimaryObjective(player, "destroy-bridges")
|
||||
TanyaSurvive = AddPrimaryObjective(player, "tanya-survive")
|
||||
FindAllies = AddSecondaryObjective(player, "find-lost-tanks")
|
||||
FreePrisoners = AddSecondaryObjective(player, "free-prisoners")
|
||||
end
|
||||
|
||||
InitTriggers = function()
|
||||
|
||||
@@ -1211,3 +1211,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -139,8 +139,8 @@ Tick = function()
|
||||
end
|
||||
|
||||
AddObjectives = function()
|
||||
KillUSSR = player.AddObjective("Destroy all Soviet units and buildings in this region.")
|
||||
DestroyConvoys = player.AddObjective("Eliminate all passing Soviet convoys.", "Secondary", false)
|
||||
KillUSSR = AddPrimaryObjective(player, "destroy-soviet-units-buildings")
|
||||
DestroyConvoys = AddSecondaryObjective(player, "destroy-convoys")
|
||||
end
|
||||
|
||||
WorldLoaded = function()
|
||||
|
||||
@@ -534,3 +534,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -137,7 +137,7 @@ SendWaterExtraction = function()
|
||||
Camera.Position = flare.CenterPosition
|
||||
|
||||
WaterExtractionTran = Reinforcements.ReinforceWithTransport(greece, ExtractionTransport, nil, SpyEntryPath)[1]
|
||||
ExtractObj = greece.AddObjective("Get all your forces into the transport.")
|
||||
ExtractObj = AddPrimaryObjective(greece, "extract-transport")
|
||||
|
||||
Trigger.OnKilled(WaterExtractionTran, function() ussr.MarkCompletedObjective(ussrObj) end)
|
||||
Trigger.OnAllRemovedFromWorld(greece.GetGroundAttackers(), function()
|
||||
@@ -185,20 +185,20 @@ FreeTanya = function()
|
||||
|
||||
if TanyaType == "e7.noautotarget" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
|
||||
Trigger.OnKilled(Tanya, function() ussr.MarkCompletedObjective(ussrObj) end)
|
||||
|
||||
if Difficulty == "tough" then
|
||||
KillSams = greece.AddObjective("Destroy all four SAM Sites that block\nour reinforcements' helicopter.")
|
||||
KillSams = AddPrimaryObjective(greece, "destroy-sam-sites-blocker")
|
||||
|
||||
greece.MarkCompletedObjective(mainObj)
|
||||
surviveObj = greece.AddObjective("Tanya must not die!")
|
||||
surviveObj = AddPrimaryObjective(greece, "tanya-survive")
|
||||
Media.PlaySpeechNotification(greece, "TanyaRescued")
|
||||
else
|
||||
KillSams = greece.AddObjective("Destroy all four SAM sites that block\nthe extraction helicopter.")
|
||||
KillSams = AddPrimaryObjective(greece, "destroy-sam-sites-blocker")
|
||||
|
||||
Media.PlaySpeechNotification(greece, "TargetFreed")
|
||||
end
|
||||
@@ -220,7 +220,7 @@ SendSpy = function()
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
Media.DisplayMessage("Commander! You have to disguise me in order to get through the enemy patrols.", "Spy")
|
||||
Media.DisplayMessage(UserInterface.Translate("disguise-spy"), "Spy")
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -264,7 +264,7 @@ InitTriggers = function()
|
||||
end
|
||||
|
||||
if not greece.IsObjectiveCompleted(infWarfactory) then
|
||||
Media.DisplayMessage("Good work! But next time skip the heroics!", "Battlefield Control")
|
||||
Media.DisplayMessage(UserInterface.Translate("skip-heroics"), UserInterface.Translate("battlefield-control"))
|
||||
greece.MarkCompletedObjective(infWarfactory)
|
||||
end
|
||||
|
||||
@@ -372,10 +372,10 @@ InitTriggers = function()
|
||||
end
|
||||
|
||||
AddObjectives = function()
|
||||
ussrObj = ussr.AddObjective("Deny the Allies.")
|
||||
mainObj = greece.AddObjective("Rescue Tanya.")
|
||||
KillAll = greece.AddObjective("Eliminate all Soviet units in this area.")
|
||||
infWarfactory = greece.AddObjective("Infiltrate the Soviet warfactory.", "Secondary", false)
|
||||
ussrObj = AddPrimaryObjective(ussr, "")
|
||||
mainObj = AddPrimaryObjective(greece, "rescue-tanya")
|
||||
KillAll = AddPrimaryObjective(greece, "elminate-soviet-units")
|
||||
infWarfactory = AddSecondaryObjective(greece, "infiltrate-warfactory")
|
||||
end
|
||||
|
||||
WorldLoaded = function()
|
||||
|
||||
@@ -1564,3 +1564,5 @@ Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/c
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Notifications: notifications.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -50,7 +50,7 @@ SendSpy = function()
|
||||
Trigger.OnKilled(Spy, function() USSR.MarkCompletedObjective(USSRObj) end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
Media.DisplayMessage("Commander! You have to disguise me in order to get through the enemy patrols.", "Spy")
|
||||
Media.DisplayMessage(UserInterface.Translate("disguise-spy"), "Spy")
|
||||
if SpecialCameras then
|
||||
SpyCameraA = Actor.Create("camera", true, { Owner = Greece, Location = SpyCamera1.Location })
|
||||
SpyCameraB = Actor.Create("camera", true, { Owner = Greece, Location = SpyCamera2.Location })
|
||||
@@ -239,7 +239,7 @@ FreeTanya = function()
|
||||
|
||||
if TanyaType == "e7.noautotarget" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -254,7 +254,7 @@ FreeTanya = function()
|
||||
end)
|
||||
end)
|
||||
|
||||
KillSams = Greece.AddObjective("Destroy all four SAM sites that block\nthe extraction helicopter.")
|
||||
KillSams = AddPrimaryObjective(Greece, "destroy-sam-sites-blocker")
|
||||
Trigger.OnKilled(Tanya, function() USSR.MarkCompletedObjective(USSRObj) end)
|
||||
|
||||
if not SpecialCameras and PrisonCamera and PrisonCamera.IsInWorld then
|
||||
@@ -318,7 +318,7 @@ InitTriggers = function()
|
||||
end
|
||||
|
||||
if not Greece.IsObjectiveCompleted(InfWarfactory) then
|
||||
Media.DisplayMessage("Good work! But next time skip the heroics!", "Battlefield Control")
|
||||
Media.DisplayMessage(UserInterface.Translate("skip-heroics"), UserInterface.Translate("battlefield-control"))
|
||||
Greece.MarkCompletedObjective(InfWarfactory)
|
||||
end
|
||||
|
||||
@@ -388,10 +388,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
USSRObj = USSR.AddObjective("Deny the Allies.")
|
||||
MainObj = Greece.AddObjective("Rescue Tanya.")
|
||||
KillAll = Greece.AddObjective("Eliminate all Soviet units in this area.")
|
||||
InfWarfactory = Greece.AddObjective("Infiltrate the Soviet warfactory.", "Secondary", false)
|
||||
USSRObj = AddPrimaryObjective(USSR, "")
|
||||
MainObj = AddPrimaryObjective(Greece, "rescue-tanya")
|
||||
KillAll = AddPrimaryObjective(Greece, "elminate-soviet-units")
|
||||
InfWarfactory = AddSecondaryObjective(Greece, "infiltrate-warfactory")
|
||||
|
||||
InitTriggers()
|
||||
SendSpy()
|
||||
|
||||
@@ -1194,3 +1194,5 @@ Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/c
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Notifications: notifications.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -72,7 +72,7 @@ SendSpy = function()
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
Media.DisplayMessage("Commander! You have to disguise me in order to get through the enemy patrols.", "Spy")
|
||||
Media.DisplayMessage(UserInterface.Translate("disguise-spy"), UserInterface.Translate("spy"))
|
||||
end)
|
||||
end
|
||||
|
||||
@@ -184,20 +184,20 @@ FreeTanya = function()
|
||||
|
||||
if TanyaType == "e7.noautotarget" then
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||
Media.DisplayMessage("According to the rules of engagement I need your explicit orders to fire, Commander!", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), "Tanya")
|
||||
end)
|
||||
end
|
||||
|
||||
Trigger.OnKilled(Tanya, function() USSR.MarkCompletedObjective(USSRObj) end)
|
||||
|
||||
if Difficulty == "tough" then
|
||||
KillSams = Greece.AddObjective("Destroy all six SAM Sites that block\nour reinforcements' helicopter.")
|
||||
KillSams = AddPrimaryObjective(Greece, "destroy-sam-sites-blocker")
|
||||
|
||||
Greece.MarkCompletedObjective(MainObj)
|
||||
SurviveObj = Greece.AddObjective("Tanya must not die!")
|
||||
SurviveObj = AddPrimaryObjective(Greece, "tanya-survive")
|
||||
Media.PlaySpeechNotification(Greece, "TanyaRescued")
|
||||
else
|
||||
KillSams = Greece.AddObjective("Destroy all six SAM sites that block\nthe extraction helicopter.")
|
||||
KillSams = AddPrimaryObjective(Greece, "destroy-sam-sites-blocker")
|
||||
|
||||
Media.PlaySpeechNotification(Greece, "TargetFreed")
|
||||
end
|
||||
@@ -238,7 +238,7 @@ InitTriggers = function()
|
||||
end
|
||||
|
||||
if not Greece.IsObjectiveCompleted(InfWarfactory) then
|
||||
Media.DisplayMessage("Good work! But next time skip the heroics!", "Battlefield Control")
|
||||
Media.DisplayMessage(UserInterface.Translate("skip-heroics"), UserInterface.Translate("battlefield-control"))
|
||||
Greece.MarkCompletedObjective(InfWarfactory)
|
||||
end
|
||||
|
||||
@@ -346,10 +346,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
USSRObj = USSR.AddObjective("Deny the Allies.")
|
||||
MainObj = Greece.AddObjective("Rescue Tanya.")
|
||||
KillAll = Greece.AddObjective("Eliminate all Soviet units in this area.")
|
||||
InfWarfactory = Greece.AddObjective("Infiltrate the Soviet warfactory.", "Secondary", false)
|
||||
USSRObj = AddPrimaryObjective(USSR, "")
|
||||
MainObj = AddPrimaryObjective(Greece, "rescue-tanya")
|
||||
KillAll = AddPrimaryObjective(Greece, "elminate-soviet-units")
|
||||
InfWarfactory = AddSecondaryObjective(Greece, "infiltrate-warfactory")
|
||||
|
||||
InitTriggers()
|
||||
SendSpy()
|
||||
|
||||
@@ -1065,3 +1065,5 @@ Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/c
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Notifications: notifications.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -126,7 +126,7 @@ CaptureRadarDome = function()
|
||||
end
|
||||
end)
|
||||
|
||||
Media.DisplayMessage("Coordinates of the Soviet tech centers discovered.")
|
||||
Media.DisplayMessage(UserInterface.Translate("soviet-tech-centers-discovered"))
|
||||
|
||||
if Difficulty == "easy" then
|
||||
Actor.Create("Camera", true, { Owner = player, Location = Weapcam.Location })
|
||||
@@ -141,7 +141,7 @@ InfiltrateTechCenter = function()
|
||||
return
|
||||
end
|
||||
infiltrated = true
|
||||
DestroySovietsObj = player.AddObjective("Destroy all Soviet buildings and units in the area.")
|
||||
DestroySovietsObj = AddPrimaryObjective(player, "destroy-soviet-buildings-units")
|
||||
player.MarkCompletedObjective(InfiltrateTechCenterObj)
|
||||
|
||||
local Proxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
|
||||
@@ -153,7 +153,7 @@ InfiltrateTechCenter = function()
|
||||
|
||||
Trigger.OnCapture(a, function()
|
||||
if not infiltrated then
|
||||
Media.DisplayMessage("Do not capture the tech centers! Infiltrate one with a spy.")
|
||||
Media.DisplayMessage(UserInterface.Translate("dont-capture-tech-centers"))
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -181,8 +181,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
InfiltrateTechCenterObj = player.AddObjective("Infiltrate one of the Soviet tech centers with a spy.")
|
||||
CaptureRadarDomeObj = player.AddObjective("Capture the Radar Dome at the shore.", "Secondary", false)
|
||||
InfiltrateTechCenterObj = AddPrimaryObjective(player, "infiltrate-tech-center-spy")
|
||||
CaptureRadarDomeObj = AddSecondaryObjective(player, "capture-radar-shore")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
|
||||
|
||||
@@ -630,3 +630,5 @@ Actors:
|
||||
Location: 73,90
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -136,7 +136,7 @@ CaptureRadarDome = function()
|
||||
end
|
||||
end)
|
||||
|
||||
Media.DisplayMessage("Coordinates of the Soviet tech centers discovered.")
|
||||
Media.DisplayMessage(UserInterface.Translate("soviet-tech-centers-discovered"))
|
||||
|
||||
if Difficulty == "easy" then
|
||||
Actor.Create("Camera", true, { Owner = player, Location = Weapcam.Location })
|
||||
@@ -151,13 +151,13 @@ InfiltrateTechCenter = function()
|
||||
return
|
||||
end
|
||||
infiltrated = true
|
||||
DestroySovietsObj = player.AddObjective("Destroy all Soviet buildings and units in the area.")
|
||||
DestroySovietsObj = AddPrimaryObjective(player, "destroy-soviet-buildings-units")
|
||||
player.MarkCompletedObjective(InfiltrateTechCenterObj)
|
||||
end)
|
||||
|
||||
Trigger.OnCapture(a, function()
|
||||
if not infiltrated then
|
||||
Media.DisplayMessage("Do not capture the tech centers! Infiltrate one with a spy.")
|
||||
Media.DisplayMessage(UserInterface.Translate("dont-capture-tech-centers"))
|
||||
end
|
||||
end)
|
||||
end)
|
||||
@@ -185,8 +185,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
InfiltrateTechCenterObj = player.AddObjective("Infiltrate one of the Soviet tech centers with a spy.")
|
||||
CaptureRadarDomeObj = player.AddObjective("Capture the Radar Dome at the shore.", "Secondary", false)
|
||||
InfiltrateTechCenterObj = AddPrimaryObjective(player, "infiltrate-tech-center-spy")
|
||||
CaptureRadarDomeObj = AddSecondaryObjective(player, "capture-radar-shore")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
|
||||
|
||||
@@ -844,3 +844,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -114,6 +114,7 @@ StartTimerFunction = function()
|
||||
end
|
||||
end
|
||||
|
||||
EnemyApproaching = UserInterface.Translate("enemy-approaching")
|
||||
FinishTimer = function()
|
||||
for i = 0, 5, 1 do
|
||||
local c = TimerColor
|
||||
@@ -121,7 +122,7 @@ FinishTimer = function()
|
||||
c = HSLColor.White
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("Enemy approaching", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(EnemyApproaching, c) end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -164,7 +165,10 @@ Tick = function()
|
||||
|
||||
if StartTimer then
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Soviet armored battalion arrives in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("soviet-armored-battalion-arrives-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 then
|
||||
FinishTimer()
|
||||
@@ -186,10 +190,10 @@ WorldLoaded = function()
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
|
||||
InitObjectives(greece)
|
||||
CaptureRadarDomeObj = greece.AddObjective("Capture the Radar Dome.")
|
||||
DestroySubPens = greece.AddObjective("Destroy all Soviet Sub Pens")
|
||||
ClearSubActivity = greece.AddObjective("Clear the area of all sub activity", "Secondary", false)
|
||||
BeatAllies = ussr.AddObjective("Defeat the Allied forces.")
|
||||
CaptureRadarDomeObj = AddPrimaryObjective(greece, "capture-radar-dome")
|
||||
DestroySubPens = AddPrimaryObjective(greece, "destroy-all-soviet-sub-pens")
|
||||
ClearSubActivity = AddSecondaryObjective(greece, "clear-area-all-subs")
|
||||
BeatAllies = AddPrimaryObjective(ussr, "")
|
||||
|
||||
PowerProxy = Actor.Create("powerproxy.paratroopers", false, { Owner = ussr })
|
||||
|
||||
|
||||
@@ -877,3 +877,5 @@ Actors:
|
||||
Location: 33,62
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -82,7 +82,7 @@ DefendChronosphereCompleted = function()
|
||||
units[unit] = cells[i]
|
||||
end
|
||||
Chronosphere.Chronoshift(units)
|
||||
UserInterface.SetMissionText("The experiment is a success!", greece.Color)
|
||||
UserInterface.SetMissionText(UserInterface.Translate("experiment-successful"), greece.Color)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
greece.MarkCompletedObjective(DefendChronosphere)
|
||||
@@ -104,7 +104,10 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Chronosphere experiment completes in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("chronosphere-experiments-completes-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 and (greece.PowerState ~= "Normal") then
|
||||
greece.MarkFailedObjective(KeepBasePowered)
|
||||
@@ -120,10 +123,10 @@ WorldLoaded = function()
|
||||
germany = Player.GetPlayer("Germany")
|
||||
|
||||
InitObjectives(greece)
|
||||
DefendChronosphere = greece.AddObjective("Defend the Chronosphere and the Tech Center\nat all costs.")
|
||||
KeepBasePowered = greece.AddObjective("The Chronosphere must have power when the\ntimer runs out.")
|
||||
EvacuateScientists = greece.AddObjective("Evacuate all scientists from the island to\nthe west.", "Secondary", false)
|
||||
BeatAllies = ussr.AddObjective("Defeat the Allied forces.")
|
||||
DefendChronosphere = AddPrimaryObjective(greece, "defend-chronosphere-tech-center")
|
||||
KeepBasePowered = AddPrimaryObjective(greece, "chronosphere-needs-power")
|
||||
EvacuateScientists = AddSecondaryObjective(greece, "evacuate-scientists-from-island")
|
||||
BeatAllies = AddPrimaryObjective(ussr, "")
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), function()
|
||||
Media.PlaySpeechNotification(greece, "TwentyMinutesRemaining")
|
||||
|
||||
@@ -988,3 +988,5 @@ Actors:
|
||||
Location: 58,86
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -82,7 +82,7 @@ DefendChronosphereCompleted = function()
|
||||
units[unit] = cells[i]
|
||||
end
|
||||
Chronosphere.Chronoshift(units)
|
||||
UserInterface.SetMissionText("The experiment is a success!", greece.Color)
|
||||
UserInterface.SetMissionText(UserInterface.Translate("experiment-successful"), greece.Color)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
greece.MarkCompletedObjective(DefendChronosphere)
|
||||
@@ -104,7 +104,10 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Chronosphere experiment completes in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("chronosphere-experiments-completes-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 and (greece.PowerState ~= "Normal") then
|
||||
greece.MarkFailedObjective(KeepBasePowered)
|
||||
@@ -120,10 +123,10 @@ WorldLoaded = function()
|
||||
england = Player.GetPlayer("England")
|
||||
|
||||
InitObjectives(greece)
|
||||
DefendChronosphere = greece.AddObjective("Defend the Chronosphere and the Tech Center\nat all costs.")
|
||||
KeepBasePowered = greece.AddObjective("The Chronosphere must have power when the\ntimer runs out.")
|
||||
EvacuateScientists = greece.AddObjective("Evacuate all scientists from the island to\nthe east.", "Secondary", false)
|
||||
BeatAllies = ussr.AddObjective("Defeat the Allied forces.")
|
||||
DefendChronosphere = AddPrimaryObjective(greece, "defend-chronosphere-tech-center")
|
||||
KeepBasePowered = AddPrimaryObjective(greece, "chronosphere-needs-power")
|
||||
EvacuateScientists = AddSecondaryObjective(greece, "evacuate-scientists-from-island")
|
||||
BeatAllies = AddPrimaryObjective(ussr, "")
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), function()
|
||||
Media.PlaySpeechNotification(greece, "TwentyMinutesRemaining")
|
||||
|
||||
@@ -827,3 +827,5 @@ Actors:
|
||||
Location: 72,60
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -50,7 +50,7 @@ CreateKosygin = function()
|
||||
Media.PlaySpeechNotification(Greece, "ObjectiveMet")
|
||||
local kosygin = Actor.Create(KosyginType, true, { Location = KosyginSpawnPoint.Location, Owner = Greece })
|
||||
Trigger.OnKilled(kosygin, RescueFailed)
|
||||
ExtractObjective = Greece.AddObjective("Extract Kosygin and\nget him back to your base.")
|
||||
ExtractObjective = AddPrimaryObjective(Greece, "extract-kosygin")
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function() Media.PlaySpeechNotification(Greece, "TargetFreed") end)
|
||||
end
|
||||
|
||||
@@ -161,9 +161,9 @@ WorldLoaded = function()
|
||||
USSR = Player.GetPlayer("USSR")
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
InitObjectives(Greece)
|
||||
UseSpyObjective = Greece.AddObjective("Infiltrate the Soviet command center and\ncontact Kosygin.")
|
||||
KosyginSurviveObjective = Greece.AddObjective("Kosygin must survive.")
|
||||
USSRObj = USSR.AddObjective("Eliminate all Allied forces.")
|
||||
UseSpyObjective = AddPrimaryObjective(Greece, "infiltrate-soviet-command-center-contact-kosygin")
|
||||
KosyginSurviveObjective = AddPrimaryObjective(Greece, "kosygin-must-survive")
|
||||
USSRObj = AddPrimaryObjective(USSR, "")
|
||||
InitialAlliedReinforcements()
|
||||
InfiltrateForwardCenter()
|
||||
InitialSovietPatrols()
|
||||
|
||||
@@ -973,3 +973,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -60,7 +60,7 @@ MissionTriggers = function()
|
||||
|
||||
Trigger.OnTimerExpired(function()
|
||||
DateTime.TimeLimit = 0
|
||||
Trigger.AfterDelay(1, function() UserInterface.SetMissionText("We're too late!", USSR.Color) end)
|
||||
Trigger.AfterDelay(1, function() UserInterface.SetMissionText(UserInterface.Translate("we-are-too-late"), USSR.Color) end)
|
||||
USSR.MarkCompletedObjective(HoldOut)
|
||||
end)
|
||||
|
||||
@@ -99,7 +99,7 @@ LaunchMissiles = function()
|
||||
MissileSilo1.ActivateNukePower(CPos.New(127, 127))
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(3), function()
|
||||
Media.DisplayMessage("INCOMING TRANSMISSION", "LANDCOM 16")
|
||||
Media.DisplayMessage(UserInterface.Translate("incoming-transmission-capitalized"), UserInterface.Translate("landcom-16-capitalized"))
|
||||
Media.PlaySpeechNotification(Greece, "AbombLaunchDetected")
|
||||
MissileSilo2.ActivateNukePower(CPos.New(127, 127))
|
||||
end)
|
||||
@@ -120,13 +120,13 @@ LaunchMissiles = function()
|
||||
-- Completing immediately indicates that the FMV is not available
|
||||
-- Fall back to a text message
|
||||
if fmvStart == DateTime.GameTime then
|
||||
Media.DisplayMessage("Commander, we're tracking four missiles. They must be deactivated! We are scrambling a team to assult the missile control bunker. Clear the way and capture the enemy command center. Hurry!", "LANDCOM 16")
|
||||
Media.DisplayMessage(UserInterface.Translate("deactivate-four-missiles"), UserInterface.Translate("landcom-16-capitalized"))
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(9), function()
|
||||
CaptureFCom = Greece.AddObjective("Capture the enemy Command Center. Hurry!")
|
||||
CaptureFCom = AddPrimaryObjective(Greece, "capture-enemy-command-center")
|
||||
DateTime.TimeLimit = TimerTicks
|
||||
Media.PlaySpeechNotification(Greece, "TimerStarted")
|
||||
Greece.MarkCompletedObjective(ApproachBase)
|
||||
@@ -162,8 +162,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
HoldOut = USSR.AddObjective("Hold out until missiles reach their destination")
|
||||
ApproachBase = Greece.AddObjective("Find a way to take the atomic weapons off-line.")
|
||||
HoldOut = AddPrimaryObjective(USSR, "")
|
||||
ApproachBase = AddPrimaryObjective(Greece, "disable-atomic-weapons")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
StandardDrop = Actor.Create("paradrop", false, { Owner = USSR })
|
||||
|
||||
@@ -1616,3 +1616,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -34,13 +34,14 @@ SendInsertionHelicopter = function()
|
||||
Reinforcements.ReinforceWithTransport(Allies, InsertionHelicopterType, ChopperTeam, InsertionPath, { waypoint4.Location })
|
||||
end
|
||||
|
||||
AlliedForcesHaveArrived = UserInterface.Translate("allied-forces-have-arrived")
|
||||
FinishTimer = function()
|
||||
for i = 0, 9, 1 do
|
||||
local c = TimerColor
|
||||
if i % 2 == 0 then
|
||||
c = HSLColor.White
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("Allied forces have arrived!", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(AlliedForcesHaveArrived, c) end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -59,7 +60,7 @@ DiscoveredAlliedBase = function(actor, discoverer)
|
||||
|
||||
--Need to delay this so we don't fail mission before obj added
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||
SurviveObjective = Allies.AddObjective("Defend outpost until reinforcements arrive.")
|
||||
SurviveObjective = AddPrimaryObjective(Allies, "defend-outpost-until-reinforcements-arrive")
|
||||
SetupTimeNotifications()
|
||||
Trigger.OnAllRemovedFromWorld(AlliedBase, function()
|
||||
Allies.MarkFailedObjective(SurviveObjective)
|
||||
@@ -122,7 +123,10 @@ Tick = function()
|
||||
end
|
||||
|
||||
ticks = ticks - 1;
|
||||
UserInterface.SetMissionText("Reinforcements arrive in " .. Utils.FormatTime(ticks), TimerColor)
|
||||
if (ticks % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("reinforcements-arrive-in", { ["time"] = Utils.FormatTime(ticks) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
else
|
||||
if not AtEndGame then
|
||||
Media.PlaySpeechNotification(Allies, "SecondObjectiveMet")
|
||||
@@ -140,7 +144,7 @@ end
|
||||
AddObjectives = function()
|
||||
InitObjectives(Allies)
|
||||
|
||||
DiscoverObjective = Allies.AddObjective("Find the outpost.")
|
||||
DiscoverObjective = AddPrimaryObjective(Allies, "find-outpost")
|
||||
|
||||
Utils.Do(AlliedBase, function(actor)
|
||||
Trigger.OnEnteredProximityTrigger(actor.CenterPosition, WDist.FromCells(8), function(discoverer, id)
|
||||
|
||||
@@ -596,3 +596,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, rules.yaml, ra|rules/campaign-palettes.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -94,9 +94,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Spain)
|
||||
|
||||
EatSpain = BadGuy.AddObjective("For the Swarm!")
|
||||
GasNests = Spain.AddObjective("Gas every ant nest.")
|
||||
KillAll = Spain.AddObjective("Kill every ant lurking above ground.")
|
||||
EatSpain = AddPrimaryObjective(BadGuy, "")
|
||||
GasNests = AddPrimaryObjective(Spain, "gas-every-ant-nest")
|
||||
KillAll = AddPrimaryObjective(Spain, "kill-every-ant-above-ground")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
Start()
|
||||
|
||||
@@ -669,3 +669,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -188,7 +188,11 @@ Tick = function()
|
||||
end
|
||||
|
||||
if allies2.IsLocalPlayer and DateTime.GameTime <= ReinforcementsDelay then
|
||||
UserInterface.SetMissionText("Allied reinforcements arrive in " .. Utils.FormatTime(ReinforcementsDelay - DateTime.GameTime))
|
||||
if DateTime.GameTime % DateTime.Seconds(1) == 0 then
|
||||
local time = Utils.FormatTime(ReinforcementsDelay - DateTime.GameTime)
|
||||
local timer = UserInterface.Translate("allied-reinforcements-arrive-in", { ["time"] = time })
|
||||
UserInterface.SetMissionText(timer)
|
||||
end
|
||||
else
|
||||
UserInterface.SetMissionText("")
|
||||
end
|
||||
@@ -234,7 +238,7 @@ SetupTriggers = function()
|
||||
|
||||
Trigger.OnAllKilledOrCaptured(Sams, function()
|
||||
allies1.MarkCompletedObjective(objDestroySamSites)
|
||||
objExtractEinstein = allies1.AddObjective("Wait for a helicopter at the LZ and extract Einstein.")
|
||||
objExtractEinstein = AddPrimaryObjective(allies1, "wait-for-helicopter-extract-einstein")
|
||||
Actor.Create("flare", true, { Owner = allies1, Location = ExtractionLZ.Location + CVec.New(1, -1) })
|
||||
Beacon.New(allies1, ExtractionLZ.CenterPosition)
|
||||
Media.PlaySpeechNotification(allies1, "SignalFlareNorth")
|
||||
@@ -263,7 +267,7 @@ SetupTriggers = function()
|
||||
ReassignActors(TownUnits, neutral, allies1)
|
||||
Utils.Do(TownUnits, function(a) a.Stance = "Defend" end)
|
||||
allies1.MarkCompletedObjective(objFindEinstein)
|
||||
objEinsteinSurvival = allies1.AddObjective("Keep Einstein alive at all costs.")
|
||||
objEinsteinSurvival = AddPrimaryObjective(allies1, "keep-einstein-alive-at-all-costs")
|
||||
Trigger.OnKilled(Einstein, function()
|
||||
allies1.MarkFailedObjective(objEinsteinSurvival)
|
||||
end)
|
||||
@@ -292,7 +296,7 @@ SpawnTanya = function()
|
||||
|
||||
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")
|
||||
Media.DisplayMessage(UserInterface.Translate("tanya-rules-of-engagement"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
end
|
||||
@@ -339,13 +343,14 @@ WorldLoaded = function()
|
||||
ReassignActors(Map.ActorsInWorld, allies, allies2)
|
||||
SpawnTanya()
|
||||
|
||||
objTanyaMustSurvive = allies1.AddObjective("Tanya must survive.")
|
||||
objFindEinstein = allies1.AddObjective("Find Einstein's crashed helicopter.")
|
||||
objDestroySamSites = allies1.AddObjective("Destroy the SAM sites.")
|
||||
objTanyaMustSurvive = AddPrimaryObjective(allies1, "tanya-survive")
|
||||
objFindEinstein = AddPrimaryObjective(allies1, "find-einstein-crashed-helicopter")
|
||||
objDestroySamSites = AddPrimaryObjective(allies1, "destroy-sam-sites")
|
||||
|
||||
objHoldPosition = allies2.AddObjective("Hold your position and protect the base.")
|
||||
objLimitLosses = allies2.AddObjective("Do not lose more than " .. DeathThreshold[Difficulty] .. " units.", "Secondary", false)
|
||||
objCutSovietPower = allies2.AddObjective("Take out the Soviet power grid.", "Secondary", false)
|
||||
objHoldPosition = AddPrimaryObjective(allies2, "hold-position-protect-base")
|
||||
local dontLoseMoreThan = UserInterface.Translate("keep-civilians-alive", { ["units"] = DeathThreshold[Difficulty] })
|
||||
objLimitLosses = AddSecondaryObjective(allies2, dontLoseMoreThan)
|
||||
objCutSovietPower = AddSecondaryObjective(allies2, "take-out-the-soviet-power-grid")
|
||||
|
||||
SetupTriggers()
|
||||
SetupSoviets()
|
||||
|
||||
@@ -1756,3 +1756,5 @@ Actors:
|
||||
ScriptTags: TownAttacker
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, ra|rules/coop-missions-rules.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -229,6 +229,12 @@ ManageSovietAircraft = function()
|
||||
end
|
||||
end
|
||||
|
||||
SetEvacuateMissionText = function()
|
||||
local attributes = { ["evacuated"] = UnitsEvacuated, ["threshold"] = unitsEvacuatedThreshold }
|
||||
local unitsEvacuated = UserInterface.Translate("units-evacuated", attributes)
|
||||
UserInterface.SetMissionText(unitsEvacuated, TextColor)
|
||||
end
|
||||
|
||||
UnitsEvacuated = 0
|
||||
EvacuateAlliedUnit = function(unit)
|
||||
if (unit.Owner == allies1 or unit.Owner == allies2) and unit.HasProperty("Move") then
|
||||
@@ -258,7 +264,7 @@ EvacuateAlliedUnit = function(unit)
|
||||
a.Destroy()
|
||||
end)
|
||||
|
||||
UserInterface.SetMissionText(UnitsEvacuated .. "/" .. unitsEvacuatedThreshold .. " units evacuated.", TextColor)
|
||||
SetEvacuateMissionText()
|
||||
|
||||
if UnitsEvacuated >= unitsEvacuatedThreshold then
|
||||
Utils.Do(humans, function(player)
|
||||
@@ -301,12 +307,12 @@ WorldLoaded = function()
|
||||
end)
|
||||
|
||||
unitsEvacuatedThreshold = UnitsEvacuatedThreshold[Difficulty]
|
||||
UserInterface.SetMissionText(UnitsEvacuated .. "/" .. unitsEvacuatedThreshold .. " units evacuated.", TextColor)
|
||||
SetEvacuateMissionText()
|
||||
Utils.Do(humans, function(player)
|
||||
if player then
|
||||
evacuateUnits = player.AddObjective("Evacuate " .. unitsEvacuatedThreshold .. " units.")
|
||||
destroyAirbases = player.AddObjective("Destroy the nearby Soviet airbases.", "Secondary", false)
|
||||
evacuateMgg = player.AddObjective("Evacuate at least one mobile gap generator.", "Secondary", false)
|
||||
evacuateUnits = AddPrimaryObjective(player, UserInterface.Translate("evacuate-units", { ["threshold"] = unitsEvacuatedThreshold }))
|
||||
destroyAirbases = AddSecondaryObjective(player, "destroy-nearby-soviet-airbases")
|
||||
evacuateMgg = AddSecondaryObjective(player, "evacuate-at-least-one-gap-generator")
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -318,7 +324,7 @@ WorldLoaded = function()
|
||||
end)
|
||||
end)
|
||||
|
||||
sovietObjective = soviets.AddObjective("Eradicate all allied troops.")
|
||||
sovietObjective = AddPrimaryObjective(soviets, "")
|
||||
|
||||
if not allies2 or allies1.IsLocalPlayer then
|
||||
Camera.Position = Allies1EntryPoint.CenterPosition
|
||||
@@ -328,7 +334,7 @@ WorldLoaded = function()
|
||||
|
||||
if not allies2 then
|
||||
allies1.Cash = 10000
|
||||
Media.DisplayMessage("Transferring funds.", "Co-Commander is missing")
|
||||
Media.DisplayMessage(UserInterface.Translate("transferring-funds"), UserInterface.Translate("co-commander-missing"))
|
||||
end
|
||||
|
||||
SpawnAlliedUnit(MobileConstructionVehicle)
|
||||
|
||||
@@ -1383,3 +1383,5 @@ Actors:
|
||||
Location: 130,45
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, ra|rules/coop-missions-rules.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -1308,3 +1308,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -79,7 +79,7 @@ MissionStart = function()
|
||||
end)
|
||||
end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(6), function()
|
||||
Media.DisplayMessage("Commander, there are several civilians in the area.\nWe'll need you to call out targets.", "Tanya")
|
||||
Media.DisplayMessage(UserInterface.Translate("civilians-manual-targetting"), UserInterface.Translate("tanya"))
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -184,7 +184,7 @@ FootprintTriggers = function()
|
||||
foot5Triggered = true
|
||||
|
||||
Media.PlaySoundNotification(Allies, "AlertBleep")
|
||||
Media.DisplayMessage("Alfa Niner this is Lima One Six. Be advised, Soviet aircraft and armor moving into your AO.", "Headquarters")
|
||||
Media.DisplayMessage(UserInterface.Translate("soviet-aircraft-armor-moving-in"), UserInterface.Translate("headquarters"))
|
||||
Utils.Do(Trigger5Team, function(actor)
|
||||
if not actor.IsDead then
|
||||
actor.AttackMove(TacticalNuke1.Location)
|
||||
@@ -205,7 +205,7 @@ FootprintTriggers = function()
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(20), function()
|
||||
Media.PlaySoundNotification(Allies, "AlertBuzzer")
|
||||
Media.DisplayMessage("Extraction point is compromised. Evacuate the base!", "Headquarters")
|
||||
Media.DisplayMessage(UserInterface.Translate("extraction-point-compromised-evacuate-base"), UserInterface.Translate("headquarters"))
|
||||
local defenders = Reinforcements.Reinforce(England, TentTeam, { Tent.Location, TentMove.Location }, 0)
|
||||
Utils.Do(defenders, IdleHunt)
|
||||
if Difficulty == "hard" then
|
||||
@@ -230,7 +230,7 @@ FootprintTriggers = function()
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(50), function()
|
||||
Media.DisplayMessage("We've set up a new extraction point to the Northwest.", "Headquarters")
|
||||
Media.DisplayMessage(UserInterface.Translate("new-extraction-point-northwest"), UserInterface.Translate("headquarters"))
|
||||
end)
|
||||
end
|
||||
end)
|
||||
@@ -362,7 +362,7 @@ FootprintTriggers = function()
|
||||
foot12Triggered = true
|
||||
|
||||
Media.PlaySoundNotification(Allies, "AlertBleep")
|
||||
Media.DisplayMessage("Stalin will pay for what he has done today!\nI will bury him with my own hands!", "Stavros")
|
||||
Media.DisplayMessage(UserInterface.Translate("stalin-will-pay"), UserInterface.Translate("stavros"))
|
||||
end
|
||||
end)
|
||||
end
|
||||
@@ -492,9 +492,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Allies)
|
||||
|
||||
SovietObj = USSR.AddObjective("Kill Stavros.")
|
||||
ProtectVIPs = Allies.AddObjective("Keep Stavros and Tanya alive.")
|
||||
ExtractStavros = Allies.AddObjective("Get Stavros and Tanya to the extraction helicopter.")
|
||||
SovietObj = AddPrimaryObjective(USSR, "")
|
||||
ProtectVIPs = AddPrimaryObjective(Allies, "keep-stavros-tanya-alive")
|
||||
ExtractStavros = AddPrimaryObjective(Allies, "get-tanya-stavros-helicopter")
|
||||
|
||||
InsertionDrop = Actor.Create("insertiondrop", false, { Owner = Allies })
|
||||
InsertionDropHard = Actor.Create("insertiondrophard", false, { Owner = Allies })
|
||||
|
||||
@@ -177,6 +177,12 @@ VillageSetup = function()
|
||||
end)
|
||||
end
|
||||
|
||||
SetCivilianEvacuatedText = function()
|
||||
local attributes = { ["evacuated"] = CiviliansEvacuated, ["threshold"] = CiviliansEvacuatedThreshold }
|
||||
local civiliansEvacuated = UserInterface.Translate("civilians-evacuated", attributes)
|
||||
UserInterface.SetMissionText(civiliansEvacuated, TextColor)
|
||||
end
|
||||
|
||||
CiviliansEvacuatedThreshold =
|
||||
{
|
||||
hard = 20,
|
||||
@@ -194,7 +200,7 @@ CiviliansKilled = 0
|
||||
EvacuateCivilians = function()
|
||||
Trigger.OnInfiltrated(SafeHouse, function()
|
||||
CiviliansEvacuated = CiviliansEvacuated + 1
|
||||
UserInterface.SetMissionText(CiviliansEvacuated .. "/" .. CiviliansEvacuatedThreshold .. " civilians evacuated.", TextColor)
|
||||
SetCivilianEvacuatedText()
|
||||
end)
|
||||
|
||||
Trigger.OnKilled(SafeHouse, function()
|
||||
@@ -209,7 +215,7 @@ EvacuateCivilians = function()
|
||||
|
||||
Trigger.OnAllKilled(enemyBase, function()
|
||||
Media.PlaySoundNotification(Allies, "AlertBleep")
|
||||
Media.DisplayMessage("Alfa Niner this is Pegasus. We are on site and ready to assist with the evacuation.", "Chinook pilot")
|
||||
Media.DisplayMessage(UserInterface.Translate("chinook-assist-evacuation"), UserInterface.Translate("chinook-pilot"))
|
||||
Reinforcements.Reinforce(Allies, { "tran" }, { ChinookEntry.Location, ChinookLZ.Location })
|
||||
end)
|
||||
end
|
||||
@@ -236,20 +242,20 @@ WorldLoaded = function()
|
||||
InitObjectives(Allies)
|
||||
|
||||
if Difficulty == "easy" then
|
||||
RescueCivilians = Allies.AddObjective("Evacuate at least half of the civilians to the island\nshelter.")
|
||||
RescueCivilians = AddPrimaryObjective(Allies, "rescue-civlians-island-shelter-easy")
|
||||
elseif Difficulty == "normal" then
|
||||
RescueCivilians = Allies.AddObjective("Evacuate at least three quarters of the civilians to\nthe island shelter.")
|
||||
RescueCivilians = AddPrimaryObjective(Allies, "rescue-civlians-island-shelter-normal")
|
||||
else
|
||||
RescueCivilians = Allies.AddObjective("Evacuate all civilians to the island shelter.")
|
||||
RescueCivilians = AddPrimaryObjective(Allies, "rescue-civlians-island-shelter-hard")
|
||||
end
|
||||
|
||||
ClearWaterway = Allies.AddObjective("Clear the area of enemy submarine activity.", "Secondary", false)
|
||||
SovietObj = USSR.AddObjective("Defeat Allies.")
|
||||
ClearWaterway = AddSecondaryObjective(Allies, "clear-enemy-submarines")
|
||||
SovietObj = AddPrimaryObjective(USSR, "")
|
||||
|
||||
CiviliansEvacuatedThreshold = CiviliansEvacuatedThreshold[Difficulty]
|
||||
CiviliansKilledThreshold = CiviliansKilledThreshold[Difficulty]
|
||||
TextColor = Allies.Color
|
||||
UserInterface.SetMissionText(CiviliansEvacuated .. "/" .. CiviliansEvacuatedThreshold .. " civilians evacuated.", TextColor)
|
||||
SetCivilianEvacuatedText()
|
||||
StandardDrop = Actor.Create("paradrop", false, { Owner = USSR })
|
||||
FlamerDrop = Actor.Create("flamerdrop", false, { Owner = USSR })
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
|
||||
@@ -1044,3 +1044,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -167,7 +167,7 @@ SendWave = function()
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(1), SovietsRetreating)
|
||||
Media.DisplayMessage("You almost survived the onslaught! No more waves incoming.")
|
||||
Media.DisplayMessage(UserInterface.Translate("no-more-waves"))
|
||||
end
|
||||
end)
|
||||
end
|
||||
@@ -220,7 +220,7 @@ WorldLoaded = function()
|
||||
end
|
||||
end
|
||||
|
||||
Media.DisplayMessage("Defend Fort Lonestar at all costs!")
|
||||
Media.DisplayMessage(UserInterface.Translate("defend-fort-lonestar"))
|
||||
|
||||
SetupWallOwners()
|
||||
|
||||
|
||||
@@ -468,3 +468,5 @@ Weapons: weapons.yaml
|
||||
Sequences: sequences.yaml
|
||||
|
||||
Music: music.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -88,7 +88,7 @@ AlliedReinforcements = function()
|
||||
Trigger.OnAllKilled(houseSquad, function()
|
||||
if not AlliesHouse.IsDead then
|
||||
Media.PlaySoundNotification(Greece, "AlertBleep")
|
||||
Media.DisplayMessage("Friendlies coming out!", "Medic")
|
||||
Media.DisplayMessage(UserInterface.Translate("friendlies-coming-out"), UserInterface.Translate("medic"))
|
||||
Reinforcements.Reinforce(Greece, AlliedHouseSquad, { VillageSpawnAllies.Location, VillageRally.Location }, 0)
|
||||
end
|
||||
end)
|
||||
@@ -183,7 +183,7 @@ AlliedReinforcements = function()
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), function()
|
||||
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
|
||||
Media.DisplayMessage("Commander, we're detecting Soviet transports headed your way. Get those scientists back to the extraction point in the southeast!", "LANDCOM 16")
|
||||
Media.DisplayMessage(UserInterface.Translate("get-scientists-evacuation-point"), UserInterface.Translate("landcom-16-capitalized"))
|
||||
local northTeam = Reinforcements.ReinforceWithTransport(Greece, "lst.reinforcement", NorthWaterTeam, NorthWaterPath1, { NorthWaterPath1[1] })
|
||||
end)
|
||||
|
||||
@@ -323,7 +323,7 @@ LoseTriggers = function()
|
||||
Trigger.OnKilled(ForwardCommand, function()
|
||||
if not ScientistsFreed then
|
||||
Greece.MarkFailedObjective(RescueScientists)
|
||||
Media.DisplayMessage("The scientists were in the Command Center!", "LANDCOM 16")
|
||||
Media.DisplayMessage(UserInterface.Translate("scientists-killed-in-command-center"), UserInterface.Translate("landcom-16-capitalized"))
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -343,10 +343,13 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Chronosphere explodes in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("chronosphere-explodes-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 then
|
||||
UserInterface.SetMissionText("We're too late!", USSR.Color)
|
||||
UserInterface.SetMissionText(UserInterface.Translate("too-late"), USSR.Color)
|
||||
USSR.MarkCompletedObjective(SovietObj)
|
||||
end
|
||||
end
|
||||
@@ -358,8 +361,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
SovietObj = USSR.AddObjective("Defeat Allies.")
|
||||
RescueScientists = Greece.AddObjective("Rescue the scientists and escort them back to the\nextraction point.")
|
||||
SovietObj = AddPrimaryObjective(USSR, "")
|
||||
RescueScientists = AddPrimaryObjective(Greece, "rescue-scientists-extraction-point")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
Paradrop1 = Actor.Create("paradrop1", false, { Owner = USSR })
|
||||
|
||||
@@ -955,3 +955,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -81,8 +81,8 @@ reinforcementsHaveArrived = false
|
||||
LabInfiltrated = function()
|
||||
Utils.Do(humans, function(player)
|
||||
if player then
|
||||
secureLab = player.AddObjective("Secure the laboratory by eliminating its guards.")
|
||||
destroyBase = player.AddObjective("Destroy the remaining Soviet presence.")
|
||||
secureLab = AddPrimaryObjective(player, "secure-laboratory-guards")
|
||||
destroyBase = AddPrimaryObjective(player, "destroy-remaining-soviet-presence")
|
||||
player.MarkCompletedObjective(infiltrateLab)
|
||||
Trigger.ClearAll(Lab)
|
||||
Trigger.AfterDelay(0, function()
|
||||
@@ -172,7 +172,7 @@ end
|
||||
InsertSpies = function()
|
||||
Utils.Do(humans, function(player)
|
||||
if player then
|
||||
infiltrateLab = player.AddObjective("Get our spy into the laboratory undetected.")
|
||||
infiltrateLab = AddPrimaryObjective(player, "infiltrate-laboratory")
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -267,11 +267,14 @@ SecureLabTimer = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Secure lab in: " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("secure-lab-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked <= 0 then
|
||||
TimerColor = soviets.Color
|
||||
UserInterface.SetMissionText("The Soviet research laboratory was not secured in time.", TimerColor)
|
||||
UserInterface.SetMissionText(UserInterface.Translate("soviet-research-lab-not-secured-in-time"), TimerColor)
|
||||
SecureLabFailed()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1790,3 +1790,5 @@ Actors:
|
||||
Location: 43,50
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, ra|rules/coop-missions-rules.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -235,7 +235,11 @@ Tick = function()
|
||||
player.MarkFailedObjective(villageObjective)
|
||||
end
|
||||
|
||||
UserInterface.SetMissionText(VillagePercentage .. "% of the village destroyed.", CurrentColor)
|
||||
if CachedVillagePercentage ~= VillagePercentage then
|
||||
VillageDestroyed = UserInterface.Translate("percentage-village-destroyed", { ["percentage"] = VillagePercentage })
|
||||
UserInterface.SetMissionText(VillageDestroyed, CurrentColor)
|
||||
CachedVillagePercentage = VillagePercentage
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -245,9 +249,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
sovietObjective = soviets.AddObjective("Destroy the village.")
|
||||
villageObjective = player.AddObjective("Save the village.")
|
||||
beachheadObjective = player.AddObjective("Get your MCV to the main island.")
|
||||
sovietObjective = AddPrimaryObjective(soviets, "")
|
||||
villageObjective = AddPrimaryObjective(player, "save-village")
|
||||
beachheadObjective = AddPrimaryObjective(player, "mcv-main-island")
|
||||
|
||||
beachheadTrigger = false
|
||||
Trigger.OnExitedFootprint(BeachheadTrigger, function(a, id)
|
||||
@@ -256,7 +260,7 @@ WorldLoaded = function()
|
||||
Trigger.RemoveFootprintTrigger(id)
|
||||
player.MarkCompletedObjective(beachheadObjective)
|
||||
|
||||
captureObjective = player.AddObjective("Locate and capture the enemy's Air Force HQ.")
|
||||
captureObjective = AddPrimaryObjective(player, "capture-air-force-hq")
|
||||
|
||||
if AirForceHQ.IsDead then
|
||||
player.MarkFailedObjective(captureObjective)
|
||||
|
||||
@@ -2203,3 +2203,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -2098,3 +2098,5 @@ Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/c
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Voices: voices.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -67,9 +67,9 @@ SetupAlliedBase = function()
|
||||
AlliedBaseHarv.Owner = player
|
||||
AlliedBaseHarv.FindResources()
|
||||
|
||||
FindDemitri = player.AddObjective("Find Dr. Demitri. He is likely hiding in the village\n to the far south.")
|
||||
InfiltrateRadarDome = player.AddObjective("Reprogram the super tanks by sending a spy into\n the Soviet radar dome.")
|
||||
DefendOutpost = player.AddObjective("Defend and repair our outpost.", "Secondary", false)
|
||||
FindDemitri = AddPrimaryObjective(player, "find-demitri")
|
||||
InfiltrateRadarDome = AddPrimaryObjective(player, "reprogram-super-tanks")
|
||||
DefendOutpost = AddSecondaryObjective(player, "defend-outpost")
|
||||
player.MarkCompletedObjective(FindOutpost)
|
||||
|
||||
-- Don't fail the Objective instantly
|
||||
@@ -177,7 +177,7 @@ SuperTankDomeInfiltrated = function()
|
||||
Media.PlaySpeechNotification(player, "ControlCenterDeactivated")
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(4), function()
|
||||
Media.DisplayMessage("In 3 minutes the super tanks will self-destruct.")
|
||||
Media.DisplayMessage(UserInterface.Translate("super-tank-self-destruct-t-minus-3"))
|
||||
Media.PlaySpeechNotification(player, "WarningThreeMinutesRemaining")
|
||||
end)
|
||||
end)
|
||||
@@ -207,7 +207,7 @@ CreateDemitri = function()
|
||||
demitri.Move(DemitriTriggerAreaCenter.Location)
|
||||
|
||||
Media.PlaySpeechNotification(player, "TargetFreed")
|
||||
EvacuateDemitri = player.AddObjective("Evacuate Dr. Demitri with the helicopter waiting\n at our outpost.")
|
||||
EvacuateDemitri = AddPrimaryObjective(player, "evacuate-demitri")
|
||||
player.MarkCompletedObjective(FindDemitri)
|
||||
|
||||
local flarepos = CPos.New(DemitriLZ.Location.X, DemitriLZ.Location.Y - 1)
|
||||
@@ -249,7 +249,10 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("The super tanks self-destruct in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("super-tank-self-destruct-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 then
|
||||
FinishTimer()
|
||||
@@ -264,7 +267,7 @@ FinishTimer = function()
|
||||
c = HSLColor.White
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("The super tanks are destroyed!", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(UserInterface.Translate("super-tanks-destroyed"), c) end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -297,15 +300,15 @@ end
|
||||
AddObjectives = function()
|
||||
InitObjectives(player)
|
||||
|
||||
EliminateSuperTanks = player.AddObjective("Eliminate these super tanks.")
|
||||
StealMoney = player.AddObjective("Steal money from the nearby outpost with the Thief.")
|
||||
CrossRiver = player.AddObjective("Secure transport to the mainland.")
|
||||
FindOutpost = player.AddObjective("Find our outpost and start repairs on it.")
|
||||
RescueCivilians = player.AddObjective("Evacuate all civilians from the hospital.", "Secondary", false)
|
||||
BadGuyObj = badguy.AddObjective("Deny the destruction of the super tanks.")
|
||||
USSRObj = ussr.AddObjective("Deny the destruction of the super tanks.")
|
||||
UkraineObj = ukraine.AddObjective("Survive.")
|
||||
TurkeyObj = turkey.AddObjective("Destroy.")
|
||||
EliminateSuperTanks = AddPrimaryObjective(player, "eliminate-super-tanks")
|
||||
StealMoney = AddPrimaryObjective(player, "steal-money-outpost")
|
||||
CrossRiver = AddPrimaryObjective(player, "cross-river")
|
||||
FindOutpost = AddPrimaryObjective(player, "find-outpost")
|
||||
RescueCivilians = AddSecondaryObjective(player, "evacuate-civilian-hospital")
|
||||
BadGuyObj = AddPrimaryObjective(badguy, "")
|
||||
USSRObj = AddPrimaryObjective(ussr, "")
|
||||
UkraineObj = AddPrimaryObjective(ukraine, "")
|
||||
TurkeyObj = AddPrimaryObjective(turkey, "")
|
||||
|
||||
Trigger.OnPlayerLost(player, function()
|
||||
ussr.MarkCompletedObjective(USSRObj)
|
||||
@@ -315,7 +318,7 @@ AddObjectives = function()
|
||||
end)
|
||||
|
||||
Trigger.OnPlayerWon(player, function()
|
||||
Media.DisplayMessage("Dr. Demitri has been extracted and the super tanks have been dealt with.")
|
||||
Media.DisplayMessage(UserInterface.Translate("demitri-extracted-super-tanks-destroyed"))
|
||||
ussr.MarkFailedObjective(USSRObj)
|
||||
badguy.MarkFailedObjective(BadGuyObj)
|
||||
ukraine.MarkFailedObjective(UkraineObj)
|
||||
|
||||
@@ -648,3 +648,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -94,7 +94,7 @@ end
|
||||
PowerDown = false
|
||||
PowerDownTeslas = function()
|
||||
if not PowerDown then
|
||||
CaptureDome = Greece.AddObjective("Capture the enemy radar dome.", "Secondary", false)
|
||||
CaptureDome = AddSecondaryObjective(Greece, "capture-enemy-radar-dome")
|
||||
Greece.MarkCompletedObjective(PowerDownTeslaCoils)
|
||||
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
|
||||
PowerDown = true
|
||||
@@ -167,7 +167,7 @@ end
|
||||
MissileSubEscape = function()
|
||||
local missileSub = Actor.Create("msub", true, { Owner = USSR, Location = MissileSubSpawn.Location })
|
||||
Actor.Create("camera", true, { Owner = Greece, Location = SubPath2.Location })
|
||||
DestroySub = Greece.AddPrimaryObjective("Destroy the submarine before it escapes!.")
|
||||
DestroySub = AddPrimaryObjective(Greece, "destroy-escaping-submarine")
|
||||
|
||||
Utils.Do(SubEscapePath, function(waypoint)
|
||||
missileSub.Move(waypoint.Location)
|
||||
@@ -185,6 +185,7 @@ MissileSubEscape = function()
|
||||
end)
|
||||
end
|
||||
|
||||
SubmarineEscapes = UserInterface.Translate("submarine-escapes")
|
||||
FinishTimer = function()
|
||||
for i = 0, 5 do
|
||||
local c = TimerColor
|
||||
@@ -192,7 +193,7 @@ FinishTimer = function()
|
||||
c = HSLColor.White
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("The sub is heading for open sea!", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(SubmarineEscapes, c) end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -210,7 +211,10 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Submarine completes in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("submarine-completes-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 and not TimerFinished then
|
||||
MissileSubEscape()
|
||||
@@ -223,9 +227,9 @@ WorldLoaded = function()
|
||||
USSR = Player.GetPlayer("USSR")
|
||||
BadGuy = Player.GetPlayer("BadGuy")
|
||||
|
||||
EscapeWithSub = USSR.AddObjective("Get a missile sub to open waters.")
|
||||
StopProduction = Greece.AddObjective("Destroy the Soviet sub pen.")
|
||||
PowerDownTeslaCoils = Greece.AddObjective("Take down power to the tesla coils.")
|
||||
EscapeWithSub = AddPrimaryObjective(USSR, "")
|
||||
StopProduction = AddPrimaryObjective(Greece, "destroy-soviet-sub-pen")
|
||||
PowerDownTeslaCoils = AddPrimaryObjective(Greece, "power-down-tesla-coils")
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ MoveTruckEscapeRoute = function(truck, route)
|
||||
if truck.IsDead then
|
||||
return
|
||||
else
|
||||
Media.DisplayMessage("Convoy truck attempting to escape!")
|
||||
Media.DisplayMessage(UserInterface.Translate("convoy-truck-escaping"))
|
||||
Media.PlaySoundNotification(greece, "AlertBleep")
|
||||
Utils.Do(route, function(waypoint)
|
||||
truck.Move(waypoint.Location)
|
||||
@@ -139,10 +139,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(greece)
|
||||
|
||||
objDestroyAllTrucks = greece.AddObjective("Prevent Soviet convoy trucks from escaping.")
|
||||
objKillAll = greece.AddObjective("Clear the sector of all Soviet presence.")
|
||||
objRadarSpy = greece.AddObjective("Infiltrate the Soviet Radar Dome to reveal truck \necape routes.", "Secondary", false)
|
||||
ussrObj = ussr.AddObjective("Deny the Allies.")
|
||||
objDestroyAllTrucks = AddPrimaryObjective(greece, "prevent-soviet-trucks-escaping")
|
||||
objKillAll = AddPrimaryObjective(greece, "clear-sector-soviet-presence")
|
||||
objRadarSpy = AddSecondaryObjective(greece, "infiltrate-radar-reveal-escape-routes")
|
||||
ussrObj = ussr.AddObjective("")
|
||||
|
||||
ActivateAI()
|
||||
SetupTriggers()
|
||||
|
||||
@@ -1010,3 +1010,5 @@ Actors:
|
||||
Location: 24,58
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -73,7 +73,7 @@ ConsoleTriggers = function()
|
||||
if actor.Owner == greece then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
if not FlameTower1.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTower1.Kill()
|
||||
end
|
||||
end
|
||||
@@ -83,7 +83,7 @@ ConsoleTriggers = function()
|
||||
if actor.Owner == greece then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
if not FlameTower2.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTower2.Kill()
|
||||
end
|
||||
end
|
||||
@@ -93,7 +93,7 @@ ConsoleTriggers = function()
|
||||
if actor.Owner == greece then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
if not FlameTower3.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTower3.Kill()
|
||||
end
|
||||
end
|
||||
@@ -105,7 +105,7 @@ ConsoleTriggers = function()
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
gasActive = true
|
||||
|
||||
Media.DisplayMessage("Sarin Nerve Gas dispensers activated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("sarin-dispenser-activated"), UserInterface.Translate("console"))
|
||||
local KillCamera = Actor.Create("camera", true, { Owner = greece, Location = Sarin2.Location })
|
||||
local flare1 = Actor.Create("flare", true, { Owner = england, Location = Sarin1.Location })
|
||||
local flare2 = Actor.Create("flare", true, { Owner = england, Location = Sarin2.Location })
|
||||
@@ -133,7 +133,7 @@ ConsoleTriggers = function()
|
||||
if actor.Owner == greece then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
if not BadCoil.IsDead then
|
||||
Media.DisplayMessage("Tesla Coil deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("tesla-coil-deactivated"), UserInterface.Translate("console"))
|
||||
BadCoil.Kill()
|
||||
end
|
||||
end
|
||||
@@ -145,7 +145,7 @@ ConsoleTriggers = function()
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
teslaActive = true
|
||||
|
||||
Media.DisplayMessage("Initialising Tesla Coil defence", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("tesla-coil-activated"), UserInterface.Translate("console"))
|
||||
local tesla1 = Actor.Create("tsla", true, { Owner = turkey, Location = TurkeyCoil1.Location })
|
||||
local tesla2 = Actor.Create("tsla", true, { Owner = turkey, Location = TurkeyCoil2.Location })
|
||||
Trigger.AfterDelay(DateTime.Seconds(10), function()
|
||||
@@ -163,11 +163,11 @@ ConsoleTriggers = function()
|
||||
if actor.Owner == greece then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
if not FlameTowerTanya1.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTowerTanya1.Kill()
|
||||
end
|
||||
if not FlameTowerTanya2.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTowerTanya2.Kill()
|
||||
end
|
||||
end
|
||||
@@ -177,11 +177,11 @@ ConsoleTriggers = function()
|
||||
if actor.Owner == greece then
|
||||
Trigger.RemoveProximityTrigger(id)
|
||||
if not FlameTowerExit1.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTowerExit1.Kill()
|
||||
end
|
||||
if not FlameTowerExit3.IsDead then
|
||||
Media.DisplayMessage("Flame Turret deactivated", "Console")
|
||||
Media.DisplayMessage(UserInterface.Translate("flame-turret-deactivated"), UserInterface.Translate("console"))
|
||||
FlameTowerExit3.Kill()
|
||||
end
|
||||
end
|
||||
@@ -366,7 +366,7 @@ PrisonEscape = function()
|
||||
alarmed = true
|
||||
Trigger.RemoveFootprintTrigger(id)
|
||||
|
||||
Media.DisplayMessage("Warning, prisoners are attempting to escape!", "Intercom")
|
||||
Media.DisplayMessage(UserInterface.Translate("prisoners-escaping"), UserInterface.Translate("intercom"))
|
||||
Media.PlaySoundNotification(greece, "AlertBuzzer")
|
||||
Utils.Do(GuardDogs, IdleHunt)
|
||||
end)
|
||||
@@ -374,7 +374,7 @@ end
|
||||
|
||||
ScientistExecution = function()
|
||||
Media.PlaySoundNotification(greece, "AlertBleep")
|
||||
Media.DisplayMessage("The base is compromised. We have to hurry the execution!", "Soviet Officer")
|
||||
Media.DisplayMessage(UserInterface.Translate("hurry-base-compromised"), UserInterface.Translate("soviet-officer"))
|
||||
Utils.Do(DemoTeam, function(actor)
|
||||
actor.AttackMove(DemoDrive2.Location)
|
||||
end)
|
||||
@@ -387,13 +387,13 @@ ScientistExecution = function()
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(7), function()
|
||||
if not Officer2.IsDead then
|
||||
Media.DisplayMessage("Prepare to Fire!", "Soviet Officer")
|
||||
Media.DisplayMessage(UserInterface.Translate("prepare-to-fire"), UserInterface.Translate("soviet-officer"))
|
||||
end
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(15), function()
|
||||
if not Officer2.IsDead then
|
||||
Media.DisplayMessage("Fire!", "Soviet Officer")
|
||||
Media.DisplayMessage(UserInterface.Translate("fire"), UserInterface.Translate("soviet-officer"))
|
||||
end
|
||||
|
||||
Utils.Do(FiringSquad, function(actor)
|
||||
@@ -405,11 +405,11 @@ ScientistExecution = function()
|
||||
end
|
||||
|
||||
ScientistRescued = function()
|
||||
Media.DisplayMessage("Thanks for the rescue!", "Scientist")
|
||||
Media.DisplayMessage(UserInterface.Translate("thanks-for-rescue"), UserInterface.Translate("scientist"))
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), function()
|
||||
if not ScientistMan.IsDead and not DemoTruck.IsDead then
|
||||
Media.DisplayMessage("The Soviets have an unstable nuclear device stored here. \n I need to move it out of the facility!", "Scientist")
|
||||
Media.DisplayMessage(UserInterface.Translate("move-nuclear-outside"), UserInterface.Translate("scientist"))
|
||||
DemoTruck.GrantCondition("mission")
|
||||
ScientistMan.EnterTransport(DemoTruck)
|
||||
end
|
||||
@@ -423,7 +423,7 @@ DemoTruckExit = function()
|
||||
return
|
||||
end
|
||||
|
||||
Media.DisplayMessage("I hope the exit is clear!", "Scientist")
|
||||
Media.DisplayMessage(UserInterface.Translate("exit-clear-hopefully"), UserInterface.Translate("scientist"))
|
||||
Utils.Do(DemoTruckPath, function(waypoint)
|
||||
DemoTruck.Move(waypoint.Location)
|
||||
end)
|
||||
@@ -459,13 +459,13 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(greece)
|
||||
|
||||
ussrObj = ussr.AddObjective("Defeat the Allies.")
|
||||
ExitBase = greece.AddObjective("Reach the eastern exit of the facility.")
|
||||
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)
|
||||
ussrObj = ussr.AddObjective("")
|
||||
ExitBase = AddPrimaryObjective(greece, "reach-eastern-exit")
|
||||
FreeTanya = AddPrimaryObjective(greece, "free-tanya-keep-alive")
|
||||
KillVIPs = AddSecondaryObjective(greece, "kill-soviet-officers-scientists")
|
||||
StealTank = AddSecondaryObjective(greece, "steal-soviet-mammoth-tank")
|
||||
if Difficulty == "hard" then
|
||||
NoCasualties = greece.AddPrimaryObjective("Do not lose a single soldier or civilian\nunder your command.")
|
||||
NoCasualties = AddPrimaryObjective(greece, "no-casualties")
|
||||
end
|
||||
|
||||
StartSpy.DisguiseAsType("e1", ussr)
|
||||
|
||||
@@ -1366,3 +1366,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -72,8 +72,8 @@ MCVArrived = false
|
||||
MCVArrivedTick = false
|
||||
PowerDownTeslas = function()
|
||||
if not MCVArrived then
|
||||
CaptureSarin = Greece.AddObjective("Capture all Sarin processing plants intact.")
|
||||
KillBase = Greece.AddObjective("Destroy the enemy compound.")
|
||||
CaptureSarin = Greece.AddObjective("capture-sarin-plants-intact")
|
||||
KillBase = Greece.AddObjective("destroy-enemy-compound")
|
||||
Greece.MarkCompletedObjective(TakeOutPower)
|
||||
Media.PlaySpeechNotification(Greece, "ReinforcementsArrived")
|
||||
Reinforcements.Reinforce(Greece, MCVReinforcements[Difficulty], { AlliesSpawn.Location, AlliesMove.Location })
|
||||
@@ -121,8 +121,8 @@ WorldLoaded = function()
|
||||
USSR = Player.GetPlayer("USSR")
|
||||
BadGuy = Player.GetPlayer("BadGuy")
|
||||
|
||||
SovietObj = USSR.AddObjective("Defeat the Allies.")
|
||||
TakeOutPower = Greece.AddObjective("Bring down the power of the base to the east.")
|
||||
SovietObj = AddPrimaryObjective(USSR, "")
|
||||
TakeOutPower = AddPrimaryObjective(Greece, "cut-power-east")
|
||||
|
||||
InitObjectives(Greece)
|
||||
|
||||
|
||||
@@ -1242,3 +1242,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -996,3 +996,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -309,9 +309,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
BeatRussia = Greece.AddObjective("Stop Ivan.")
|
||||
KillAll = USSR.AddObjective("Destroy all that oppose us.")
|
||||
CaptureDome = USSR.AddObjective("Capture the enemy radar dome.", "Secondary", false)
|
||||
BeatRussia = AddPrimaryObjective(Greece, "")
|
||||
KillAll = AddPrimaryObjective(USSR, "destroy-opposition")
|
||||
CaptureDome = AddSecondaryObjective(USSR, "capture-enemy-radar-dome")
|
||||
|
||||
Camera.Position = LZ.CenterPosition
|
||||
ShockDrop = Actor.Create("shockdrop", false, { Owner = USSR })
|
||||
|
||||
@@ -204,6 +204,7 @@ BridgeTriggers = function()
|
||||
end)
|
||||
end
|
||||
|
||||
FirstTrucksEntering = UserInterface.Translate("first-trucks-entering")
|
||||
FinishTimer = function()
|
||||
for i = 0, 5 do
|
||||
local c = TimerColor
|
||||
@@ -211,7 +212,7 @@ FinishTimer = function()
|
||||
c = HSLColor.White
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("The first trucks are entering your AO.", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(FirstTrucksEntering, c) end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -220,7 +221,10 @@ ticked = TimerTicks
|
||||
ConvoysSent = false
|
||||
Tick = function()
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("First trucks arrive in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("first-trucks-arrive-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 and not ConvoysSent then
|
||||
SendConvoys()
|
||||
@@ -236,9 +240,9 @@ WorldLoaded = function()
|
||||
Allies = Player.GetPlayer("Allies")
|
||||
USSR = Player.GetPlayer("USSR")
|
||||
|
||||
SovietObj = USSR.AddObjective("Defeat the Allies.")
|
||||
StopTrucks = Allies.AddObjective("Destroy all Soviet convoy trucks.")
|
||||
DestroyBridges = Allies.AddObjective("Destroy the nearby bridges to slow the\nconvoys down.", "Secondary", false)
|
||||
SovietObj = AddPrimaryObjective(USSR, "")
|
||||
StopTrucks = AddPrimaryObjective(Allies, "destroy-soviet-convoy")
|
||||
DestroyBridges = AddSecondaryObjective(Allies, "destroy-bridges-slow-convoy")
|
||||
|
||||
InitObjectives(Allies)
|
||||
|
||||
|
||||
@@ -670,3 +670,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -1016,3 +1016,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -56,8 +56,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(Allies)
|
||||
|
||||
SovietObj = USSR.AddObjective("Stop the Allies")
|
||||
DestroyAll = Allies.AddObjective("Destroy all Soviet units and structures.")
|
||||
SovietObj = AddPrimaryObjective(USSR, "")
|
||||
DestroyAll = AddPrimaryObjective(Allies, "destroy-soviet-units-infrastructure")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
PowerProxy = Actor.Create("paratroopers", false, { Owner = BadGuy })
|
||||
|
||||
@@ -565,3 +565,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -90,7 +90,7 @@ SetupTriggers = function()
|
||||
end)
|
||||
|
||||
Trigger.OnInfiltrated(BioLab, function()
|
||||
Media.DisplayMessage("Plans stolen; erasing all data.", "Scientist")
|
||||
Media.DisplayMessage("plans-stolen-erase-data", "scientist")
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), function()
|
||||
USSR.MarkCompletedObjective(InfiltrateLab)
|
||||
LabInfiltrated = true
|
||||
@@ -137,7 +137,7 @@ SendInVolkov = function()
|
||||
USSR.MarkFailedObjective(VolkovSurvive)
|
||||
end)
|
||||
Trigger.OnAddedToWorld(teamVolkov[1], function(a)
|
||||
Media.DisplayMessage("IFF software update failed. Require manual target input.", "Volkov")
|
||||
Media.DisplayMessage(UserInterface.Translate("software-update-failed-manual-targets"), UserInterface.Translate("volkov"))
|
||||
end)
|
||||
|
||||
Trigger.OnAddedToWorld(teamVolkov[2], function(b)
|
||||
@@ -157,10 +157,13 @@ Tick = function()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Missiles launch in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("missiles-launch-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 then
|
||||
UserInterface.SetMissionText("We're too late!", USSR.Color)
|
||||
UserInterface.SetMissionText(UserInterface.Translate("too-late"), USSR.Color)
|
||||
Turkey.MarkCompletedObjective(LaunchMissles)
|
||||
end
|
||||
end
|
||||
@@ -171,12 +174,12 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
LaunchMissles = Turkey.AddObjective("Survive until time expires.")
|
||||
KillPower = USSR.AddObjective("Bring the base to low power. Volkov will arrive\nonce the defenses are down.")
|
||||
InfiltrateLab = USSR.AddObjective("Infiltrate the bio-weapons lab with the scientist.")
|
||||
DestroyFacility = USSR.AddObjective("Destroy the bio-weapons lab and missile silos.")
|
||||
KillSams = USSR.AddObjective("Destroy all sam sites on the island.\nOur strategic bombers will finish the rest.", "Secondary", false)
|
||||
VolkovSurvive = USSR.AddObjective("Volkov must survive.")
|
||||
LaunchMissles = AddPrimaryObjective(Turkey, "")
|
||||
KillPower = AddPrimaryObjective(USSR, "kill-power")
|
||||
InfiltrateLab = AddPrimaryObjective(USSR, "infiltrate-bio-weapons-lab-scientist")
|
||||
DestroyFacility = AddPrimaryObjective(USSR, "destroy-bio-weapons-lab-missile-silos")
|
||||
KillSams = AddSecondaryObjective(USSR, "destroy-all-sam-sites-strategic-bombers")
|
||||
VolkovSurvive = AddPrimaryObjective(USSR, "volkov-survive")
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), function()
|
||||
Media.PlaySpeechNotification(USSR, "WarningFiveMinutesRemaining")
|
||||
|
||||
@@ -588,3 +588,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -74,7 +74,7 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
VillageRaidObjective = player.AddObjective("Raze the village.")
|
||||
VillageRaidObjective = AddPrimaryObjective(player, "raze-village")
|
||||
|
||||
Trigger.OnAllRemovedFromWorld(Airfields, function()
|
||||
player.MarkFailedObjective(VillageRaidObjective)
|
||||
|
||||
@@ -512,3 +512,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -52,8 +52,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
CommandCenterIntact = player.AddObjective("Protect the Command Center.")
|
||||
DestroyAllAllied = player.AddObjective("Destroy all Allied units and structures.")
|
||||
CommandCenterIntact = AddPrimaryObjective(player, "protect-command-center")
|
||||
DestroyAllAllied = AddPrimaryObjective(player, "destroy-allied-units-structures")
|
||||
|
||||
Camera.Position = CameraWaypoint.CenterPosition
|
||||
|
||||
|
||||
@@ -491,3 +491,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -180,9 +180,9 @@ WorldLoaded = function()
|
||||
end)
|
||||
|
||||
InitObjectives(player)
|
||||
alliedObjective = enemy.AddObjective("Destroy all Soviet troops.")
|
||||
sovietObjective1 = player.AddObjective("Protect the Command Center.")
|
||||
sovietObjective2 = player.AddObjective("Destroy all Allied units and structures.")
|
||||
alliedObjective = AddPrimaryObjective(enemy, "")
|
||||
sovietObjective1 = AddPrimaryObjective(player, "protect-command-center")
|
||||
sovietObjective2 = AddPrimaryObjective(player, "destroy-allied-units-structures")
|
||||
|
||||
enemy.Resources = 2000
|
||||
Trigger.AfterDelay(DateTime.Seconds(30), ProduceInfantry)
|
||||
|
||||
@@ -1053,3 +1053,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Notifications: notifications.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -340,10 +340,10 @@ WorldLoaded = function()
|
||||
IntroSequence()
|
||||
|
||||
InitObjectives(player)
|
||||
alliedObjective = enemy.AddObjective("Destroy all Soviet troops.")
|
||||
sovietObjective1 = player.AddObjective("Kill the enemy spy.")
|
||||
sovietObjective2 = player.AddObjective("Clear the nearby farm for reinforcements.", "Secondary", false)
|
||||
sovietObjective3 = player.AddObjective("Scavenge the civilian buildings for supplies.", "Secondary", false)
|
||||
alliedObjective = AddPrimaryObjective(enemy, "")
|
||||
sovietObjective1 = AddPrimaryObjective(player, "kill-enemy-spy")
|
||||
sovietObjective2 = AddSecondaryObjective(player, "clear-farm-reinforcements")
|
||||
sovietObjective3 = AddSecondaryObjective(player, "scavenge-civilian-buildings")
|
||||
end
|
||||
|
||||
Trigger.OnKilled(TheSpy, function()
|
||||
@@ -371,7 +371,10 @@ Tick = function()
|
||||
Media.PlaySpeechNotification(player, "WarningOneMinuteRemaining")
|
||||
end
|
||||
if remainingTime > 0 and timerstarted then
|
||||
UserInterface.SetMissionText("Time Remaining: " .. Utils.FormatTime(remainingTime), player.Color)
|
||||
if (remainingTime % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("time-remaining", { ["time"] = Utils.FormatTime(remainingTime) })
|
||||
UserInterface.SetMissionText(Timer, player.Color)
|
||||
end
|
||||
remainingTime = remainingTime - 1
|
||||
elseif remainingTime == 0 and not spyReachedHideout4 then
|
||||
UserInterface.SetMissionText("")
|
||||
|
||||
@@ -599,3 +599,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -134,9 +134,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
KillAll = player.AddObjective("Defeat the Allied forces.")
|
||||
BeatUSSR = Greece.AddObjective("Defeat the Soviet forces.")
|
||||
KillRadar = player.AddObjective("Destroy Allied Radar Dome to stop enemy\nreinforcements.", "Secondary", false)
|
||||
KillAll = AddPrimaryObjective(player, "defeat-allied-forces")
|
||||
BeatUSSR = AddPrimaryObjective(Greece, "")
|
||||
KillRadar = AddSecondaryObjective(player, "destroy-radar-dome-reinforcements")
|
||||
|
||||
Trigger.OnKilled(RadarDome, function()
|
||||
player.MarkCompletedObjective(KillRadar)
|
||||
|
||||
@@ -648,3 +648,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -119,9 +119,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
KillAll = player.AddObjective("Defeat the Allied forces.")
|
||||
BeatUSSR = Greece.AddObjective("Defeat the Soviet forces.")
|
||||
KillRadar = player.AddObjective("Destroy Allied Radar Dome to stop enemy\nreinforcements.", "Secondary", false)
|
||||
KillAll = AddPrimaryObjective(player, "defeat-allied-forces")
|
||||
BeatUSSR = AddPrimaryObjective(Greece, "")
|
||||
KillRadar = AddSecondaryObjective(player, "destroy-radar-dome-reinforcements")
|
||||
|
||||
Trigger.OnKilled(RadarDome, function()
|
||||
player.MarkCompletedObjective(KillRadar)
|
||||
|
||||
@@ -587,3 +587,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -82,7 +82,7 @@ Expand = function()
|
||||
ExpansionCheck = true
|
||||
Trigger.ClearAll(mcvGG)
|
||||
Trigger.ClearAll(mcvtransport)
|
||||
Media.DisplayMessage("Allied MCV detected moving to the island.")
|
||||
Media.DisplayMessage(UserInterface.Translate("allied-mcv-island"))
|
||||
|
||||
Reinforcements.Reinforce(GoodGuy, { "dd", "dd" }, ShipArrivePath, 0, function(ddsquad)
|
||||
ddsquad.AttackMove(NearExpPoint.Location) end)
|
||||
@@ -188,9 +188,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
CaptureObjective = player.AddObjective("Capture the Radar Dome.")
|
||||
KillAll = player.AddObjective("Defeat the Allied forces.")
|
||||
BeatUSSR = GoodGuy.AddObjective("Defeat the Soviet forces.")
|
||||
CaptureObjective = AddPrimaryObjective(player, "capture-radar-dome")
|
||||
KillAll = AddPrimaryObjective(player, "defeat-allied-forces")
|
||||
BeatUSSR = AddPrimaryObjective(Greece, "")
|
||||
|
||||
RunInitialActivities()
|
||||
|
||||
@@ -214,15 +214,15 @@ WorldLoaded = function()
|
||||
return
|
||||
end
|
||||
|
||||
HoldObjective = player.AddObjective("Defend the Radar Dome.")
|
||||
HoldObjective = AddPrimaryObjective(player, "defend-radar-dome")
|
||||
player.MarkCompletedObjective(CaptureObjective)
|
||||
Beacon.New(player, MCVDeploy.CenterPosition)
|
||||
if Difficulty == "easy" then
|
||||
Actor.Create("camera", true, { Owner = player, Location = MCVDeploy.Location })
|
||||
Media.DisplayMessage("Movement of an Allied expansion base discovered.")
|
||||
Media.DisplayMessage(UserInterface.Translate("allied-expansion-movement-detected"))
|
||||
else
|
||||
Actor.Create("MCV.CAM", true, { Owner = player, Location = MCVDeploy.Location })
|
||||
Media.DisplayMessage("Coordinates of an Allied expansion base discovered.")
|
||||
Media.DisplayMessage(UserInterface.Translate("coordinates-allied-expansion-discovered"))
|
||||
end
|
||||
|
||||
if not ExpansionCheck then
|
||||
|
||||
@@ -827,3 +827,5 @@ Actors:
|
||||
Owner: Greece
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -137,10 +137,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(player)
|
||||
|
||||
alliedObjective = enemy.AddObjective("Destroy all Soviet troops.")
|
||||
sovietObjective = player.AddObjective("Escort the Convoy.")
|
||||
sovietObjective2 = player.AddObjective("Destroy or capture the Allied radar dome to stop\nenemy reinforcements.", "Secondary", false)
|
||||
SaveAllTrucks = player.AddObjective("Keep all trucks alive.", "Secondary", false)
|
||||
alliedObjective = AddPrimaryObjective(enemy, "")
|
||||
sovietObjective = AddPrimaryObjective(player, "escort-convoy")
|
||||
sovietObjective2 = AddSecondaryObjective(player, "destroy-capture-radar-dome-reinforcements")
|
||||
SaveAllTrucks = AddSecondaryObjective(player, "Keep all trucks alive.")
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
|
||||
@@ -504,3 +504,5 @@ Actors:
|
||||
Owner: Greece
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -101,10 +101,10 @@ WorldLoaded = function()
|
||||
end)
|
||||
|
||||
InitObjectives(player)
|
||||
alliedObjective = enemy.AddObjective("Destroy all Soviet troops.")
|
||||
sovietObjective = player.AddObjective("Escort the Convoy.")
|
||||
sovietObjective2 = player.AddObjective("Destroy or capture the Allied radar dome to stop\nenemy reinforcements.", "Secondary", false)
|
||||
SaveAllTrucks = player.AddObjective("Keep all trucks alive.", "Secondary", false)
|
||||
alliedObjective = AddPrimaryObjective(enemy, "")
|
||||
sovietObjective = AddPrimaryObjective(player, "escort-convoy")
|
||||
sovietObjective2 = AddSecondaryObjective(player, "destroy-capture-radar-dome-reinforcements")
|
||||
SaveAllTrucks = AddSecondaryObjective(player, "Keep all trucks alive.")
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
|
||||
@@ -794,3 +794,5 @@ Actors:
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -278,13 +278,13 @@ WorldLoaded = function()
|
||||
IntroSequence()
|
||||
|
||||
InitObjectives(player)
|
||||
alliedObjective = enemy.AddObjective("Destroy all Soviet troops.")
|
||||
sovietObjective1 = player.AddObjective("Deactivate the security system.")
|
||||
sovietObjective2 = player.AddObjective("Rescue the engineers.")
|
||||
sovietObjective3 = player.AddObjective("Get the engineers to the coolant stations.")
|
||||
sovietObjective4 = player.AddObjective("Use an Engineer to reprogram the security system.")
|
||||
sovietObjective5 = player.AddObjective("Get an Engineer to the reactor core.")
|
||||
sovietObjective6 = player.AddObjective("Free the dogs.", "Secondary", false)
|
||||
alliedObjective = AddPrimaryObjective(enemy, "")
|
||||
sovietObjective1 = AddPrimaryObjective(player, "deactivate-security-system")
|
||||
sovietObjective2 = AddPrimaryObjective(player, "rescue-engineers")
|
||||
sovietObjective3 = AddPrimaryObjective(player, "engineers-coolant-station")
|
||||
sovietObjective4 = AddPrimaryObjective(player, "engineer-reprogram-security")
|
||||
sovietObjective5 = AddPrimaryObjective(player, "engineer-reactor-core")
|
||||
sovietObjective6 = AddSecondaryObjective(player, "free-dogs")
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
@@ -309,7 +309,10 @@ Tick = function()
|
||||
end
|
||||
|
||||
if remainingTime > 0 and timerStarted then
|
||||
UserInterface.SetMissionText("Time until Meltdown: " .. Utils.FormatTime(remainingTime), player.Color)
|
||||
if (remainingTime % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("time-until-meltdown", { ["time"] = Utils.FormatTime(remainingTime) })
|
||||
UserInterface.SetMissionText(Timer, player.Color)
|
||||
end
|
||||
remainingTime = remainingTime - 1
|
||||
elseif remainingTime == 0 then
|
||||
UserInterface.SetMissionText("")
|
||||
|
||||
@@ -1068,3 +1068,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -121,9 +121,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
KillAll = USSR.AddObjective("Destroy all Allied units and structures.")
|
||||
DestroyVillageObjective = USSR.AddObjective("Destroy the village of Allied sympathizers.", "Secondary", false)
|
||||
BeatUSSR = Greece.AddObjective("Defeat the Soviet forces.")
|
||||
KillAll = AddPrimaryObjective(USSR, "destroy-allied-units-structures")
|
||||
DestroyVillageObjective = AddSecondaryObjective(USSR, "destroy-allied-sympathizers-village")
|
||||
BeatUSSR = AddPrimaryObjective(Greece, "")
|
||||
|
||||
AddEastReinforcementTrigger()
|
||||
AddSouthReinforcementTrigger()
|
||||
|
||||
@@ -890,3 +890,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -121,9 +121,9 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
KillAll = USSR.AddObjective("Destroy all Allied units and structures.")
|
||||
DestroyVillageObjective = USSR.AddObjective("Destroy the village of Allied sympathizers.", "Secondary", false)
|
||||
BeatUSSR = Greece.AddObjective("Defeat the Soviet forces.")
|
||||
KillAll = AddPrimaryObjective(USSR, "destroy-allied-units-structures")
|
||||
DestroyVillageObjective = AddSecondaryObjective(USSR, "destroy-allied-sympathizers-village")
|
||||
BeatUSSR = AddPrimaryObjective(Greece, "")
|
||||
|
||||
FirstReinforcementTrigger()
|
||||
SecondReinforcementTrigger()
|
||||
|
||||
@@ -1496,3 +1496,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -24,7 +24,7 @@ MissionStart = function()
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(45), function()
|
||||
Media.DisplayMessage("Commander, the truck has stopped at a nearby allied base.\nAllied radio intercepts say the truck has orders to flee the battlefield\nif any Soviet units approach the base.")
|
||||
Media.DisplayMessage(UserInterface.Translate("trucks-stopped-near-allied-base"))
|
||||
end)
|
||||
|
||||
Trigger.OnKilled(StolenTruck, function()
|
||||
@@ -40,7 +40,7 @@ end
|
||||
Trigger.OnEnteredProximityTrigger(TruckAlarm.CenterPosition, WDist.FromCells(11), function(actor, triggerflee)
|
||||
if actor.Owner == USSR and actor.Type ~= "badr" and actor.Type ~= "u2" and actor.Type ~= "camera.spyplane" then
|
||||
Trigger.RemoveProximityTrigger(triggerflee)
|
||||
Media.DisplayMessage("The convoy truck is attempting to escape!")
|
||||
Media.DisplayMessage(UserInterface.Translate("convoy-truck-escaping"))
|
||||
EscapeCamera = Actor.Create("camera", true, { Owner = USSR, Location = TruckAlarm.Location })
|
||||
Media.PlaySoundNotification(USSR, "AlertBleep")
|
||||
Utils.Do(TruckEscape, function(waypoint)
|
||||
@@ -79,8 +79,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
DestroyTruck = USSR.AddObjective("Destroy the stolen convoy truck.\nDo not let it escape.")
|
||||
DefendCommand = USSR.AddObjective("Defend our forward command center.")
|
||||
DestroyTruck = AddPrimaryObjective(USSR, "destroy-stolen-convoy-truck")
|
||||
DefendCommand = AddPrimaryObjective(USSR, "defend-forward-command-center")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
|
||||
|
||||
@@ -1132,3 +1132,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -237,7 +237,7 @@ end
|
||||
RunForIt = function()
|
||||
Running = true
|
||||
Media.PlaySoundNotification(USSR, "AlertBleep")
|
||||
Media.DisplayMessage("RUN FOR IT!", "Convoy commander")
|
||||
Media.DisplayMessage(UserInterface.Translate("run-for-it"), UserInterface.Translate("convoy-commander"))
|
||||
Utils.Do(Trucks, function(truck)
|
||||
if not truck.IsDead then
|
||||
truck.Stop()
|
||||
@@ -274,6 +274,7 @@ StartTimerFunction = function()
|
||||
end)
|
||||
end
|
||||
|
||||
WeAreSurrounded = UserInterface.Translate("we-are-surrounded")
|
||||
FinishTimer = function()
|
||||
for i = 0, 5, 1 do
|
||||
local c = TimerColor
|
||||
@@ -281,7 +282,7 @@ FinishTimer = function()
|
||||
c = HSLColor.White
|
||||
end
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("We're surrounded!", c) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText(WeAreSurrounded, c) end)
|
||||
end
|
||||
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
|
||||
end
|
||||
@@ -289,7 +290,10 @@ end
|
||||
Tick = function()
|
||||
if StartTimer then
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Corridor closes in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
if (ticked % DateTime.Seconds(1)) == 0 then
|
||||
Timer = UserInterface.Translate("corridor-closes-in", { ["time"] = Utils.FormatTime(ticked) })
|
||||
UserInterface.SetMissionText(Timer, TimerColor)
|
||||
end
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 then
|
||||
FinishTimer()
|
||||
@@ -310,10 +314,10 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
EscortTrucks = USSR.AddObjective("Escort the convoy through the mountain pass.")
|
||||
ProtectEveryTruck = USSR.AddObjective("Do not lose a single truck.", "Secondary", false)
|
||||
SaveMigs = USSR.AddObjective("Do not squander any of our new MiG aircraft.", "Secondary", false)
|
||||
BeatUSSR = Greece.AddObjective("Defeat the Soviet forces.")
|
||||
EscortTrucks = AddPrimaryObjective(USSR, "escort-convoy-mountain-pass")
|
||||
ProtectEveryTruck = AddSecondaryObjective(USSR, "protect-every-truck")
|
||||
SaveMigs = AddSecondaryObjective(USSR, "save-migs")
|
||||
BeatUSSR = AddPrimaryObjective(Greece, "")
|
||||
|
||||
ConvoyEscort = ConvoyEscort[Difficulty]
|
||||
StartTimerDelay = StartTimerDelay[Difficulty]
|
||||
|
||||
@@ -910,3 +910,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
@@ -34,8 +34,8 @@ WorldLoaded = function()
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
DestroyNavalBase = USSR.AddPrimaryObjective("Destroy all Allied units and structures.")
|
||||
BeatSoviets = Greece.AddPrimaryObjective("Destroy all Soviet troops.")
|
||||
DestroyNavalBase = AddPrimaryObjective(USSR, "destroy-allied-units-structures")
|
||||
BeatSoviets = AddPrimaryObjective(Greece, "")
|
||||
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
InitialSovietReinforcements()
|
||||
|
||||
@@ -838,3 +838,5 @@ Actors:
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Translations: ra|languages/lua/en.ftl
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user