Add Aftermath mission Situation Critical
This commit is contained in:
BIN
mods/ra/maps/situation-critical/map.bin
Normal file
BIN
mods/ra/maps/situation-critical/map.bin
Normal file
Binary file not shown.
BIN
mods/ra/maps/situation-critical/map.png
Normal file
BIN
mods/ra/maps/situation-critical/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
567
mods/ra/maps/situation-critical/map.yaml
Normal file
567
mods/ra/maps/situation-critical/map.yaml
Normal file
@@ -0,0 +1,567 @@
|
||||
MapFormat: 11
|
||||
|
||||
RequiresMod: ra
|
||||
|
||||
Title: Situation Critical
|
||||
|
||||
Author: Westwood Studios
|
||||
|
||||
Tileset: SNOW
|
||||
|
||||
MapSize: 128,128
|
||||
|
||||
Bounds: 30,33,65,60
|
||||
|
||||
Visibility: MissionSelector
|
||||
|
||||
Categories: Mission
|
||||
|
||||
LockPreview: True
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
OwnsWorld: True
|
||||
NonCombatant: True
|
||||
Faction: england
|
||||
PlayerReference@Creeps:
|
||||
Name: Creeps
|
||||
NonCombatant: True
|
||||
Faction: england
|
||||
PlayerReference@Turkey:
|
||||
Name: Turkey
|
||||
Faction: allies
|
||||
Color: D2997D
|
||||
Bot: campaign
|
||||
Enemies: USSR
|
||||
PlayerReference@USSR:
|
||||
Name: USSR
|
||||
AllowBots: False
|
||||
Playable: True
|
||||
Required: True
|
||||
LockFaction: True
|
||||
Faction: soviet
|
||||
LockColor: True
|
||||
Color: FE1100
|
||||
LockSpawn: True
|
||||
LockTeam: True
|
||||
Enemies: Turkey
|
||||
|
||||
Actors:
|
||||
Actor0: brik
|
||||
Location: 56,54
|
||||
Owner: Neutral
|
||||
Actor1: brik
|
||||
Location: 57,54
|
||||
Owner: Neutral
|
||||
Actor2: brik
|
||||
Location: 58,54
|
||||
Owner: Neutral
|
||||
Actor3: brik
|
||||
Location: 59,54
|
||||
Owner: Neutral
|
||||
Actor4: brik
|
||||
Location: 60,54
|
||||
Owner: Neutral
|
||||
Actor5: brik
|
||||
Location: 61,54
|
||||
Owner: Neutral
|
||||
Actor6: brik
|
||||
Location: 62,54
|
||||
Owner: Neutral
|
||||
Actor7: brik
|
||||
Location: 63,54
|
||||
Owner: Neutral
|
||||
Actor8: brik
|
||||
Location: 56,55
|
||||
Owner: Neutral
|
||||
Actor9: brik
|
||||
Location: 59,55
|
||||
Owner: Neutral
|
||||
Actor10: brik
|
||||
Location: 60,55
|
||||
Owner: Neutral
|
||||
Actor11: brik
|
||||
Location: 63,55
|
||||
Owner: Neutral
|
||||
Actor12: brik
|
||||
Location: 56,56
|
||||
Owner: Neutral
|
||||
Actor13: brik
|
||||
Location: 57,56
|
||||
Owner: Neutral
|
||||
Actor14: brik
|
||||
Location: 58,56
|
||||
Owner: Neutral
|
||||
Actor15: brik
|
||||
Location: 59,56
|
||||
Owner: Neutral
|
||||
Actor16: brik
|
||||
Location: 60,56
|
||||
Owner: Neutral
|
||||
Actor17: brik
|
||||
Location: 61,56
|
||||
Owner: Neutral
|
||||
Actor18: brik
|
||||
Location: 62,56
|
||||
Owner: Neutral
|
||||
Actor19: brik
|
||||
Location: 63,56
|
||||
Owner: Neutral
|
||||
Actor20: brik
|
||||
Location: 56,57
|
||||
Owner: Neutral
|
||||
Actor21: brik
|
||||
Location: 63,57
|
||||
Owner: Neutral
|
||||
Actor22: brik
|
||||
Location: 56,58
|
||||
Owner: Neutral
|
||||
Actor23: brik
|
||||
Location: 63,58
|
||||
Owner: Neutral
|
||||
Actor24: brik
|
||||
Location: 56,59
|
||||
Owner: Neutral
|
||||
Actor25: brik
|
||||
Location: 63,59
|
||||
Owner: Neutral
|
||||
Actor26: brik
|
||||
Location: 56,60
|
||||
Owner: Neutral
|
||||
Actor27: brik
|
||||
Location: 57,60
|
||||
Owner: Neutral
|
||||
Actor28: brik
|
||||
Location: 62,60
|
||||
Owner: Neutral
|
||||
Actor29: brik
|
||||
Location: 63,60
|
||||
Owner: Neutral
|
||||
Actor30: brik
|
||||
Location: 56,61
|
||||
Owner: Neutral
|
||||
Actor31: brik
|
||||
Location: 57,61
|
||||
Owner: Neutral
|
||||
Actor32: brik
|
||||
Location: 62,61
|
||||
Owner: Neutral
|
||||
Actor33: brik
|
||||
Location: 63,61
|
||||
Owner: Neutral
|
||||
Actor34: t01
|
||||
Location: 83,83
|
||||
Owner: Neutral
|
||||
Actor35: tc04
|
||||
Location: 39,47
|
||||
Owner: Neutral
|
||||
Actor36: tc04
|
||||
Location: 72,55
|
||||
Owner: Neutral
|
||||
Actor37: tc05
|
||||
Location: 70,67
|
||||
Owner: Neutral
|
||||
Actor38: tc02
|
||||
Location: 59,86
|
||||
Owner: Neutral
|
||||
Actor39: tc04
|
||||
Location: 58,71
|
||||
Owner: Neutral
|
||||
Actor40: tc03
|
||||
Location: 59,73
|
||||
Owner: Neutral
|
||||
Actor41: tc01
|
||||
Location: 48,66
|
||||
Owner: Neutral
|
||||
Actor42: t02
|
||||
Location: 48,46
|
||||
Owner: Neutral
|
||||
Actor43: ice04
|
||||
Location: 86,60
|
||||
Owner: Neutral
|
||||
Actor44: ice02
|
||||
Location: 50,82
|
||||
Owner: Neutral
|
||||
Actor45: ice05
|
||||
Location: 38,52
|
||||
Owner: Neutral
|
||||
Actor46: ice01
|
||||
Location: 38,42
|
||||
Owner: Neutral
|
||||
Actor47: ice02
|
||||
Location: 37,43
|
||||
Owner: Neutral
|
||||
Actor48: ice05
|
||||
Location: 59,39
|
||||
Owner: Neutral
|
||||
Actor49: ice05
|
||||
Location: 69,42
|
||||
Owner: Neutral
|
||||
Actor50: ice04
|
||||
Location: 69,41
|
||||
Owner: Neutral
|
||||
Actor51: ice04
|
||||
Location: 80,40
|
||||
Owner: Neutral
|
||||
Actor52: ice05
|
||||
Location: 83,43
|
||||
Owner: Neutral
|
||||
Actor53: ice04
|
||||
Location: 82,53
|
||||
Owner: Neutral
|
||||
Actor54: ice03
|
||||
Location: 85,59
|
||||
Owner: Neutral
|
||||
Actor55: ice02
|
||||
Location: 70,83
|
||||
Owner: Neutral
|
||||
Actor56: ice01
|
||||
Location: 71,83
|
||||
Owner: Neutral
|
||||
Actor57: ice03
|
||||
Location: 70,85
|
||||
Owner: Neutral
|
||||
Actor58: ice04
|
||||
Location: 72,85
|
||||
Owner: Neutral
|
||||
Actor59: tc05
|
||||
Location: 71,46
|
||||
Owner: Neutral
|
||||
Actor60: t13
|
||||
Location: 69,74
|
||||
Owner: Neutral
|
||||
Actor61: tc03
|
||||
Location: 89,58
|
||||
Owner: Neutral
|
||||
Actor62: t17
|
||||
Location: 53,67
|
||||
Owner: Neutral
|
||||
Actor63: tc01
|
||||
Location: 59,52
|
||||
Owner: Neutral
|
||||
Actor64: t13
|
||||
Location: 48,55
|
||||
Owner: Neutral
|
||||
Actor65: t13
|
||||
Location: 90,59
|
||||
Owner: Neutral
|
||||
Actor66: t15
|
||||
Location: 80,49
|
||||
Owner: Neutral
|
||||
Actor67: tc04
|
||||
Location: 81,82
|
||||
Owner: Neutral
|
||||
Actor68: tc05
|
||||
Location: 80,84
|
||||
Owner: Neutral
|
||||
Actor69: tc03
|
||||
Location: 83,85
|
||||
Owner: Neutral
|
||||
Actor70: t17
|
||||
Location: 91,58
|
||||
Owner: Neutral
|
||||
Actor71: tsla
|
||||
Location: 48,85
|
||||
Owner: Turkey
|
||||
Actor72: tsla
|
||||
Location: 59,86
|
||||
Owner: Turkey
|
||||
Actor73: tsla
|
||||
Location: 78,70
|
||||
Owner: Turkey
|
||||
Actor74: tsla
|
||||
Location: 76,42
|
||||
Owner: Turkey
|
||||
Actor75: tsla
|
||||
Location: 42,42
|
||||
Owner: Turkey
|
||||
Sam1: sam
|
||||
Location: 67,75
|
||||
Owner: Turkey
|
||||
Sam2: sam
|
||||
Location: 65,75
|
||||
Owner: Turkey
|
||||
Sam3: sam
|
||||
Location: 66,76
|
||||
Owner: Turkey
|
||||
Sam4: sam
|
||||
Location: 48,64
|
||||
Owner: Turkey
|
||||
Sam5: sam
|
||||
Location: 50,64
|
||||
Owner: Turkey
|
||||
Sam6: sam
|
||||
Location: 49,63
|
||||
Owner: Turkey
|
||||
Sam7: sam
|
||||
Location: 48,51
|
||||
Owner: Turkey
|
||||
Sam8: sam
|
||||
Location: 50,51
|
||||
Owner: Turkey
|
||||
Sam9: sam
|
||||
Location: 49,50
|
||||
Owner: Turkey
|
||||
Sam10: sam
|
||||
Location: 71,51
|
||||
Owner: Turkey
|
||||
Sam11: sam
|
||||
Location: 73,51
|
||||
Owner: Turkey
|
||||
Sam12: sam
|
||||
Location: 72,52
|
||||
Owner: Turkey
|
||||
BioLab: bio
|
||||
Location: 59,57
|
||||
Owner: Turkey
|
||||
Silo1: mslo
|
||||
Location: 57,55
|
||||
Owner: Turkey
|
||||
Silo2: mslo
|
||||
Location: 61,55
|
||||
Owner: Turkey
|
||||
Actor91: tsla
|
||||
Location: 42,67
|
||||
Owner: Turkey
|
||||
Actor92: powr
|
||||
Location: 46,83
|
||||
Owner: Turkey
|
||||
Actor93: powr
|
||||
Location: 44,83
|
||||
Owner: Turkey
|
||||
Actor94: powr
|
||||
Location: 42,68
|
||||
Owner: Turkey
|
||||
Actor95: powr
|
||||
Location: 43,71
|
||||
Owner: Turkey
|
||||
Actor96: powr
|
||||
Location: 44,41
|
||||
Owner: Turkey
|
||||
Actor97: powr
|
||||
Location: 42,43
|
||||
Owner: Turkey
|
||||
Actor98: powr
|
||||
Location: 74,42
|
||||
Owner: Turkey
|
||||
Actor99: powr
|
||||
Location: 77,42
|
||||
Owner: Turkey
|
||||
Actor100: powr
|
||||
Location: 77,71
|
||||
Owner: Turkey
|
||||
Actor101: powr
|
||||
Location: 77,67
|
||||
Owner: Turkey
|
||||
Actor102: powr
|
||||
Location: 63,85
|
||||
Owner: Turkey
|
||||
Actor103: powr
|
||||
Location: 65,85
|
||||
Owner: Turkey
|
||||
TeamOne1: e1
|
||||
Location: 47,54
|
||||
Owner: Turkey
|
||||
Facing: 31
|
||||
SubCell: 3
|
||||
TeamOne2: e2
|
||||
Location: 46,54
|
||||
Owner: Turkey
|
||||
SubCell: 0
|
||||
TeamOne3: e1
|
||||
Location: 47,55
|
||||
Owner: Turkey
|
||||
SubCell: 1
|
||||
TeamTwo1: e1
|
||||
Location: 51,71
|
||||
Owner: Turkey
|
||||
Facing: 31
|
||||
SubCell: 4
|
||||
TeamTwo2: e1
|
||||
Location: 51,71
|
||||
Owner: Turkey
|
||||
Facing: 31
|
||||
SubCell: 1
|
||||
TeamTwo3: e2
|
||||
Location: 50,70
|
||||
Owner: Turkey
|
||||
SubCell: 2
|
||||
TeamThree1: e1
|
||||
Location: 68,79
|
||||
Owner: Turkey
|
||||
Facing: 63
|
||||
SubCell: 1
|
||||
TeamThree2: e1
|
||||
Location: 68,79
|
||||
Owner: Turkey
|
||||
Facing: 63
|
||||
SubCell: 4
|
||||
TeamThree3: e2
|
||||
Location: 68,79
|
||||
Owner: Turkey
|
||||
Facing: 63
|
||||
SubCell: 5
|
||||
TeamFour1: e1
|
||||
Location: 66,44
|
||||
Owner: Turkey
|
||||
Facing: 159
|
||||
SubCell: 1
|
||||
TeamFour2: e1
|
||||
Location: 66,43
|
||||
Owner: Turkey
|
||||
Facing: 159
|
||||
SubCell: 3
|
||||
TeamFour3: e2
|
||||
Location: 66,44
|
||||
Owner: Turkey
|
||||
Facing: 159
|
||||
SubCell: 2
|
||||
TeamFive1: e1
|
||||
Location: 75,58
|
||||
Owner: Turkey
|
||||
Facing: 127
|
||||
SubCell: 4
|
||||
TeamFive2: e2
|
||||
Location: 75,58
|
||||
Owner: Turkey
|
||||
Facing: 127
|
||||
SubCell: 3
|
||||
TeamFive3: e1
|
||||
Location: 75,58
|
||||
Owner: Turkey
|
||||
Facing: 127
|
||||
SubCell: 1
|
||||
Shok1: shok
|
||||
Location: 54,50
|
||||
Owner: Turkey
|
||||
Facing: 95
|
||||
SubCell: 1
|
||||
Shok2: shok
|
||||
Location: 51,62
|
||||
Owner: Turkey
|
||||
SubCell: 0
|
||||
Shok3: shok
|
||||
Location: 63,68
|
||||
Owner: Turkey
|
||||
Facing: 95
|
||||
SubCell: 1
|
||||
Shok4: shok
|
||||
Location: 69,52
|
||||
Owner: Turkey
|
||||
Facing: 159
|
||||
SubCell: 0
|
||||
Actor123: ss
|
||||
Location: 35,34
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
Actor124: ss
|
||||
Location: 36,35
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
Actor125: ss
|
||||
Location: 35,36
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
MSub1: msub
|
||||
Location: 32,35
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
MSub2: msub
|
||||
Location: 31,36
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
MSub3: msub
|
||||
Location: 31,34
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
MSub4: msub
|
||||
Location: 30,35
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
Actor129: ss
|
||||
Location: 71,36
|
||||
Owner: Turkey
|
||||
Facing: 31
|
||||
Actor130: ss
|
||||
Location: 81,60
|
||||
Owner: Turkey
|
||||
Facing: 223
|
||||
Actor131: ss
|
||||
Location: 59,83
|
||||
Owner: Turkey
|
||||
Facing: 63
|
||||
Actor132: ss
|
||||
Location: 34,57
|
||||
Owner: Turkey
|
||||
Facing: 31
|
||||
Actor133: ss
|
||||
Location: 36,81
|
||||
Owner: Turkey
|
||||
Actor134: ss
|
||||
Location: 74,87
|
||||
Owner: Turkey
|
||||
Facing: 223
|
||||
Actor135: ss
|
||||
Location: 91,39
|
||||
Owner: Turkey
|
||||
Facing: 95
|
||||
Actor137: ss
|
||||
Location: 34,35
|
||||
Owner: USSR
|
||||
Facing: 191
|
||||
DefaultCameraPosition: waypoint
|
||||
Location: 32,35
|
||||
Owner: Neutral
|
||||
LZ: waypoint
|
||||
Location: 53,75
|
||||
Owner: Neutral
|
||||
LSTEntry: waypoint
|
||||
Location: 54,92
|
||||
Owner: Neutral
|
||||
InnerPatrol1: waypoint
|
||||
Location: 54,50
|
||||
Owner: Neutral
|
||||
InnerPatrol2: waypoint
|
||||
Location: 68,50
|
||||
Owner: Neutral
|
||||
InnerPatrol3: waypoint
|
||||
Location: 63,68
|
||||
Owner: Neutral
|
||||
InnerPatrol4: waypoint
|
||||
Location: 51,62
|
||||
Owner: Neutral
|
||||
OuterPatrol1: waypoint
|
||||
Location: 44,44
|
||||
Owner: Neutral
|
||||
OuterPatrol2: waypoint
|
||||
Location: 64,42
|
||||
Owner: Neutral
|
||||
OuterPatrol3: waypoint
|
||||
Location: 80,44
|
||||
Owner: Neutral
|
||||
OuterPatrol4: waypoint
|
||||
Location: 75,56
|
||||
Owner: Neutral
|
||||
OuterPatrol5: waypoint
|
||||
Location: 70,79
|
||||
Owner: Neutral
|
||||
OuterPatrol6: waypoint
|
||||
Location: 48,71
|
||||
Owner: Neutral
|
||||
OuterPatrol7: waypoint
|
||||
Location: 46,56
|
||||
Owner: Neutral
|
||||
TacticalNuke1: waypoint
|
||||
Location: 60,56
|
||||
Owner: Neutral
|
||||
TacticalNuke2: waypoint
|
||||
Location: 55,58
|
||||
Owner: Neutral
|
||||
TacticalNuke3: waypoint
|
||||
Location: 57,61
|
||||
Owner: Neutral
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
Weapons: weapons.yaml
|
||||
82
mods/ra/maps/situation-critical/rules.yaml
Normal file
82
mods/ra/maps/situation-critical/rules.yaml
Normal file
@@ -0,0 +1,82 @@
|
||||
World:
|
||||
LuaScript:
|
||||
Scripts: situation-critical.lua
|
||||
MissionData:
|
||||
WinVideo: flare.vqa
|
||||
LossVideo: nukestok.vqa
|
||||
Briefing: A radical faction of our forces has stolen a biological weapon, threatening to use it on Allied emplacements. Since the weapon is highly unstable, it could destroy us all if released. \n\nThe facility must be destroyed, but the weapon must be neutralized first. Destroy the island's defenses, then use Volkov to assist our scientist in reaching the bio-research center. If either are killed before the weapon is neutralized, the mission is a failure.\n\nOnce the scientist completes his mission, destroy the base.
|
||||
|
||||
VOLK:
|
||||
Inherits: GNRL
|
||||
-AutoTarget:
|
||||
-AutoTargetPriority@DEFAULT:
|
||||
-AutoTargetPriority@ATTACKANYTHING:
|
||||
AttackMove:
|
||||
-AssaultMoveCondition:
|
||||
Valued:
|
||||
Cost: 1200
|
||||
Tooltip:
|
||||
Name: Volkov
|
||||
Health:
|
||||
HP: 15000
|
||||
Armor:
|
||||
Type: Heavy
|
||||
RevealsShroud:
|
||||
Range: 6c0
|
||||
Demolition:
|
||||
Mobile:
|
||||
Voice: Action
|
||||
AttackFrontal:
|
||||
Voice: Action
|
||||
AttackMove:
|
||||
Voice: Action
|
||||
Passenger:
|
||||
Voice: Action
|
||||
Guard:
|
||||
Voice: Action
|
||||
Voiced:
|
||||
VoiceSet: GenericVoice
|
||||
Armament:
|
||||
Weapon: VolkovWeapon
|
||||
RenderSprites:
|
||||
Image: GNRL
|
||||
|
||||
LST.Reinforcement:
|
||||
Inherits: LST
|
||||
RejectsOrders:
|
||||
-Buildable:
|
||||
-Selectable:
|
||||
RenderSprites:
|
||||
Image: lst
|
||||
Interactable:
|
||||
|
||||
MSLO:
|
||||
Power:
|
||||
Amount: 0
|
||||
-WithColoredOverlay@IDISABLE:
|
||||
-NukePower:
|
||||
|
||||
SAM:
|
||||
-WithColoredOverlay@IDISABLE:
|
||||
|
||||
BADR.Bomber:
|
||||
Aircraft:
|
||||
Speed: 373
|
||||
Tooltip:
|
||||
Name: Strategic Bomber
|
||||
RenderSprites:
|
||||
Image: U2
|
||||
|
||||
powerproxy.parabombs:
|
||||
AirstrikePower:
|
||||
DisplayBeacon: False
|
||||
|
||||
DELPHI:
|
||||
Tooltip:
|
||||
Name: Scientist
|
||||
Infiltrates:
|
||||
Types: ScientistInfiltrate
|
||||
|
||||
BIO:
|
||||
Targetable:
|
||||
TargetTypes: GroundActor, Structure, C4, DetonateAttack, ScientistInfiltrate
|
||||
205
mods/ra/maps/situation-critical/situation-critical.lua
Normal file
205
mods/ra/maps/situation-critical/situation-critical.lua
Normal file
@@ -0,0 +1,205 @@
|
||||
--[[
|
||||
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.
|
||||
]]
|
||||
MissleSubs = { MSub1, MSub2, MSub3, MSub4 }
|
||||
VolkovEntryPath = { LSTEntry.Location, LZ.Location }
|
||||
VolkovandFriend = { "volk", "delphi" }
|
||||
InsertionTransport = "lst.reinforcement"
|
||||
SamSites = { Sam1, Sam2, Sam3, Sam4, Sam5, Sam6, Sam7, Sam8, Sam9, Sam10, Sam11, Sam12 }
|
||||
PrimaryTargets = { BioLab, Silo1, Silo2 }
|
||||
TimerTicks = DateTime.Minutes(8)
|
||||
|
||||
Shocktroopers = { Shok1, Shok2, Shok3, Shok4 }
|
||||
|
||||
InnerPatrolPaths =
|
||||
{
|
||||
{ InnerPatrol2.Location, InnerPatrol3.Location, InnerPatrol4.Location, InnerPatrol1.Location },
|
||||
{ InnerPatrol3.Location, InnerPatrol2.Location, InnerPatrol1.Location, InnerPatrol4.Location },
|
||||
{ InnerPatrol4.Location, InnerPatrol1.Location, InnerPatrol2.Location, InnerPatrol3.Location },
|
||||
{ InnerPatrol1.Location, InnerPatrol4.Location, InnerPatrol3.Location, InnerPatrol2.Location }
|
||||
}
|
||||
|
||||
OuterPatrols =
|
||||
{
|
||||
{ TeamOne1, TeamOne2, TeamOne3 },
|
||||
{ TeamTwo1, TeamTwo2, TeamTwo3 },
|
||||
{ TeamThree1, TeamThree2, TeamThree3 },
|
||||
{ TeamFour1, TeamFour2, TeamFour3 },
|
||||
{ TeamFive1, TeamFive2, TeamFive3 }
|
||||
}
|
||||
|
||||
OuterPatrolPaths =
|
||||
{
|
||||
{ OuterPatrol1.Location, OuterPatrol2.Location, OuterPatrol3.Location, OuterPatrol4.Location, OuterPatrol5.Location, OuterPatrol6.Location, OuterPatrol7.Location },
|
||||
{ OuterPatrol5.Location, OuterPatrol4.Location, OuterPatrol3.Location, OuterPatrol2.Location, OuterPatrol1.Location, OuterPatrol7.Location, OuterPatrol6.Location },
|
||||
{ OuterPatrol6.Location, OuterPatrol7.Location, OuterPatrol1.Location, OuterPatrol2.Location, OuterPatrol3.Location, OuterPatrol4.Location, OuterPatrol5.Location },
|
||||
{ OuterPatrol3.Location, OuterPatrol4.Location, OuterPatrol5.Location, OuterPatrol6.Location, OuterPatrol7.Location, OuterPatrol1.Location, OuterPatrol2.Location },
|
||||
{ OuterPatrol3.Location, OuterPatrol2.Location, OuterPatrol1.Location, OuterPatrol7.Location, OuterPatrol6.Location, OuterPatrol5.Location, OuterPatrol4.Location }
|
||||
}
|
||||
|
||||
GroupPatrol = function(units, waypoints, delay)
|
||||
local i = 1
|
||||
local stop = false
|
||||
|
||||
Utils.Do(units, function(unit)
|
||||
Trigger.OnIdle(unit, function()
|
||||
if stop then
|
||||
return
|
||||
end
|
||||
if unit.Location == waypoints[i] then
|
||||
local bool = Utils.All(units, function(actor) return actor.IsIdle end)
|
||||
if bool then
|
||||
stop = true
|
||||
i = i + 1
|
||||
if i > #waypoints then
|
||||
i = 1
|
||||
end
|
||||
Trigger.AfterDelay(delay, function() stop = false end)
|
||||
end
|
||||
else
|
||||
unit.AttackMove(waypoints[i])
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
StartPatrols = function()
|
||||
for i = 1, 5 do
|
||||
GroupPatrol(OuterPatrols[i], OuterPatrolPaths[i], DateTime.Seconds(3))
|
||||
end
|
||||
|
||||
for i = 1, 4 do
|
||||
Trigger.AfterDelay(DateTime.Seconds(3* (i - 1)), function()
|
||||
Trigger.OnIdle(Shocktroopers[i], function()
|
||||
Shocktroopers[i].Patrol(InnerPatrolPaths[i])
|
||||
end)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
LabInfiltrated = false
|
||||
SetupTriggers = function()
|
||||
Trigger.OnAllKilled(SamSites, function()
|
||||
local proxy = Actor.Create("powerproxy.parabombs", false, { Owner = USSR })
|
||||
proxy.TargetAirstrike(TacticalNuke1.CenterPosition, Angle.SouthWest)
|
||||
proxy.TargetAirstrike(TacticalNuke2.CenterPosition, Angle.SouthWest)
|
||||
proxy.TargetAirstrike(TacticalNuke3.CenterPosition, Angle.SouthWest)
|
||||
proxy.Destroy()
|
||||
end)
|
||||
|
||||
Trigger.OnInfiltrated(BioLab, function()
|
||||
Media.DisplayMessage("Plans stolen; erasing all data.", "Scientist")
|
||||
Trigger.AfterDelay(DateTime.Seconds(5), function()
|
||||
USSR.MarkCompletedObjective(InfiltrateLab)
|
||||
LabInfiltrated = true
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.OnKilled(BioLab, function()
|
||||
if not LabInfiltrated then
|
||||
USSR.MarkFailedObjective(InfiltrateLab)
|
||||
end
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(PrimaryTargets, function()
|
||||
USSR.MarkCompletedObjective(DestroyFacility)
|
||||
USSR.MarkCompletedObjective(VolkovSurvive)
|
||||
end)
|
||||
|
||||
Trigger.OnAllKilled(MissleSubs, function()
|
||||
if not VolkovArrived then
|
||||
USSR.MarkFailedObjective(KillPower)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
SendInVolkov = function()
|
||||
if not VolkovArrived then
|
||||
USSR.MarkCompletedObjective(KillPower)
|
||||
Media.PlaySpeechNotification(USSR, "ReinforcementsArrived")
|
||||
local teamVolkov = Reinforcements.ReinforceWithTransport(USSR, InsertionTransport, VolkovandFriend, VolkovEntryPath, { VolkovEntryPath[1] })[2]
|
||||
VolkovArrived = true
|
||||
Trigger.OnAddedToWorld(teamVolkov[1], function(a)
|
||||
Media.DisplayMessage("IFF software update failed. Require manual target input.", "Volkov")
|
||||
Trigger.OnKilled(a, function()
|
||||
USSR.MarkFailedObjective(VolkovSurvive)
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.OnAddedToWorld(teamVolkov[2], function(b)
|
||||
Trigger.OnKilled(b, function()
|
||||
if not LabInfiltrated then
|
||||
USSR.MarkFailedObjective(InfiltrateLab)
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
ticked = TimerTicks
|
||||
Tick = function()
|
||||
if Turkey.PowerState ~= "Normal" then
|
||||
SendInVolkov()
|
||||
end
|
||||
|
||||
if ticked > 0 then
|
||||
UserInterface.SetMissionText("Missiles launch in " .. Utils.FormatTime(ticked), TimerColor)
|
||||
ticked = ticked - 1
|
||||
elseif ticked == 0 then
|
||||
UserInterface.SetMissionText("We're too late!", USSR.Color)
|
||||
Turkey.MarkCompletedObjective(LaunchMissles)
|
||||
end
|
||||
end
|
||||
|
||||
WorldLoaded = function()
|
||||
USSR = Player.GetPlayer("USSR")
|
||||
Turkey = Player.GetPlayer("Turkey")
|
||||
|
||||
Trigger.OnObjectiveAdded(USSR, function(p, id)
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "New " .. string.lower(p.GetObjectiveType(id)) .. " objective")
|
||||
end)
|
||||
|
||||
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 all sam sites on the island.\nOur strategic bombers will finish the rest.")
|
||||
VolkovSurvive = USSR.AddObjective("Volkov must survive.")
|
||||
|
||||
Trigger.OnObjectiveCompleted(USSR, function(p, id)
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective completed")
|
||||
end)
|
||||
Trigger.OnObjectiveFailed(USSR, function(p, id)
|
||||
Media.DisplayMessage(p.GetObjectiveDescription(id), "Objective failed")
|
||||
end)
|
||||
|
||||
Trigger.OnPlayerLost(USSR, function()
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||
Media.PlaySpeechNotification(USSR, "MissionFailed")
|
||||
end)
|
||||
end)
|
||||
Trigger.OnPlayerWon(USSR, function()
|
||||
Trigger.AfterDelay(DateTime.Seconds(1), function()
|
||||
Media.PlaySpeechNotification(USSR, "MissionAccomplished")
|
||||
end)
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Minutes(3), function()
|
||||
Media.PlaySpeechNotification(USSR, "WarningFiveMinutesRemaining")
|
||||
end)
|
||||
Trigger.AfterDelay(DateTime.Minutes(5), function()
|
||||
Media.PlaySpeechNotification(USSR, "WarningThreeMinutesRemaining")
|
||||
end)
|
||||
Trigger.AfterDelay(DateTime.Minutes(7), function()
|
||||
Media.PlaySpeechNotification(USSR, "WarningOneMinuteRemaining")
|
||||
end)
|
||||
|
||||
StartPatrols()
|
||||
SetupTriggers()
|
||||
Camera.Position = DefaultCameraPosition.CenterPosition
|
||||
TimerColor = Turkey.Color
|
||||
end
|
||||
77
mods/ra/maps/situation-critical/weapons.yaml
Normal file
77
mods/ra/maps/situation-critical/weapons.yaml
Normal file
@@ -0,0 +1,77 @@
|
||||
VolkovWeapon:
|
||||
Inherits: SilencedPPK
|
||||
ReloadDelay: 25
|
||||
Range: 6c0
|
||||
Warhead@1Dam: SpreadDamage
|
||||
Spread: 128
|
||||
Versus:
|
||||
None: 90
|
||||
Wood: 75
|
||||
Light: 60
|
||||
Heavy: 25
|
||||
Concrete: 0
|
||||
DamageTypes: Prone50Percent, TriggerProne, FireDeath
|
||||
Warhead@2Eff: CreateEffect
|
||||
Explosions: piff
|
||||
ValidTargets: Ground, GroundActor, Ship, Trees
|
||||
Warhead@3EffWater: CreateEffect
|
||||
Explosions: water_piff
|
||||
ValidTargets: Water, Underwater
|
||||
InvalidTargets: Ship, Structure, Bridge
|
||||
|
||||
ParaBomb:
|
||||
ReloadDelay: 50
|
||||
ValidTargets: Ground, Water, GroundActor, WaterActor, Underwater, AirborneActor, Trees
|
||||
Warhead@1Dam_impact: SpreadDamage
|
||||
Spread: 1c0
|
||||
Damage: 15000
|
||||
Falloff: 1000, 368, 135, 50, 18, 7, 0
|
||||
ValidTargets: GroundActor, WaterActor, Underwater, AirborneActor, Trees
|
||||
Versus:
|
||||
Wood: 1000
|
||||
Concrete: 25
|
||||
DamageTypes: Prone50Percent, TriggerProne, FireDeath, Incendiary
|
||||
Warhead@3Smu_impact: LeaveSmudge
|
||||
SmudgeType: Scorch
|
||||
ValidTargets: Ground, Infantry
|
||||
Size: 1
|
||||
Warhead@4Eff_impact: CreateEffect
|
||||
Explosions: nuke
|
||||
ImpactSounds: kaboom1.aud
|
||||
ImpactActors: false
|
||||
ValidTargets: Ground, Water, Air
|
||||
Warhead@5Dam_areanuke1: SpreadDamage
|
||||
Spread: 2c0
|
||||
Damage: 6000
|
||||
Falloff: 1000, 368, 135, 50, 18, 7, 0
|
||||
Delay: 5
|
||||
ValidTargets: GroundActor, WaterActor, Underwater, AirborneActor, Trees
|
||||
Versus:
|
||||
Wood: 1000
|
||||
Concrete: 25
|
||||
DamageTypes: Prone50Percent, TriggerProne, FireDeath, Incendiary
|
||||
Warhead@7Smu_areanuke1: LeaveSmudge
|
||||
SmudgeType: Scorch
|
||||
ValidTargets: Ground, Infantry
|
||||
Size: 2
|
||||
Delay: 5
|
||||
Warhead@8Eff_areanuke1: CreateEffect
|
||||
ImpactSounds: kaboom22.aud
|
||||
Delay: 5
|
||||
ImpactActors: false
|
||||
Warhead@9Dam_areanuke2: SpreadDamage
|
||||
Spread: 3c0
|
||||
Damage: 6000
|
||||
Falloff: 1000, 368, 135, 50, 18, 7, 0
|
||||
Delay: 10
|
||||
ValidTargets: GroundActor, Trees, WaterActor, Underwater, AirborneActor
|
||||
Versus:
|
||||
Wood: 50
|
||||
Tree: 200
|
||||
Concrete: 25
|
||||
DamageTypes: Prone50Percent, TriggerProne, FireDeath, Incendiary
|
||||
Warhead@12Smu_areanuke2: LeaveSmudge
|
||||
SmudgeType: Scorch
|
||||
ValidTargets: Ground, Infantry
|
||||
Size: 3
|
||||
Delay: 10
|
||||
@@ -32,6 +32,7 @@ Counterstrike:
|
||||
Aftermath:
|
||||
production-disruption
|
||||
monster-tank-madness
|
||||
situation-critical
|
||||
OpenRA Originals:
|
||||
evacuation
|
||||
exodus
|
||||
|
||||
Reference in New Issue
Block a user