From 4adddfebf662a240670403a623a941ef95ae9444 Mon Sep 17 00:00:00 2001 From: Tim Date: Sun, 8 Dec 2024 19:44:32 -0600 Subject: [PATCH] Add the Vampire Settings for "Classical Age' and "Age of living gods" --- assets/data/ability.js | 116 +++++++++++++++++++++ lang/de.json | 15 ++- lang/en.json | 15 ++- lang/es.json | 15 ++- lang/fr.json | 15 ++- lang/it.json | 15 ++- module/actor/mortal-actor-sheet.js | 90 ++++++++++++++++ module/config.js | 4 +- module/migration.js | 119 ++++++++++++++++++++++ module/scripts/create-helpers.js | 49 +++++++++ module/settings.js | 6 +- templates/actor/parts/settings_sheet.html | 2 + 12 files changed, 454 insertions(+), 7 deletions(-) diff --git a/assets/data/ability.js b/assets/data/ability.js index a49e1c4..5061e90 100644 --- a/assets/data/ability.js +++ b/assets/data/ability.js @@ -106,6 +106,64 @@ export const dataability = { "occult", "politics" ] + }, + "classical": { + "talents": [ + "alertness", + "athletics", + "awareness", + "brawl", + "empathy", + "expression", + "intimidation", + "leadership", + "streetwise", + "subterfuge" + ], + "skills": [ + "animalken", + "craft", + "etiquette", + "melee", + "performance", + "stealth", + "survival" + ], + "knowledges": [ + "academics", + "investigation", + "law", + "medicine", + "occult", + "politics" + ] + }, + "livinggods": { + "talents": [ + "alertness", + "athletics", + "awareness", + "brawl", + "empathy", + "expression", + "intimidation", + "leadership", + "subterfuge" + ], + "skills": [ + "animalken", + "craft", + "etiquette", + "melee", + "performance", + "stealth", + "survival" + ], + "knowledges": [ + "investigation", + "occult", + "politics" + ] } }, "vampire": { @@ -214,6 +272,64 @@ export const dataability = { "occult", "politics" ] + }, + "classical": { + "talents": [ + "alertness", + "athletics", + "awareness", + "brawl", + "empathy", + "expression", + "intimidation", + "leadership", + "streetwise", + "subterfuge" + ], + "skills": [ + "animalken", + "craft", + "etiquette", + "melee", + "performance", + "stealth", + "survival" + ], + "knowledges": [ + "academics", + "investigation", + "law", + "medicine", + "occult", + "politics" + ] + }, + "livinggods": { + "talents": [ + "alertness", + "athletics", + "awareness", + "brawl", + "empathy", + "expression", + "intimidation", + "leadership", + "subterfuge" + ], + "skills": [ + "animalken", + "craft", + "etiquette", + "melee", + "performance", + "stealth", + "survival" + ], + "knowledges": [ + "investigation", + "occult", + "politics" + ] } }, "mage": { diff --git a/lang/de.json b/lang/de.json index 64bed1c..54879b3 100644 --- a/lang/de.json +++ b/lang/de.json @@ -62,6 +62,8 @@ "victorian": "Viktorianische Zeit", "wildwest": "Wilder Westen", "darkages": "Alte Zeit", + "classical": "Klassische Ära", + "livinggods": "Zeitalter der Lebenden Götter", "changeera": "Sind Sie sicher, dass Sie das Zeitalter wechseln wollen?", "changeerahint": "Das Dokument ist bereits auf diese Zeit eingestellt. Sind Sie sicher, dass Sie es zurücksetzen möchten?", "mortaleratext": "Sterbliche Standard-Ära", @@ -716,10 +718,13 @@ "survival": "Überleben", "academics": "Akademisches Wissen", + "ancientmedicine": "Antike Medizin", + "astrology": "Astrologie", "bureaucracy": "Bürokratie", "computer": "Computer", "cosmology": "Kosmologie", "culture": "Kultur", + "customs": "Bräuche", "enigmas": "Rätsel", "esoterica": "Esoterik", "finance": "Finanzen", @@ -730,14 +735,18 @@ "law": "Gesetzeskenntnis", "linguistics": "Sprachen", "medicine": "Medizin", + "mythology": "Mythologie", "occult": "Okkultismus", + "philosophy": "Philosophie", "politics": "Politik", "religion": "Religion", + "ritualistics": "Ritualistik", "rituals": "Rituale", "seneschal": "Seneschal", "science": "Naturwissenschaften", "technology": "Technologie", - "theology": "Theologie" + "theology": "Theologie", + "writing": "Schreiben" }, "health": { "health": "Gesundheit", @@ -1233,6 +1242,8 @@ "hasgifts": "Verfügt über Gaben und Riten", "haspowers": "Has special powers", "setdarkages": "Bogen eingestellt zur Alten Zeit!", + "setclassical": "Bettwäsche auf das Zeitalter der klassischen Antike einstellen!", + "setlivinggods": "Bettwäsche gesetzt auf das Zeitalter der Lebenden Götter!", "setvictorian": "Bogen eingestellt zur Viktorianischen Zeit!", "setwildwest": "Bogen eingestellt zu Wilder Westen!", "setmodern": "Bogen eingestellt zur Moderne", @@ -1249,6 +1260,8 @@ "headline": "Zeitalter", "modern": "Moderne (20th)", "victorian": "Viktorianisches Zeitalter (20th)", + "classical": "Klassisches Zeitalter (20th)", + "livinggods": "Zeitalter der Lebenden Götter (20th)", "wildwest": "Wilder Westen (20th)", "darkages": "Alte Zeit (20th)", "infoone": "Eine Änderung dieser Einstellung bedeutet, dass die Fähigkeiten des Bogens neu konfiguriert werden, um dem gewählten Bereich zu entsprechen.", diff --git a/lang/en.json b/lang/en.json index 73ed893..f12be99 100644 --- a/lang/en.json +++ b/lang/en.json @@ -62,6 +62,8 @@ "victorian": "Victorian Age", "wildwest": "Wild West", "darkages": "Dark Ages", + "classical": "Classical Age", + "livinggods": "Age of the Living Gods", "changeera": "You sure you wish to change era?", "changeerahint": "The sheet is already set to this era you sure you wish to reset it?", "mortaleratext": "Mortal sheet default era", @@ -719,10 +721,13 @@ "survival": "Survival", "academics": "Academics", + "ancientmedicine": "Ancient Medicine", + "astrology": "Astrology", "bureaucracy": "Bureaucracy", "computer": "Computer", "cosmology": "Cosmology", "culture": "Culture", + "customs": "Customs", "enigmas": "Enigmas", "esoterica": "Esoterica", "finance": "Finance", @@ -733,14 +738,18 @@ "law": "Law", "linguistics": "Linguistics", "medicine": "Medicine", + "mythology": "Mythology", "occult": "Occult", + "philosophy": "Philosophy", "politics": "Politics", "religion": "Religion", + "ritualistics": "Ritualistics", "rituals": "Rituals", "seneschal": "Seneschal", "science": "Science", "technology": "Technology", - "theology": "Theology" + "theology": "Theology", + "writing": "Writing" }, "health": { "health": "Health", @@ -1237,6 +1246,8 @@ "hasgifts": "Has gifts and rites", "haspowers": "Has special powers", "setdarkages": "Sheet set to Dark Ages era!", + "setclassical": "Sheet set to Classical Ages era!", + "setlivinggods": "Sheet set to Age of the Living Gods era!", "setvictorian": "Sheet set to Victorian era!", "setwildwest": "Sheet set to Wild West era!", "setmodern": "Sheet set to Modern era!", @@ -1253,6 +1264,8 @@ "headline": "Era", "modern": "Modern (20th)", "victorian": "Victorian Age (20th)", + "classical": "Classical Age (20th)", + "livinggods": "Age of the Living Gods (20th)", "wildwest": "Wild West (20th)", "darkages": "Dark Ages (20th)", "infoone": "To change this setting means that the abilities of the sheet is re-configurated to fit the chosen area.", diff --git a/lang/es.json b/lang/es.json index 52755cd..ae22faa 100644 --- a/lang/es.json +++ b/lang/es.json @@ -62,6 +62,8 @@ "victorian": "Edad Victoriana", "wildwest": "Salvaje Oeste ", "darkages": "Edad Oscura", + "classical": "Edad Clásica", + "livinggods": "La Era de los Dioses Vivientes", "changeera": "¿Estás seguro de que quieres cambiar de época?", "changeerahint": "La ficha ya está configurada para esta época, ¿estás seguro de que deseas resetearla?", "mortaleratext": "Época por defecto para fichas de mortales", @@ -716,10 +718,13 @@ "survival": "Supervivencia", "academics": "Academicismo", + "ancientmedicine": "Medicina Antigua", + "astrology": "Astrología", "bureaucracy": "Burocracia", "computer": "Informática", "cosmology": "Cosmología", "culture": "Cultura Encubierta", + "customs": "Costumbres", "enigmas": "Enigmas", "esoterica": "Esoterismo", "finance": "Finanzas", @@ -730,14 +735,18 @@ "law": "Leyes", "linguistics": "Lingüística", "medicine": "Medicina", + "mythology": "Mitología", "occult": "Ocultismo", + "philosophy": "Filosofía", "politics": "Política", "religion": "Religión", + "ritualistics": "Ritualística", "rituals": "Rituales", "seneschal": "Senescal", "science": "Ciencia", "technology": "Tecnología", - "theology": "Teología" + "theology": "Teología", + "writing": "Escritura" }, "health": { "health": "Salud", @@ -1233,6 +1242,8 @@ "hasgifts": "Tiene Dones y Ritos", "haspowers": "Tiene Poderes especiales", "setdarkages": "¡Ficha configurada para Edad Oscura!", + "setclassical": "¡Ajusta el juego de sábanas a la era de los Edad Clásicas!", + "setlivinggods": "Juego de sábanas establecido para la era de los Dioses Vivientes! ", "setvictorian": "¡Ficha configurada para Edad Victoriana!", "setwildwest": "¡Ficha configurada para el Salvaje Oeste!", "setmodern": "¡Ficha configurada para la época actual!", @@ -1249,6 +1260,8 @@ "headline": "Época (ambientación histórica)", "modern": "Actual (20 aniv.)", "victorian": "Edad Victoriana (20 aniv.)", + "classical": "Edad Clásica (20 aniv.)", + "livinggods": "Era de los Dioses Vivos (20 aniv.)", "wildwest": "Salvaje Oeste (20 aniv.)", "darkages": "Edad Oscura (20 aniv.)", "infoone": "Cambiar esto significa que las Habilidades de la ficha se reconfigurarán para encajar en el área.", diff --git a/lang/fr.json b/lang/fr.json index 361a5b7..adf3a5e 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -62,6 +62,8 @@ "victorian": "Age Victorien", "wildwest": "Far West", "darkages": "Dark Ages", + "classical": "Âge Classique", + "livinggods": "L'Âge des Dieux Vivants", "changeera": "Vous êtes sûr de vouloir changer d'époque ?", "changeerahint": "La feuille est déjà réglée sur cette ère vous êtes sûr de vouloir la réinitialiser ?", "mortaleratext": "Époque par défaut de la feuille Mortel", @@ -716,10 +718,13 @@ "survival": "Survie", "academics": "Érudition", + "ancientmedicine": "Médecine Ancienne", + "astrology": "Astrologie", "bureaucracy": "Bureaucratie", "computer": "Informatique", "cosmology": "Cosmologie", "culture": "Culture", + "customs": "Coutumes", "enigmas": "Énigmes", "esoterica": "Ésotérisme", "finance": "Finance", @@ -730,14 +735,18 @@ "law": "Droit", "linguistics": "Linguistique", "medicine": "Médecine", + "mythology": "Mythologie", "occult": "Occultisme", + "philosophy": "Philosophie", "politics": "Politique", "religion": "Religion", + "ritualistics": "Ritualistique", "rituals": "Rituels", "seneschal": "Sénéchal", "science": "Sciences", "technology": "Technologie", - "theology": "Théologie" + "theology": "Théologie", + "writing": "Écriture" }, "health": { "health": "Santé", @@ -1233,6 +1242,8 @@ "hasgifts": "A des dons et des rites", "haspowers": "A des pouvoirs spéciaux", "setdarkages": "Époque de la feuille définie sur Dark Ages !", + "setclassical": "Réglez le set de draps à l'ère des Âges Classiques !", + "setlivinggods": "Parure de lit réglée à l'ère des Dieux Vivants !", "setvictorian": "Époque de la feuille définie sur Epoque Victorienne!", "setwildwest": "Époque de la feuille définie sur Far West !", "setmodern": "Époque de la feuille définie sur époque Moderne!", @@ -1249,6 +1260,8 @@ "headline": "Époque", "modern": "Moderne (20e)", "victorian": "Age Victorien (20e)", + "classical": "Âge Classique (20e)", + "livinggods": "Âge des Dieux Vivants (20e)", "wildwest": "Far West (20e)", "darkages": "Dark Ages (20e)", "infoone": "La modification de ce paramètre signifie que les capacités de la feuille sont reconfigurées pour s'adapter à la zone choisie.", diff --git a/lang/it.json b/lang/it.json index 775879b..789453a 100644 --- a/lang/it.json +++ b/lang/it.json @@ -62,6 +62,8 @@ "victorian": "Epoca Vittoriana", "wildwest": "Selvaggio West", "darkages": "Dark Ages", + "classical": "Età Classica", + "livinggods": "L'Età degli Dei Vivi", "changeera": "You sure you wish to change era?", "changeerahint": "The sheet is already set to this era you sure you wish to reset it?", "mortaleratext": "Mortal sheet default era", @@ -716,10 +718,13 @@ "survival": "Sopravvivenza", "academics": "Accademiche", + "ancientmedicine": "Medicina Antica", + "astrology": "Astrologia", "bureaucracy": "Burocrazia", "computer": "Informatica", "cosmology": "Cosmologia", "culture": "Cultura Nascosta", + "customs": "Usanze", "enigmas": "Enigmi", "esoterica": "Esoterismo", "finance": "Finanza", @@ -730,14 +735,18 @@ "law": "Legge", "linguistics": "Linguistica", "medicine": "Medicina", + "mythology": "Mitologia", "occult": "Occulto", + "philosophy": "Filosofia", "politics": "Politica", "religion": "Religione", + "ritualistics": "Ritualistica", "rituals": "Rituali", "seneschal": "Gov. Domestico", "science": "Scienze", "technology": "Tecnologia", - "theology": "Teologia" + "theology": "Teologia", + "writing": "Scrittura" }, "health": { "health": "Salute", @@ -1233,6 +1242,8 @@ "hasgifts": "Ha Doni e Riti", "haspowers": "Has special powers", "setdarkages": "Scheda settata su Secoli Bui", + "setclassical": "Imposta il set di lenzuola all'era delle Età Classiche!", + "setlivinggods": "Set di lenzuola impostato sull'era degli Dei Vivi!", "setvictorian": "Scheda settata su Età Vittoriana!", "setwildwest": "Scheda settata su Selvaggio West!", "setmodern": "Scheda settata su Età Moderna!", @@ -1249,6 +1260,8 @@ "headline": "Era", "modern": "Moderna (20°)", "victorian": "Età Vittoriana (20°)", + "classical": "Età Classica (20°)", + "livinggods": "Era degli Dei Viventi (20°)", "wildwest": "Selvaggio West (20°)", "darkages": "Secoli Bui (20°)", "infoone": "Cambiare questo setting riconfigura tutte le abilità all'età scelta.", diff --git a/module/actor/mortal-actor-sheet.js b/module/actor/mortal-actor-sheet.js index 5e74b92..fb97bad 100644 --- a/module/actor/mortal-actor-sheet.js +++ b/module/actor/mortal-actor-sheet.js @@ -198,6 +198,16 @@ export class MortalActorSheet extends ActorSheet { .find(".sheet_darkages") .click(this._setDarkAges.bind(this)); + // set era Classical Ages + html + .find(".sheet_classical") + .click(this._setClassical.bind(this)); + + // set era Age of Living Gods + html + .find(".sheet_livinggods") + .click(this._setLivingGods.bind(this)); + // set era Modern html .find(".sheet_modern") @@ -302,6 +312,86 @@ export class MortalActorSheet extends ActorSheet { } } + async _setLivingGods(event) { + event.preventDefault(); + + if (this.actor.system.settings.era == CONFIG.worldofdarkness.era.livinggods) { + const performDelete = await new Promise((resolve) => { + Dialog.confirm({ + title: game.i18n.localize("wod.era.changeera"), + yes: () => resolve(true), + no: () => resolve(false), + content: game.i18n.localize("wod.era.changeerahint") + }); + }); + + if (!performDelete) + return; + } + + const element = event.currentTarget; + const dataset = element.dataset; + let found = false; + + const actorData = foundry.utils.duplicate(this.actor); + + if (dataset.type == CONFIG.worldofdarkness.sheettype.vampire) { + found = true; + await CreateHelper.SetVampireAbilities(actorData, this.actor, "livinggods"); + } + + if (dataset.type == CONFIG.worldofdarkness.sheettype.mortal) { + found = true; + await CreateHelper.SetMortalAbilities(actorData, this.actor, "livinggods"); + } + + if (found) { + actorData.system.settings.era = CONFIG.worldofdarkness.era.livinggods; + await this.actor.update(actorData); + ui.notifications.info(game.i18n.localize("wod.labels.settings.setlivinggods")); + } + } + + async _setClassical(event) { + event.preventDefault(); + + if (this.actor.system.settings.era == CONFIG.worldofdarkness.era.classical) { + const performDelete = await new Promise((resolve) => { + Dialog.confirm({ + title: game.i18n.localize("wod.era.changeera"), + yes: () => resolve(true), + no: () => resolve(false), + content: game.i18n.localize("wod.era.changeerahint") + }); + }); + + if (!performDelete) + return; + } + + const element = event.currentTarget; + const dataset = element.dataset; + let found = false; + + const actorData = foundry.utils.duplicate(this.actor); + + if (dataset.type == CONFIG.worldofdarkness.sheettype.vampire) { + found = true; + await CreateHelper.SetVampireAbilities(actorData, this.actor, "classical"); + } + + if (dataset.type == CONFIG.worldofdarkness.sheettype.mortal) { + found = true; + await CreateHelper.SetMortalAbilities(actorData, this.actor, "classical"); + } + + if (found) { + actorData.system.settings.era = CONFIG.worldofdarkness.era.classical; + await this.actor.update(actorData); + ui.notifications.info(game.i18n.localize("wod.labels.settings.setclassical")); + } + } + async _setVictorian(event) { event.preventDefault(); diff --git a/module/config.js b/module/config.js index 1a70ca5..e58655a 100644 --- a/module/config.js +++ b/module/config.js @@ -18,7 +18,9 @@ wod.sheettype = { wod.era = { modern: "wod.era.modern", victorian: "wod.era.victorian", - darkages: "wod.era.darkages" + darkages: "wod.era.darkages", + classical: "wod.era.classical", + livinggods: "wod.era.livinggods" } wod.sheetsettings = { diff --git a/module/migration.js b/module/migration.js index bca7c73..2a81275 100644 --- a/module/migration.js +++ b/module/migration.js @@ -3310,6 +3310,40 @@ function translateSecondaryAbility(label) { } /* Knowledges */ + if (label == "wod.abilities.ancientmedicine") { + if (CONFIG.language == "de") { + return "Antike Medizin"; + } + if (CONFIG.language == "fr") { + return "Médecine Ancienne"; + } + if (CONFIG.language == "it") { + return "Medicina Antica"; + } + if (CONFIG.language == "es") { + return "Medicina Antigua"; + } + else { + return "Ancient Medicine"; + } + } + if (label == "wod.abilities.astrology") { + if (CONFIG.language == "de") { + return "Astrologie"; + } + if (CONFIG.language == "fr") { + return "Astrologie"; + } + if (CONFIG.language == "it") { + return "Astrologia"; + } + if (CONFIG.language == "es") { + return "Astrología"; + } + else { + return "Astrology"; + } + } if (label == "wod.abilities.bureaucracy") { if (CONFIG.language == "de") { return "Bürokratie"; @@ -3429,6 +3463,23 @@ function translateSecondaryAbility(label) { return "Culture"; } } + if (label == "wod.abilities.customs") { + if (CONFIG.language == "de") { + return "Bräuche"; + } + else if (CONFIG.language == "es") { + return "Costumbres"; + } + else if (CONFIG.language == "fr") { + return "Coutumes"; + } + else if (CONFIG.language == "it") { + return "Usanze"; + } + else { + return "Customs"; + } + } if (label == "wod.abilities.hearthwisdom") { if (CONFIG.language == "de") { return "Herzensweisheit"; @@ -3528,6 +3579,57 @@ function translateSecondaryAbility(label) { return "Media"; } } + if (label == "wod.abilities.mythology") { + if (CONFIG.language == "de") { + return "Mythologie"; + } + if (CONFIG.language == "fr") { + return "Mythologie"; + } + if (CONFIG.language == "it") { + return "Mitologia"; + } + if (CONFIG.language == "es") { + return "Mitología"; + } + else { + return "Mythology"; + } + } + if (label == "wod.abilities.philosophy") { + if (CONFIG.language == "de") { + return "Philosophie"; + } + if (CONFIG.language == "fr") { + return "Philosophie"; + } + if (CONFIG.language == "it") { + return "Filosofia"; + } + if (CONFIG.language == "es") { + return "Filosofía"; + } + else { + return "Philosophy"; + } + } + if (label == "wod.abilities.ritualistics") { + if (CONFIG.language == "de") { + return "Ritualistik"; + } + if (CONFIG.language == "fr") { + return "Ritualistique"; + } + if (CONFIG.language == "it") { + return "Ritualistica"; + } + if (CONFIG.language == "es") { + return "Ritualística"; + } + else { + return "Ritualistics"; + } + } if (label == "wod.abilities.powerbrokering") { if (CONFIG.language == "es") { return "Juegos de Poder"; @@ -3614,6 +3716,23 @@ function translateSecondaryAbility(label) { return "Vice"; } } + if (label == "wod.abilities.writing") { + if (CONFIG.language == "de") { + return "Schreiben"; + } + if (CONFIG.language == "fr") { + return "Écriture"; + } + if (CONFIG.language == "it") { + return "Scrittura"; + } + if (CONFIG.language == "es") { + return "Escritura"; + } + else { + return "Writing"; + } + } return label; } diff --git a/module/scripts/create-helpers.js b/module/scripts/create-helpers.js index df5c488..2c8f83a 100644 --- a/module/scripts/create-helpers.js +++ b/module/scripts/create-helpers.js @@ -46,6 +46,31 @@ export default class CreateHelper { await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.seneschal"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.theology"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); } + + if (era == "classical") { + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.archery"), parseInt(actor.system.settings.abilities.defaultmaxvalue), false, true); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.commerce"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.ride"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.hearthwisdom"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.philosophy"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.religion"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.ritualistics"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + } + + if (era == "livinggods") { + await AbilityHelper.CreateAbility(actor, "wod.types.talentsecondability", game.i18n.localize("wod.abilities.legerdemain"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.archery"), parseInt(actor.system.settings.abilities.defaultmaxvalue), false, true); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.commerce"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.ride"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.ancientmedicine"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.astrology"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.customs"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.hearthwisdom"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.mythology"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.seneschal"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.writing"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + } } static async SetVampireAbilities(actorCopy, actor, era) { @@ -91,6 +116,30 @@ export default class CreateHelper { await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.seneschal"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.theology"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); } + + if (era == "classical") { + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.archery"), parseInt(actor.system.settings.abilities.defaultmaxvalue), false, true); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.commerce"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.ride"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.hearthwisdom"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.philosophy"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.religion"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.ritualistics"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + } + + if (era == "livinggods") { + await AbilityHelper.CreateAbility(actor, "wod.types.talentsecondability", game.i18n.localize("wod.abilities.legerdemain"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.archery"), parseInt(actor.system.settings.abilities.defaultmaxvalue), false, true); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.commerce"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.skillsecondability", game.i18n.localize("wod.abilities.ride"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.ancientmedicine"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.astrology"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.customs"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.hearthwisdom"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.mythology"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.seneschal"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + await AbilityHelper.CreateAbility(actor, "wod.types.knowledgesecondability", game.i18n.localize("wod.abilities.writing"), parseInt(actor.system.settings.abilities.defaultmaxvalue)); + } } static async SetMageAbilities(actorCopy, era) { diff --git a/module/settings.js b/module/settings.js index 43f09a0..e8ffd45 100644 --- a/module/settings.js +++ b/module/settings.js @@ -178,7 +178,9 @@ export const systemSettings = function() { choices: { "modern": game.i18n.localize('wod.era.modern'), "victorian": game.i18n.localize('wod.era.victorian'), - "darkages": game.i18n.localize('wod.era.darkages') + "darkages": game.i18n.localize('wod.era.darkages'), + "classical": game.i18n.localize('wod.era.classical'), + "livinggods": game.i18n.localize('wod.era.livinggods') } }); @@ -204,6 +206,8 @@ export const systemSettings = function() { "modern": game.i18n.localize('wod.era.modern'), "victorian": game.i18n.localize('wod.era.victorian'), "darkages": game.i18n.localize('wod.era.darkages'), + "classical": game.i18n.localize('wod.era.classical'), + "livinggods": game.i18n.localize('wod.era.livinggods') } }); diff --git a/templates/actor/parts/settings_sheet.html b/templates/actor/parts/settings_sheet.html index 1598d33..349403f 100644 --- a/templates/actor/parts/settings_sheet.html +++ b/templates/actor/parts/settings_sheet.html @@ -81,6 +81,8 @@ + + {{/if}} {{#if (eqAny actor.type config.sheettype.mage)}}