From 5fa2c52556a04aad7478612e543962110213744c Mon Sep 17 00:00:00 2001 From: NilsUeter Date: Mon, 8 May 2023 18:00:32 +0200 Subject: [PATCH] fix weapon descriptions like Lions Arma Luminous --- src/Roster.jsx | 70 +++++++++++++++++++++++++++++++++--------------- src/roster40k.js | 2 +- 2 files changed, 49 insertions(+), 23 deletions(-) diff --git a/src/Roster.jsx b/src/Roster.jsx index 2c45b7a..219eff3 100644 --- a/src/Roster.jsx +++ b/src/Roster.jsx @@ -50,11 +50,11 @@ const getPrimaryColor = (catalog) => { case "Adeptus Mechanicus": return "#536766"; case "Astra Militarum": - return "#536766"; + return "#375441"; case "Chaos Daemons": return "#536766"; case "Chaos Space Marines": - return "#536766"; + return "#1d3138"; case "Death Guard": return "#536766"; case "Drukhari": @@ -68,9 +68,9 @@ const getPrimaryColor = (catalog) => { case "Imperial Knights": return "#536766"; case "Necrons": - return "#536766"; + return "#005c2f"; case "Orks": - return "#536766"; + return "#4b6621"; case "Sisters of Battle": return "#536766"; case "Space Marines": @@ -126,14 +126,11 @@ const Unit = ({ unit, index, catalog, onePerPage }) => { cost, } = unit; - const hasDifferentProfiles = weapons.some( - (weapon) => - weapon.selectionName !== weapon.name && - !weapon.name.includes("(Shooting)") && - !weapon.name.includes("(Melee)") - ); const meleeWeapons = weapons - .filter((weapon) => weapon.range === "Melee" && weapon.range !== "-") + .filter( + (weapon) => + weapon.range === "Melee" && weapon.range !== "-" && weapon.range !== "" + ) .sort((a, b) => a.selectionName.localeCompare(b.selectionName)); if (meleeWeapons.length === 0) { meleeWeapons.push({ @@ -147,9 +144,22 @@ const Unit = ({ unit, index, catalog, onePerPage }) => { }); } const rangedWeapons = weapons - .filter((weapon) => weapon.range !== "Melee" && weapon.range !== "-") + .filter( + (weapon) => + weapon.range !== "Melee" && weapon.range !== "-" && weapon.range !== "" + ) .sort((a, b) => a.selectionName.localeCompare(b.selectionName)); + const weaponDescriptions = weapons + .filter((weapon) => weapon.range === "-" || weapon.range === "") + .sort((a, b) => a.selectionName.localeCompare(b.selectionName)); + const modelsWithDifferentProfiles = weapons.filter( + (weapon) => + weapon.selectionName !== weapon.name && + !weapon.name.includes("(Shooting)") && + !weapon.name.includes("(Melee)") + ); + return (
{ />
- {hasDifferentProfiles && ( - - - +
+ + {weaponDescriptions.map((weapon, index) => ( + - -
{Arrow} - Before selecting targets for this weapon, select one of its - profiles to make attacks with. + {weapon.name} - {weapon.abilities}
- )} + ))} + {modelsWithDifferentProfiles.length > 0 && + !weaponDescriptions.length && ( + + {Arrow} + + Before selecting targets for this weapon, select one of + its profiles to make attacks with. + + + )} + + +