Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AtB - StratCon implementation #2144

Merged
merged 176 commits into from Apr 21, 2021
Merged
Show file tree
Hide file tree
Changes from 107 commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
8f2b011
start of conversion work;traitors modifier
NickAragua Feb 4, 2019
2b006fe
re-organization of map parameters editor GUI elements
NickAragua Feb 4, 2019
d39d775
bring back the GUI
NickAragua Feb 9, 2019
ed10019
some kind of changes
NickAragua Feb 20, 2019
beff8d6
xml file
NickAragua Feb 20, 2019
a0c1cbf
merge
NickAragua Feb 27, 2019
3002e32
merge from upstream
NickAragua Mar 5, 2019
da85b15
data structure work
NickAragua Mar 6, 2019
02eaa59
work on generating scenarios for specific track
NickAragua Mar 11, 2019
1361faa
hook it up, kind of
NickAragua Mar 12, 2019
d9c015f
force assignment UI prototype
NickAragua Mar 14, 2019
7ffb5e0
modifiers cleanup; template definitions;
NickAragua Mar 16, 2019
6c24826
scenario generation work
NickAragua Mar 16, 2019
1f6a53e
fix a few bugs; status display work
NickAragua Mar 19, 2019
2a512ee
merge from upstream
NickAragua Mar 26, 2019
00c8977
continued scenario lance assignment work
NickAragua Mar 26, 2019
75b54ef
merge from upstream again
NickAragua Mar 29, 2019
9219265
scenarios can be generated and populated in campaign
NickAragua Mar 29, 2019
2c2de01
initial map generation and facilities
NickAragua Apr 4, 2019
0067a4f
introduce scrolling
NickAragua Apr 4, 2019
6ea9e04
minor bugfixes
NickAragua Apr 7, 2019
05f3bd0
proper clicked hex detection
NickAragua Apr 8, 2019
34f5dff
continues work on track gui and rules
NickAragua Apr 24, 2019
b1c2e0f
hook up stratcon rules manager to mekhq event bus
NickAragua Apr 27, 2019
b096ba2
stratcon UI hookup, opfor gen tweak
NickAragua Apr 30, 2019
010c986
remove force gen files from tracking - we're not there yet
NickAragua Apr 30, 2019
ce41cc5
undo misguided PR cleanup attempt
NickAragua Apr 30, 2019
40d913c
fill transports feature
NickAragua May 2, 2019
b314c92
branch switch commit
NickAragua May 4, 2019
6f180f0
merge from upstream
NickAragua May 4, 2019
1eb5e5e
save campaign/track state; wreck force assignment
NickAragua May 4, 2019
119ff41
scenario setup work
NickAragua May 12, 2019
d8e5bc6
scenario revision
NickAragua May 12, 2019
e373025
work on scenario-force assignment UI
NickAragua May 22, 2019
51c9744
continued work on scenario management UI
NickAragua May 25, 2019
60e60c9
continued work on scenario setup wizard
NickAragua May 28, 2019
dab9569
reworked track scenario generation mechanism
NickAragua Jun 3, 2019
c26e5e0
continued work on scenario wizard
NickAragua Jun 4, 2019
cbf0f56
continued work on scenario UI, force assignment UI
NickAragua Jun 10, 2019
53ee7e4
continued scenario initiation work
NickAragua Jun 12, 2019
cb18b86
merge from upstream
NickAragua Jun 12, 2019
d510c6b
minor refactoring
NickAragua Jun 14, 2019
2548381
merge from upstream
NickAragua Jun 21, 2019
7cee408
higher rated units get nastier opposing force
NickAragua Jun 21, 2019
c05d07e
fix unit test error
NickAragua Jun 21, 2019
b6220b4
facility detection and fog of war rendering
NickAragua Jun 22, 2019
5c411e3
facility effects on scenarios
NickAragua Jun 27, 2019
ed6a5c0
merge from upstream
NickAragua Apr 12, 2020
c5f4857
merge changes
NickAragua Apr 18, 2020
ca46ea5
merge from upstream
NickAragua Jun 3, 2020
90b1ede
scenario info display
NickAragua Jun 4, 2020
b2f014d
merge from upstream
NickAragua Jun 24, 2020
40c89f9
facility serialization/deserialization
NickAragua Jun 24, 2020
2bd7638
merge from upstream
NickAragua Jul 13, 2020
d4f035c
merge from upstream
NickAragua Aug 9, 2020
47bdb33
adapt to LocalDate
NickAragua Aug 9, 2020
04c2cab
facilities work
NickAragua Aug 10, 2020
7d75eb4
facilities work
NickAragua Aug 10, 2020
f5bdaa4
facility definitions
NickAragua Aug 13, 2020
5830ebe
merge from upstream
NickAragua Aug 25, 2020
1d2b393
merge from upstream
NickAragua Aug 25, 2020
c862259
multiple bug fixes and hookup to actual campaign
NickAragua Aug 27, 2020
7c1cd73
base attack turret fix
NickAragua Aug 29, 2020
72a6f70
facility work
NickAragua Aug 29, 2020
338875e
modifier sorting; pirates
NickAragua Sep 3, 2020
5954e05
Facility display details
NickAragua Sep 3, 2020
3b8d316
logic shuffling for better scenario generation
NickAragua Sep 5, 2020
8f7cacb
scenario resolution processing; facility work
NickAragua Sep 9, 2020
935339a
merge from upstream
NickAragua Sep 9, 2020
b5f6220
data fixes; force undeployment by date;
NickAragua Sep 11, 2020
1122e2f
facility capture logic;data adjustments
NickAragua Sep 13, 2020
a8da6ab
merge from upstream
NickAragua Sep 13, 2020
dd96cc4
crew skill upgrader fix
NickAragua Sep 16, 2020
d1381bb
UI status updates; 'business' logic for scenario completion
NickAragua Sep 16, 2020
98a91fa
merge from upstream
NickAragua Sep 17, 2020
1f90f88
contract def data structure
NickAragua Sep 18, 2020
0b9be5a
pre-merge commit
NickAragua Oct 7, 2020
525709d
pre-merge commit #2
NickAragua Oct 7, 2020
04f10ee
merge from upstream
NickAragua Oct 7, 2020
9b2480a
save point
NickAragua Oct 11, 2020
8a0fc7e
enough of this is not api bullcrap
NickAragua Oct 11, 2020
8118366
initial implementation of objective/facility seeding
NickAragua Oct 13, 2020
c226cc5
objective/facility seeding; ui polish
NickAragua Oct 14, 2020
c05474e
contract definitions;polish;bugfixes
NickAragua Oct 16, 2020
998ab0f
merge from upstream
NickAragua Oct 16, 2020
684430e
Delete unitQuirksOverride.xml
NickAragua Oct 16, 2020
1a8ba7e
gm-reveal map; fixes for save/loading showstopper
NickAragua Oct 17, 2020
7d274ef
merge from upstream?
NickAragua Oct 17, 2020
bd14ef0
reroll population from actual lance; minefields; facility data fixes
NickAragua Oct 20, 2020
2eec6da
merge from upstream
NickAragua Oct 23, 2020
7fdf85e
fix force assignment save bug; facility name lengthening
NickAragua Oct 24, 2020
644f177
address some lgtm issues
NickAragua Oct 24, 2020
da4960f
template fixes; modifier application fixes; deployment return check f…
NickAragua Oct 25, 2020
dfca32f
merge from upstream
NickAragua Oct 28, 2020
b9e6b9d
stop modifier doubling
NickAragua Oct 28, 2020
05d025d
data fixes; hook up missed scenario method
NickAragua Oct 28, 2020
93020d1
tokenization; other stuff I don't remember
NickAragua Nov 3, 2020
24c2199
merge from upstream
NickAragua Dec 1, 2020
6fe11ed
merge from upstream
NickAragua Dec 22, 2020
ffaea50
revert ContractMarket
NickAragua Dec 22, 2020
d69c012
merge from upstream
NickAragua Feb 13, 2021
3f29441
fix NPE
NickAragua Feb 13, 2021
7f59899
merge from upstream
NickAragua Mar 6, 2021
b197521
merge from upstream
NickAragua Mar 9, 2021
c04f51a
render deployed forces; part of support point costs;
NickAragua Mar 10, 2021
f32def0
reinforcement deployment mechanics; facility visibility issue
NickAragua Mar 11, 2021
9f9de19
preferences; tokens
NickAragua Mar 12, 2021
929e851
minefield serialization; cosmetic updates
NickAragua Mar 13, 2021
8cd257a
legacy AtB scenario definition formatting
NickAragua Mar 13, 2021
a5382b0
additional code review changes
NickAragua Mar 14, 2021
69a98c0
static constructor replacement
NickAragua Mar 14, 2021
fe6e045
merge from upstream
NickAragua Mar 14, 2021
49aa475
fix compilation errors
NickAragua Mar 15, 2021
3712585
path constants; filter on inactive units; refresh campaign state prop…
NickAragua Mar 17, 2021
df692e1
additional unit eligibility checks
NickAragua Mar 17, 2021
558d523
use util funciton instead of hand-rolled mess
NickAragua Mar 17, 2021
aac2ced
code review changes
NickAragua Mar 18, 2021
8627de7
merge from upstream
NickAragua Mar 22, 2021
093eaeb
merge from upstream
NickAragua Mar 24, 2021
cc3a1c6
implement failed reinforcement attempts; fix scenario template retrie…
NickAragua Mar 24, 2021
5b5aeb8
UI cleanup; 'sticky' forces
NickAragua Mar 25, 2021
84c3b0b
ui adjustments to reduce jumping
NickAragua Mar 25, 2021
26e5b59
fix compilation warnings
NickAragua Mar 25, 2021
1343c8b
leadership force deployment rules/UI
NickAragua Mar 25, 2021
e5b1d3a
units deployed to StratCon tracks are ineligible for repairs
NickAragua Mar 25, 2021
41be2e4
force type data fixes
NickAragua Mar 26, 2021
796b672
scenario generation for deployed forces; bomb type fixes/expansion; s…
NickAragua Mar 26, 2021
d14fb80
code review changes
NickAragua Mar 28, 2021
3ad5f4e
missed a spot
NickAragua Mar 28, 2021
ded0a76
missed another spot
NickAragua Mar 29, 2021
3dded06
code review changes
NickAragua Mar 29, 2021
8a2b3d0
more code review changes
NickAragua Mar 29, 2021
82e5dd2
spacing fix
NickAragua Mar 29, 2021
28c4109
Apply suggestions from code review
NickAragua Mar 30, 2021
4354381
Apply suggestions from code review
NickAragua Mar 30, 2021
0244602
Apply suggestions from code review
NickAragua Mar 30, 2021
3714465
merge from upstream
NickAragua Mar 30, 2021
7ab4b9b
Update MekHQ/data/scenariomodifiers/FacilityHostileCapture.xml
NickAragua Mar 31, 2021
55af097
merge
NickAragua Mar 31, 2021
8c476d8
code review changes
NickAragua Apr 3, 2021
fbd59fb
Update MekHQ/data/scenariotemplates/LegacyAtB/AceDuel.xml
NickAragua Apr 3, 2021
72a4646
Update MekHQ/data/scenariomodifiers/AlliedMechReinforcements.xml
NickAragua Apr 3, 2021
c2d264c
merge from upstream
NickAragua Apr 7, 2021
08c5d5b
merge from upstream
NickAragua Apr 7, 2021
9451101
missed folders in build script
NickAragua Apr 9, 2021
52905d6
fix new day nag NPEs
NickAragua Apr 9, 2021
882838f
disable legacy scenario generation for stratcon contracts
NickAragua Apr 9, 2021
c29f3db
don't save color if we don't have one
NickAragua Apr 13, 2021
5cc9941
Merge branch 'master' of https://github.com/MegaMek/mekhq into legacy…
NickAragua Apr 13, 2021
aed743f
deploy forces to currently selected track
NickAragua Apr 13, 2021
fde52dd
clean up phantom scenarios to prevent new day processing errors
NickAragua Apr 13, 2021
975ff32
sort lance lists by alphabetical order
NickAragua Apr 13, 2021
058ae23
code review changes
NickAragua Apr 13, 2021
01bf880
fix potential null color situation
NickAragua Apr 13, 2021
133e586
multiple bugs with ignoring scenarios; ground pirats on air maps
NickAragua Apr 14, 2021
0c8de94
calculate track odds granularly; fix scenario generation/saving under…
NickAragua Apr 15, 2021
ba7898a
update VP/SP in GUI when deploying reinforcements
NickAragua Apr 15, 2021
b08b95c
prevent transported infantry from throwing off reinforcement turn cal…
NickAragua Apr 16, 2021
e23eb59
faq
NickAragua Apr 16, 2021
ed3e5f5
prevent unlimited assignment of leadership auxiliaries
NickAragua Apr 16, 2021
3d8916c
add text resources; remove campaign scenarios after ignoring in strat…
NickAragua Apr 16, 2021
2e00ea9
code review changes
NickAragua Apr 17, 2021
78b310e
faq update
NickAragua Apr 17, 2021
c38a1f7
missed isempty
NickAragua Apr 17, 2021
e5f7b6e
fire brick error
NickAragua Apr 17, 2021
b36d9fa
whoops
NickAragua Apr 17, 2021
becffdc
code review changes; data fix; stop nagging once user hits 'no' once
NickAragua Apr 17, 2021
a6a4efc
Update MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java
NickAragua Apr 17, 2021
42b305c
Update MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java
NickAragua Apr 17, 2021
93299a0
Update MekHQ/src/mekhq/campaign/stratcon/StratconRulesManager.java
NickAragua Apr 17, 2021
5d41cf6
last code review change; properly initialize and update strategic obj…
NickAragua Apr 18, 2021
4b7ca45
fix operator precedence to avoid NPE
NickAragua Apr 18, 2021
00ed93a
more NPE protection
NickAragua Apr 19, 2021
c4f072f
fix scenario dates; facility generation
NickAragua Apr 20, 2021
430dcc1
remove attacker/defender from dynamic scenario description
NickAragua Apr 20, 2021
ae5731c
last code review change; minor faq update
NickAragua Apr 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
131 changes: 131 additions & 0 deletions MekHQ/data/CamOpsContractData2.xml
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CampaignOpsContractTerms>
<employerTypeTags>
<entry>
<key>SuperPower</key>
<value>SUPER</value>
</entry>
</employerTypeTags>
<hiringHallModifiers>
<entry>
<key>Great</key>
<value>
<offerModifier>3</offerModifier>
<employerModifier>2</employerModifier>
<missionModifier>2</missionModifier>
</value>
</entry>
</hiringHallModifiers>
<contractOfferNumbers>
<entry>
<key>0</key>
<value>0</value>
</entry>
</contractOfferNumbers>
<bigEmployerTypes>
<entry>
<key>2</key>
<value>SmallState</value>
</entry>
</bigEmployerTypes>
<smallEmployerTypes>
<entry>
<key>2</key>
<value>Individual</value>
</entry>
</smallEmployerTypes>
<employerTypeContractTables>
<entry>
<key>SuperPower</key>
<value>Major</value>
</entry>
</employerTypeContractTables>
<contractTables>
<entry>
<key>Major</key>
<value>
<contractRolls>
<entry>
<key>2</key>
<value>1, 1</value>
</entry>
</contractRolls>
</value>
</entry>
</contractTables>
<contractTermsModifiers>
<entry>
<key>1</key>
<value>
<multiplierIsAdditive>false</multiplierIsAdditive>
<tempoPaymentMultiplier>0</tempoPaymentMultiplier>
<baseLength>0</baseLength>
<commandModifier>0</commandModifier>
<salvageModifier>0</salvageModifier>
<supportModifier>0</supportModifier>
<transportModifier>0</transportModifier>
<followupContractType>0</followupContractType>
</value>
</entry>
</contractTermsModifiers>
<employerContractTermModifiers>
<entry>
<key>SuperPower</key>
<value>
<multiplierIsAdditive>false</multiplierIsAdditive>
<tempoPaymentMultiplier>0</tempoPaymentMultiplier>
<baseLength>0</baseLength>
<commandModifier>0</commandModifier>
<salvageModifier>0</salvageModifier>
<supportModifier>0</supportModifier>
<transportModifier>0</transportModifier>
<followupContractType>0</followupContractType>
</value>
</entry>
</employerContractTermModifiers>
<reputationContractTermModifiers>
<entry>
<key>0</key>
<value>
<multiplierIsAdditive>false</multiplierIsAdditive>
<tempoPaymentMultiplier>0</tempoPaymentMultiplier>
<baseLength>0</baseLength>
<commandModifier>0</commandModifier>
<salvageModifier>0</salvageModifier>
<supportModifier>0</supportModifier>
<transportModifier>0</transportModifier>
<followupContractType>0</followupContractType>
</value>
</entry>
</reputationContractTermModifiers>
<commandRightsTable>
<entry>
<key>2</key>
<value>0</value>
</entry>
</commandRightsTable>
<overheadCompensationTable>
<entry>
<key>2</key>
<value>0</value>
</entry>
</overheadCompensationTable>
<salvageRightsTable>
<entry>
<key>2</key>
<value>0</value>
</entry>
</salvageRightsTable>
<supportRightsTable>
<entry>
<key>2</key>
<value>0</value>
</entry>
</supportRightsTable>
<transportTermsTable>
<entry>
<key>2</key>
<value>0</value>
</entry>
</transportTermsTable>
</CampaignOpsContractTerms>
37 changes: 37 additions & 0 deletions MekHQ/data/scenariomodifiers/AlliedGroundSupport.xml
@@ -0,0 +1,37 @@
<AtBScenarioModifier>
<additionalBriefingText>Additional allied ground units are en route.</additionalBriefingText>
<benefitsPlayer>true</benefitsPlayer>
<eventTiming>PostForceGeneration</eventTiming>
<forceDefinition>
<actualDeploymentZone>-1</actualDeploymentZone>
<allowAeroBombs>true</allowAeroBombs>
<allowedUnitType>-2</allowedUnitType>
<arrivalTurn>-3</arrivalTurn>
<canReinforceLinked>true</canReinforceLinked>
<contributesToBV>false</contributesToBV>
<contributesToMapSize>false</contributesToMapSize>
<contributesToUnitCount>false</contributesToUnitCount>
<deploymentZones>
<deploymentZone>1</deploymentZone>
<deploymentZone>2</deploymentZone>
<deploymentZone>3</deploymentZone>
<deploymentZone>4</deploymentZone>
<deploymentZone>5</deploymentZone>
<deploymentZone>6</deploymentZone>
<deploymentZone>7</deploymentZone>
<deploymentZone>8</deploymentZone>
<deploymentZone>9</deploymentZone>
</deploymentZones>
<destinationZone>4</destinationZone>
<fixedUnitCount>-1</fixedUnitCount>
<forceAlignment>1</forceAlignment>
<forceMultiplier>1.0</forceMultiplier>
<forceName>Opfor Ground Reinforcements</forceName>
<generationMethod>3</generationMethod>
<generationOrder>3</generationOrder>
<maxWeightClass>4</maxWeightClass>
<retreatThreshold>0</retreatThreshold>
<syncDeploymentType>None</syncDeploymentType>
<syncedForceName />
</forceDefinition>
</AtBScenarioModifier>
38 changes: 38 additions & 0 deletions MekHQ/data/scenariomodifiers/AlliedMechReinforcements.xml
@@ -0,0 +1,38 @@
<AtBScenarioModifier>
<additionalBriefingText>Additional allied mechs are approaching the area.</additionalBriefingText>
Windchild292 marked this conversation as resolved.
Show resolved Hide resolved
<benefitsPlayer>true</benefitsPlayer>
<eventTiming>PostForceGeneration</eventTiming>
<forceDefinition>
<actualDeploymentZone>-1</actualDeploymentZone>
<allowAeroBombs>true</allowAeroBombs>
<allowedUnitType>0</allowedUnitType>
<arrivalTurn>-3</arrivalTurn>
<canReinforceLinked>true</canReinforceLinked>
<contributesToBV>false</contributesToBV>
<contributesToMapSize>false</contributesToMapSize>
<contributesToUnitCount>false</contributesToUnitCount>
<deploymentZones>
<deploymentZone>1</deploymentZone>
<deploymentZone>2</deploymentZone>
<deploymentZone>3</deploymentZone>
<deploymentZone>4</deploymentZone>
<deploymentZone>5</deploymentZone>
<deploymentZone>6</deploymentZone>
<deploymentZone>7</deploymentZone>
<deploymentZone>8</deploymentZone>
<deploymentZone>9</deploymentZone>
</deploymentZones>
<destinationZone>4</destinationZone>
<fixedUnitCount>-1</fixedUnitCount>
<forceAlignment>1</forceAlignment>
<forceMultiplier>1.0</forceMultiplier>
<forceName>Allied Mech Reinforcements</forceName>
<generationMethod>3</generationMethod>
<generationOrder>3</generationOrder>
<maxWeightClass>4</maxWeightClass>
<retreatThreshold>50</retreatThreshold>
<objectiveLinkedForces/>
<syncDeploymentType>None</syncDeploymentType>
<syncedForceName />
</forceDefinition>
</AtBScenarioModifier>
38 changes: 38 additions & 0 deletions MekHQ/data/scenariomodifiers/AlliedTankReinforcements.xml
@@ -0,0 +1,38 @@
<AtBScenarioModifier>
<additionalBriefingText>Additional allied ground armor forces are approaching the area.</additionalBriefingText>
<benefitsPlayer>true</benefitsPlayer>
<eventTiming>PostForceGeneration</eventTiming>
<forceDefinition>
<actualDeploymentZone>-1</actualDeploymentZone>
<allowAeroBombs>true</allowAeroBombs>
<allowedUnitType>1</allowedUnitType>
<arrivalTurn>-3</arrivalTurn>
<canReinforceLinked>true</canReinforceLinked>
<contributesToBV>false</contributesToBV>
<contributesToMapSize>false</contributesToMapSize>
<contributesToUnitCount>false</contributesToUnitCount>
<deploymentZones>
<deploymentZone>1</deploymentZone>
<deploymentZone>2</deploymentZone>
<deploymentZone>3</deploymentZone>
<deploymentZone>4</deploymentZone>
<deploymentZone>5</deploymentZone>
<deploymentZone>6</deploymentZone>
<deploymentZone>7</deploymentZone>
<deploymentZone>8</deploymentZone>
<deploymentZone>9</deploymentZone>
</deploymentZones>
<destinationZone>4</destinationZone>
<fixedUnitCount>-1</fixedUnitCount>
<forceAlignment>1</forceAlignment>
<forceMultiplier>1.0</forceMultiplier>
<forceName>Allied Tank Reinforcements</forceName>
<generationMethod>3</generationMethod>
<generationOrder>3</generationOrder>
<maxWeightClass>4</maxWeightClass>
<retreatThreshold>50</retreatThreshold>
<objectiveLinkedForces/>
<syncDeploymentType>None</syncDeploymentType>
<syncedForceName />
</forceDefinition>
</AtBScenarioModifier>
4 changes: 4 additions & 0 deletions MekHQ/data/scenariomodifiers/AlliedTraineesAir.xml
@@ -1,5 +1,9 @@
<AtBScenarioModifier>
<additionalBriefingText>Three trainees will deploy alongside your force. Keep them alive.</additionalBriefingText>
<allowedMapLocations>
<allowedMapLocation>Space</allowedMapLocation>
<allowedMapLocation>LowAtmosphere</allowedMapLocation>
</allowedMapLocations>
<benefitsPlayer>true</benefitsPlayer>
<eventTiming>PreForceGeneration</eventTiming>
<forceDefinition>
Expand Down
90 changes: 28 additions & 62 deletions MekHQ/data/scenariomodifiers/AlliedTraineesGround.xml
@@ -1,68 +1,34 @@
<AtBScenarioModifier>
<additionalBriefingText>Three trainees will deploy alongside your force. Keep them alive.</additionalBriefingText>
<additionalBriefingText>Three trainees will deploy alongside your lance. Keep them alive.</additionalBriefingText>
<allowedMapLocations>
<allowedMapLocation>AllGroundTerrain</allowedMapLocation>
<allowedMapLocation>SpecificGroundTerrain</allowedMapLocation>
</allowedMapLocations>
<benefitsPlayer>true</benefitsPlayer>
<eventTiming>PreForceGeneration</eventTiming>
<forceDefinition>
<actualDeploymentZone>-1</actualDeploymentZone>
<allowAeroBombs>false</allowAeroBombs>
<allowedUnitType>0</allowedUnitType>
<arrivalTurn>0</arrivalTurn>
<canReinforceLinked>false</canReinforceLinked>
<contributesToBV>false</contributesToBV>
<contributesToMapSize>true</contributesToMapSize>
<contributesToUnitCount>true</contributesToUnitCount>
<deployOffboard>false</deployOffboard>
<deploymentZones/>
<destinationZone>4</destinationZone>
<fixedUnitCount>3</fixedUnitCount>
<forceAlignment>0</forceAlignment>
<forceMultiplier>1.0</forceMultiplier>
<forceName>Allied Trainees</forceName>
<generationMethod>3</generationMethod>
<generationOrder>1</generationOrder>
<maxWeightClass>1</maxWeightClass>
<retreatThreshold>0</retreatThreshold>
<startingAltitude>0</startingAltitude>
<syncDeploymentType>SameEdge</syncDeploymentType>
<syncedForceName>Player</syncedForceName>
<useArtillery>false</useArtillery>
<actualDeploymentZone>-1</actualDeploymentZone>
<allowAeroBombs>false</allowAeroBombs>
<allowedUnitType>0</allowedUnitType>
<arrivalTurn>0</arrivalTurn>
<canReinforceLinked>false</canReinforceLinked>
<contributesToBV>false</contributesToBV>
<contributesToMapSize>true</contributesToMapSize>
<contributesToUnitCount>true</contributesToUnitCount>
<deployOffboard>false</deployOffboard>
<deploymentZones/>
<destinationZone>4</destinationZone>
<fixedUnitCount>3</fixedUnitCount>
<forceAlignment>0</forceAlignment>
<forceMultiplier>1.0</forceMultiplier>
<forceName>Allied Trainees</forceName>
<generationMethod>3</generationMethod>
<generationOrder>1</generationOrder>
<maxWeightClass>1</maxWeightClass>
<retreatThreshold>0</retreatThreshold>
<startingAltitude>0</startingAltitude>
<syncDeploymentType>SameEdge</syncDeploymentType>
<syncedForceName>Player</syncedForceName>
<useArtillery>false</useArtillery>
</forceDefinition>

<objectives>
<objective>
<associatedForceNames>
<associatedForceName>Allied Trainees</associatedForceName>
</associatedForceNames>
<associatedUnitIDs/>
<successEffects>
<successEffect>
<effectType>ScenarioVictory</effectType>
<effectScaling>Fixed</effectScaling>
<howMuch>1</howMuch>
</successEffect>
</successEffects>
<failureEffects>
<failureEffect>
<effectType>ScenarioDefeat</effectType>
<effectScaling>Fixed</effectScaling>
<howMuch>1</howMuch>
</failureEffect>
<failureEffect>
<effectType>ContractScoreUpdate</effectType>
<effectScaling>Inverted</effectScaling>
<howMuch>-1</howMuch>
</failureEffect>
</failureEffects>
<additionalDetails>
<additionalDetail>Each trainee irrevocably destroyed will reduce contract score by 1.</additionalDetail>
</additionalDetails>
<description>Preserve 100% of the following force(s) and unit(s):</description>
<destinationEdge>NONE</destinationEdge>
<objectiveCriterion>Preserve</objectiveCriterion>
<percentage>100</percentage>
<timeLimit>0</timeLimit>
<timeLimitAtMost>true</timeLimitAtMost>
<timeLimitType>None</timeLimitType>
</objective>
</objectives>
</AtBScenarioModifier>
7 changes: 7 additions & 0 deletions MekHQ/data/scenariomodifiers/AlliedTreachery.xml
@@ -0,0 +1,7 @@
<AtBScenarioModifier>
<additionalBriefingText>The allied forces have turned on us.</additionalBriefingText>
<benefitsPlayer>false</benefitsPlayer>
<eventTiming>PostForceGeneration</eventTiming>
<eventRecipient>Allied</eventRecipient>
<switchSides>True</switchSides>
</AtBScenarioModifier>