diff --git a/compendiums/fr/fvtt-cthulhu-eternal.weapons.json b/compendiums/fr/fvtt-cthulhu-eternal.weapons.json new file mode 100644 index 0000000..a963e00 --- /dev/null +++ b/compendiums/fr/fvtt-cthulhu-eternal.weapons.json @@ -0,0 +1,389 @@ +{ + "label": "Armes", + "folders": { + "Automatic and Heavy Weapons": "Automatiques et armes lourdes", + "Firearms": "Armes à feu", + "Melee Weapons": "Armes de mêlée", + "Ranged Weapons": "Armes à distance", + "Ranged weapons": "Armes à distance", + "Thermal Weapons": "Armes thermiques", + "Weapons - Age Of Revolutions": "Armes - Âge des Révolutions", + "Weapons - Age Of Sails": "Armes - Âge de la Voile", + "Weapons - Classical Era": "Armes - Époque Classique", + "Weapons - Cold War": "Armes - Guerre Froide", + "Weapons - Future": "Armes - Futur", + "Weapons - Jazz": "Armes - Jazz/Années folles", + "Weapons - Medieval": "Armes - Médiévales", + "Weapons - Modern": "Armes - Modernes", + "Weapons - Post Apocalyptic": "Armes - Post-apocalyptiques", + "Weapons - Victorian": "Armes - Victoriennes", + "Weapons - World War I": "Armes - Première Guerre mondiale", + "Weapons - World War II": "Armes - Seconde Guerre mondiale" + }, + "mapping": { + "rangeUnit": { + "path": "system.rangeUnit", + "converter": "translateRangeUnit" + }, + "baseRange": { + "path": "system.baseRange", + "converter": "translateRange" + } + }, + "entries": { + "Anti-tank rifle": { + "name": "Arme antichar" + }, + "Assault rifle": { + "name": "Fusil d'assaut" + }, + "Axe": { + "name": "Hache" + }, + "Bare hands and feet": { + "name": "Mains et pieds nus" + }, + "Baseball Bat": { + "name": "Batte de baseball" + }, + "Baseball bat": { + "name": "Batte de baseball" + }, + "Battle laser": { + "name": "Laser de combat" + }, + "Battle rifle": { + "name": "Fusil de combat" + }, + "Bayonet": { + "name": "Baïonnette" + }, + "Blackjack": { + "name": "Blackjack" + }, + "Blunderbuss Pistol": { + "name": "Pistolet tromblon" + }, + "Bow": { + "name": "Arc" + }, + "Brass knuckles": { + "name": "Poings américains" + }, + "Broad sword": { + "name": "Épée large" + }, + "Buffalo Rifle": { + "name": "Fusil Buffalo" + }, + "Cane Gun": { + "name": "Pistolet canne" + }, + "Cannon Barrel Pistol": { + "name": "Pistolet canon" + }, + "Carbine": { + "name": "Carabine" + }, + "Cavalry lance": { + "name": "Lance de cavalerie" + }, + "Cavalry sabre": { + "name": "Sabre de cavalerie" + }, + "Ceramic Grenade": { + "name": "Grenade en céramique" + }, + "Chainsaw": { + "name": "Tronçonneuse" + }, + "Claymore": { + "name": "Claymore" + }, + "Club": { + "name": "Gourdin" + }, + "Combat knife": { + "name": "Couteau de combat" + }, + "Cosh": { + "name": "Matraque" + }, + "Cricket bat": { + "name": "Batte de cricket" + }, + "Crossbow": { + "name": "Arbalète" + }, + "Cutlass": { + "name": "Coutelas" + }, + "Dagger": { + "name": "Dague" + }, + "Derringer": { + "name": "Derringer" + }, + "Dueling Pistol": { + "name": "Pistolet de duel" + }, + "Dutch (long) Pistol": { + "name": "Pistolet néerlandais (long)" + }, + "Elephant Gun": { + "name": "Fusil à éléphant" + }, + "Flintlock Pistol": { + "name": "Pistolet à silex" + }, + "Fowling Piece": { + "name": "Fusil de chasse" + }, + "Garotte": { + "name": "Garrot" + }, + "Gatling Gun": { + "name": "Gatling Gun" + }, + "Guntō": { + "name": "Guntō" + }, + "Hand Grenade": { + "name": "Grenade à main" + }, + "Hand grenade": { + "name": "Grenade à main" + }, + "Hatchet": { + "name": "Hachette" + }, + "Heavy Pistol": { + "name": "Pistolet lourd" + }, + "Heavy Spear": { + "name": "Lance lourde" + }, + "Heavy axe": { + "name": "Hache lourde" + }, + "Heavy hammer": { + "name": "Marteau lourd" + }, + "Heavy pistol": { + "name": "Pistolet gros calibre" + }, + "Heavy spear": { + "name": "Lance lourde" + }, + "Incendiary Grenade": { + "name": "Grenade incendiaire" + }, + "Javelin": { + "name": "Javelot" + }, + "Katana": { + "name": "Katana" + }, + "Knife": { + "name": "Couteau" + }, + "Large Caliber Pistol": { + "name": "Pistolet gros calibre" + }, + "Large sword": { + "name": "Grande épée" + }, + "Laser carbine": { + "name": "Carabine laser" + }, + "Life preserver": { + "name": "Gilet de sauvetage" + }, + "Light Spear": { + "name": "Lance légère" + }, + "Light axe": { + "name": "Hache légère" + }, + "Light spear": { + "name": "Lance légère" + }, + "Long spear": { + "name": "Lance longue" + }, + "Long sword": { + "name": "Epée longue" + }, + "Longrifle": { + "name": "Fusil long" + }, + "Mace": { + "name": "Masse" + }, + "Machete": { + "name": "Machette" + }, + "Maxim": { + "name": "Maxime" + }, + "Medium Pistol": { + "name": "Pistolet moyen" + }, + "Musket": { + "name": "Mousquet" + }, + "Nightstick": { + "name": "Matraque" + }, + "Oil": { + "name": "Huile" + }, + "Ordinary knife": { + "name": "Couteau ordinaire" + }, + "Plasma rifle": { + "name": "Fusil à plasma" + }, + "Polearm": { + "name": "Arme d'hast" + }, + "Power sword": { + "name": "Epée énergétique" + }, + "Rapier": { + "name": "Rapière" + }, + "Rifle": { + "name": "Fusil" + }, + "Sabre": { + "name": "Sabre" + }, + "Scimitar": { + "name": "Cimeterre" + }, + "Seax": { + "name": "Seax" + }, + "Shield bash": { + "name": "Coup de bouclier" + }, + "Shiv": { + "name": "Shiv" + }, + "Short spear": { + "name": "Lance courte" + }, + "Short sword": { + "name": "Epée courte" + }, + "Shotgun": { + "name": "Shotgun" + }, + "Shuriken": { + "name": "Shuriken" + }, + "Sickle": { + "name": "Faucille" + }, + "Sling": { + "name": "Fronde" + }, + "Small-caliber pistol": { + "name": "Pistolet de petit calibre" + }, + "Small‐caliber pistol": { + "name": "Pistolet de petit calibre" + }, + "Staff": { + "name": "Bâton" + }, + "Steel-toe boot": { + "name": "Botte à embout en acier" + }, + "Steel‐toe boot": { + "name": "Botte à embout en acier" + }, + "Submachine gun": { + "name": "Pistolet-mitrailleur" + }, + "Sulphur soaked cloth": { + "name": "Tissu imbibé de soufre" + }, + "Switchblade": { + "name": "Couteau à cran d'arrêt" + }, + "Sword cane": { + "name": "Canne épée" + }, + "Taser": { + "name": "Taser" + }, + "Thompson": { + "name": "Thompson" + }, + "Thrown Axe": { + "name": "Hache de lancer" + }, + "Thrown Hand Grenade": { + "name": "Grenade à main de lancer" + }, + "Thrown Heavy Spear": { + "name": "Lance lourde lancée" + }, + "Thrown Knife": { + "name": "Couteau de lancer" + }, + "Thrown Light Spear": { + "name": "Lance légère lancée" + }, + "Thrown Long Spear": { + "name": "Lance longue lancée" + }, + "Thrown Net": { + "name": "Filet" + }, + "Thrown Rock": { + "name": "Pierre lancée" + }, + "Thrown Short Spear": { + "name": "Lance courte lancée" + }, + "Thrown Spear": { + "name": "Lance lancée" + }, + "Thrown Spear, Heavy": { + "name": "Lance lancée, lourde" + }, + "Thrown Spear, Light": { + "name": "Lance lancée, légère" + }, + "Tomahawk": { + "name": "Tomahawk" + }, + "Trident": { + "name": "Trident" + }, + "Two-Handed sword": { + "name": "Epée à deux mains" + }, + "Two-handed sword": { + "name": "Epée à deux mains" + }, + "Very heavy sniper laser": { + "name": "Laser lourd de sniper" + }, + "Very heavy sniper rifle": { + "name": "Fusil lourd de sniper" + }, + "Very large pistol": { + "name": "Pistolet très gros calibre" + }, + "WW1 Machinegun": { + "name": "Mitrailleuse de la Première Guerre mondiale" + }, + "War club": { + "name": "Massue de guerre" + } + } +} \ No newline at end of file diff --git a/cthulhu-eternal.mjs b/cthulhu-eternal.mjs index 2912868..f421b23 100644 --- a/cthulhu-eternal.mjs +++ b/cthulhu-eternal.mjs @@ -100,6 +100,7 @@ Hooks.once("init", function () { Hooks.once('babele.init', (babele) => { babele.setSystemTranslationsDir("compendiums"); + CthulhuEternalUtils.registerBabeleTranslations(babele); }); /** diff --git a/lang/fr.json b/lang/fr.json index 06483c0..c77843f 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -564,6 +564,13 @@ } }, "Label": { + "feet": "pieds (ie 30cm)", + "feets": "pieds (ie 30cm)", + "yard": "mètres", + "Yard": "mètres", + "yards": "mètres", + "Feet": "Pieds", + "Yards": "Mètres", "sanLoss5": "Perte de SAN de 5+ ({value}) : vous souffrez d'une folie temporaire (Fuite, Soumission, Lutte ou compréhension de l'Inconcevable).", "sanViolenceReset": "Le décompte des pertes de SAN de violence a été réinitialisé.", "sanHelplessnessReset": "Le décompte des pertes de SAN d'impuissance a été réinitialisé.", diff --git a/module/applications/sheets/protagonist-sheet.mjs b/module/applications/sheets/protagonist-sheet.mjs index e3c7ad4..284589b 100644 --- a/module/applications/sheets/protagonist-sheet.mjs +++ b/module/applications/sheets/protagonist-sheet.mjs @@ -98,10 +98,20 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS switch (partId) { case "main": break - case "skills": - context.tab = context.tabs.skills - context.skills = doc.itemTypes.skill - context.skills.sort((a, b) => a.name.localeCompare(b.name)) + case "skills": { + context.tab = context.tabs.skills + let tmpSkills = doc.itemTypes.skill + tmpSkills.sort((a, b) => a.name.localeCompare(b.name)) + const nbCols = 3; + const nbRows = Math.ceil(tmpSkills.length / nbCols); + let skillsColumns = Array.from({ length: nbRows }, (_, rowIdx) => + Array.from({ length: nbCols }, (_, colIdx) => tmpSkills[rowIdx + colIdx * nbRows]).filter(Boolean) + ); + // Merge skillsColumns in a single flat array + skillsColumns = skillsColumns.flat().filter(Boolean); + console.log("Skills columns:", skillsColumns); + context.skills = skillsColumns + } break case "equipment": context.tab = context.tabs.equipment diff --git a/module/config/system.mjs b/module/config/system.mjs index 3acc9b1..4062d26 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -77,6 +77,96 @@ export const RESOURCE_RATING = { 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichModern"}, 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichModern"} }, + future: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorModern"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageModern"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageModern"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffModern"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 20000, assets: "CTHULHUETERNAL.Resource.RichModern"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichModern"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichModern"} + }, + coldwar: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + ww1: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + ww2: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + medieval: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + revolution: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + ageofsail: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + classical: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, + postapo: { + 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, + 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorColdWar"}, + 8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageColdWar"}, + 12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageColdWar"}, + 16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffColdWar"}, + 18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 200000, assets: "CTHULHUETERNAL.Resource.RichColdWar"}, + 19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichColdWar"}, + 20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichColdWar"} + }, victorian: { 0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"}, 4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 30, assets: "CTHULHUETERNAL.Resource.PoorVictorian"}, diff --git a/module/utils.mjs b/module/utils.mjs index b7a7833..31b360b 100644 --- a/module/utils.mjs +++ b/module/utils.mjs @@ -248,6 +248,36 @@ export default class CthulhuEternalUtils { }) } + static translateRangeUnit(range) { + if (typeof range === 'string') { + return game.i18n.localize(`CTHULHUETERNAL.Label.${range}`) + } else if (typeof range === 'number') { + return range + } else { + console.warn("CTHULHU ETERNAL | translateRange called with an unknown type", range) + return range + } + } + + static translateRange(range) { + // If the range is a string, replace STR with FOR + if (typeof range === 'string') { + return range.replace(/STR/g, "FOR").replace(/str/g, "for") + } + return range + } + + static async registerBabeleTranslations(babele) { + babele.registerConverters( { + 'translateRangeUnit': (originalValue) => { + return CthulhuEternalUtils.translateRangeUnit(originalValue) + }, + 'translateRange' : (originalValue) => { + return CthulhuEternalUtils.translateRange(originalValue) + } + }) + } + static async damageRoll(rollMessage, formula = null) { let rollData = rollMessage.rolls[0]?.options?.rollData let actor = game.actors.get(rollData.actorId) diff --git a/packs-system/rituals/000060.ldb b/packs-system/rituals/000229.ldb similarity index 100% rename from packs-system/rituals/000060.ldb rename to packs-system/rituals/000229.ldb diff --git a/packs-system/rituals/000219.log b/packs-system/rituals/000232.log similarity index 100% rename from packs-system/rituals/000219.log rename to packs-system/rituals/000232.log diff --git a/packs-system/rituals/CURRENT b/packs-system/rituals/CURRENT index 9aabe0c..7a8f695 100644 --- a/packs-system/rituals/CURRENT +++ b/packs-system/rituals/CURRENT @@ -1 +1 @@ -MANIFEST-000217 +MANIFEST-000230 diff --git a/packs-system/rituals/LOG b/packs-system/rituals/LOG index 8b43978..b3579d9 100644 --- a/packs-system/rituals/LOG +++ b/packs-system/rituals/LOG @@ -1,7 +1,7 @@ -2025/07/14-21:08:15.948300 7f3fa67fc6c0 Recovering log #215 -2025/07/14-21:08:15.959041 7f3fa67fc6c0 Delete type=3 #213 -2025/07/14-21:08:15.959103 7f3fa67fc6c0 Delete type=0 #215 -2025/07/14-21:36:01.776546 7f3fa57fa6c0 Level-0 table #220: started -2025/07/14-21:36:01.776599 7f3fa57fa6c0 Level-0 table #220: 0 bytes OK -2025/07/14-21:36:01.836135 7f3fa57fa6c0 Delete type=0 #218 -2025/07/14-21:36:02.071353 7f3fa57fa6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/07/29-18:28:11.485462 7fbfdeffd6c0 Recovering log #227 +2025/07/29-18:28:11.542963 7fbfdeffd6c0 Delete type=3 #225 +2025/07/29-18:28:11.543020 7fbfdeffd6c0 Delete type=0 #227 +2025/07/29-18:28:25.939648 7fbd3ffff6c0 Level-0 table #233: started +2025/07/29-18:28:25.939685 7fbd3ffff6c0 Level-0 table #233: 0 bytes OK +2025/07/29-18:28:25.996353 7fbd3ffff6c0 Delete type=0 #231 +2025/07/29-18:28:25.996608 7fbd3ffff6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) diff --git a/packs-system/rituals/LOG.old b/packs-system/rituals/LOG.old index 3a6458c..fd6a852 100644 --- a/packs-system/rituals/LOG.old +++ b/packs-system/rituals/LOG.old @@ -1,7 +1,11 @@ -2025/07/14-10:18:19.443254 7f3fa77fe6c0 Recovering log #211 -2025/07/14-10:18:19.474975 7f3fa77fe6c0 Delete type=3 #209 -2025/07/14-10:18:19.475128 7f3fa77fe6c0 Delete type=0 #211 -2025/07/14-20:48:52.882063 7f3fa57fa6c0 Level-0 table #216: started -2025/07/14-20:48:52.882164 7f3fa57fa6c0 Level-0 table #216: 0 bytes OK -2025/07/14-20:48:52.889652 7f3fa57fa6c0 Delete type=0 #214 -2025/07/14-20:48:52.915102 7f3fa57fa6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/07/29-17:56:07.304105 7fbfddffb6c0 Delete type=3 #1 +2025/07/29-18:20:36.901079 7fbd3ffff6c0 Level-0 table #228: started +2025/07/29-18:20:36.901119 7fbd3ffff6c0 Level-0 table #228: 0 bytes OK +2025/07/29-18:20:36.907068 7fbd3ffff6c0 Delete type=0 #226 +2025/07/29-18:20:36.913035 7fbd3ffff6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at '!items!zVFfp3o0G0Zg3Ia4' @ 52 : 1 +2025/07/29-18:20:36.913051 7fbd3ffff6c0 Compacting 1@0 + 0@1 files +2025/07/29-18:20:36.917150 7fbd3ffff6c0 Generated table #229@0: 26 keys, 60964 bytes +2025/07/29-18:20:36.917172 7fbd3ffff6c0 Compacted 1@0 + 0@1 files => 60964 bytes +2025/07/29-18:20:36.923988 7fbd3ffff6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2025/07/29-18:20:36.924086 7fbd3ffff6c0 Delete type=2 #60 +2025/07/29-18:20:36.941818 7fbd3ffff6c0 Manual compaction at level-0 from '!items!zVFfp3o0G0Zg3Ia4' @ 52 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) diff --git a/packs-system/rituals/MANIFEST-000217 b/packs-system/rituals/MANIFEST-000217 deleted file mode 100644 index 12bf089..0000000 Binary files a/packs-system/rituals/MANIFEST-000217 and /dev/null differ diff --git a/packs-system/rituals/MANIFEST-000230 b/packs-system/rituals/MANIFEST-000230 new file mode 100644 index 0000000..cd95023 Binary files /dev/null and b/packs-system/rituals/MANIFEST-000230 differ diff --git a/packs-system/skills/000388.log b/packs-system/rituals/lost/000223.log similarity index 100% rename from packs-system/skills/000388.log rename to packs-system/rituals/lost/000223.log diff --git a/packs-system/skills/000277.ldb b/packs-system/skills/000398.ldb similarity index 100% rename from packs-system/skills/000277.ldb rename to packs-system/skills/000398.ldb diff --git a/packs-system/weapons/000033.log b/packs-system/skills/000401.log similarity index 100% rename from packs-system/weapons/000033.log rename to packs-system/skills/000401.log diff --git a/packs-system/skills/CURRENT b/packs-system/skills/CURRENT index 0884887..34e89f8 100644 --- a/packs-system/skills/CURRENT +++ b/packs-system/skills/CURRENT @@ -1 +1 @@ -MANIFEST-000386 +MANIFEST-000399 diff --git a/packs-system/skills/LOG b/packs-system/skills/LOG index 68db858..7d5070d 100644 --- a/packs-system/skills/LOG +++ b/packs-system/skills/LOG @@ -1,7 +1,7 @@ -2025/07/14-21:08:15.916959 7f3fa5ffb6c0 Recovering log #384 -2025/07/14-21:08:15.927715 7f3fa5ffb6c0 Delete type=3 #382 -2025/07/14-21:08:15.927846 7f3fa5ffb6c0 Delete type=0 #384 -2025/07/14-21:36:01.925671 7f3fa57fa6c0 Level-0 table #389: started -2025/07/14-21:36:01.925708 7f3fa57fa6c0 Level-0 table #389: 0 bytes OK -2025/07/14-21:36:01.980506 7f3fa57fa6c0 Delete type=0 #387 -2025/07/14-21:36:02.071389 7f3fa57fa6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) +2025/07/29-18:28:11.326583 7fbfdd7fa6c0 Recovering log #396 +2025/07/29-18:28:11.422544 7fbfdd7fa6c0 Delete type=3 #394 +2025/07/29-18:28:11.422600 7fbfdd7fa6c0 Delete type=0 #396 +2025/07/29-18:28:25.859630 7fbd3ffff6c0 Level-0 table #402: started +2025/07/29-18:28:25.859675 7fbd3ffff6c0 Level-0 table #402: 0 bytes OK +2025/07/29-18:28:25.902834 7fbd3ffff6c0 Delete type=0 #400 +2025/07/29-18:28:25.996583 7fbd3ffff6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) diff --git a/packs-system/skills/LOG.old b/packs-system/skills/LOG.old index ddad229..6d56e5e 100644 --- a/packs-system/skills/LOG.old +++ b/packs-system/skills/LOG.old @@ -1,7 +1,11 @@ -2025/07/14-10:18:19.359761 7f3fa67fc6c0 Recovering log #380 -2025/07/14-10:18:19.394536 7f3fa67fc6c0 Delete type=3 #378 -2025/07/14-10:18:19.394680 7f3fa67fc6c0 Delete type=0 #380 -2025/07/14-20:48:52.889840 7f3fa57fa6c0 Level-0 table #385: started -2025/07/14-20:48:52.889882 7f3fa57fa6c0 Level-0 table #385: 0 bytes OK -2025/07/14-20:48:52.896159 7f3fa57fa6c0 Delete type=0 #383 -2025/07/14-20:48:52.915114 7f3fa57fa6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) +2025/07/29-17:56:07.265693 7fbfddffb6c0 Delete type=3 #1 +2025/07/29-18:20:36.941849 7fbd3ffff6c0 Level-0 table #397: started +2025/07/29-18:20:36.941895 7fbd3ffff6c0 Level-0 table #397: 0 bytes OK +2025/07/29-18:20:36.948373 7fbd3ffff6c0 Delete type=0 #395 +2025/07/29-18:20:36.960564 7fbd3ffff6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at '!items!zvoUByzWSWZ87fxA' @ 1281 : 1 +2025/07/29-18:20:36.960577 7fbd3ffff6c0 Compacting 1@0 + 0@1 files +2025/07/29-18:20:36.968003 7fbd3ffff6c0 Generated table #398@0: 556 keys, 320457 bytes +2025/07/29-18:20:36.968044 7fbd3ffff6c0 Compacted 1@0 + 0@1 files => 320457 bytes +2025/07/29-18:20:36.974076 7fbd3ffff6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2025/07/29-18:20:36.974209 7fbd3ffff6c0 Delete type=2 #277 +2025/07/29-18:20:36.980862 7fbd3ffff6c0 Manual compaction at level-0 from '!items!zvoUByzWSWZ87fxA' @ 1281 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) diff --git a/packs-system/skills/MANIFEST-000386 b/packs-system/skills/MANIFEST-000386 deleted file mode 100644 index 040067c..0000000 Binary files a/packs-system/skills/MANIFEST-000386 and /dev/null differ diff --git a/packs-system/skills/MANIFEST-000399 b/packs-system/skills/MANIFEST-000399 new file mode 100644 index 0000000..a77a3ef Binary files /dev/null and b/packs-system/skills/MANIFEST-000399 differ diff --git a/packs-system/skills/lost/000392.log b/packs-system/skills/lost/000392.log new file mode 100644 index 0000000..e69de29 diff --git a/packs-system/weapons/000035.ldb b/packs-system/weapons/000044.ldb similarity index 100% rename from packs-system/weapons/000035.ldb rename to packs-system/weapons/000044.ldb diff --git a/packs-system/weapons/000047.log b/packs-system/weapons/000047.log new file mode 100644 index 0000000..e69de29 diff --git a/packs-system/weapons/CURRENT b/packs-system/weapons/CURRENT index d95f027..800d995 100644 --- a/packs-system/weapons/CURRENT +++ b/packs-system/weapons/CURRENT @@ -1 +1 @@ -MANIFEST-000031 +MANIFEST-000045 diff --git a/packs-system/weapons/LOG b/packs-system/weapons/LOG index ebb5be8..7880f10 100644 --- a/packs-system/weapons/LOG +++ b/packs-system/weapons/LOG @@ -1,15 +1,7 @@ -2025/07/14-21:08:15.933872 7f3fa6ffd6c0 Recovering log #29 -2025/07/14-21:08:15.943722 7f3fa6ffd6c0 Delete type=3 #27 -2025/07/14-21:08:15.943845 7f3fa6ffd6c0 Delete type=0 #29 -2025/07/14-21:36:01.980637 7f3fa57fa6c0 Level-0 table #34: started -2025/07/14-21:36:02.012185 7f3fa57fa6c0 Level-0 table #34: 24252 bytes OK -2025/07/14-21:36:02.071125 7f3fa57fa6c0 Delete type=0 #32 -2025/07/14-21:36:02.071403 7f3fa57fa6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) -2025/07/14-21:36:02.071441 7f3fa57fa6c0 Manual compaction at level-1 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at '!items!qb4c1wfPZFcGiEuV' @ 472 : 1 -2025/07/14-21:36:02.071451 7f3fa57fa6c0 Compacting 1@1 + 1@2 files -2025/07/14-21:36:02.101879 7f3fa57fa6c0 Generated table #35@1: 362 keys, 93592 bytes -2025/07/14-21:36:02.101908 7f3fa57fa6c0 Compacted 1@1 + 1@2 files => 93592 bytes -2025/07/14-21:36:02.154064 7f3fa57fa6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2025/07/14-21:36:02.154296 7f3fa57fa6c0 Delete type=2 #14 -2025/07/14-21:36:02.154743 7f3fa57fa6c0 Delete type=2 #34 -2025/07/14-21:36:02.372014 7f3fa57fa6c0 Manual compaction at level-1 from '!items!qb4c1wfPZFcGiEuV' @ 472 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) +2025/07/29-18:28:11.426069 7fbfde7fc6c0 Recovering log #42 +2025/07/29-18:28:11.482529 7fbfde7fc6c0 Delete type=3 #40 +2025/07/29-18:28:11.482582 7fbfde7fc6c0 Delete type=0 #42 +2025/07/29-18:28:25.996691 7fbd3ffff6c0 Level-0 table #48: started +2025/07/29-18:28:25.996717 7fbd3ffff6c0 Level-0 table #48: 0 bytes OK +2025/07/29-18:28:26.032508 7fbd3ffff6c0 Delete type=0 #46 +2025/07/29-18:28:26.140428 7fbd3ffff6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) diff --git a/packs-system/weapons/LOG.old b/packs-system/weapons/LOG.old index 1fdda04..f20fa8d 100644 --- a/packs-system/weapons/LOG.old +++ b/packs-system/weapons/LOG.old @@ -1,8 +1,11 @@ -2025/07/14-10:18:19.404246 7f3fa5ffb6c0 Recovering log #25 -2025/07/14-10:18:19.435628 7f3fa5ffb6c0 Delete type=3 #23 -2025/07/14-10:18:19.435765 7f3fa5ffb6c0 Delete type=0 #25 -2025/07/14-20:48:52.908846 7f3fa57fa6c0 Level-0 table #30: started -2025/07/14-20:48:52.908888 7f3fa57fa6c0 Level-0 table #30: 0 bytes OK -2025/07/14-20:48:52.915004 7f3fa57fa6c0 Delete type=0 #28 -2025/07/14-20:48:52.915133 7f3fa57fa6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) -2025/07/14-20:48:52.928670 7f3fa57fa6c0 Manual compaction at level-1 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) +2025/07/29-17:56:07.286370 7fbfdeffd6c0 Delete type=3 #1 +2025/07/29-18:20:36.907148 7fbd3ffff6c0 Level-0 table #43: started +2025/07/29-18:20:36.907174 7fbd3ffff6c0 Level-0 table #43: 0 bytes OK +2025/07/29-18:20:36.912933 7fbd3ffff6c0 Delete type=0 #41 +2025/07/29-18:20:36.924240 7fbd3ffff6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at '!items!zyxA9DhO36t5OBDv' @ 55 : 1 +2025/07/29-18:20:36.924252 7fbd3ffff6c0 Compacting 1@0 + 0@1 files +2025/07/29-18:20:36.928859 7fbd3ffff6c0 Generated table #44@0: 362 keys, 93592 bytes +2025/07/29-18:20:36.928870 7fbd3ffff6c0 Compacted 1@0 + 0@1 files => 93592 bytes +2025/07/29-18:20:36.935549 7fbd3ffff6c0 compacted to: files[ 0 1 0 0 0 0 0 ] +2025/07/29-18:20:36.935675 7fbd3ffff6c0 Delete type=2 #35 +2025/07/29-18:20:36.941835 7fbd3ffff6c0 Manual compaction at level-0 from '!items!zyxA9DhO36t5OBDv' @ 55 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) diff --git a/packs-system/weapons/MANIFEST-000031 b/packs-system/weapons/MANIFEST-000031 deleted file mode 100644 index a5fbb06..0000000 Binary files a/packs-system/weapons/MANIFEST-000031 and /dev/null differ diff --git a/packs-system/weapons/MANIFEST-000045 b/packs-system/weapons/MANIFEST-000045 new file mode 100644 index 0000000..3ea7480 Binary files /dev/null and b/packs-system/weapons/MANIFEST-000045 differ diff --git a/packs-system/weapons/lost/000038.log b/packs-system/weapons/lost/000038.log new file mode 100644 index 0000000..e69de29