From 428293db941b0c5ea00d81dd4ac242ed8fb486be Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 14 Aug 2024 09:37:59 +0200 Subject: [PATCH 01/10] ScenarioV2: parse remaining armor/IS for rear locs, no more than full armor/IS --- .../jacksonadapters/EntityDeserializer.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java b/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java index a57531446b..2645c25c42 100644 --- a/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java +++ b/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java @@ -161,7 +161,17 @@ private void assignRemaining(Entity entity, JsonNode node) { for (int location = 0; location < entity.locations(); location++) { String locationAbbr = entity.getLocationAbbr(location); if (armorNode.has(locationAbbr)) { - entity.setArmor(armorNode.get(locationAbbr).intValue(), location); + // don't allow more than the maximum armor + int newArmor = Math.min(armorNode.get(locationAbbr).intValue(), entity.getArmor(location)); + entity.setArmor(newArmor, location); + } + if (entity.hasRearArmor(location)) { + String rearLocationAbbr = entity.getLocationAbbr(location) + "R"; + if (armorNode.has(rearLocationAbbr)) { + int newArmor = Math.min(armorNode.get(rearLocationAbbr).intValue(), + entity.getArmor(location, true)); + entity.setArmor(newArmor, location, true); + } } } } @@ -170,7 +180,9 @@ private void assignRemaining(Entity entity, JsonNode node) { for (int location = 0; location < entity.locations(); location++) { String locationAbbr = entity.getLocationAbbr(location); if (internalNode.has(locationAbbr)) { - entity.setInternal(internalNode.get(locationAbbr).intValue(), location); + int newIS = Math.min(internalNode.get(locationAbbr).intValue(), + entity.getInternal(location)); + entity.setInternal(newIS, location); } } } From 8d2b71b6dd3f55dcd371939a20d8f7f0143d2a42 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 14 Aug 2024 10:06:54 +0200 Subject: [PATCH 02/10] ScenarioV2 "how to" updates --- megamek/docs/Scenarios/ScenarioV2 HowTo.mms | 71 ++++++++++++++++++++- 1 file changed, 68 insertions(+), 3 deletions(-) diff --git a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms index f07d2362be..c966f0184e 100644 --- a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms +++ b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms @@ -188,11 +188,13 @@ factions: - vibra: 2 camo: clans/wolf/Alpha Galaxy.jpg # image file, relative to the scenario file, or in data/camos otherwise # use slashes + + # Units are always an array (use dashes) units: # - include: Annihilator ANH-13.mmu - fullname: Atlas AS7-D - # type: TW_UNIT # default: TW_UNIT other: ASElement # pre-deployed: + offboard: N # default: not offboard; values: N, E, S, W at: [7, 4] # position 0704 (pre-deployed) # x: 7 # alternative way to give position # y: 4 # must have both x and y or neither @@ -208,11 +210,29 @@ factions: # the force ids are used to distinguish different forces with the same name (e.g. multiple "Assault Lance") force: 2nd Sword of Light|21||Zakahashi's Zombies|22||Assault Lance|23 - offboard: N # default: not offboard; values: N, E, S, W - crew: # default: unnamed 4/5 pilot + # pre-applied damage may assign remaining armor and internal structure values. Values + # higher than the undamaged values of the unit are ignored + remaining: + armor: + # remaining armor values, use the usual location names + LT: 2 + CTR: 0 + internal: + # remaining internal structure is independent of armor and does not create any crits + LA: 2 + + # Optional: give details of the crew/pilot - currently only for single pilots + # by default, the pilot is an unnamed 4/5 pilot + # all fields in crew: are optional + crew: name: Cpt. Frederic Nguyen + callsign: MAGIC piloting: 4 gunnery: 3 + # Optional: pilot hits, 0 to 6 + hits: 3 + # Optional: a portrait, relative to data/images/portraits + portrait: Male/MechWarrior/MW_M_13.png # Carryable objects. These currently have no real owner, but if they are not pre-deployed, the present # player will deploy them. When pre-deployed (at: [ x, y ]), the owner is currently irrelevant. @@ -324,6 +344,50 @@ messages: units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] atleast: 6 +# ############################################### +# Respawns +# can be used to create capture-the-flag or grinding scenarios + +# need options: +# no pilot spawning +# no flee +# flee only from home edge + +# types: single unit repeated self respawn (capture the flag): possible, but hacky +# single unit repeated, but upgraded (grinder game): how? +# multi unit lance respawn (as in MWO, first lance dead, bring in second lance): works + +# is it possible to add Trigger.getTriggerInformation(TriggerInformation info) +# TriggerInformation being only a marker. Receiver must check which type and if useful +# killedunit can return the killed units +# roundend can return the round + +respawns: + - type: spawn + trigger: + type: activeunits + units: [ 101, 102, 103, 104 ] + count: 0 + units: + - fullname: Atlas AS7-D + id: 105 + - fullname: Atlas AS7-D + id: 106 + # ... + # set deployround to Integer.MAX. when the trigger is met, set deployround to the next round + + - type: renew + # trigger unitkilled, once. when processed, add replacement unit and add new scriptedevent unitkilled + + - type: replace + # upgrade each dead unit according to table? + # how is this different from spawn + + # limit respawning? Or: use end events. But: no respawns left doesnt mean the game ends immediately + + + + # ############################################### # Triggers # are used to end the game, decide victory and show messages @@ -438,3 +502,4 @@ trigger: units: 201 - type: phasestart phase: movement + From a90a16faa424dcaebf8be289325bd90aa40a48b2 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 14 Aug 2024 13:28:56 +0200 Subject: [PATCH 03/10] ScenarioV2 HowTo.mms update and CopyOnWrite list for scriptedevents to allow them to add new ones --- megamek/docs/Scenarios/ScenarioV2 HowTo.mms | 44 -------------------- megamek/src/megamek/common/AbstractGame.java | 2 +- 2 files changed, 1 insertion(+), 45 deletions(-) diff --git a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms index c966f0184e..80e1d700ab 100644 --- a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms +++ b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms @@ -344,50 +344,6 @@ messages: units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] atleast: 6 -# ############################################### -# Respawns -# can be used to create capture-the-flag or grinding scenarios - -# need options: -# no pilot spawning -# no flee -# flee only from home edge - -# types: single unit repeated self respawn (capture the flag): possible, but hacky -# single unit repeated, but upgraded (grinder game): how? -# multi unit lance respawn (as in MWO, first lance dead, bring in second lance): works - -# is it possible to add Trigger.getTriggerInformation(TriggerInformation info) -# TriggerInformation being only a marker. Receiver must check which type and if useful -# killedunit can return the killed units -# roundend can return the round - -respawns: - - type: spawn - trigger: - type: activeunits - units: [ 101, 102, 103, 104 ] - count: 0 - units: - - fullname: Atlas AS7-D - id: 105 - - fullname: Atlas AS7-D - id: 106 - # ... - # set deployround to Integer.MAX. when the trigger is met, set deployround to the next round - - - type: renew - # trigger unitkilled, once. when processed, add replacement unit and add new scriptedevent unitkilled - - - type: replace - # upgrade each dead unit according to table? - # how is this different from spawn - - # limit respawning? Or: use end events. But: no respawns left doesnt mean the game ends immediately - - - - # ############################################### # Triggers # are used to end the game, decide victory and show messages diff --git a/megamek/src/megamek/common/AbstractGame.java b/megamek/src/megamek/common/AbstractGame.java index bf51bdf743..29165ecf6a 100644 --- a/megamek/src/megamek/common/AbstractGame.java +++ b/megamek/src/megamek/common/AbstractGame.java @@ -83,7 +83,7 @@ public abstract class AbstractGame implements IGame { * This list contains all scripted events that may happen during the course of the game. This list * should only ever be present on the server. Only the results of events should be sent to clients. */ - protected final List scriptedEvents = new ArrayList<>(); + protected final List scriptedEvents = new CopyOnWriteArrayList<>(); /** * Piles of carry-able objects, sorted by coordinates From 45b2a5b77a5fc6600c1ac4b336bb7d0da053be0f Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 15 Aug 2024 15:17:45 +0200 Subject: [PATCH 04/10] Add Death of the Legion scenario (Kell Hounds) --- .../DeathOfTheLegion/DeathOfTheLegion.mms | 477 ++++++++++++++++++ .../DeathOfTheLegion/deathlegion_splash.png | Bin 0 -> 84105 bytes 2 files changed, 477 insertions(+) create mode 100644 megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms create mode 100644 megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/deathlegion_splash.png diff --git a/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms new file mode 100644 index 0000000000..6fdce543f7 --- /dev/null +++ b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms @@ -0,0 +1,477 @@ +# +# Copyright (c) 2024 - The MegaMek Team. All Rights Reserved. +# +# This file is part of MegaMek. +# +# MegaMek is free software: you can redistribute it and/or modify +# it 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. +# +# MegaMek is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with MegaMek. If not, see . +# +# Based on Death of the Legion, FASA's 01652 "Kell Hounds" sourcebook +MMSVersion: 2 +name: Death of the Legion +planet: Mankova +description: > + During a raid on Mankova by Gorman Toth and his pirate unit known as the Legion of Honor, Toth learned that + a Star League depot had been found during strip mining. Thinking he had tricked the Kell Hounds into + taking action elsewhere he went straight for it. + +map: + cols: 2 + boards: + - file: Map Set 2/16x17 River Valley.board + - file: Map Set 2/16x17 BattleTech.board + modify: rotate + +factions: +- name: Obser + + +- name: Mek Company, Kell Hounds + camo: Mercs/Kell Hounds.jpg + deploy: W + + units: + - fullname: Thunderbolt TDR-5S + id: 101 + force: Command Lance|1 + crew: + name: Lt. Col. Patrick M. Kell + portrait: Male/MechWarrior/MW_M_27.png + gunnery: 2 + piloting: 3 + + - fullname: Orion ON1-K + id: 102 + force: Command Lance|1 + crew: + name: Lt. Anne Finn + portrait: Female/MechWarrior/MW_F_41.png + gunnery: 3 + piloting: 4 + + - fullname: Marauder MAD-3R + id: 103 + force: Command Lance|1 + crew: + name: Sgt. Clarence Wilson + portrait: Male/MechWarrior/MW_M_103.png + callsign: Cat + gunnery: 2 + piloting: 3 + + - fullname: Crusader CRD-3R + id: 104 + force: Command Lance|1 + crew: + name: Bethany Connor + portrait: Female/MechWarrior/MW_F_48.png + gunnery: 4 + piloting: 5 + + - fullname: Wolverine WVR-6R + id: 105 + force: Assault Lance|2 + crew: + name: Maj. Salome Ward + portrait: Female/MechWarrior/MW_F_46.png + gunnery: 2 + piloting: 3 + + - fullname: Catapult CPLT-C1 + id: 106 + force: Assault Lance|2 + crew: + name: Lt. Mike Fitzhugh + portrait: Male/MechWarrior/MW_M_88.png + gunnery: 3 + piloting: 4 + + - fullname: Trebuchet TBT-5N + id: 107 + force: Assault Lance|2 + crew: + name: Sgt. Diane McWilliams + portrait: Female/MechWarrior/MW_F_85.png + gunnery: 3 + piloting: 4 + + - fullname: Rifleman RFL-3N + id: 108 + force: Assault Lance|2 + crew: + name: Mary Lasker + portrait: Female/MechWarrior/MW_F_5.png + gunnery: 4 + piloting: 5 + + - fullname: Valkyrie VLK-QA + id: 109 + force: Scout Lance|3 + crew: + name: Cpt. Daniel W. Allard + portrait: Male/MechWarrior/MW_M_37.png + gunnery: 3 + piloting: 4 + + - fullname: Commando COM-2D + id: 110 + force: Scout Lance|3 + crew: + name: Lt. Austin Brand + portrait: Male/MechWarrior/MW_M_5.png + gunnery: 3 + piloting: 4 + + - fullname: Wasp WSP-1A + id: 111 + force: Scout Lance|3 + crew: + name: Sgt. Margaret Lang + callsign: Meg + portrait: Female/MechWarrior/MW_F_1.png + gunnery: 4 + piloting: 5 + + - fullname: Jenner JR7-D + id: 112 + force: Scout Lance|3 + crew: + name: Eddie Baker + portrait: Male/MechWarrior/MW_M_65.png + gunnery: 4 + piloting: 5 + +# OpFor +- name: Legion of Honor + camo: Pirates/Tortuga Fusiliers.jpg + deploy: S + + units: + - fullname: Marauder MAD-3R + id: 201 + force: Leader Lance|11 + at: [ 27, 13 ] + facing: 5 + remaining: + armor: + LA: 15 + crew: + name: Gorman Toth + gunnery: 4 + piloting: 3 + + - fullname: JagerMech JM6-S + id: 202 + at: [ 28, 12 ] + facing: 4 + force: Leader Lance|11 + remaining: + armor: + H: 5 + crew: + name: Maj. Adolf Rillan + gunnery: 4 + piloting: 4 + + - fullname: Centurion CN9-A + id: 203 + at: [ 25, 12 ] + facing: 5 + force: Leader Lance|11 + crew: + name: Joe Toomb + callsign: Blackjack + gunnery: 4 + piloting: 5 + + - fullname: Assassin ASN-21 + id: 204 + facing: 5 + at: [ 24, 11 ] + force: Leader Lance|11 + crew: + name: Peter Manheim + callsign: Slippery Pete + gunnery: 4 + piloting: 4 + + - fullname: Orion ON1-K + id: 205 + facing: 4 + at: [ 29, 12 ] + force: Attack Lance|12 + crew: + name: Dan Glory + gunnery: 4 + piloting: 4 + + - fullname: Rifleman RFL-3N + id: 206 + at: [ 30, 11 ] + facing: 4 + force: Attack Lance|12 + crew: + name: Sandra Fitzsimmons + gunnery: 5 + piloting: 4 + + - fullname: Scorpion SCP-1N + id: 207 + at: [ 31, 12 ] + facing: 5 + force: Attack Lance|12 + crew: + name: Marcus Worrus + gunnery: 4 + piloting: 4 + + - fullname: Firestarter FS9-H + id: 208 + at: [ 32, 12 ] + facing: 5 + force: Attack Lance|12 + crew: + name: Zeke Smuthers + callsign: Zippo + gunnery: 3 + piloting: 5 + + - fullname: Valkyrie VLK-QA + id: 209 + at: [ 23, 11 ] + facing: 5 + force: Probe Lance|13 + crew: + name: Roxanne Devers + piloting: 4 + gunnery: 4 + + - fullname: Spider SDR-5V + id: 210 + at: [ 21, 10 ] + facing: 5 + force: Probe Lance|13 + crew: + name: Lancelot Smith + gunnery: 5 + piloting: 4 + + - fullname: Stinger STG-3R + id: 211 + at: [ 20, 9 ] + facing: 4 + force: Probe Lance|13 + crew: + name: Dorothy Gail + gunnery: 5 + piloting: 5 + + - fullname: Locust LCT-1V + id: 212 + at: [ 19, 10 ] + facing: 4 + force: Probe Lance|13 + crew: + name: Sam Norgales + gunnery: 4 + piloting: 4 + + +messages: + - header: Situation + text: | + # Situation + ## Mankova, Foredam District + ## Free Worlds League + ## November 3017 + + During a raid on Mankova led by Gorman Toth and his pirate band, the Legion of Honor, Toth discovered + that a Star League depot had been unearthed during strip-mining operations in the Foredam District. + Toth had been plundering the planet for nearly a week, having deceived the Kell Hounds into chasing + another pirate, Hassin Hys. Believing he had successfully evaded the Hounds, Toth made his way to the + remote mining district to seize the depot and its contents. Unbeknownst to him, he had walked right + into a carefully orchestrated trap laid by Lieutenant Colonel Patrick Kell, who had fabricated the story + about the Star League depot. + + As Toth's Legion of Honor advanced toward Foredam, Colonel Kell detached his AeroSpace company and + Jump Infantry Company to cut off all potential escape routes. When Major Salome Ward and her Relentless + Wolves engaged Toth's Legion, they had no options but to confront the Kell Hounds in direct battle. + + *This scenario is based on "Death of the Legion", published in the "Kell Hounds" sourcebook, FASA 01652.* + image: deathlegion_splash.png + trigger: + type: gamestart + + - header: Attacker's Task + text: | + ## Attacker's Task + + In this scenario, it is your task to deal with the pirate rabble of the so-called Legion of Honor. Destroy, + cripple or chase off the enemy. + trigger: + type: and + triggers: + - type: phasestart + phase: deployment + - type: round + round: 0 + + - header: Defeat + text: | + ## Defeat + + The pirates sadly proved to be hardier than Patrick Martin Kell had thought. It will take the Kell Hounds + quite some time to recover from today's losses. + + It's a good thing the pirates won't be able to resupply at a Star League depot on this planet. + image: deathlegion_splash.png + trigger: + type: activeunits + modify: [ atend, once ] + units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] + count: 0 + + - header: Victory + text: | + ## Victory! + + Congratulations! With your leadership, the Kell Hounds wiped the pirates from the face of the + planet at almost no losses to themselves. + + Let the opponents tremble when the Kell Hounds arrive. + image: deathlegion_splash.png + trigger: + type: and + modify: [ atend, once ] + triggers: + - type: activeunits + units: [ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212 ] + count: 0 + - type: killedunits + units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] + atmost: 1 + + - header: Victory + text: | + ## Victory! + + Congratulations! The Kell Hounds have secured the battlefield. While every lost MekWarrior hurts and every lost + Mek is expensive to replace, this victory came at not too great a cost. + + The pirates, as far as they survived will think of this day for a long time. Time to + collect the salvage. + image: deathlegion_splash.png + trigger: + type: and + modify: [ atend, once ] + triggers: + - type: activeunits + units: [ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212 ] + count: 0 + - type: killedunits + units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] + atleast: 2 + atmost: 4 + + - header: Victory + text: | + ## Victory! + + The Legion of Honor is no more. But the Kell Hounds are limping off the battlefield. Let's hope that + some of the wreckage can be salvaged. + image: deathlegion_splash.png + trigger: + type: and + modify: [ atend, once ] + triggers: + - type: activeunits + units: [ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212 ] + count: 0 + - type: killedunits + units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] + atleast: 5 + atmost: 8 + + - header: Victory + text: | + ## Victory! + + The pirates exacted a heavy toll on the Kell Hounds today. It can only be hoped that the battlefield + salvage and the contract payment can make up for the sustained damage. + image: deathlegion_splash.png + trigger: + type: and + modify: [ atend, once ] + triggers: + - type: activeunits + units: [ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212 ] + count: 0 + - type: killedunits + units: [ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112 ] + atleast: 9 + + - header: Pilot Message + text: | + *Sgt. Clarence Wilson:* Sir, reporting the pirate's leader lance is gone. This will surely demoralize them. + image: portraits/Male/MechWarrior/MW_M_103.png + trigger: + type: and + triggers: + - type: activeunits + units: [ 103 ] + - type: battlefieldcontrol + modify: not + - type: activeunits + modify: once + units: [ 201, 202, 203, 204 ] + count: 0 + + - header: Pilot Message + text: | + *Sgt. Clarence Wilson:* Sir, Jump Infantry is reporting several of the pirates who've fled have been caught and captured + or destroyed. + image: portraits/Male/MechWarrior/MW_M_103.png + trigger: + type: and + triggers: + - type: activeunits + units: [ 103 ] + - type: battlefieldcontrol + modify: not + - type: fledunits + modify: once + units: [ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212 ] + atleast: 3 + + - header: Pilot Message + text: | + *Lt. Mike Fitzhugh:* One pirate down. + image: portraits/Male/MechWarrior/MW_M_88.png + trigger: + type: and + triggers: + - type: activeunits + units: [ 106 ] + - type: battlefieldcontrol + modify: not + - type: activeunits + modify: once + units: [ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212 ] + count: 11 + +end: + - trigger: + type: battlefieldcontrol + + + diff --git a/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/deathlegion_splash.png b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/deathlegion_splash.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc59b1514ee242d93db8e27597307e5b1dc45b2 GIT binary patch literal 84105 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

Up1f-sh1Wfb5+iyNq%T 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

q6r&y!tdR<;`0oUslL>?hT ze0hD#?v>0%9o44ZkNoOwCES}>&B%IzidRtQnFxCoB|iyaKMQ3)6KNkoylZNbhmi6E z@B5ZA7@v}EerHO|E=9=+Nc!1m`b}w)D}S-LJM%aG**d zvOwOHd>E)d`Pt)Xt!l*XbMY!(cG#6ST_9jA6KO{2*gYgYI)A-X@K&9&CCwadPXL=% zbmf+B9sGLLnpTRf7F%Wl800wnZuHz8#WTYh#SuWx8^jK9ydgwE*0j z%A*8@{XqTH`df>3*uyzs^5WOd#)talGGUt3@y;g%E{Htj>A>arZ@K?A@3Z|5I^pX` zHR}XonG)u@hR8Z8r~W=gf}Q_!3{djdQMWvGz$3eG4fn3gzy${99*xX2ED(0qe*-q@ z$=>Tjh={j<*V_$&Yc#D%FRIG2w|pYtHcM9JZBCvuF8Sjmk9Xm&Wt-lM*OAR<)E`Co z?X|Z+*grRFkcSXZHP@>Otn*;u4FN(hh|w7ZKm@~8 z6Re7oVvH##4<-#HreqdcOxZ5HwMlYK)$y;LE9g4s5z_Q+nrrYW{Rg7SzFa1J`t*X! z45XZ-|(U7ffsl(?l7c>rNQ3uT{%v^)Gf z4PJK^+Ftzo0lMNNankRF!jI-5o{gg43rRm4O&>?ajya`-J5>*i`k}k;Nwq=Fb^9JY z^@{d5CQtB_OH+*(;f+1vGI_jAm&EPM1OFBRW{#L|0oR)-RJ`+edGYX`aJz}e$>nm% z*Ze$-r;a!36WiZutAtUnWl>#0Jmx)>5i0~G#L@GOfDK7bnVAO9VJLnsl`a*2Qtr@lUC&Ih;W+&USF>{J5s-UO!p)2 zB%_nT;w|zv=X7^fCD}9?`k7IKd^CjpEuiepZ9RarH&Of=BEE;qK7ji7^6(!TQQzq` z{U~DR{+D?eMIS-Zdl7K;yH;QRmC*D@M%4Fk(Oc&_XE6TT|MJ_^-FDeAt-ju9n0&5J zUrzoOil+NFIcn+hE_xg}Q(1m{4VA0LIL206+3#|9Q(BDrqVIRy>>DqU!U8QYb~($n z`_I&H<;MMNbSy^OUema@$A832w}`Pt-XoN_g|zqH{0T8Vocfi6&7+JlN)nG?s*;-H zT-M&IjyZ&g+ik|}I(PdMxi11+puFB*mWg`=(E_GBZva+9inl28SWR%Xw5vEK8oEpO=sdt zRVCYybs8h#4}bW-2;l}lO(j*H860B16<=?R*Vk*Vtkna(S_eOCbk=7e>=6(8-b#^Y zq3kuJxrtowom@PidRar?zgJZn9X%7PriscdD-f(%hTPu zpV>>?X1VzR%HrJNww!dU#kI(~MJ#rzsHOojUYYoV)Fk zH;9YMQ+hPf*Q-!^4u-w|_YifDs~ z6J>~K;zdRC`ud9Nd_xSB(&bf$T~{^C4EmRU^hbP%i+(b~z8hulLC`0mY&2%%hrFo| zBJI7X`LL7TJxZ5*Q1dtH55kZ9e#2h#3>1APlHSAZepEF5ts?4GZhP?g(=Y$?Z!>cA zESz9YSf&=K>O8;vb7V#&2L|DiI;XRfuBT6|qN_6D>OYqWJS_CueZ)o!b;pRGUEW%F zFgd8(Y*02g2h|PGY@?%&;66f%CAovSRfidv{O zRFQ@K{pauS^6~=j9h@suiAomt{Hx2g)VmJrsp3&jXl=UHt_@EFFBetPX){7{$r*V_ z+jV0nHx*H5mA{z~RsZuLINeZ=*&ayg?-8!I8(v>u@phdN0%vp|LQK_5c|S*ktg!Hsn zkWOJWopcjjE_`Vm-tEYs6=r0VhK?8X8Vc-j%Ppc^Ql3bug3LMFW1xvFNi5(~e?`~n5>WxWM-=Wkk+7ab4#WtODUhrz0;@PBqWUrwml6LeV4DP`!SZYO+

t`$CNyt(r-Yh@-COt&o#;}qPMz#)Z|w$)=cX`GeY$39KiJ^sWP|u zhU;5Eh`dM`0?Dm7Mh5+hAAaDT>)d-H>}T=V=!O2?iLwv#*#{EB&(u=WL8N+$|MiK8 z_{f%?<^OR6kv{T$c4sv1P>XD-Pk05f?d5|%5}F=z%zIPP-w9EVDuAuy+&e$h&wu@! zJl}6$=uqeUsY{k752qVG2*3qJ4bdtRT8(8?4lr$0&_<}y9Z$)nuHK#AQ@W?W-mA%8 z++-Nb6ys__k}IS#x`Ed^>3aKakU5w+YA)P2b+iWhod|1OuV{MpTjeFKDBq@fSYHO6 z9&0<>Y_JJo6`_w%cUu*8Jy{sdF)!b*-QmYu|7KNNh#t3| zEg)MXmVv~K@SLa0OIbPadc6V_JY6i1vXF!#F9@=|QS|&D3Yl{y#}j-B-GHLQF_s;8i)=goa91X1f;uQT4>-Vhntqoh?i#TY?7yBs8{dofY@SAQoc*Qgt4@WFznIV0o= zMStwD5q8_$Bw|uTdg99ORzA#wNM2F#eK}=W5<5U)H-Bn%t?iT1>Q8Ori`8t7c&EZ& zrpm&iP!O1Sk<_gdjrp@3EvgdYT15~WRGK+hs-M`|i^S1_GtatHqjJca*<3J0qaL8b z-N9AL3v%M_hCBKNEn+C#yl}a~HEU(D>{Bec;JSl9o}wLHcnmiYCVv4Um5jo)PE}7` zE=;cc!9^`$<9h^I=VJ_7Wcs!15|uk#op{2@t#7SD>`fWAd7JH@#b?>)l<&)Bg7@jF z=8%;TM1G;E&YR|=`*(X2!ihZ+aBb-;dyd4lHQ|XK8mK#Q3$%4tcBLROzz`m3PP5Q`veV^rre;;+z>goH(qIbw(jv@xm>?+j{@n&+Dl= zoO6}BfGAA?QlD3>P-Anvl*bd5hU=c=y4>ZevgmP-)_Y}iakZY>syuR@KtA!qaeZwq zo<`}|T7RaW{ipxhy|AM7Eii~V+C-QXexZ{?ip=E68WQ3W4J7Th z*$i2spigt=m_0(&Z+rP9ORj;4LsU0<;;re9t@?wge=>Th&^0s{)j&JRx0Y^F*2Pi} zI+~cOj)#31DfelWB-HOK=qCI|ZeRAdpt$MA*G0RDJJ*R=<)+&TAaln_U%jY$*yhz4 z6qLF7+TUiR0dA)yNBr=Ddo`#m=MCCRk*pW81F@_4zg&nhhrQ&`*IYYej0iJuoo9Uc@&$8{s-fuL3#yJWg8q3z z)^{P|gIeq}dF*GQ?Ds<2&qmw#e4jnY8yn~6OqBfy8s}%f_o&`_Lu>pj6#X!gKIjW_ zI+{L!Qupx5Tkq!$SH$-~)T3iE{o=3wuHu|6f1UqbQ4kTlaR^Xkk-ucJ(3tZ@EU0Em zXgfBaW3NbyyX#55fHvi~MqLTzv!+!m+s@6sgkZJWd-$cA8?F&t@e)AgEn;^}j^C92 zI&Zq=t#!9s?YKpu`tMc=P<66Vqta>{;A+xQPpsS0kAkvKwCY`3PI#0iW08e!i{KU> z$od*iJq~bQbp| zMU@vKYfoA!)oF9dHdSP;6OZkWOUj*G`GQimUo6#a+ou>f0G57*W?^sk000NrNkl07BSB;-?!{NZl1+so&MQRf67~^^AUvoEFSx7 zpzJe|_U>)palFq$xQ}{TW21_?_lHhE&qt8*qsaCd2>KpA`Vl1kQPA`=`00BP^&YQ} zM>*=YLYRJ))FAqgy|iP?hbe9)mL9D|;FLJBKsCD1-?=Vd91}XJQx_JyM=@)etFn@P z*XLRjt3eSa0x$2lbwBI*U$kD`;3+|*xS5wUuJ`c#!a^%w+NwO~1n|bzY=sh; z&3oB!)-32$U!D9u$gIPWPfV2-@0u!A_m~)txWiXtz%dhSVw9aSM0NZ$N7Civ-BWms z5q;VJ!i(3C&L*_zv~rAN1xVfZC<|;^bx>2?%U?nWh%C9E*V`-R0K`y^fkpfIUZBW& z7vkLDoOkokckA)=%JmtoM6jTDMotQzqVi^GiY>YY5-m?X215~Y;gJeo*4zLYD86kmqjz~6 z`-6yWPWW?wm z!qrj*B+YC#o>}^KaOSSlx-@2_o?|R;5QXNolX$b`7?%_dZ-kOVchz56dRX^- zdq%mfRuxvQyO!^E?K+@pqO#|KUsN-+{vcqk0l)-5`znO78ig16wPm`qo_r2bwBYj` z5Ms*xWCH0L;P&$)=$|TQeT35mHj`4G!DD|7lzjwge|5CIf?DYgzw0x2WqiPGKf|qW zZwkvtMbSr)^eJfiAg}#YetJ)e%vVIzdfujg{Wt%;dT}qUqy4Em^(!Z!_jl#3T|$62 zN|QRt=b8!d3~A*We#xToS;qv;)7cNw!$(OJ<%u0@elM#x`e$uzk+xiJj1jX-S#hir zTfy*>Sok=!ijXl+HgLJ);>fqAb=EAx(G5Mj{&7KXJyf0h1SZkOCv}GWO1-(q`%%GE zZYvV5d>neIGx-MY1bK@3p;U5f=c&ufTjf!WlZ<;_Lb)i8eVi})!fAIOnr-roPI3~4 z$tI(9n7^Y#b>2tSg7!Al)o(5TaWu(E9W_ZlkBKi|a>_N*UGmvAI=0t9du>#`0kQ3@ zR2rokh{mUcY#X2pUUceI_dPNVQh&;MA06wuI;f9n?1t(d!X#I`0O)~_7UWGR_@{+^!?sk@<*6>+=XVDPu=z-E`Vnu>3ezU zuZ5-$^V54>`gWk{XCvy&S^t}atXpqr-H7*ofxK;pvUf7pvd{7tFwnQW%)$dWK_LPM~3&d>BSjr#e1zIeA(sfdL zIrd1Cj{wIO@l&<#dOW<{-?l>YE@YpM3<@fN|hY|GJ=kMH~BWQSQlJ8zG=y#u9Jg9|!hD+Z^ z`MDP@-^>3#jG%X*=rfV@US9e=(e%-3;|#?|Z#xxjw!wvOA?o&b)4%)M|4}~~2Iwm5 ztPQ#jA!J0LlVsp zCpC%5(SBbPAMb_kxa;9zR1=0BR$XUyFf)2g47@jbh$_MVVYfP01kPYXUM7s}z3|q& z#7Djey@ZqD_L84*j!sEh{oX7<{=cnMAQ_FT3GeCR$ZOAXoMv*7NOZ{|#-gJxapc+8 zqxNU19VJ^dT2~g(RaWu+qEs+G+O*`R_n_Lk54BVyRVhM1cS^XP0;Dmh801FgIRn&Q zL8_Q28e=;tycn(MsxnG)`g+f5Z%+$wne(oBch}|l+xw;E&Z(Kej*P7M=&=$uQ&ayx z&ok(sG@SJwPWc&1k@rT~TibeAPkm5*aWC4w7pWeaUZnTM!h2Br8R+-k Date: Thu, 15 Aug 2024 15:18:26 +0200 Subject: [PATCH 05/10] scenario how to and minor code change --- megamek/docs/Scenarios/ScenarioV2 HowTo.mms | 13 +++++++++++-- .../megamek/client/ui/dialogs/MMStoryDialog.java | 1 - 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms index 80e1d700ab..60e69a1945 100644 --- a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms +++ b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms @@ -28,8 +28,9 @@ singleplayer: yes # default: yes; the first player is # Game Map ------------------------------------------------------------------------------------------- map: - boardcolumns: 2 # a 2x1 map, default: 1 -# boardrows: 1 # default: 1 + # Optional: the columns to arrange boards in. Default: 1 + # The number of rows follows from the number of boards given and the columns + cols: 2 # a 2x1 map, default: 1 boards: - board1.board # all files are first searched relative to the scenario file, and - board2.board # if not found there, then relative to the appropriate data/... directory @@ -171,6 +172,12 @@ planetaryconditions: # default: standard conditions # Forces ------------------------------------------------------------------------------------------- factions: + # The first player is assumed to be the human player, while the rest get bots assigned by default. + # To have the bots play all factions, insert a player without any units as the first player + # Only this line is required: + # - name: Human Observer + + - name: Player A team: 1 # default: each player goes into their own team deploy: N # default: same as the home edge @@ -195,6 +202,8 @@ factions: - fullname: Atlas AS7-D # pre-deployed: offboard: N # default: not offboard; values: N, E, S, W + # Optional: when pre-deployed, set the facing. 5 = NW + facing: 5 at: [7, 4] # position 0704 (pre-deployed) # x: 7 # alternative way to give position # y: 4 # must have both x and y or neither diff --git a/megamek/src/megamek/client/ui/dialogs/MMStoryDialog.java b/megamek/src/megamek/client/ui/dialogs/MMStoryDialog.java index 46e7131951..dc6fb64f0b 100644 --- a/megamek/src/megamek/client/ui/dialogs/MMStoryDialog.java +++ b/megamek/src/megamek/client/ui/dialogs/MMStoryDialog.java @@ -60,7 +60,6 @@ public void actionPerformed(ActionEvent evt) { } protected void initialize() { - setAlwaysOnTop(true); setLayout(new BorderLayout()); add(getMainPanel(), BorderLayout.CENTER); add(getButtonPanel(), BorderLayout.SOUTH); From c87989eb96e0ba4fdcb489fc3f6a53d2e14d5139 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 16 Aug 2024 16:30:32 +0200 Subject: [PATCH 06/10] Parse ammo amounts and location crits (Mek) from scenarios, update documentation --- megamek/docs/Scenarios/ScenarioV2 HowTo.mms | 31 ++++++- .../jacksonadapters/EntityDeserializer.java | 86 ++++++++++++++++++- 2 files changed, 112 insertions(+), 5 deletions(-) diff --git a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms index 60e69a1945..9f753f46ea 100644 --- a/megamek/docs/Scenarios/ScenarioV2 HowTo.mms +++ b/megamek/docs/Scenarios/ScenarioV2 HowTo.mms @@ -201,7 +201,7 @@ factions: # - include: Annihilator ANH-13.mmu - fullname: Atlas AS7-D # pre-deployed: - offboard: N # default: not offboard; values: N, E, S, W + offboard: N # default: not offboard; values: N, E, S, W (TODO) # Optional: when pre-deployed, set the facing. 5 = NW facing: 5 at: [7, 4] # position 0704 (pre-deployed) @@ -220,7 +220,7 @@ factions: force: 2nd Sword of Light|21||Zakahashi's Zombies|22||Assault Lance|23 # pre-applied damage may assign remaining armor and internal structure values. Values - # higher than the undamaged values of the unit are ignored + # higher than the undamaged values of the unit are ignored. Negative values set to 0 (TODO) remaining: armor: # remaining armor values, use the usual location names @@ -228,11 +228,34 @@ factions: CTR: 0 internal: # remaining internal structure is independent of armor and does not create any crits + # TODO: have 0 internal destroy the location LA: 2 - # Optional: give details of the crew/pilot - currently only for single pilots + # location crits + # this usually requires looking up the unit file + crits: + # the usual location names. Give the slots as an array ([ 4, 8 ] or using dashes on separate lines) + # slots are 1-based, i.e. CT has slots 1 to 12 (not 0) + # location crits will mark the equipment as damaged, but never have any secondary effects + # like explosions or pilot hits. Crits that destroy a unit are invalid (e.g. 3 engine hits) + LA: 4 + RT: [ 1, 3 ] + CT: 1 + # non-location crits (TODO) + # motive: 1 + # firecontrol: 1 + + # ammo types and reduced amount + # this usually requires looking up the unit file and possibly AmmoType.java for the type designations + ammo: + LA: + slot: 5 + shots: 2 + # type: xyz (TODO) + + # Optional: give details of the crew/pilot - currently only for single pilots (TODO) # by default, the pilot is an unnamed 4/5 pilot - # all fields in crew: are optional + # all fields in crew are optional crew: name: Cpt. Frederic Nguyen callsign: MAGIC diff --git a/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java b/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java index 2645c25c42..f0c7d5883f 100644 --- a/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java +++ b/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java @@ -24,12 +24,15 @@ import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import megamek.common.*; import megamek.common.icons.Camouflage; +import megamek.common.options.OptionsConstants; import megamek.common.scenario.Scenario; +import org.apache.logging.log4j.LogManager; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Vector; import static megamek.common.jacksonadapters.ASElementSerializer.FULL_NAME; import static megamek.common.jacksonadapters.MMUReader.requireFields; @@ -54,6 +57,10 @@ public class EntityDeserializer extends StdDeserializer { private static final String ARMOR = "armor"; private static final String INTERNAL = "internal"; private static final String FORCE = "force"; + private static final String CRITS = "crits"; + private static final String AMMO = "ammo"; + private static final String SLOT = "slot"; + private static final String SHOTS = "shots"; public EntityDeserializer() { this(null); @@ -82,6 +89,8 @@ public Entity deserialize(JsonParser jp, DeserializationContext ctxt) throws IOE assignForce(entity, node); CrewDeserializer.parseCrew(node, entity); assignRemaining(entity, node); + assignCrits(entity, node); + assignAmmos(entity, node); return entity; } @@ -256,4 +265,79 @@ private void assignVelocity(Entity entity, JsonNode node) { ((IAero) entity).setNextVelocity(velocity); } } -} \ No newline at end of file + + private void assignCrits(Entity entity, JsonNode node) { + if (!(entity instanceof Mech) || !node.has(CRITS)) { + // Implementation very different for different entities; for now: Meks + return; + } + JsonNode critsNode = node.get(CRITS); + for (int location = 0; location < entity.locations(); location++) { + String locationAbbr = entity.getLocationAbbr(location); + if (critsNode.has(locationAbbr)) { + for (int slot : parseArrayOrSingleNode(critsNode.get(locationAbbr))) { + int zeroBasedSlot = slot - 1; + CriticalSlot cs = entity.getCritical(location, zeroBasedSlot); + if ((cs == null) || !cs.isHittable()) { + throw new IllegalArgumentException("Invalid slot " + location + ":" + slot + " on " + entity); + } else { + cs.setHit(true); + if ((cs.getType() == CriticalSlot.TYPE_SYSTEM) && (cs.getIndex() == Mech.SYSTEM_ENGINE)) { + entity.engineHitsThisPhase++; + } else { + Mounted mounted = cs.getMount(); + mounted.setDestroyed(true); + } + } + } + } + } + } + + private void assignAmmos(Entity entity, JsonNode node) { + if (node.has(AMMO)) { + JsonNode critsNode = node.get(AMMO); + for (int location = 0; location < entity.locations(); location++) { + String locationAbbr = entity.getLocationAbbr(location); + final int finalLoc = location; + if (critsNode.has(locationAbbr)) { + critsNode.get(locationAbbr).iterator().forEachRemaining(n -> assignAmmo(entity, n, finalLoc)); + } + } + } + } + + private void assignAmmo(Entity entity, JsonNode node, int location) { + int slot = node.get(SLOT).asInt() - 1; + int shots = node.get(SHOTS).asInt(); + CriticalSlot cs = entity.getCritical(location, slot); + if (cs != null) { + Mounted ammo = cs.getMount(); + if (ammo.getType() instanceof AmmoType) { + // Also make sure we dont exceed the max allowed + ammo.setShotsLeft(Math.min(shots, ammo.getBaseShotsLeft())); + } else { + throw new IllegalArgumentException("Invalid ammo slot " + location + ":" + (slot + 1) + " on " + entity); + } + } + } + + /** + * Returns all Integers of a node as a List. The node may be either of the form "node: singleNumber", in + * which case the List will only contain singleNumber, or it may be an array node of the form + * "node: [ firstNumber, secondNumber ]" (or the multi-line form using dashes) in which case the list + * contains all the given numbers. + * + * @param node The node to parse + * @return A list of the given numbers of the node + */ + public static List parseArrayOrSingleNode(JsonNode node) { + List result = new ArrayList<>(); + if (node.isArray()) { + node.iterator().forEachRemaining(n -> result.add(n.asInt())); + } else { + result.add(node.asInt()); + } + return result; + } +} From 316416df31dbd7f96281f0bba4348842482b4c1b Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 16 Aug 2024 16:30:53 +0200 Subject: [PATCH 07/10] update scenarios with unit damage and ammo amounts --- .../LoweringTheBoom/LoweringTheBoom.mms | 27 +++++++++++++++++++ .../ToSaveAPrince/ToSaveAPrince.mms | 12 +++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/megamek/data/scenarios/Kell Hounds/LoweringTheBoom/LoweringTheBoom.mms b/megamek/data/scenarios/Kell Hounds/LoweringTheBoom/LoweringTheBoom.mms index aa0dd82628..dd60051451 100644 --- a/megamek/data/scenarios/Kell Hounds/LoweringTheBoom/LoweringTheBoom.mms +++ b/megamek/data/scenarios/Kell Hounds/LoweringTheBoom/LoweringTheBoom.mms @@ -59,6 +59,12 @@ factions: armor: LT: 2 CT: 15 + ammo: + CT: + - slot: 11 + shots: 5 + - slot: 12 + shots: 5 crew: name: Col. Oliver Nage portrait: Male/MechWarrior/MW_M_15.png @@ -74,6 +80,8 @@ factions: CT: 15 internal: LT: 10 + crits: + RT: 3 crew: name: Maj. Abraham Morrison portrait: Male/MechWarrior/MW_M_13.png @@ -87,6 +95,12 @@ factions: armor: HD: 5 RL: 10 + ammo: + LT: + - slot: 1 + shots: 3 + - slot: 2 + shots: 3 crew: name: Lt. Alicia Devon piloting: 4 @@ -98,6 +112,12 @@ factions: remaining: armor: CT: 12 + ammo: + LT: + - slot: 4 + shots: 4 + - slot: 5 + shots: 4 crew: name: Sgt. Jonathan Taylor piloting: 4 @@ -151,6 +171,13 @@ factions: - fullname: Dervish DV-6M id: 203 deploymentround: 2 + ammo: + LT: + - slot: 3 + shots: 4 + RT: + - slot: 3 + shots: 4 crew: name: Brian Martell piloting: 4 diff --git a/megamek/data/scenarios/Kell Hounds/ToSaveAPrince/ToSaveAPrince.mms b/megamek/data/scenarios/Kell Hounds/ToSaveAPrince/ToSaveAPrince.mms index 35e8de842a..6172cf8ea6 100644 --- a/megamek/data/scenarios/Kell Hounds/ToSaveAPrince/ToSaveAPrince.mms +++ b/megamek/data/scenarios/Kell Hounds/ToSaveAPrince/ToSaveAPrince.mms @@ -95,7 +95,10 @@ factions: id: 106 force: 2nd Sword of Light|21||Zakahashi's Zombies|22||Support Lance|24 remaining: - RTR: 0 + armor: + RTR: 0 + crits: + LA: 5 crew: name: Cletus Palmer piloting: 4 @@ -105,7 +108,12 @@ factions: id: 107 force: 2nd Sword of Light|21||Zakahashi's Zombies|22||Support Lance|24 remaining: - CT: 10 + armor: + CT: 10 + crits: + CT: 11 + LL: [ 5, 6 ] + RL: [ 5, 6 ] crew: name: Tom Meyer callsign: Hands From 01b7f7c4530d52cebdbbc899aaaaed62c3b883a9 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 16 Aug 2024 16:31:04 +0200 Subject: [PATCH 08/10] add new Death of the Legion scenario --- .../DeathOfTheLegion/DeathOfTheLegion.mms | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms index 6fdce543f7..11b6f90e86 100644 --- a/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms +++ b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms @@ -33,7 +33,7 @@ map: modify: rotate factions: -- name: Obser +#- name: Obser - name: Mek Company, Kell Hounds @@ -165,6 +165,8 @@ factions: remaining: armor: LA: 15 + crits: + LA: 4 crew: name: Gorman Toth gunnery: 4 @@ -177,7 +179,7 @@ factions: force: Leader Lance|11 remaining: armor: - H: 5 + HD: 5 crew: name: Maj. Adolf Rillan gunnery: 4 @@ -220,6 +222,11 @@ factions: at: [ 30, 11 ] facing: 4 force: Attack Lance|12 + remaining: + armor: + CT: 12 + crits: + RA: 3 crew: name: Sandra Fitzsimmons gunnery: 5 @@ -271,6 +278,9 @@ factions: at: [ 20, 9 ] facing: 4 force: Probe Lance|13 + crits: + LA: 5 + RA: 6 crew: name: Dorothy Gail gunnery: 5 From ed16c0f3a086c3c552de7742fd106f85fbe85e47 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 14 Sep 2024 09:27:03 +0200 Subject: [PATCH 09/10] post-merge fix --- .../common/jacksonadapters/EntityDeserializer.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java b/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java index 092384f0a0..8d6810c015 100644 --- a/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java +++ b/megamek/src/megamek/common/jacksonadapters/EntityDeserializer.java @@ -34,14 +34,6 @@ import megamek.common.*; import megamek.common.icons.Camouflage; import megamek.common.scenario.Scenario; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Vector; - -import static megamek.common.jacksonadapters.ASElementSerializer.FULL_NAME; -import static megamek.common.jacksonadapters.MMUReader.requireFields; public class EntityDeserializer extends StdDeserializer { @@ -273,7 +265,7 @@ private void assignVelocity(Entity entity, JsonNode node) { } private void assignCrits(Entity entity, JsonNode node) { - if (!(entity instanceof Mech) || !node.has(CRITS)) { + if (!(entity instanceof Mek) || !node.has(CRITS)) { // Implementation very different for different entities; for now: Meks return; } @@ -288,7 +280,7 @@ private void assignCrits(Entity entity, JsonNode node) { throw new IllegalArgumentException("Invalid slot " + location + ":" + slot + " on " + entity); } else { cs.setHit(true); - if ((cs.getType() == CriticalSlot.TYPE_SYSTEM) && (cs.getIndex() == Mech.SYSTEM_ENGINE)) { + if ((cs.getType() == CriticalSlot.TYPE_SYSTEM) && (cs.getIndex() == Mek.SYSTEM_ENGINE)) { entity.engineHitsThisPhase++; } else { Mounted mounted = cs.getMount(); From c3f86de0cb54137447b73739cf7e4ee10a7999c8 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 14 Sep 2024 09:34:38 +0200 Subject: [PATCH 10/10] post-merge fix --- .../DeathOfTheLegion/DeathOfTheLegion.mms | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms index 11b6f90e86..810a9602d1 100644 --- a/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms +++ b/megamek/data/scenarios/Kell Hounds/DeathOfTheLegion/DeathOfTheLegion.mms @@ -46,7 +46,7 @@ factions: force: Command Lance|1 crew: name: Lt. Col. Patrick M. Kell - portrait: Male/MechWarrior/MW_M_27.png + portrait: Male/MekWarrior/MW_M_27.png gunnery: 2 piloting: 3 @@ -55,7 +55,7 @@ factions: force: Command Lance|1 crew: name: Lt. Anne Finn - portrait: Female/MechWarrior/MW_F_41.png + portrait: Female/MekWarrior/MW_F_41.png gunnery: 3 piloting: 4 @@ -64,7 +64,7 @@ factions: force: Command Lance|1 crew: name: Sgt. Clarence Wilson - portrait: Male/MechWarrior/MW_M_103.png + portrait: Male/MekWarrior/MW_M_103.png callsign: Cat gunnery: 2 piloting: 3 @@ -74,7 +74,7 @@ factions: force: Command Lance|1 crew: name: Bethany Connor - portrait: Female/MechWarrior/MW_F_48.png + portrait: Female/MekWarrior/MW_F_48.png gunnery: 4 piloting: 5 @@ -83,7 +83,7 @@ factions: force: Assault Lance|2 crew: name: Maj. Salome Ward - portrait: Female/MechWarrior/MW_F_46.png + portrait: Female/MekWarrior/MW_F_46.png gunnery: 2 piloting: 3 @@ -92,7 +92,7 @@ factions: force: Assault Lance|2 crew: name: Lt. Mike Fitzhugh - portrait: Male/MechWarrior/MW_M_88.png + portrait: Male/MekWarrior/MW_M_88.png gunnery: 3 piloting: 4 @@ -101,7 +101,7 @@ factions: force: Assault Lance|2 crew: name: Sgt. Diane McWilliams - portrait: Female/MechWarrior/MW_F_85.png + portrait: Female/MekWarrior/MW_F_85.png gunnery: 3 piloting: 4 @@ -110,7 +110,7 @@ factions: force: Assault Lance|2 crew: name: Mary Lasker - portrait: Female/MechWarrior/MW_F_5.png + portrait: Female/MekWarrior/MW_F_5.png gunnery: 4 piloting: 5 @@ -119,7 +119,7 @@ factions: force: Scout Lance|3 crew: name: Cpt. Daniel W. Allard - portrait: Male/MechWarrior/MW_M_37.png + portrait: Male/MekWarrior/MW_M_37.png gunnery: 3 piloting: 4 @@ -128,7 +128,7 @@ factions: force: Scout Lance|3 crew: name: Lt. Austin Brand - portrait: Male/MechWarrior/MW_M_5.png + portrait: Male/MekWarrior/MW_M_5.png gunnery: 3 piloting: 4 @@ -138,7 +138,7 @@ factions: crew: name: Sgt. Margaret Lang callsign: Meg - portrait: Female/MechWarrior/MW_F_1.png + portrait: Female/MekWarrior/MW_F_1.png gunnery: 4 piloting: 5 @@ -147,7 +147,7 @@ factions: force: Scout Lance|3 crew: name: Eddie Baker - portrait: Male/MechWarrior/MW_M_65.png + portrait: Male/MekWarrior/MW_M_65.png gunnery: 4 piloting: 5 @@ -433,7 +433,7 @@ messages: - header: Pilot Message text: | *Sgt. Clarence Wilson:* Sir, reporting the pirate's leader lance is gone. This will surely demoralize them. - image: portraits/Male/MechWarrior/MW_M_103.png + image: portraits/Male/MekWarrior/MW_M_103.png trigger: type: and triggers: @@ -450,7 +450,7 @@ messages: text: | *Sgt. Clarence Wilson:* Sir, Jump Infantry is reporting several of the pirates who've fled have been caught and captured or destroyed. - image: portraits/Male/MechWarrior/MW_M_103.png + image: portraits/Male/MekWarrior/MW_M_103.png trigger: type: and triggers: @@ -466,7 +466,7 @@ messages: - header: Pilot Message text: | *Lt. Mike Fitzhugh:* One pirate down. - image: portraits/Male/MechWarrior/MW_M_88.png + image: portraits/Male/MekWarrior/MW_M_88.png trigger: type: and triggers: