Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 18 additions & 9 deletions data/forcegenerator/faction_rules/CB.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
# MegaMek Data (C) 2025 by The MegaMek Team is licensed under CC BY-NC-SA 4.0.
# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0.
# To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/
#
# NOTICE: The MegaMek organization is a non-profit group of volunteers
Expand Down Expand Up @@ -35,7 +35,7 @@
<echelon>
<option ifUnitType="">%TOUMAN%,%GALAXY%,%CLUSTER%</option>
<option ifUnitType="Mek" ifDateBetween="2870,">%TRINARY%^,%TRINARY%,%BINARY%^,%BINARY%,%STAR%^,%STAR%</option>
<option ifUnitType="Warship">%CLUSTER%</option>
<option ifUnitType="Warship">%STAR%</option>
<option ifUnitType="Dropship|Jumpship">%STAR%</option>
<option>%TRINARY%,%BINARY%,%STAR%</option>
</echelon>
Expand Down Expand Up @@ -96,7 +96,7 @@
</subforces>

<attachedForces>
<subforce unitType="Warship">%CLUSTER%</subforce>
<subforce unitType="Warship">%STAR%</subforce>
</attachedForces>
</force>

Expand Down Expand Up @@ -132,9 +132,9 @@
</subforces>
</force>

<force echelon="%CLUSTER%" eschName="Fleet" ifUnitType="Warship">
<name>Naval Assets</name>
<co>%GALAXY_CMDR%</co>
<force echelon="%STAR%" eschName="Naval Star" ifUnitType="Warship">
<name>Burrock Naval Star</name>
<co>%STAR_CMDR%</co>

<subforces ifDateBetween=",3059">
<subforce chassis="Avatar Heavy Cruiser" ifDateBetween=",3024"
Expand All @@ -143,10 +143,16 @@
<subforce chassis="Liberator Cruiser" ifDateBetween="3025,"
fluffName="CB Constantineau">%ELEMENT%
</subforce>
<!-- Pre-Absorption Clan Burrock fielded the Constantineau (its lone WarShip and,
as the largest, the command vessel) plus an unknown number of supporting
JumpShips - making a 5-6 vessel naval star. The 3072 Rebirth fleet below is
NOT this fleet - those hulls came from SLDF boneyards / The Society, not
Burrock's own pre-3059 ships (e.g. the Prinz Eugen was an SLDF
boneyard/prison ship given to the reborn Burrock in 3072). -->
<subforceOption>
<option num="4">%ELEMENT%</option>
<option num="5">%ELEMENT%</option>
<option num="6">%ELEMENT%</option>
<option num="4" unitType="Jumpship">%ELEMENT%</option>
<option num="5" unitType="Jumpship">%ELEMENT%</option>
<option num="6" unitType="Jumpship">%ELEMENT%</option>
</subforceOption>
</subforces>

Expand All @@ -172,6 +178,9 @@
<subforce fluffName="CB Second Coming"
chassis="McKenna Battleship">%ELEMENT%
</subforce>
<!-- The canon Rebirth fleet also included the Prinz Eugen (Texas-class),
but the Texas is extinct by 3072-3073 and cannot be generated at that
date, so it is omitted rather than left as an empty WarShip point. -->
</subforces>
</force>

Expand Down
56 changes: 26 additions & 30 deletions data/forcegenerator/faction_rules/CBS.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
# MegaMek Data (C) 2025 by The MegaMek Team is licensed under CC BY-NC-SA 4.0.
# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0.
# To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/
#
# NOTICE: The MegaMek organization is a non-profit group of volunteers
Expand Down Expand Up @@ -34,7 +34,7 @@

<echelon>
<option ifUnitType="">%TOUMAN%,%GALAXY%,%CLUSTER%</option>
<option ifUnitType="Warship">%GALAXY%</option>
<option ifUnitType="Warship">%GALAXY%,%STAR%</option>
<option ifUnitType="Dropship|Jumpship">%STAR%</option>
<option ifUnitType="AeroSpaceFighter">%CLUSTER%,%TRINARY%,%BINARY%,%STAR%</option>
<option>%TRINARY%,%BINARY%,%STAR%</option>
Expand Down Expand Up @@ -106,7 +106,20 @@
<co position="1">%GALAXY_CMDR%</co>

<subforces>
<subforce ifDateBetween=",3059" num="2">%ELEMENT%</subforce>
<subforce name="Blood Naval Star" unitType="Warship">%STAR%</subforce>
</subforces>
</force>

<!-- The naval reserve as a Clan naval star (5-6 vessels) nested under the Blood Galaxy,
rather than ships loose under the galaxy. -->
<force echelon="%STAR%" eschName="Naval Star" ifUnitType="Warship">
<name>Blood Naval Star</name>
<co>%STAR_CMDR%</co>

<subforces>
<!-- Supporting JumpShips keep the naval reserve a 5-6 vessel formation across the
Clan's life as the named WarShip fleet is whittled down by losses. -->
<subforce unitType="Jumpship" num="2">%ELEMENT%</subforce>
<subforce chassis="Black Lion II Battlecruiser"
fluffName="CBS Rocinante"
ifDateBetween=",3072">%ELEMENT%
Expand All @@ -128,31 +141,6 @@
ifDateBetween="3070,3084">%ELEMENT%
</subforce>
</subforces>

<attachedForces>
<subforceOption>
<option num="3" ifDateBetween="3061,"
rating="FL" unitType="AeroSpaceFighter">%CLUSTER%
</option>
<option num="4" rating="FL"
unitType="AeroSpaceFighter">%CLUSTER%
</option>
<option num="5" ifDateBetween=",3060"
rating="FL" unitType="AeroSpaceFighter">%CLUSTER%
</option>
</subforceOption>
<subforceOption>
<option num="2" ifDateBetween="3061,"
rating="SL" unitType="AeroSpaceFighter">%CLUSTER%
</option>
<option num="3" rating="SL"
unitType="AeroSpaceFighter">%CLUSTER%
</option>
<option num="4" ifDateBetween=",3060"
rating="SL" unitType="AeroSpaceFighter">%CLUSTER%
</option>
</subforceOption>
</attachedForces>
</force>

<force echelon="%GALAXY%" eschName="Galaxy">
Expand All @@ -164,6 +152,14 @@
<option num="6">%CLUSTER%</option>
<option num="5">%CLUSTER%</option>
</subforceOption>
<!-- Aerospace lives with the combat galaxies now (one ASF cluster per front-line
galaxy) rather than pooled in the naval reserve. Wrapped in a subforceOption so
the engine generates it AFTER the combat clusters: SubForcesNode emits all plain
<subforce> elements before any <subforceOption>, so a plain aero subforce would
sort to the top of the galaxy regardless of XML order. -->
<subforceOption>
<option unitType="AeroSpaceFighter">%CLUSTER%</option>
</subforceOption>
</subforces>

<subforces ifRating="SL">
Expand All @@ -175,8 +171,8 @@
</force>

<!--All Blood Spirit clusters include three trinaries of Meks,
one BA/infantry, and one vehicle. ASFs are attached to the naval
reserve.-->
one BA/infantry, and one vehicle. Each front-line galaxy also fields
one Aerospace Cluster (aero was previously pooled in the naval reserve).-->

<force echelon="%CLUSTER%" eschName="Cluster" ifUnitType="AeroSpaceFighter">
<name>Aerospace Cluster</name>
Expand Down
79 changes: 58 additions & 21 deletions data/forcegenerator/faction_rules/CCC.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
# MegaMek Data (C) 2025 by The MegaMek Team is licensed under CC BY-NC-SA 4.0.
# MegaMek Data (C) 2025-2026 by The MegaMek Team is licensed under CC BY-NC-SA 4.0.
# To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/
#
# NOTICE: The MegaMek organization is a non-profit group of volunteers
Expand Down Expand Up @@ -97,16 +97,23 @@
</subforce>
</subforces>

<attachedForces>
<subforce unitType="Warship">%CLUSTER%</subforce>
</attachedForces>
</force>

<force echelon="%CLUSTER%" eschName="Fleet" ifUnitType="Warship">
<name>Naval Reserve</name>
<co>%GALAXY_CMDR%</co>
<!-- Cloud Cobra distributes its WarShips across specific Galaxies (3061-3067
assignments per Clan Cloud Cobra Naval Forces, Sarna). Each galaxy with ships
attaches ONE Naval Star (below) that contains all of that galaxy's WarShips, so
the ToE reads: Galaxy -> Clusters + a Naval Star -> ships. Branched by ifName so
each galaxy gets the right roster. Each ship appears exactly once - no pooling,
no duplication. Ships inside this node inherit unitType=Warship from it (so they
need no explicit unitType, unlike a ship attached straight to a galaxy node). -->
<force echelon="%CLUSTER%" eschName="Naval Star" ifUnitType="Warship">
<name>Naval Star</name>
<co>%STAR_CMDR%</co>

<subforces>
<subforces ifName="Alpha Naval Star">
<subforce fluffName="CCS Nebulous"
chassis="York Destroyer-Carrier">%ELEMENT%
</subforce>
<subforce fluffName="CCS Incense" ifDateBetween=",3072"
chassis="Cameron Battlecruiser">%ELEMENT%
</subforce>
Expand All @@ -122,6 +129,12 @@
<subforce fluffName="CCS Blind Faith" ifDateBetween="2950,3072"
chassis="Carrack Transport">%ELEMENT%
</subforce>
</subforces>

<subforces ifName="Beta Naval Star">
<subforce fluffName="CCS Consequence" ifDateBetween=",3075"
chassis="Aegis Heavy Cruiser">%ELEMENT%
</subforce>
<subforce fluffName="CCS Wisdom of the Ages"
chassis="Potemkin Troop Cruiser">%ELEMENT%
</subforce>
Expand All @@ -131,29 +144,35 @@
<subforce fluffName="CCS Hell Fury" ifDateBetween="3053,3081"
chassis="Fredasa (Corvette-Raider)">%ELEMENT%
</subforce>
<subforce fluffName="CCS Nebulous"
chassis="York Destroyer-Carrier">%ELEMENT%
</subforce>
<subforce fluffName="CCS Consequence" ifDateBetween=",3075"
chassis="Aegis Heavy Cruiser">%ELEMENT%
</subforce>
<subforce fluffName="CCS Perdition&apos;s Flame"
ifDateBetween="2962,3075"
chassis="Fredasa (Corvette-Raider)">%ELEMENT%
<!-- Generic JumpShips round the formation to a 5-6 vessel naval star
(DropShips are handled by the transport system, not the naval star). -->
<subforce unitType="Jumpship" num="2">%ELEMENT%</subforce>
</subforces>

<subforces ifName="Delta Naval Star">
<subforce fluffName="CCS Second Coming" ifDateBetween=",3073"
chassis="McKenna Battleship">%ELEMENT%
</subforce>
<subforce fluffName="CCS Trump" ifDateBetween=",3070"
chassis="Vincent Corvette">%ELEMENT%
</subforce>
<subforce fluffName="CCS Hertzog&apos;s Staff"
ifDateBetween=",3075"
<subforce fluffName="CCS Hertzog&apos;s Staff" ifDateBetween=",3075"
chassis="Vincent Corvette">%ELEMENT%
</subforce>
<subforce fluffName="CCS Second Coming" ifDateBetween=",3073"
chassis="McKenna Battleship">%ELEMENT%
<subforce fluffName="CCS Perdition&apos;s Flame" ifDateBetween="2962,3075"
chassis="Fredasa (Corvette-Raider)">%ELEMENT%
</subforce>
<!-- Generic JumpShips round the formation to a 5-6 vessel naval star
(DropShips are handled by the transport system, not the naval star). -->
<subforce unitType="Jumpship" num="2">%ELEMENT%</subforce>
</subforces>

<subforces ifName="Zeta Naval Star">
<subforce fluffName="CCS Inquisitor" ifDateBetween=",3081"
chassis="Aegis Heavy Cruiser">%ELEMENT%
</subforce>
<!-- Only one named ship; generic JumpShips make a 5-6 vessel naval star. -->
<subforce unitType="Jumpship" num="4">%ELEMENT%</subforce>
</subforces>
</force>

Expand Down Expand Up @@ -192,6 +211,24 @@
</subforceOption>
<subforce flags="fang">%CLUSTER%</subforce>
</subforces>

<!-- Each galaxy with assigned WarShips attaches ONE Naval Star holding that
galaxy's ships (see the Naval Star node above). Structure: Galaxy ->
Clusters + a Naval Star -> ships. unitType=Warship routes to that node. -->
<attachedForces>
<subforce ifName="Alpha Galaxy" unitType="Warship"
name="Alpha Naval Star">%CLUSTER%
</subforce>
<subforce ifName="Beta Galaxy" unitType="Warship"
name="Beta Naval Star">%CLUSTER%
</subforce>
<subforce ifName="Delta Galaxy" unitType="Warship"
name="Delta Naval Star">%CLUSTER%
</subforce>
<subforce ifName="Zeta Galaxy" unitType="Warship"
name="Zeta Naval Star">%CLUSTER%
</subforce>
</attachedForces>
</force>

<force echelon="%CLUSTER%" eschName="Cluster" ifRating="Keshik" ifRole="command">
Expand Down
Loading
Loading