Skip to content

Commit 4194828

Browse files
committed
Add escort missions for building improvements
AI now has the ability to create escort missions for Great Generals, Archaeologists and regular Workers. Previously they could only do it for Settlers, Great Merchants and diplomat units. Future consideration for Great Prophets or perhaps all missionary units. AI will now escort Great Generals when they are building citadels. As well as when they are moving between cities. AI can now escort Archaeologists and Workers when they are building outside of friendly territory. AI can now escort workers moving between different non-contiguous parts of their empire. Consolidate archaeology logic into the regular worker logic.
1 parent 54dee87 commit 4194828

16 files changed

Lines changed: 863 additions & 334 deletions

File tree

(1) Community Patch/Database Changes/Units/CoreNewUnitFormations.xml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@
1313
<Type>MUFORMATION_CARRIER_ESCORT</Type>
1414
<Name>Carrier Strike Group</Name>
1515
</Row>
16+
<Row>
17+
<Type>MUFORMATION_BUILDER_ESCORT</Type>
18+
<Name>Worker Escort</Name>
19+
</Row>
20+
<Row>
21+
<Type>MUFORMATION_ARCHAEOLOGIST_ESCORT</Type>
22+
<Name>Archaeologist Escort</Name>
23+
</Row>
24+
<Row>
25+
<Type>MUFORMATION_GENERAL_ESCORT</Type>
26+
<Name>Great General Escort</Name>
27+
</Row>
1628
</MultiUnitFormations>
1729
<!-- Delete everything and reinsert -->
1830
<MultiUnitFormation_SlotEntries>
@@ -1061,5 +1073,48 @@
10611073
<SecondaryUnitType>UNITAI_ADMIRAL</SecondaryUnitType>
10621074
<MultiUnitPositionType>MUPOSITION_CIVILIAN_SUPPORT</MultiUnitPositionType>
10631075
</Row>
1076+
<!-- Builder Escort -->
1077+
<Row>
1078+
<MultiUnitFormationType>MUFORMATION_BUILDER_ESCORT</MultiUnitFormationType>
1079+
<PrimaryUnitType>UNITAI_WORKER</PrimaryUnitType>
1080+
<SecondaryUnitType>UNITAI_WORKER</SecondaryUnitType>
1081+
<MultiUnitPositionType>MUPOSITION_CIVILIAN_SUPPORT</MultiUnitPositionType>
1082+
<RequiredSlot>true</RequiredSlot>
1083+
</Row>
1084+
<Row>
1085+
<MultiUnitFormationType>MUFORMATION_BUILDER_ESCORT</MultiUnitFormationType>
1086+
<PrimaryUnitType>UNITAI_DEFENSE</PrimaryUnitType>
1087+
<SecondaryUnitType>UNITAI_COUNTER</SecondaryUnitType>
1088+
<MultiUnitPositionType>MUPOSITION_FRONT_LINE</MultiUnitPositionType>
1089+
</Row>
1090+
<!-- Archaeologist Escort -->
1091+
<Row>
1092+
<MultiUnitFormationType>MUFORMATION_ARCHAEOLOGIST_ESCORT</MultiUnitFormationType>
1093+
<PrimaryUnitType>UNITAI_ARCHAEOLOGIST</PrimaryUnitType>
1094+
<SecondaryUnitType>UNITAI_ARCHAEOLOGIST</SecondaryUnitType>
1095+
<MultiUnitPositionType>MUPOSITION_CIVILIAN_SUPPORT</MultiUnitPositionType>
1096+
<RequiredSlot>true</RequiredSlot>
1097+
</Row>
1098+
<Row>
1099+
<MultiUnitFormationType>MUFORMATION_ARCHAEOLOGIST_ESCORT</MultiUnitFormationType>
1100+
<PrimaryUnitType>UNITAI_DEFENSE</PrimaryUnitType>
1101+
<SecondaryUnitType>UNITAI_COUNTER</SecondaryUnitType>
1102+
<MultiUnitPositionType>MUPOSITION_FRONT_LINE</MultiUnitPositionType>
1103+
</Row>
1104+
<!-- Great General Escort -->
1105+
<Row>
1106+
<MultiUnitFormationType>MUFORMATION_GENERAL_ESCORT</MultiUnitFormationType>
1107+
<PrimaryUnitType>UNITAI_GENERAL</PrimaryUnitType>
1108+
<SecondaryUnitType>UNITAI_GENERAL</SecondaryUnitType>
1109+
<MultiUnitPositionType>MUPOSITION_CIVILIAN_SUPPORT</MultiUnitPositionType>
1110+
<RequiredSlot>true</RequiredSlot>
1111+
</Row>
1112+
<Row>
1113+
<MultiUnitFormationType>MUFORMATION_GENERAL_ESCORT</MultiUnitFormationType>
1114+
<PrimaryUnitType>UNITAI_DEFENSE</PrimaryUnitType>
1115+
<SecondaryUnitType>UNITAI_COUNTER</SecondaryUnitType>
1116+
<MultiUnitPositionType>MUPOSITION_FRONT_LINE</MultiUnitPositionType>
1117+
<RequiredSlot>true</RequiredSlot>
1118+
</Row>
10641119
</MultiUnitFormation_SlotEntries>
10651120
</GameData>

CvGameCoreDLLUtil/include/CvEnums.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2564,6 +2564,9 @@ enum CLOSED_ENUM MultiunitFormationTypes
25642564
MUFORMATION_LATE_GAME_INVASION_FORCE,
25652565
MUFORMATION_LATE_GAME_PURE_NAVAL_FORCE,
25662566
MUFORMATION_CARRIER_ESCORT,
2567+
MUFORMATION_BUILDER_ESCORT,
2568+
MUFORMATION_ARCHAEOLOGIST_ESCORT,
2569+
MUFORMATION_GENERAL_ESCORT,
25672570
MUFORMATION_DIPLOMAT_ESCORT,
25682571

25692572
NUM_MULTIUNITFORMATIONS ENUM_META_VALUE

0 commit comments

Comments
 (0)