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/cnc/maps/nod03b/map.bin
Normal file
BIN
mods/cnc/maps/nod03b/map.bin
Normal file
Binary file not shown.
7
mods/cnc/maps/nod03b/map.ftl
Normal file
7
mods/cnc/maps/nod03b/map.ftl
Normal file
@@ -0,0 +1,7 @@
|
||||
## rules.yaml
|
||||
briefing =
|
||||
GDI has established a prison camp, where they are detaining some of the local political leaders.
|
||||
|
||||
Kane wishes to liberate these victims.
|
||||
|
||||
Destroy the GDI forces and capture the prison, do not destroy it.
|
||||
BIN
mods/cnc/maps/nod03b/map.png
Normal file
BIN
mods/cnc/maps/nod03b/map.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
480
mods/cnc/maps/nod03b/map.yaml
Normal file
480
mods/cnc/maps/nod03b/map.yaml
Normal file
@@ -0,0 +1,480 @@
|
||||
MapFormat: 12
|
||||
|
||||
RequiresMod: cnc
|
||||
|
||||
Title: 03b: Sudanese Prison Break
|
||||
|
||||
Author: Westwood Studios
|
||||
|
||||
Tileset: DESERT
|
||||
|
||||
MapSize: 64,64
|
||||
|
||||
Bounds: 13,16,42,34
|
||||
|
||||
Visibility: MissionSelector
|
||||
|
||||
Categories: Campaign
|
||||
|
||||
LockPreview: True
|
||||
|
||||
Players:
|
||||
PlayerReference@Neutral:
|
||||
Name: Neutral
|
||||
OwnsWorld: True
|
||||
NonCombatant: True
|
||||
Faction: gdi
|
||||
PlayerReference@GDI:
|
||||
Name: GDI
|
||||
Bot: campaign
|
||||
Faction: gdi
|
||||
Color: F5D378
|
||||
Allies: GDI
|
||||
Enemies: Nod
|
||||
PlayerReference@Nod:
|
||||
Name: Nod
|
||||
AllowBots: False
|
||||
Playable: True
|
||||
Required: True
|
||||
LockFaction: True
|
||||
Faction: nod
|
||||
LockColor: True
|
||||
Color: FE1100
|
||||
LockSpawn: True
|
||||
LockTeam: True
|
||||
Allies: Nod
|
||||
Enemies: GDI
|
||||
|
||||
Actors:
|
||||
Actor117: e1
|
||||
Location: 41,21
|
||||
Owner: GDI
|
||||
Facing: 768
|
||||
SubCell: 0
|
||||
Actor118: e1
|
||||
Location: 48,21
|
||||
Owner: GDI
|
||||
Facing: 768
|
||||
SubCell: 4
|
||||
Actor119: e2
|
||||
Location: 27,25
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 0
|
||||
Actor120: e2
|
||||
Location: 36,30
|
||||
Owner: GDI
|
||||
Facing: 256
|
||||
SubCell: 4
|
||||
Actor121: e2
|
||||
Location: 41,39
|
||||
Owner: GDI
|
||||
Facing: 256
|
||||
SubCell: 1
|
||||
Actor122: e2
|
||||
Location: 42,49
|
||||
Owner: GDI
|
||||
Facing: 128
|
||||
SubCell: 0
|
||||
Actor123: e2
|
||||
Location: 43,26
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 1
|
||||
Actor111: e1
|
||||
Location: 34,31
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
SubCell: 4
|
||||
Actor106: e1
|
||||
Location: 40,22
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 2
|
||||
Actor107: e1
|
||||
Location: 40,21
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor108: e1
|
||||
Location: 36,33
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor109: e1
|
||||
Location: 34,24
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
SubCell: 3
|
||||
Actor86: e1
|
||||
Location: 51,21
|
||||
Owner: GDI
|
||||
Facing: 640
|
||||
SubCell: 0
|
||||
Actor87: e1
|
||||
Location: 16,39
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor88: e1
|
||||
Location: 20,28
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 2
|
||||
Actor89: e1
|
||||
Location: 19,21
|
||||
Owner: GDI
|
||||
SubCell: 1
|
||||
Facing: 512
|
||||
Actor90: e1
|
||||
Location: 30,43
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
SubCell: 1
|
||||
Actor91: e1
|
||||
Location: 30,43
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
SubCell: 4
|
||||
Actor92: e1
|
||||
Location: 34,32
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 4
|
||||
Actor93: e1
|
||||
Location: 23,35
|
||||
Owner: GDI
|
||||
SubCell: 0
|
||||
Actor94: e1
|
||||
Location: 17,32
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
SubCell: 1
|
||||
Actor95: e1
|
||||
Location: 24,43
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
SubCell: 0
|
||||
Actor96: e1
|
||||
Location: 15,37
|
||||
Owner: GDI
|
||||
Facing: 256
|
||||
SubCell: 1
|
||||
Actor97: e1
|
||||
Location: 24,30
|
||||
Owner: GDI
|
||||
Facing: 256
|
||||
SubCell: 3
|
||||
Actor98: e1
|
||||
Location: 35,27
|
||||
Owner: GDI
|
||||
SubCell: 2
|
||||
Actor82: e1
|
||||
Location: 25,43
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
SubCell: 0
|
||||
Actor0: sbag
|
||||
Location: 30,22
|
||||
Owner: Neutral
|
||||
Actor1: sbag
|
||||
Location: 29,22
|
||||
Owner: Neutral
|
||||
Actor2: sbag
|
||||
Location: 28,22
|
||||
Owner: Neutral
|
||||
Actor3: sbag
|
||||
Location: 30,21
|
||||
Owner: Neutral
|
||||
Actor4: sbag
|
||||
Location: 17,21
|
||||
Owner: Neutral
|
||||
Actor5: sbag
|
||||
Location: 16,21
|
||||
Owner: Neutral
|
||||
Actor6: sbag
|
||||
Location: 14,21
|
||||
Owner: Neutral
|
||||
Actor7: sbag
|
||||
Location: 13,21
|
||||
Owner: Neutral
|
||||
Actor8: sbag
|
||||
Location: 30,20
|
||||
Owner: Neutral
|
||||
Actor9: sbag
|
||||
Location: 17,20
|
||||
Owner: Neutral
|
||||
Actor10: sbag
|
||||
Location: 13,20
|
||||
Owner: Neutral
|
||||
Actor11: sbag
|
||||
Location: 30,19
|
||||
Owner: Neutral
|
||||
Actor12: sbag
|
||||
Location: 17,19
|
||||
Owner: Neutral
|
||||
Actor13: sbag
|
||||
Location: 13,19
|
||||
Owner: Neutral
|
||||
Actor14: sbag
|
||||
Location: 30,18
|
||||
Owner: Neutral
|
||||
Actor15: sbag
|
||||
Location: 17,18
|
||||
Owner: Neutral
|
||||
Actor16: sbag
|
||||
Location: 13,18
|
||||
Owner: Neutral
|
||||
Actor17: sbag
|
||||
Location: 30,17
|
||||
Owner: Neutral
|
||||
Actor18: sbag
|
||||
Location: 17,17
|
||||
Owner: Neutral
|
||||
Actor19: sbag
|
||||
Location: 13,17
|
||||
Owner: Neutral
|
||||
Actor20: sbag
|
||||
Location: 30,16
|
||||
Owner: Neutral
|
||||
Actor21: sbag
|
||||
Location: 29,16
|
||||
Owner: Neutral
|
||||
Actor22: sbag
|
||||
Location: 28,16
|
||||
Owner: Neutral
|
||||
Actor23: sbag
|
||||
Location: 27,16
|
||||
Owner: Neutral
|
||||
Actor24: sbag
|
||||
Location: 26,16
|
||||
Owner: Neutral
|
||||
Actor25: sbag
|
||||
Location: 25,16
|
||||
Owner: Neutral
|
||||
Actor26: sbag
|
||||
Location: 24,16
|
||||
Owner: Neutral
|
||||
Actor27: sbag
|
||||
Location: 23,16
|
||||
Owner: Neutral
|
||||
Actor28: sbag
|
||||
Location: 22,16
|
||||
Owner: Neutral
|
||||
Actor29: sbag
|
||||
Location: 21,16
|
||||
Owner: Neutral
|
||||
Actor30: sbag
|
||||
Location: 20,16
|
||||
Owner: Neutral
|
||||
Actor31: sbag
|
||||
Location: 19,16
|
||||
Owner: Neutral
|
||||
Actor32: sbag
|
||||
Location: 18,16
|
||||
Owner: Neutral
|
||||
Actor33: sbag
|
||||
Location: 17,16
|
||||
Owner: Neutral
|
||||
Actor34: sbag
|
||||
Location: 16,16
|
||||
Owner: Neutral
|
||||
Actor35: sbag
|
||||
Location: 15,16
|
||||
Owner: Neutral
|
||||
Actor36: sbag
|
||||
Location: 14,16
|
||||
Owner: Neutral
|
||||
Actor37: sbag
|
||||
Location: 13,16
|
||||
Owner: Neutral
|
||||
Actor38: t08
|
||||
Location: 35,39
|
||||
Owner: Neutral
|
||||
Actor39: t18
|
||||
Location: 33,38
|
||||
Owner: Neutral
|
||||
Actor40: t08
|
||||
Location: 39,27
|
||||
Owner: Neutral
|
||||
Actor41: t08
|
||||
Location: 47,24
|
||||
Owner: Neutral
|
||||
Actor42: t18
|
||||
Location: 45,24
|
||||
Owner: Neutral
|
||||
Actor43: t08
|
||||
Location: 35,33
|
||||
Owner: Neutral
|
||||
Actor44: t08
|
||||
Location: 39,36
|
||||
Owner: Neutral
|
||||
Actor45: t08
|
||||
Location: 39,21
|
||||
Owner: Neutral
|
||||
Actor46: t08
|
||||
Location: 42,21
|
||||
Owner: Neutral
|
||||
Actor47: t08
|
||||
Location: 27,31
|
||||
Owner: Neutral
|
||||
Actor48: t08
|
||||
Location: 15,39
|
||||
Owner: Neutral
|
||||
Actor49: t18
|
||||
Location: 15,42
|
||||
Owner: Neutral
|
||||
Actor50: t18
|
||||
Location: 13,37
|
||||
Owner: Neutral
|
||||
Base4: silo
|
||||
Location: 23,17
|
||||
Owner: GDI
|
||||
Base1: silo
|
||||
Location: 18,17
|
||||
Owner: GDI
|
||||
Base3: pyle
|
||||
Location: 23,19
|
||||
Owner: GDI
|
||||
Base5: nuke
|
||||
Location: 25,17
|
||||
Owner: GDI
|
||||
Base6: fact
|
||||
Location: 27,17
|
||||
Owner: GDI
|
||||
Base7: gtwr
|
||||
Location: 18,23
|
||||
Owner: GDI
|
||||
Actor57: v20
|
||||
Location: 13,38
|
||||
Owner: Neutral
|
||||
Actor58: v21
|
||||
Location: 13,40
|
||||
Owner: Neutral
|
||||
Actor59: v22
|
||||
Location: 18,40
|
||||
Owner: Neutral
|
||||
Actor60: v24
|
||||
Location: 15,37
|
||||
Owner: Neutral
|
||||
Actor61: v25
|
||||
Location: 17,41
|
||||
Owner: Neutral
|
||||
Actor62: v19
|
||||
Location: 28,41
|
||||
Owner: Neutral
|
||||
Base2: proc
|
||||
Location: 20,17
|
||||
Owner: GDI
|
||||
Actor65: v19
|
||||
Location: 29,41
|
||||
Owner: Neutral
|
||||
Actor67: v19
|
||||
Location: 30,42
|
||||
Owner: Neutral
|
||||
Actor68: v19
|
||||
Location: 29,42
|
||||
Owner: Neutral
|
||||
Humvee1: jeep
|
||||
Location: 28,21
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
Actor73: jeep
|
||||
Location: 35,30
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
Actor74: jeep
|
||||
Location: 32,36
|
||||
Owner: GDI
|
||||
Facing: 384
|
||||
Humvee2: jeep
|
||||
Location: 29,21
|
||||
Owner: GDI
|
||||
Facing: 512
|
||||
Actor77: jeep
|
||||
Location: 47,21
|
||||
Owner: GDI
|
||||
Facing: 640
|
||||
Actor101: c1
|
||||
Location: 16,36
|
||||
Owner: Neutral
|
||||
Facing: 768
|
||||
SubCell: 4
|
||||
Actor102: c3
|
||||
Location: 17,40
|
||||
Owner: Neutral
|
||||
Facing: 896
|
||||
SubCell: 2
|
||||
Actor103: c5
|
||||
Location: 16,40
|
||||
Owner: Neutral
|
||||
Facing: 896
|
||||
SubCell: 1
|
||||
Actor104: c6
|
||||
Location: 14,36
|
||||
Owner: Neutral
|
||||
Health: 60
|
||||
SubCell: 4
|
||||
Actor105: c7
|
||||
Location: 18,38
|
||||
Owner: Neutral
|
||||
Facing: 896
|
||||
SubCell: 4
|
||||
TechCenter: miss
|
||||
Location: 14,17
|
||||
Owner: GDI
|
||||
McvEntry: waypoint
|
||||
Location: 54,38
|
||||
Owner: Neutral
|
||||
McvDeploy: waypoint
|
||||
Location: 52,36
|
||||
Owner: Neutral
|
||||
NodEntry: waypoint
|
||||
Location: 54,40
|
||||
Owner: Neutral
|
||||
NodRallypoint: waypoint
|
||||
Location: 50,42
|
||||
Owner: Neutral
|
||||
PlayerBase: waypoint
|
||||
Location: 50,39
|
||||
Owner: Neutral
|
||||
WP9: waypoint
|
||||
Location: 48,32
|
||||
Owner: Neutral
|
||||
WP8: waypoint
|
||||
Location: 41,23
|
||||
Owner: Neutral
|
||||
WP7: waypoint
|
||||
Location: 44,30
|
||||
Owner: Neutral
|
||||
WP6: waypoint
|
||||
Location: 41,38
|
||||
Owner: Neutral
|
||||
WP5: waypoint
|
||||
Location: 30,36
|
||||
Owner: Neutral
|
||||
WP4: waypoint
|
||||
Location: 48,47
|
||||
Owner: Neutral
|
||||
WP3: waypoint
|
||||
Location: 31,47
|
||||
Owner: Neutral
|
||||
WP2: waypoint
|
||||
Location: 24,44
|
||||
Owner: Neutral
|
||||
WP1: waypoint
|
||||
Location: 25,32
|
||||
Owner: Neutral
|
||||
WP0: waypoint
|
||||
Location: 24,22
|
||||
Owner: Neutral
|
||||
CellTrigA: waypoint
|
||||
Location: 43,28
|
||||
Owner: Neutral
|
||||
CellTrigB: waypoint
|
||||
Location: 37,49
|
||||
Owner: Neutral
|
||||
GDIBarracksSpawn: waypoint
|
||||
Location: 23,20
|
||||
Owner: Neutral
|
||||
|
||||
Rules: cnc|rules/campaign-maprules.yaml, cnc|rules/campaign-tooltips.yaml, cnc|rules/campaign-palettes.yaml, rules.yaml
|
||||
|
||||
FluentMessages: cnc|fluent/lua.ftl, cnc|fluent/campaign.ftl, map.ftl
|
||||
103
mods/cnc/maps/nod03b/nod03b.lua
Normal file
103
mods/cnc/maps/nod03b/nod03b.lua
Normal file
@@ -0,0 +1,103 @@
|
||||
--[[
|
||||
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.
|
||||
]]
|
||||
|
||||
NodUnits = { "e1", "e1", "bggy", "bike", "e1", "e1", "bike", "bggy", "e1", "e1" }
|
||||
Engineers = { "e6", "e6", "e6" }
|
||||
FirstAttackWaveUnits = { "e1", "e1", "e2" }
|
||||
SecondAttackWaveUnits = { "e1", "e1", "e1" }
|
||||
ThirdAttackWaveUnits = { "e1", "e1", "e1", "e2" }
|
||||
GDIBase = { Base1, Base2, Base3, Base4, Base5, Base6, Base7 }
|
||||
Humvees = { Humvee1, Humvee2 }
|
||||
HumveeFootprint = { CPos.New(22,26), CPos.New(23,26), CPos.New(24,26), CPos.New(34,25), CPos.New(35,25) }
|
||||
|
||||
SendAttackWave = function(units, action)
|
||||
Reinforcements.Reinforce(GDI, units, { GDIBarracksSpawn.Location, WP0.Location, WP1.Location }, 15, action)
|
||||
end
|
||||
|
||||
FirstAttackWave = function(soldier)
|
||||
soldier.AttackMove(WP2.Location)
|
||||
soldier.AttackMove(WP3.Location)
|
||||
soldier.AttackMove(WP4.Location)
|
||||
soldier.AttackMove(PlayerBase.Location)
|
||||
end
|
||||
|
||||
SecondAttackWave = function(soldier)
|
||||
soldier.AttackMove(WP5.Location)
|
||||
soldier.AttackMove(WP6.Location)
|
||||
soldier.AttackMove(WP7.Location)
|
||||
soldier.AttackMove(WP9.Location)
|
||||
soldier.AttackMove(PlayerBase.Location)
|
||||
end
|
||||
|
||||
WorldLoaded = function()
|
||||
Nod = Player.GetPlayer("Nod")
|
||||
GDI = Player.GetPlayer("GDI")
|
||||
|
||||
InitObjectives(Nod)
|
||||
|
||||
CapturePrison = AddPrimaryObjective(Nod, "capture-prison")
|
||||
DestroyGDI = AddSecondaryObjective(Nod, "destroy-gdi-forces")
|
||||
|
||||
Trigger.OnKilled(TechCenter, function()
|
||||
Nod.MarkFailedObjective(CapturePrison)
|
||||
end)
|
||||
|
||||
Trigger.OnCapture(TechCenter, function()
|
||||
Trigger.AfterDelay(DateTime.Seconds(2), function()
|
||||
Nod.MarkCompletedObjective(CapturePrison)
|
||||
end)
|
||||
end)
|
||||
|
||||
Media.PlaySpeechNotification(Nod, "Reinforce")
|
||||
Reinforcements.Reinforce(Nod, { "mcv" }, { McvEntry.Location, McvDeploy.Location })
|
||||
Reinforcements.Reinforce(Nod, NodUnits, { NodEntry.Location, NodRallypoint.Location })
|
||||
Trigger.AfterDelay(DateTime.Seconds(15), function()
|
||||
Media.PlaySpeechNotification(Nod, "Reinforce")
|
||||
Reinforcements.Reinforce(Nod, Engineers, { McvEntry.Location, PlayerBase.Location })
|
||||
end)
|
||||
|
||||
Trigger.AfterDelay(DateTime.Seconds(40), function() SendAttackWave(FirstAttackWaveUnits, FirstAttackWave) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(80), function() SendAttackWave(SecondAttackWaveUnits, SecondAttackWave) end)
|
||||
Trigger.AfterDelay(DateTime.Seconds(140), function() SendAttackWave(ThirdAttackWaveUnits, FirstAttackWave) end)
|
||||
|
||||
local humveeTriggered
|
||||
Trigger.OnEnteredFootprint(HumveeFootprint, function(actor, id)
|
||||
if actor.Owner == Nod and not humveeTriggered then
|
||||
Trigger.RemoveFootprintTrigger(id)
|
||||
humveeTriggered = true
|
||||
|
||||
Utils.Do(Humvees, function(a)
|
||||
if not a.IsDead then
|
||||
IdleHunt(a)
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
Trigger.OnAnyKilled(GDIBase, function()
|
||||
if not BaseAttacked then
|
||||
BaseAttacked = true
|
||||
Utils.Do(GDI.GetGroundAttackers(), function(unit)
|
||||
IdleHunt(unit)
|
||||
end)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
Tick = function()
|
||||
if DateTime.GameTime > 2 then
|
||||
if Nod.HasNoRequiredUnits() then
|
||||
Nod.MarkFailedObjective(CapturePrison)
|
||||
end
|
||||
|
||||
if GDI.HasNoRequiredUnits() then
|
||||
Nod.MarkCompletedObjective(DestroyGDI)
|
||||
end
|
||||
end
|
||||
end
|
||||
101
mods/cnc/maps/nod03b/rules.yaml
Normal file
101
mods/cnc/maps/nod03b/rules.yaml
Normal file
@@ -0,0 +1,101 @@
|
||||
World:
|
||||
LuaScript:
|
||||
Scripts: campaign.lua, utils.lua, nod03b.lua
|
||||
MusicPlaylist:
|
||||
StartingMusic: chrg226m
|
||||
VictoryMusic: nod_win1
|
||||
MissionData:
|
||||
Briefing: briefing
|
||||
BriefingVideo: nod3.vqa
|
||||
StartVideo: dessweep.vqa
|
||||
WinVideo: desflees.vqa
|
||||
LossVideo: flag.vqa
|
||||
|
||||
Player:
|
||||
PlayerResources:
|
||||
DefaultCash: 4000
|
||||
|
||||
HQ:
|
||||
AirstrikePower:
|
||||
Prerequisites: ~disabled
|
||||
Buildable:
|
||||
Description: actor-hq-description
|
||||
|
||||
CYCL:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
NUK2:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
AFLD:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
HPAD:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
FIX:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
TMPL:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
GUN:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
SAM:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
OBLI:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
GTWR:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
SBAG:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
BRIK:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
WEAP:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
EYE:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
ATWR:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
E4:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
E5:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
RMBO:
|
||||
Buildable:
|
||||
Prerequisites: ~disabled
|
||||
|
||||
MISS:
|
||||
Tooltip:
|
||||
Name: actor-prison-name
|
||||
CaptureManager:
|
||||
Capturable:
|
||||
Types: building
|
||||
Reference in New Issue
Block a user