Add Counterstrike mission Siberian Conflict 1: Fresh Tracks

This commit is contained in:
Smittytron
2020-06-05 15:54:16 -05:00
committed by abcdefg30
parent bc7bf174d8
commit eda1e9c266
6 changed files with 1024 additions and 0 deletions

View File

@@ -0,0 +1,282 @@
--[[
Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
This file is part of OpenRA, which is free software. It is made
available to you under the terms of the GNU General Public License
as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version. For more
information, see COPYING.
]]
TimerTicks = DateTime.Minutes(8)
Squad1 = { FirstSquad1, FirstSquad2, FirstSquad3 }
Squad2 = { SecondSquad1, SecondSquad2, SecondSquad3 }
PatrolMammothPath = { Patrol1.Location, Patrol2.Location, Patrol3.Location, Patrol4.Location, Patrol5.Location, Patrol6.Location, Patrol7.Location }
ConvoyEscape = { CPos.New(113, 42), CPos.New(117, 71) }
IdleHunt = function(actor) if not actor.IsDead then Trigger.OnIdle(actor, actor.Hunt) end end
ConvoyUnits =
{
easy = { { "e2", "e2", "e2", "truk", "truk", "truk" }, { "3tnk", "3tnk", "truk", "truk", "truk" } },
normal = { { "3tnk", "3tnk", "3tnk", "truk", "truk", "truk" }, { "3tnk", "v2rl", "e2", "e1", "e1", "truk", "truk", "truk" } },
hard = { { "3tnk", "3tnk", "3tnk", "3tnk", "truk", "truk", "truk" }, { "3tnk", "v2rl", "v2rl", "e1", "e1", "e4", "e4", "truk", "truk", "truk", "4tnk" }, { "ttnk", "ttnk", "ttnk", "shok", "shok", "shok", "shok", "truk", "truk", "truk" } }
}
BaseConvoyUnits = { "3tnk", "ttnk", "ttnk", "ttnk", "truk", "truk", "truk" }
FinalConvoyUnits = { "3tnk", "3tnk", "3tnk", "3tnk", "truk", "truk", "truk", "4tnk" }
AttackPaths =
{
{ ExitNorth.Location },
{ ExitEast.Location },
{ AttackEntry1.Location },
{ AttackEntry2.Location }
}
AttackWaveUnits = { { "3tnk", "3tnk" }, { "e1", "e1", "e1", "e2", "e2", "e4", "e4" }, { "shok", "shok", "shok", "shok", "shok" }, { "ttnk", "ttnk" }, { "4tnk", "e1", "e1", "e2" }, { "v2rl", "v2rl", "ftrk", "ftrk", "ftrk" } }
ConvoyPaths =
{
{ NorthwestEntry.Location, NorthwestPath1.Location, NorthwestBridge.Location, Patrol7.Location, Patrol6.Location, NortheastBridge.Location, NorthwestPath3.Location, ExitNorth.Location },
{ CenterEntry.Location, CenterPath1.Location, CenterPath2.Location, Patrol1.Location, Patrol7.Location, Patrol6.Location, NortheastBridge.Location, NorthwestPath3.Location, ExitNorth.Location },
{ CenterEntry.Location, CenterPath1.Location, CenterPath2.Location, Patrol1.Location, Patrol2.Location, SouthPath2.Location, SoutheastBridge.Location, SouthPath3.Location, ExitEast.Location },
{ SouthEntry.Location, SouthPath1.Location, Patrol2.Location, SouthPath2.Location, SoutheastBridge.Location, SouthPath3.Location, ExitEast.Location }
}
BaseConvoyPath = { BaseEntry.Location, BasePath1.Location, CenterPath2.Location, Patrol1.Location, Patrol7.Location, Patrol6.Location, NortheastBridge.Location, NorthwestPath3.Location, ExitNorth.Location }
FinalConvoyPath = { NorthEntry.Location, Patrol7.Location, Patrol6.Location, Patrol5.Location, FinalConvoy1.Location, ExitEast.Location }
OpeningMoves = function()
Utils.Do(Squad1, function(actor)
actor.AttackMove(AlliedBase.Location)
end)
Utils.Do(Squad2, function(actor)
actor.AttackMove(AlliedBase.Location)
end)
PatrolMammoth.Patrol(PatrolMammothPath, true, 10)
end
AttackWaveDelays =
{
easy = { DateTime.Seconds(40), DateTime.Seconds(80) },
normal = { DateTime.Seconds(30), DateTime.Seconds(60) },
hard = { DateTime.Seconds(20), DateTime.Seconds(40) }
}
AttackWaves = function()
local attackpath = Utils.Random(AttackPaths)
local attackers = Reinforcements.Reinforce(USSR, Utils.Random(AttackWaveUnits), { attackpath[1] })
Utils.Do(attackers, function(unit)
Trigger.OnAddedToWorld(unit, function()
unit.AttackMove(AlliedBase.Location)
IdleHunt(unit)
end)
end)
Trigger.AfterDelay(Utils.RandomInteger(AttackWaveDelay[1], AttackWaveDelay[2]), AttackWaves)
end
ConvoyWaves =
{
easy = 2,
normal = 3,
hard = 4
}
ConvoysPassed = 0
SendConvoys = function()
ConvoysSent = true
Media.PlaySpeechNotification(Allies, "ConvoyApproaching")
local path = Utils.Random(ConvoyPaths)
local units = Reinforcements.Reinforce(USSR, Utils.Random(ConvoyUnits), { path[1] })
local lastWaypoint = path[#path]
Utils.Do(units, function(unit)
Trigger.OnAddedToWorld(unit, function()
if unit.Type == "truk" then
Utils.Do(path, function(waypoint)
unit.Move(waypoint)
end)
Trigger.OnIdle(unit, function()
unit.Move(lastWaypoint)
end)
else
unit.Patrol(path)
Trigger.OnIdle(unit, function()
unit.AttackMove(lastWaypoint)
end)
end
end)
end)
ConvoysPassed = ConvoysPassed + 1
if ConvoysPassed <= ConvoyWaves[Map.LobbyOption("difficulty")] then
Trigger.AfterDelay(DateTime.Seconds(90), SendConvoys)
else
FinalTrucks()
end
end
FinalTrucks = function()
Trigger.AfterDelay(DateTime.Minutes(1), function()
Media.PlaySpeechNotification(Allies, "ConvoyApproaching")
local basePath = BaseConvoyPath
local baseWaypoint = basePath[#basePath]
local baseConvoy = Reinforcements.Reinforce(USSR, BaseConvoyUnits, { basePath[1] })
Utils.Do(baseConvoy, function(unit)
Trigger.OnAddedToWorld(unit, function()
Utils.Do(basePath, function(waypoint)
unit.Move(waypoint)
end)
Trigger.OnIdle(unit, function()
unit.Move(baseWaypoint)
end)
end)
end)
end)
Trigger.AfterDelay(DateTime.Minutes(2), function()
Media.PlaySpeechNotification(Allies, "ConvoyApproaching")
local finalPath = FinalConvoyPath
local finalWaypoint = finalPath[#finalPath]
local finalConvoy = Reinforcements.Reinforce(USSR, FinalConvoyUnits, { finalPath[1] })
Utils.Do(finalConvoy, function(unit)
Trigger.OnAddedToWorld(unit, function()
Utils.Do(finalPath, function(waypoint)
unit.Move(waypoint)
end)
Trigger.OnIdle(unit, function()
unit.Move(finalWaypoint)
end)
end)
end)
Trigger.OnAllKilled(Utils.Where(finalConvoy, function(a) return a.Type == "truk" end), function()
Allies.MarkCompletedObjective(StopTrucks)
end)
end)
end
ConvoyExit = function()
Trigger.OnEnteredFootprint(ConvoyEscape, function(actor, id)
if actor.Owner == USSR and actor.Type == "truk" then
actor.Stop()
actor.Destroy()
Allies.MarkFailedObjective(StopTrucks)
elseif actor.Owner == USSR and actor.Type ~= "truk" then
actor.Stop()
actor.Destroy()
end
end)
end
BridgeTriggers = function()
Trigger.OnKilled(BridgeBarrel1, function()
local theNorthEastBridge = Utils.Where(Map.ActorsInWorld, function(actor) return actor.Type == "bridge2" end)[1]
if not theNorthEastBridge.IsDead then
theNorthEastBridge.Kill()
end
end)
Trigger.OnKilled(BridgeBarrel2, function()
local theNorthwestBridge = Map.ActorsInBox(NorthwestPath1.CenterPosition, NorthEntry.CenterPosition, function(self) return self.Type == "bridge1" end)[1]
if not theNorthwestBridge.IsDead then
theNorthwestBridge.Kill()
end
end)
Trigger.OnKilled(BridgeBarrel3, function()
local theSoutheastBridge = Map.ActorsInBox(SoutheastBridge.CenterPosition, SouthPath3.CenterPosition, function(self) return self.Type == "bridge1" end)[1]
if not theSoutheastBridge.IsDead then
theSoutheastBridge.Kill()
end
end)
AllThreeBridges = Utils.Where(Map.ActorsInWorld, function(actor)
return
actor.Type == "bridge1" or
actor.Type == "bridge2"
end)
Trigger.OnAllKilled(AllThreeBridges, function()
Allies.MarkCompletedObjective(DestroyBridges)
end)
end
FinishTimer = function()
for i = 0, 5 do
local c = TimerColor
if i % 2 == 0 then
c = HSLColor.White
end
Trigger.AfterDelay(DateTime.Seconds(i), function() UserInterface.SetMissionText("The first trucks are entering your AO.", c) end)
end
Trigger.AfterDelay(DateTime.Seconds(6), function() UserInterface.SetMissionText("") end)
end
ticked = TimerTicks
ConvoysSent = false
Tick = function()
if ticked > 0 then
UserInterface.SetMissionText("First trucks arrive in " .. Utils.FormatTime(ticked), TimerColor)
ticked = ticked - 1
elseif ticked == 0 and not ConvoysSent then
SendConvoys()
FinishTimer()
end
if Allies.HasNoRequiredUnits() then
USSR.MarkCompletedObjective(SovietObj)
end
end
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)
Trigger.OnObjectiveAdded(Allies, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
end)
Trigger.OnObjectiveCompleted(Allies, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed")
end)
Trigger.OnObjectiveFailed(Allies, function(p, id)
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed")
end)
Trigger.OnPlayerLost(Allies, function()
Media.PlaySpeechNotification(Allies, "Lose")
end)
Trigger.OnPlayerWon(Allies, function()
Media.PlaySpeechNotification(Allies, "Win")
end)
Trigger.AfterDelay(DateTime.Minutes(3), function()
Media.PlaySpeechNotification(Allies, "WarningFiveMinutesRemaining")
end)
Trigger.AfterDelay(DateTime.Minutes(5), function()
Media.PlaySpeechNotification(Allies, "WarningThreeMinutesRemaining")
end)
Trigger.AfterDelay(DateTime.Minutes(7), function()
Media.PlaySpeechNotification(Allies, "WarningOneMinuteRemaining")
end)
Camera.Position = AlliedBase.CenterPosition
TimerColor = Allies.Color
OpeningMoves()
Trigger.AfterDelay(DateTime.Seconds(30), AttackWaves)
ConvoyExit()
BridgeTriggers()
local difficulty = Map.LobbyOption("difficulty")
ConvoyUnits = ConvoyUnits[difficulty]
AttackWaveDelay = AttackWaveDelays[difficulty]
end

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,672 @@
MapFormat: 11
RequiresMod: ra
Title: Siberian Conflict 1: Fresh Tracks
Author: Westwood Studios
Tileset: SNOW
MapSize: 128,128
Bounds: 28,42,90,46
Visibility: MissionSelector
Categories: Mission
LockPreview: True
Players:
PlayerReference@Neutral:
Name: Neutral
OwnsWorld: True
NonCombatant: True
Faction: allies
PlayerReference@Creeps:
Name: Creeps
NonCombatant: True
Faction: england
PlayerReference@Allies:
Name: Allies
AllowBots: False
Playable: True
Required: True
LockFaction: True
Faction: allies
LockColor: True
Color: ABB7E4
LockSpawn: True
LockTeam: True
Allies: England
Enemies: USSR
PlayerReference@England:
Name: England
Faction: allies
Color: A0F08C
Allies: Allies
Enemies: USSR
PlayerReference@USSR:
Name: USSR
Faction: soviet
Color: FF1400
Enemies: Allies, England
Actors:
Actor0: brik
Location: 39,72
Owner: Allies
Actor1: brik
Location: 40,72
Owner: Allies
Actor2: brik
Location: 41,72
Owner: Allies
Actor3: brik
Location: 42,72
Owner: Allies
Actor4: brik
Location: 43,72
Owner: Allies
Actor5: brik
Location: 44,72
Owner: Allies
Actor6: brik
Location: 45,72
Owner: Allies
Actor7: brik
Location: 46,72
Owner: Allies
Actor8: brik
Location: 47,72
Owner: Allies
Actor9: brik
Location: 48,72
Owner: Allies
Actor10: brik
Location: 39,73
Owner: Allies
Actor11: brik
Location: 40,73
Owner: Allies
Actor12: brik
Location: 47,73
Owner: Allies
Actor13: brik
Location: 48,73
Owner: Allies
Actor14: brik
Location: 48,74
Owner: Allies
Actor15: brik
Location: 47,75
Owner: Allies
Actor16: brik
Location: 48,75
Owner: Allies
Actor17: brik
Location: 47,76
Owner: Allies
Actor18: brik
Location: 48,76
Owner: Allies
Actor19: brik
Location: 47,82
Owner: Allies
Actor20: brik
Location: 48,82
Owner: Allies
Actor21: brik
Location: 47,83
Owner: Allies
Actor22: brik
Location: 48,83
Owner: Allies
Actor23: brik
Location: 47,84
Owner: Allies
Actor24: brik
Location: 48,84
Owner: Allies
Actor25: brik
Location: 47,85
Owner: Allies
Actor26: brik
Location: 48,85
Owner: Allies
Actor27: tc05
Location: 42,85
Owner: Neutral
Actor28: tc04
Location: 28,68
Owner: Neutral
Actor29: t16
Location: 28,60
Owner: Neutral
Actor30: t15
Location: 30,71
Owner: Neutral
Actor31: tc03
Location: 32,86
Owner: Neutral
Actor32: tc01
Location: 28,86
Owner: Neutral
Actor33: t01
Location: 28,80
Owner: Neutral
Actor34: tc05
Location: 30,49
Owner: Neutral
Actor35: tc03
Location: 28,51
Owner: Neutral
Actor36: tc03
Location: 105,85
Owner: Neutral
Actor37: tc04
Location: 81,83
Owner: Neutral
Actor38: tc05
Location: 73,43
Owner: Neutral
Actor39: tc04
Location: 64,42
Owner: Neutral
Actor40: tc05
Location: 84,85
Owner: Neutral
Actor41: t15
Location: 104,41
Owner: Neutral
Actor42: tc03
Location: 74,86
Owner: Neutral
Actor43: tc05
Location: 56,54
Owner: Neutral
Actor44: tc04
Location: 70,58
Owner: Neutral
Actor45: tc02
Location: 71,47
Owner: Neutral
Actor46: tc04
Location: 50,43
Owner: Neutral
Actor47: tc04
Location: 44,54
Owner: Neutral
Actor48: tc04
Location: 88,54
Owner: Neutral
Actor49: tc03
Location: 83,54
Owner: Neutral
Actor50: tc03
Location: 112,51
Owner: Neutral
Actor51: tc01
Location: 115,53
Owner: Neutral
Actor52: tc05
Location: 88,72
Owner: Neutral
Actor53: tc04
Location: 82,72
Owner: Neutral
Actor54: tc02
Location: 86,74
Owner: Neutral
Actor55: tc02
Location: 101,71
Owner: Neutral
Actor56: tc03
Location: 102,73
Owner: Neutral
Actor57: tc05
Location: 96,79
Owner: Neutral
Actor58: tc03
Location: 51,56
Owner: Neutral
Actor59: tc02
Location: 52,57
Owner: Neutral
Actor60: t14
Location: 97,61
Owner: Neutral
Actor61: tc01
Location: 28,77
Owner: Neutral
Actor62: tc03
Location: 28,42
Owner: Neutral
Actor63: tc04
Location: 31,45
Owner: Neutral
Actor64: tc04
Location: 31,60
Owner: Neutral
Actor65: t01
Location: 89,42
Owner: Neutral
Actor66: tc05
Location: 99,42
Owner: Neutral
Actor67: t15
Location: 109,78
Owner: Neutral
Actor68: tc05
Location: 112,79
Owner: Neutral
Actor69: tc03
Location: 113,82
Owner: Neutral
Actor70: tc01
Location: 52,66
Owner: Neutral
Actor71: t14
Location: 53,69
Owner: Neutral
Actor72: t02
Location: 92,46
Owner: Neutral
Actor73: tc02
Location: 77,84
Owner: Neutral
Actor74: t06
Location: 74,60
Owner: Neutral
Actor75: tc04
Location: 107,81
Owner: Neutral
Actor76: t16
Location: 110,83
Owner: Neutral
Actor77: t07
Location: 88,50
Owner: Neutral
Actor78: t01
Location: 77,80
Owner: Neutral
Actor79: tc05
Location: 115,56
Owner: Neutral
Actor80: tc02
Location: 113,75
Owner: Neutral
Actor81: tc02
Location: 107,54
Owner: Neutral
Actor82: t16
Location: 117,43
Owner: Neutral
Actor83: t14
Location: 108,51
Owner: Neutral
Actor84: t06
Location: 115,63
Owner: Neutral
Actor85: t10
Location: 45,41
Owner: Neutral
Actor86: tc01
Location: 48,68
Owner: Neutral
Actor87: t17
Location: 50,69
Owner: Neutral
Actor88: tc01
Location: 70,65
Owner: Neutral
Actor183: proc
Location: 44,73
Owner: Allies
Actor184: proc
Location: 41,73
Owner: Allies
Actor90: tent
Location: 39,74
Owner: Allies
Actor91: apwr
Location: 32,81
Owner: Allies
Actor92: hbox
Location: 38,72
Owner: Allies
Actor93: hbox
Location: 48,77
Owner: Allies
Actor94: weap
Location: 43,80
Owner: Allies
Actor95: pbox
Location: 39,80
Owner: Allies
Actor96: gun
Location: 48,81
Owner: Allies
Facing: 159
Actor97: gun
Location: 34,72
Owner: Allies
Facing: 223
Actor100: fix
Location: 39,82
Owner: Allies
Actor102: dome
Location: 36,78
Owner: Allies
Actor103: apwr
Location: 35,82
Owner: Allies
Actor104: gun
Location: 41,79
Owner: Allies
Facing: 191
BridgeBarrel3: brl3
Location: 105,78
Owner: USSR
Actor106: barl
Location: 104,77
Owner: USSR
Actor107: v19
Location: 104,78
Owner: Neutral
Actor108: hpad
Location: 33,77
Owner: Allies
BridgeBarrel2: brl3
Location: 42,45
Owner: USSR
Actor110: v19
Location: 41,45
Owner: Neutral
Actor111: barl
Location: 41,44
Owner: USSR
Actor112: brl3
Location: 89,51
Owner: USSR
Actor113: barl
Location: 88,52
Owner: USSR
Actor114: barl
Location: 90,50
Owner: USSR
BridgeBarrel1: brl3
Location: 91,47
Owner: USSR
Actor116: barl
Location: 91,46
Owner: USSR
Actor117: v19
Location: 91,45
Owner: Neutral
Actor118: v19
Location: 89,52
Owner: Neutral
Actor119: barl
Location: 90,45
Owner: USSR
Actor121: jeep
Location: 45,83
Owner: Allies
Facing: 159
Actor122: jeep
Location: 43,83
Owner: Allies
Facing: 95
Actor123: 3tnk
Location: 73,75
Owner: USSR
Facing: 95
Actor124: 3tnk
Location: 89,46
Owner: USSR
Facing: 95
Actor125: 3tnk
Location: 41,49
Owner: USSR
Facing: 95
PatrolMammoth: 4tnk
Location: 56,59
Owner: USSR
Facing: 159
Actor127: 3tnk
Location: 105,83
Owner: USSR
Facing: 95
Actor128: 1tnk
Location: 44,78
Owner: Allies
Facing: 191
Actor129: e1
Location: 38,73
Owner: Allies
Facing: 127
SubCell: 1
Actor130: e1
Location: 47,77
Owner: Allies
Facing: 191
SubCell: 0
Actor131: e1
Location: 39,76
Owner: Allies
Facing: 159
SubCell: 4
Actor132: e1
Location: 104,83
Owner: USSR
Facing: 95
SubCell: 1
Actor133: e2
Location: 106,83
Owner: USSR
SubCell: 2
Actor134: e2
Location: 105,77
Owner: USSR
Facing: 159
SubCell: 2
Actor135: e2
Location: 106,78
Owner: USSR
Facing: 223
SubCell: 1
Actor136: e1
Location: 109,78
Owner: USSR
Facing: 95
SubCell: 2
Actor137: e1
Location: 110,78
Owner: USSR
Facing: 159
SubCell: 2
Actor138: e1
Location: 84,49
Owner: USSR
Facing: 31
SubCell: 2
Actor139: e1
Location: 83,51
Owner: USSR
Facing: 95
SubCell: 2
Actor140: e2
Location: 85,50
Owner: USSR
Facing: 159
SubCell: 1
Actor141: e2
Location: 84,51
Owner: USSR
Facing: 31
SubCell: 2
Actor142: e2
Location: 91,51
Owner: USSR
Facing: 159
SubCell: 1
Actor143: e2
Location: 91,52
Owner: USSR
Facing: 223
SubCell: 3
Actor144: e1
Location: 90,52
Owner: USSR
Facing: 191
SubCell: 1
Actor145: e1
Location: 93,49
Owner: USSR
Facing: 159
SubCell: 0
SecondSquad1: e1
Location: 59,72
Owner: USSR
Facing: 95
SubCell: 4
SecondSquad3: e1
Location: 60,73
Owner: USSR
Facing: 95
SubCell: 1
FirstSquad1: e2
Location: 36,63
Owner: USSR
SubCell: 0
SecondSquad2: e2
Location: 60,72
Owner: USSR
Facing: 95
SubCell: 4
FirstSquad3: e1
Location: 38,63
Owner: USSR
SubCell: 1
FirstSquad2: e1
Location: 37,64
Owner: USSR
SubCell: 1
Actor152: e1
Location: 40,77
Owner: Allies
SubCell: 1
Actor153: e1
Location: 47,80
Owner: Allies
Facing: 63
SubCell: 2
Actor154: e1
Location: 34,73
Owner: Allies
Facing: 223
SubCell: 0
Actor201: mine
Owner: Neutral
Location: 70,84
Actor202: mine
Owner: Neutral
Location: 68,66
Actor194: heli
Owner: Allies
Location: 34,79
Facing: 217
AlliedBase: waypoint
Location: 40,79
Owner: Neutral
Patrol1: waypoint
Location: 58,61
Owner: Neutral
Patrol2: waypoint
Location: 58,74
Owner: Neutral
Patrol3: waypoint
Location: 71,76
Owner: Neutral
Patrol4: waypoint
Location: 77,71
Owner: Neutral
Patrol5: waypoint
Location: 79,60
Owner: Neutral
Patrol6: waypoint
Location: 76,52
Owner: Neutral
Patrol7: waypoint
Location: 65,52
Owner: Neutral
NorthwestEntry: waypoint
Owner: Neutral
Location: 32,42
CenterEntry: waypoint
Owner: Neutral
Location: 28,57
BaseEntry: waypoint
Owner: Neutral
Location: 28,76
SouthEntry: waypoint
Owner: Neutral
Location: 53,87
NorthEntry: waypoint
Owner: Neutral
Location: 58,42
ExitEast: waypoint
Owner: Neutral
Location: 117,71
ExitNorth: waypoint
Owner: Neutral
Location: 113,42
NortheastBridge: waypoint
Location: 87,46
Owner: Neutral
NorthwestBridge: waypoint
Location: 41,48
Owner: Neutral
SoutheastBridge: waypoint
Location: 103,82
Owner: Neutral
NorthwestPath1: waypoint
Location: 38,49
Owner: Neutral
NorthwestPath2: waypoint
Location: 81,48
Owner: Neutral
NorthwestPath3: waypoint
Location: 99,50
Owner: Neutral
BasePath1: waypoint
Location: 35,76
Owner: Neutral
CenterPath1: waypoint
Location: 37,57
Owner: Neutral
CenterPath2: waypoint
Location: 37,61
Owner: Neutral
SouthPath1: waypoint
Location: 53,75
Owner: Neutral
SouthPath2: waypoint
Location: 92,80
Owner: Neutral
SouthPath3: waypoint
Location: 110,69
Owner: Neutral
FinalConvoy1: waypoint
Location: 88,62
Owner: Neutral
AttackEntry1: waypoint
Location: 81,42
Owner: Neutral
AttackEntry2: waypoint
Location: 92,87
Owner: Neutral
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, rules.yaml

View File

@@ -0,0 +1,69 @@
World:
LuaScript:
Scripts: fresh-tracks.lua
MissionData:
WinVideo: sovbatl.vqa
LossVideo: overrun.vqa
Briefing: Soviet activity in Siberia is increasing. A large shipment of atomic material is on its way through this area, and we need it stopped. Destroy all of the Soviet convoy trucks and prevent the Soviets from furthering their atomic testing.\n\nBe careful of the convoy truck cargo -- atomic material is highly unstable.\n\nThe mission is complete when all the convoy trucks from each convoy have been destroyed.
ScriptLobbyDropdown@difficulty:
ID: difficulty
Label: Difficulty
Values:
easy: Easy
normal: Normal
hard: Hard
Default: normal
Player:
PlayerResources:
DefaultCash: 2100
MONEYCRATE:
Crate:
Lifetime: 0
ExplodeCrateAction:
Weapon: MiniNuke
Tooltip:
Name: Atomic Material
RenderSprites:
Image: wcrate
SPY:
Buildable:
Prerequisites: ~disabled
MECH:
Buildable:
Prerequisites: ~disabled
E7:
Buildable:
Prerequisites: ~disabled
TRAN:
Buildable:
Prerequisites: ~disabled
HELI:
Buildable:
Prerequisites: ~hpad
MRJ:
Buildable:
Prerequisites: ~disabled
MCV:
Buildable:
Prerequisites: ~disabled
2TNK:
Buildable:
Prerequisites: ~disabled
ARTY:
Buildable:
Prerequisites: ~disabled
MH60:
Buildable:
Prerequisites: ~disabled

View File

@@ -27,6 +27,7 @@ Counterstrike:
sarin-gas-1-crackdown
sarin-gas-2-down-under
fall-of-greece-1-personal-war
siberian-conflict-1-fresh-tracks
soviet-soldier-volkov-n-chitzkoi
top-o-the-world
Aftermath: