diff --git a/src/App.jsx b/src/App.jsx index 20a1e16..336bc4b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -287,7 +287,7 @@ const getPrimaryColor = (catalog) => { case "Imperium - Astra Militarum": return "#375441"; case "Imperium - Grey Knights": - return "#465056"; + return "#4a6672"; case "Imperium - Imperial Knights": return "#03495e"; case "Chaos - Daemons": diff --git a/src/Roster.jsx b/src/Roster.jsx index 3f7af02..530547b 100644 --- a/src/Roster.jsx +++ b/src/Roster.jsx @@ -863,7 +863,7 @@ const getOverridePrimary = (factions, keywords) => { ) return; if (factions.has("Khorne") || keywords.has("Khorne")) return "#883531"; - if (factions.has("Tzeentch") || keywords.has("Tzeentch")) return "#1f3d7a"; + if (factions.has("Tzeentch") || keywords.has("Tzeentch")) return "#015d68"; if (factions.has("Nurgle") || keywords.has("Nurgle")) return "#5c672b"; if (factions.has("Slaanesh") || keywords.has("Slaanesh")) return "#634c74"; }; diff --git a/src/Weapons.jsx b/src/Weapons.jsx index 40426bb..3ff53b7 100644 --- a/src/Weapons.jsx +++ b/src/Weapons.jsx @@ -149,12 +149,29 @@ const Weapon = ({ weapon, modelStats, isMelee, className, forceRules }) => { ); replaceAbilityWithType( [ + "Each time an attack is made with this weapon, an unmodified hit roll of 6 automatically wounds the target.", "Each time an attack is made with this weapon profile, an unmodified hit roll of 6 automatically wounds the target.", "Each unmodified hit roll of 6 made for this weapon's attacks automatically hits and results in a wound (do not make a wound roll for that attack).", ], "Lethal Hits", "Each time an attack is made with this weapon profile, an unmodified hit roll of 6 automatically wounds the target." ); + replaceAbilityWithType( + [ + "When resolving an attack made with this weapon, an unmofidied hit roll of 6 scores 1 additional hit.", + "Each time an attack is made with this weapon, an unmodified hit roll of 6 scores 1 additional hits.", + ], + "Sustained Hits 1", + "When resolving an attack made with this weapon, an unmofidied hit roll of 6 scores 1 additional hit." + ); + replaceAbilityWithType( + [ + "When resolving an attack made with this weapon, an unmofidied hit roll of 6 scores 2 additional hit.", + "Each time an attack is made with this weapon, an unmodified hit roll of 6 scores 2 additional hits.", + ], + "Sustained Hits 2", + "When resolving an attack made with this weapon, an unmofidied hit roll of 6 scores 2 additional hit." + ); if ( abilities?.includes( diff --git a/src/roster40k.js b/src/roster40k.js index 77159c8..9398bf7 100644 --- a/src/roster40k.js +++ b/src/roster40k.js @@ -295,8 +295,11 @@ export class Unit extends BaseNotes { normalize() { // Sort force units by role and name this.models.sort(CompareModel); - this.modelStats.sort((a, b) => { - var wounds_order = parseInt(a.wounds) - parseInt(b.wounds); + console.log(this.modelStats); + this.modelStats = this.modelStats.sort((a, b) => { + var wounds_order = + (isNaN(parseInt(a.wounds)) ? -1 : parseInt(a.wounds)) - + (isNaN(parseInt(b.wounds)) ? -1 : parseInt(b.wounds)); var leadership_order = parseInt(a.leadership) - parseInt(b.leadership); var move_order = parseInt(a.move) - parseInt(b.move); return (