Initial commit: OpenRA game engine
Fork from OpenRA/OpenRA with one-click launch script (start-ra.cmd) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
BIN
mods/ra/maps/soviet-01/map.bin
Normal file
BIN
mods/ra/maps/soviet-01/map.bin
Normal file
Binary file not shown.
5
mods/ra/maps/soviet-01/map.ftl
Normal file
5
mods/ra/maps/soviet-01/map.ftl
Normal file
@@ -0,0 +1,5 @@
|
||||
## rules.yaml
|
||||
briefing =
|
||||
A pitiful excuse for resistance has barricaded itself in this village.
|
||||
|
||||
Stalin has decided to make an example of them. Kill them all and destroy their homes. You will have Yak aircraft to use to teach these rebels a lesson.
|
||||
BIN
mods/ra/maps/soviet-01/map.png
Normal file
BIN
mods/ra/maps/soviet-01/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
664
mods/ra/maps/soviet-01/map.yaml
Normal file
664
mods/ra/maps/soviet-01/map.yaml
Normal file
@@ -0,0 +1,664 @@
|
||||
MapFormat: 12
|
||||
|
||||
RequiresMod: ra
|
||||
|
||||
Title: 01: Lesson in Blood
|
||||
|
||||
Author: Westwood Studios
|
||||
|
||||
Tileset: SNOW
|
||||
|
||||
MapSize: 128,128
|
||||
|
||||
Bounds: 32,47,32,38
|
||||
|
||||
Visibility: MissionSelector
|
||||
|
||||
Categories: Campaign
|
||||
|
||||
LockPreview: True
|
||||
|
||||
Players:
|
||||
PlayerReference@France:
|
||||
Name: France
|
||||
Bot: campaign
|
||||
Faction: allies
|
||||
Color: 5CC1A3
|
||||
Allies: Germany
|
||||
Enemies: USSR
|
||||
PlayerReference@Germany:
|
||||
Name: Germany
|
||||
Bot: campaign
|
||||
NonCombatant: True
|
||||
Faction: allies
|
||||
Color: 505050
|
||||
Allies: France
|
||||
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: France, Germany
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
OwnsWorld: True
|
||||
NonCombatant: True
|
||||
Faction: allies
|
||||
|
||||
Actors:
|
||||
Actor0: wood
|
||||
Location: 44,50
|
||||
Owner: France
|
||||
Actor1: wood
|
||||
Location: 44,51
|
||||
Owner: France
|
||||
Actor2: wood
|
||||
Location: 44,52
|
||||
Owner: France
|
||||
Actor3: wood
|
||||
Location: 44,53
|
||||
Owner: France
|
||||
Actor4: wood
|
||||
Location: 45,53
|
||||
Owner: France
|
||||
Actor5: wood
|
||||
Location: 56,65
|
||||
Owner: France
|
||||
Actor6: v14
|
||||
Location: 54,66
|
||||
Owner: Neutral
|
||||
Actor7: v14
|
||||
Location: 55,66
|
||||
Owner: Neutral
|
||||
Actor8: wood
|
||||
Location: 56,66
|
||||
Owner: France
|
||||
Actor9: wood
|
||||
Location: 53,67
|
||||
Owner: France
|
||||
Actor10: wood
|
||||
Location: 55,67
|
||||
Owner: France
|
||||
Actor11: wood
|
||||
Location: 56,67
|
||||
Owner: France
|
||||
Actor12: wood
|
||||
Location: 45,69
|
||||
Owner: France
|
||||
Actor13: wood
|
||||
Location: 46,69
|
||||
Owner: France
|
||||
Actor14: wood
|
||||
Location: 47,69
|
||||
Owner: France
|
||||
Actor15: wood
|
||||
Location: 45,70
|
||||
Owner: France
|
||||
Actor16: wood
|
||||
Location: 51,70
|
||||
Owner: France
|
||||
Actor17: wood
|
||||
Location: 53,71
|
||||
Owner: France
|
||||
Actor18: wood
|
||||
Location: 52,72
|
||||
Owner: France
|
||||
Actor19: wood
|
||||
Location: 53,72
|
||||
Owner: France
|
||||
Actor20: t16
|
||||
Location: 53,52
|
||||
Owner: Neutral
|
||||
Actor21: tc03
|
||||
Location: 60,61
|
||||
Owner: Neutral
|
||||
Actor22: tc01
|
||||
Location: 48,47
|
||||
Owner: Neutral
|
||||
Actor24: t01
|
||||
Location: 49,74
|
||||
Owner: Neutral
|
||||
Actor25: t14
|
||||
Location: 60,69
|
||||
Owner: Neutral
|
||||
Actor26: t16
|
||||
Location: 59,72
|
||||
Owner: Neutral
|
||||
Actor27: t14
|
||||
Location: 60,72
|
||||
Owner: Neutral
|
||||
Actor28: t07
|
||||
Location: 62,72
|
||||
Owner: Neutral
|
||||
Actor29: t10
|
||||
Location: 54,74
|
||||
Owner: Neutral
|
||||
Actor30: tc02
|
||||
Location: 46,49
|
||||
Owner: Neutral
|
||||
Actor31: t01
|
||||
Location: 53,57
|
||||
Owner: Neutral
|
||||
Actor32: tc05
|
||||
Location: 41,51
|
||||
Owner: Neutral
|
||||
Actor33: t06
|
||||
Location: 44,53
|
||||
Owner: Neutral
|
||||
Actor34: t01
|
||||
Location: 44,70
|
||||
Owner: Neutral
|
||||
Actor35: t16
|
||||
Location: 52,72
|
||||
Owner: Neutral
|
||||
Actor36: tc02
|
||||
Location: 32,51
|
||||
Owner: Neutral
|
||||
Actor37: tc04
|
||||
Location: 32,55
|
||||
Owner: Neutral
|
||||
Actor38: tc05
|
||||
Location: 32,60
|
||||
Owner: Neutral
|
||||
Actor39: tc02
|
||||
Location: 42,57
|
||||
Owner: Neutral
|
||||
Actor40: tc02
|
||||
Location: 43,68
|
||||
Owner: Neutral
|
||||
Actor41: tc01
|
||||
Location: 42,67
|
||||
Owner: Neutral
|
||||
Actor42: tc04
|
||||
Location: 32,72
|
||||
Owner: Neutral
|
||||
Actor43: tc03
|
||||
Location: 51,77
|
||||
Owner: Neutral
|
||||
Actor44: tc01
|
||||
Location: 39,72
|
||||
Owner: Neutral
|
||||
Actor45: t17
|
||||
Location: 35,76
|
||||
Owner: Neutral
|
||||
Actor46: t15
|
||||
Location: 59,75
|
||||
Owner: Neutral
|
||||
Actor47: tc03
|
||||
Location: 35,65
|
||||
Owner: Neutral
|
||||
Actor48: t01
|
||||
Location: 35,56
|
||||
Owner: Neutral
|
||||
Actor49: t10
|
||||
Location: 47,59
|
||||
Owner: Neutral
|
||||
Actor50: t08
|
||||
Location: 48,64
|
||||
Owner: Neutral
|
||||
Actor51: barl
|
||||
Location: 33,54
|
||||
Owner: Germany
|
||||
Actor52: brl3
|
||||
Location: 57,53
|
||||
Owner: Germany
|
||||
Actor53: v08
|
||||
Location: 41,54
|
||||
Owner: France
|
||||
Health: 52
|
||||
HayHouse: v07
|
||||
Location: 54,65
|
||||
Owner: France
|
||||
Health: 44
|
||||
Actor55: v07
|
||||
Location: 38,52
|
||||
Owner: France
|
||||
Health: 44
|
||||
Actor56: v06
|
||||
Location: 46,51
|
||||
Owner: France
|
||||
Health: 99
|
||||
Actor57: v05
|
||||
Location: 36,55
|
||||
Owner: France
|
||||
Health: 50
|
||||
Actor58: v04
|
||||
Location: 35,51
|
||||
Owner: France
|
||||
Health: 35
|
||||
Actor59: v02
|
||||
Location: 36,57
|
||||
Owner: France
|
||||
Health: 56
|
||||
Actor60: brl3
|
||||
Location: 34,52
|
||||
Owner: Germany
|
||||
Actor61: barl
|
||||
Location: 57,54
|
||||
Owner: Germany
|
||||
Actor62: barl
|
||||
Location: 55,54
|
||||
Owner: Germany
|
||||
Actor63: brl3
|
||||
Location: 51,72
|
||||
Owner: Germany
|
||||
Actor64: brl3
|
||||
Location: 51,71
|
||||
Owner: Germany
|
||||
Actor65: brl3
|
||||
Location: 47,71
|
||||
Owner: Germany
|
||||
BridgeBarrel: barl
|
||||
Location: 46,71
|
||||
Owner: Germany
|
||||
Actor67: barl
|
||||
Location: 47,70
|
||||
Owner: Germany
|
||||
Actor68: brl3
|
||||
Location: 43,50
|
||||
Owner: Germany
|
||||
Actor69: brl3
|
||||
Location: 45,52
|
||||
Owner: Germany
|
||||
Actor70: barl
|
||||
Location: 41,51
|
||||
Owner: France
|
||||
Actor71: barl
|
||||
Location: 50,72
|
||||
Owner: Germany
|
||||
Actor72: barl
|
||||
Location: 42,50
|
||||
Owner: Germany
|
||||
Actor75: barl
|
||||
Location: 56,53
|
||||
Owner: Germany
|
||||
Actor76: barl
|
||||
Location: 58,53
|
||||
Owner: Germany
|
||||
Actor77: brl3
|
||||
Location: 59,53
|
||||
Owner: Germany
|
||||
Actor78: brl3
|
||||
Location: 54,53
|
||||
Owner: Germany
|
||||
Actor79: barl
|
||||
Location: 59,56
|
||||
Owner: Germany
|
||||
Actor80: brl3
|
||||
Location: 48,66
|
||||
Owner: Germany
|
||||
Actor81: barl
|
||||
Location: 45,65
|
||||
Owner: Germany
|
||||
Actor82: barl
|
||||
Location: 34,57
|
||||
Owner: Germany
|
||||
Actor83: brl3
|
||||
Location: 35,58
|
||||
Owner: Germany
|
||||
Actor84: barl
|
||||
Location: 46,67
|
||||
Owner: Germany
|
||||
Actor85: barl
|
||||
Location: 48,67
|
||||
Owner: Germany
|
||||
Actor86: brl3
|
||||
Location: 38,65
|
||||
Owner: Germany
|
||||
Actor87: barl
|
||||
Location: 40,52
|
||||
Owner: Germany
|
||||
Actor88: barl
|
||||
Location: 39,64
|
||||
Owner: Germany
|
||||
Actor89: brl3
|
||||
Location: 41,53
|
||||
Owner: Germany
|
||||
Actor90: brl3
|
||||
Location: 46,66
|
||||
Owner: Germany
|
||||
Actor94: barl
|
||||
Location: 35,56
|
||||
Owner: Germany
|
||||
Actor95: brl3
|
||||
Location: 38,64
|
||||
Owner: Germany
|
||||
Actor96: brl3
|
||||
Location: 34,55
|
||||
Owner: Germany
|
||||
Actor97: barl
|
||||
Location: 35,55
|
||||
Owner: Germany
|
||||
Actor98: barl
|
||||
Location: 45,50
|
||||
Owner: Germany
|
||||
ParaHut: v04
|
||||
Location: 58,54
|
||||
Owner: France
|
||||
Health: 41
|
||||
Actor100: v02
|
||||
Location: 56,54
|
||||
Owner: France
|
||||
Health: 71
|
||||
Actor101: dome
|
||||
Location: 45,79
|
||||
Owner: USSR
|
||||
Actor102: barl
|
||||
Location: 46,61
|
||||
Owner: Germany
|
||||
Actor103: brl3
|
||||
Location: 43,66
|
||||
Owner: Germany
|
||||
Actor104: barl
|
||||
Location: 43,67
|
||||
Owner: Germany
|
||||
Actor105: brl3
|
||||
Location: 59,57
|
||||
Owner: Germany
|
||||
Actor106: barl
|
||||
Location: 57,58
|
||||
Owner: Germany
|
||||
Actor107: barl
|
||||
Location: 58,58
|
||||
Owner: Germany
|
||||
Actor108: brl3
|
||||
Location: 59,58
|
||||
Owner: Germany
|
||||
Actor109: brl3
|
||||
Location: 56,58
|
||||
Owner: Germany
|
||||
Actor110: barl
|
||||
Location: 56,59
|
||||
Owner: Germany
|
||||
Actor111: barl
|
||||
Location: 56,60
|
||||
Owner: Germany
|
||||
Actor112: barl
|
||||
Location: 41,68
|
||||
Owner: Germany
|
||||
Actor113: barl
|
||||
Location: 42,67
|
||||
Owner: Germany
|
||||
Actor114: brl3
|
||||
Location: 49,55
|
||||
Owner: Germany
|
||||
PillboxBarrel2: barl
|
||||
Location: 48,55
|
||||
Owner: Germany
|
||||
Actor116: barl
|
||||
Location: 47,56
|
||||
Owner: Germany
|
||||
PillboxBarrel1: brl3
|
||||
Location: 46,56
|
||||
Owner: Germany
|
||||
Pillbox1: pbox
|
||||
Location: 46,55
|
||||
Owner: France
|
||||
Pillbox2: pbox
|
||||
Location: 48,54
|
||||
Owner: France
|
||||
Actor120: barl
|
||||
Location: 34,51
|
||||
Owner: Germany
|
||||
Actor121: v05
|
||||
Location: 48,62
|
||||
Owner: France
|
||||
Health: 41
|
||||
Actor123: jeep
|
||||
Location: 46,52
|
||||
Owner: France
|
||||
Health: 66
|
||||
Facing: 384
|
||||
Actor125: jeep
|
||||
Location: 55,57
|
||||
Owner: France
|
||||
Facing: 640
|
||||
Actor126: jeep
|
||||
Location: 39,65
|
||||
Owner: France
|
||||
Health: 63
|
||||
Facing: 256
|
||||
Actor127: c9
|
||||
Location: 50,64
|
||||
Owner: France
|
||||
Facing: 768
|
||||
SubCell: 1
|
||||
Actor128: c8
|
||||
Location: 47,61
|
||||
Owner: France
|
||||
SubCell: 3
|
||||
Actor129: c8
|
||||
Location: 41,50
|
||||
Owner: France
|
||||
Facing: 896
|
||||
SubCell: 3
|
||||
Actor130: c6
|
||||
Location: 46,61
|
||||
Owner: France
|
||||
Facing: 512
|
||||
SubCell: 2
|
||||
Actor131: c5
|
||||
Location: 46,61
|
||||
Owner: France
|
||||
SubCell: 1
|
||||
Actor132: c4
|
||||
Location: 44,67
|
||||
Owner: France
|
||||
Facing: 384
|
||||
SubCell: 1
|
||||
Actor133: c2
|
||||
Location: 40,54
|
||||
Owner: France
|
||||
Facing: 640
|
||||
SubCell: 2
|
||||
Actor134: c2
|
||||
Location: 45,61
|
||||
Owner: France
|
||||
Facing: 256
|
||||
SubCell: 4
|
||||
Actor135: e1
|
||||
Location: 54,60
|
||||
Owner: France
|
||||
Facing: 640
|
||||
SubCell: 4
|
||||
Actor136: e1
|
||||
Location: 49,60
|
||||
Owner: France
|
||||
Facing: 512
|
||||
SubCell: 2
|
||||
Actor137: c5
|
||||
Location: 45,51
|
||||
Owner: France
|
||||
Facing: 896
|
||||
SubCell: 0
|
||||
Actor138: e1
|
||||
Location: 34,58
|
||||
Owner: France
|
||||
Facing: 384
|
||||
SubCell: 0
|
||||
Actor139: e1
|
||||
Location: 53,54
|
||||
Owner: France
|
||||
Facing: 512
|
||||
SubCell: 2
|
||||
Actor140: e1
|
||||
Location: 58,56
|
||||
Owner: France
|
||||
Facing: 512
|
||||
SubCell: 1
|
||||
Actor141: e1
|
||||
Location: 58,52
|
||||
Owner: France
|
||||
Facing: 640
|
||||
SubCell: 0
|
||||
Actor142: e1
|
||||
Location: 54,64
|
||||
Owner: France
|
||||
Facing: 640
|
||||
SubCell: 3
|
||||
Actor143: c7
|
||||
Location: 56,54
|
||||
Owner: France
|
||||
SubCell: 3
|
||||
Actor144: e1
|
||||
Location: 40,51
|
||||
Owner: France
|
||||
Facing: 640
|
||||
SubCell: 0
|
||||
Actor145: e1
|
||||
Location: 35,53
|
||||
Owner: France
|
||||
Facing: 384
|
||||
SubCell: 1
|
||||
Actor146: e1
|
||||
Location: 35,54
|
||||
Owner: France
|
||||
SubCell: 4
|
||||
Actor147: e1
|
||||
Location: 43,64
|
||||
Owner: France
|
||||
Facing: 384
|
||||
SubCell: 0
|
||||
Actor148: e1
|
||||
Location: 56,63
|
||||
Owner: France
|
||||
Facing: 768
|
||||
SubCell: 2
|
||||
Actor149: e1
|
||||
Location: 40,67
|
||||
Owner: France
|
||||
Facing: 128
|
||||
SubCell: 4
|
||||
Church: v01
|
||||
Location: 40,63
|
||||
Owner: France
|
||||
Health: 54
|
||||
StartJeep: jeep
|
||||
Location: 44,76
|
||||
Owner: France
|
||||
Health: 52
|
||||
Facing: 128
|
||||
LonelyGuard: e1
|
||||
Location: 42,81
|
||||
Owner: USSR
|
||||
Health: 14
|
||||
SubCell: 2
|
||||
Airfield1: afld
|
||||
Location: 39,77
|
||||
Owner: USSR
|
||||
Airfield2: afld
|
||||
Location: 37,79
|
||||
Owner: USSR
|
||||
Airfield3: afld
|
||||
Location: 35,81
|
||||
Owner: USSR
|
||||
Powerplant1: powr
|
||||
Location: 43,82
|
||||
Owner: USSR
|
||||
Powerplant2: powr
|
||||
Location: 45,82
|
||||
Owner: USSR
|
||||
ParadropEntryPoint1: waypoint
|
||||
Location: 63,65
|
||||
Owner: Neutral
|
||||
ParadropPoint1: waypoint
|
||||
Location: 47,67
|
||||
Owner: Neutral
|
||||
StartJeepMovePoint: waypoint
|
||||
Location: 47,66
|
||||
Owner: Neutral
|
||||
BridgeWaypoint: waypoint
|
||||
Location: 47,70
|
||||
Owner: Neutral
|
||||
Flare: flare
|
||||
Location: 47,65
|
||||
Owner: France
|
||||
YakEntry: waypoint
|
||||
Location: 51,84
|
||||
Owner: Neutral
|
||||
CivSpawn: waypoint
|
||||
Location: 55,65
|
||||
Owner: Neutral
|
||||
Actor157: fenc
|
||||
Location: 34,76
|
||||
Owner: USSR
|
||||
Actor158: fenc
|
||||
Location: 35,76
|
||||
Owner: USSR
|
||||
Actor159: fenc
|
||||
Location: 39,76
|
||||
Owner: USSR
|
||||
Actor160: fenc
|
||||
Location: 40,76
|
||||
Owner: USSR
|
||||
Actor161: fenc
|
||||
Location: 41,76
|
||||
Owner: USSR
|
||||
Actor162: fenc
|
||||
Location: 47,76
|
||||
Owner: USSR
|
||||
Actor163: fenc
|
||||
Location: 48,76
|
||||
Owner: USSR
|
||||
Actor164: fenc
|
||||
Location: 49,76
|
||||
Owner: USSR
|
||||
Actor165: fenc
|
||||
Location: 34,77
|
||||
Owner: USSR
|
||||
Actor166: fenc
|
||||
Location: 49,77
|
||||
Owner: USSR
|
||||
Actor167: fenc
|
||||
Location: 34,78
|
||||
Owner: USSR
|
||||
Actor168: fenc
|
||||
Location: 49,78
|
||||
Owner: USSR
|
||||
Actor169: fenc
|
||||
Location: 32,79
|
||||
Owner: USSR
|
||||
Actor170: fenc
|
||||
Location: 33,79
|
||||
Owner: USSR
|
||||
Actor171: fenc
|
||||
Location: 34,79
|
||||
Owner: USSR
|
||||
Actor172: fenc
|
||||
Location: 49,79
|
||||
Owner: USSR
|
||||
Actor173: fenc
|
||||
Location: 48,80
|
||||
Owner: USSR
|
||||
Actor174: fenc
|
||||
Location: 49,80
|
||||
Owner: USSR
|
||||
Actor175: fenc
|
||||
Location: 48,81
|
||||
Owner: USSR
|
||||
Actor176: fenc
|
||||
Location: 48,82
|
||||
Owner: USSR
|
||||
Actor177: fenc
|
||||
Location: 48,83
|
||||
Owner: USSR
|
||||
Actor178: fenc
|
||||
Location: 48,84
|
||||
Owner: USSR
|
||||
Actor179: fenc
|
||||
Location: 35,86
|
||||
Owner: USSR
|
||||
Actor180: fenc
|
||||
Location: 36,86
|
||||
Owner: USSR
|
||||
|
||||
Rules: ra|rules/campaign-rules.yaml, ra|rules/campaign-tooltips.yaml, ra|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
FluentMessages: ra|fluent/lua.ftl, ra|fluent/campaign.ftl, map.ftl
|
||||
63
mods/ra/maps/soviet-01/rules.yaml
Normal file
63
mods/ra/maps/soviet-01/rules.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
World:
|
||||
LuaScript:
|
||||
Scripts: campaign.lua, utils.lua, soviet01.lua
|
||||
MissionData:
|
||||
Briefing: briefing
|
||||
BackgroundVideo: prolog.vqa
|
||||
BriefingVideo: soviet1.vqa
|
||||
StartVideo: flare.vqa
|
||||
WinVideo: snstrafe.vqa
|
||||
LossVideo: sfrozen.vqa
|
||||
|
||||
V01:
|
||||
SpawnActorOnDeath:
|
||||
Actor: healcrate
|
||||
|
||||
powerproxy.paratroopers:
|
||||
ParatroopersPower:
|
||||
DisplayBeacon: False
|
||||
DropItems: E1,E1,E1,E2,E2
|
||||
|
||||
^CivBuilding:
|
||||
MustBeDestroyed:
|
||||
|
||||
JEEP:
|
||||
FireWarheadsOnDeath:
|
||||
ProximityExternalCondition@JAMMER:
|
||||
Range: 10c0
|
||||
ValidRelationships: Enemy, Neutral
|
||||
Condition: jammed
|
||||
|
||||
YAK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
MIG:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
AFLD:
|
||||
AirstrikePower@spyplane:
|
||||
Prerequisites: ~disabled
|
||||
ParatroopersPower@paratroopers:
|
||||
Prerequisites: ~disabled
|
||||
-RallyPoint:
|
||||
CommandBarBlacklist:
|
||||
DisableStop: true
|
||||
-Sellable:
|
||||
Demolishable:
|
||||
-Condition:
|
||||
|
||||
DOME:
|
||||
CaptureManager:
|
||||
-BeingCapturedCondition:
|
||||
-Sellable:
|
||||
Demolishable:
|
||||
-Condition:
|
||||
|
||||
POWR:
|
||||
CaptureManager:
|
||||
-BeingCapturedCondition:
|
||||
-Sellable:
|
||||
Demolishable:
|
||||
-Condition:
|
||||
105
mods/ra/maps/soviet-01/soviet01.lua
Normal file
105
mods/ra/maps/soviet-01/soviet01.lua
Normal file
@@ -0,0 +1,105 @@
|
||||
--[[
|
||||
Copyright (c) The OpenRA Developers and Contributors
|
||||
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.
|
||||
]]
|
||||
Yaks = { "yak", "yak", "yak" }
|
||||
Airfields = { Airfield1, Airfield2, Airfield3 }
|
||||
|
||||
InsertYaks = function()
|
||||
local i = 1
|
||||
Utils.Do(Yaks, function(yakType)
|
||||
local start = YakEntry.CenterPosition + WVec.New(0, (i - 1) * 1536, Actor.CruiseAltitude(yakType))
|
||||
local dest = StartJeep.Location + CVec.New(0, 2 * i)
|
||||
local yak = Actor.Create(yakType, true, { CenterPosition = start, Owner = USSR, Facing = (Map.CenterOfCell(dest) - start).Facing })
|
||||
yak.Move(dest)
|
||||
yak.ReturnToBase(Airfields[i])
|
||||
i = i + 1
|
||||
end)
|
||||
end
|
||||
|
||||
JeepDemolishingBridge = function()
|
||||
StartJeep.Move(StartJeepMovePoint.Location)
|
||||
|
||||
Trigger.OnEnteredFootprint({ StartJeepMovePoint.Location }, function(actor, id)
|
||||
if actor.Owner == France and not BridgeBarrel.IsDead then
|
||||
Trigger.RemoveFootprintTrigger(id)
|
||||
BridgeBarrel.Kill()
|
||||
end
|
||||
|
||||
local bridge = Map.ActorsInBox(BridgeWaypoint.CenterPosition, Airfield1.CenterPosition,
|
||||
function(self) return self.Type == "bridge1" end)[1]
|
||||
|
||||
if not bridge.IsDead then
|
||||
bridge.Kill()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
Paratroopers = function()
|
||||
Trigger.OnKilled(StartJeep, function()
|
||||
Media.PlaySpeechNotification(USSR, "ReinforcementsArrived")
|
||||
Paradrop.TargetParatroopers(StartJeepMovePoint.CenterPosition, Angle.East)
|
||||
end)
|
||||
|
||||
Trigger.OnKilled(Church, function()
|
||||
Media.PlaySpeechNotification(USSR, "ReinforcementsArrived")
|
||||
Paradrop.TargetParatroopers(StartJeepMovePoint.CenterPosition, Angle.East)
|
||||
end)
|
||||
|
||||
Trigger.OnKilled(ParaHut, function()
|
||||
Media.PlaySpeechNotification(USSR, "ReinforcementsArrived")
|
||||
Paradrop.TargetParatroopers(StartJeepMovePoint.CenterPosition, Angle.East)
|
||||
end)
|
||||
end
|
||||
|
||||
PanicAttack = function()
|
||||
if not HouseDamaged then
|
||||
local panicTeam = Reinforcements.Reinforce(France, { "c3", "c6", "c9" }, { CivSpawn.Location }, 0)
|
||||
Utils.Do(panicTeam, function(a)
|
||||
a.Move(a.Location + CVec.New(-1,-1))
|
||||
a.Panic()
|
||||
end)
|
||||
end
|
||||
HouseDamaged = true
|
||||
end
|
||||
|
||||
WorldLoaded = function()
|
||||
USSR = Player.GetPlayer("USSR")
|
||||
France = Player.GetPlayer("France")
|
||||
Germany = Player.GetPlayer("Germany")
|
||||
|
||||
InitObjectives(USSR)
|
||||
|
||||
VillageRaidObjective = AddPrimaryObjective(USSR, "raze-village")
|
||||
|
||||
Trigger.OnAllRemovedFromWorld(Airfields, function()
|
||||
USSR.MarkFailedObjective(VillageRaidObjective)
|
||||
end)
|
||||
|
||||
JeepDemolishingBridge()
|
||||
|
||||
Paradrop = Actor.Create("powerproxy.paratroopers", false, { Owner = USSR })
|
||||
Trigger.AfterDelay(DateTime.Seconds(2), InsertYaks)
|
||||
Paratroopers()
|
||||
Trigger.OnDamaged(HayHouse, PanicAttack)
|
||||
Trigger.OnKilled(PillboxBarrel1, function()
|
||||
if not Pillbox1.IsDead then
|
||||
Pillbox1.Kill()
|
||||
end
|
||||
end)
|
||||
Trigger.OnKilled(PillboxBarrel2, function()
|
||||
if not Pillbox2.IsDead then
|
||||
Pillbox2.Kill()
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
if France.HasNoRequiredUnits() and Germany.HasNoRequiredUnits() then
|
||||
USSR.MarkCompletedObjective(VillageRaidObjective)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user