diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 22a63342f..2d3b847d8 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,13 @@ +# v3.1.2 + +## Bugfixes +* [#888] Max and Current HP not set correctly during character creation + +## Chores +* [#891] Merged Finnish language updates from Crowdin + +--- + # v3.1.1 ## Bugfixes diff --git a/i18n/fi.yaml b/i18n/fi.yaml index 691752952..d084ef2ca 100644 --- a/i18n/fi.yaml +++ b/i18n/fi.yaml @@ -13,15 +13,15 @@ SHADOWDARK.ability_wisdom: Viisaus SHADOWDARK.alignment.chaotic: Kaoottinen SHADOWDARK.alignment.lawful: Lainkuuliainen SHADOWDARK.alignment.neutral: Neutraali -SHADOWDARK.ancestry.choice_count: Choice Count -SHADOWDARK.ancestry.choice: Choice -SHADOWDARK.ancestry.fixed: Fixed +SHADOWDARK.ancestry.choice_count: Valintojen määrä +SHADOWDARK.ancestry.choice: Valinta +SHADOWDARK.ancestry.fixed: Kiinteä SHADOWDARK.ancestry.languages.label: Lajin osaamat kielet SHADOWDARK.ancestry.languages.prompt: Valitse kieli... SHADOWDARK.ancestry.nametable.label: Satunnainen nimilista SHADOWDARK.ancestry.nametable.placeholder: Vedä kielilista tähän -SHADOWDARK.ancestry.nametable.random_weight: Randomization Weight -SHADOWDARK.ancestry.nametable.tooltip.weight: Affects the chance of rolling when using the Character Generator. Higher values increase chance. Default value is 1. +SHADOWDARK.ancestry.nametable.random_weight: Satunnaisuuden painoarvo +SHADOWDARK.ancestry.nametable.tooltip.weight: Vaikuttaa noppaheittoihin kun käytetään hahmogeneraattoria. Korkeammat arvot lisäävät todennäköisyyttä. Oletusarvo on 1. SHADOWDARK.ancestry.talents.label: Lajin lahjakkuudet SHADOWDARK.ancestry.talents.prompt: Valitse lahjakkuus... SHADOWDARK.app.active_effects.title: Aktiiviset Efektit @@ -50,12 +50,12 @@ SHADOWDARK.apps.character-generator.create_character: Luo uusi hahmo SHADOWDARK.apps.character-generator.error.create: Pelaajahahmon luonti epäonnistui {error} SHADOWDARK.apps.character-generator.error.name: Hahmon nimi ei voi olla tyhjä SHADOWDARK.apps.character-generator.error.no_ancestry_for_name: Ei pystytä arpomaan nimeä ilman valittua lajia -SHADOWDARK.apps.character-generator.gear: Gear -SHADOWDARK.apps.character-generator.gold: Gold +SHADOWDARK.apps.character-generator.gear: Varusteet +SHADOWDARK.apps.character-generator.gold: Kulta SHADOWDARK.apps.character-generator.name: Hahmon nimi SHADOWDARK.apps.character-generator.success: Hahmo luotu SHADOWDARK.apps.character-generator.title: Hahmogeneraattori -SHADOWDARK.apps.character-generator.tooltip: Fully Random Character +SHADOWDARK.apps.character-generator.tooltip: Täysin satunnainen hahmo SHADOWDARK.apps.character-generator.type: Tyyppi SHADOWDARK.apps.character-generator.update_character: Päivitä hahmoa SHADOWDARK.apps.effect_panel.dialog.delete_effect.content: Haluatko poistaa {effectName} efektin? @@ -89,9 +89,9 @@ SHADOWDARK.apps.level-up.dragdrop: Vedä ja tiputa tähän SHADOWDARK.apps.level-up.hit_points: Osumapisteet SHADOWDARK.apps.level-up.level_up: Hahmosi kehittyi seuraavalle tasolle! SHADOWDARK.apps.level-up.leveling_to: Kehitetään hahmoa tasolle -SHADOWDARK.apps.level-up.missing_selections: Missing Selections +SHADOWDARK.apps.level-up.missing_selections: Valintoja puuttuu SHADOWDARK.apps.level-up.notalent: Ei uusia lahjakkuuksia tällä tasolla -SHADOWDARK.apps.level-up.prompt: Not all required selections have been made. Continue with level up anyways? +SHADOWDARK.apps.level-up.prompt: Kaikkia vaadittuja valintoja ei ole tehty. Jatketaanko hahmotason kasvatusta kuitenkin? SHADOWDARK.apps.level-up.roll_talent: Arvo uusi lahjakkuus SHADOWDARK.apps.level-up.title: Hahmon kehitys SHADOWDARK.apps.monster-importer.import_button: Tuo hirviö @@ -103,13 +103,13 @@ SHADOWDARK.apps.monster-importer.instruction2d: Hirviön ominaisuudet SHADOWDARK.apps.monster-importer.instruction2e: Ominaisuus SHADOWDARK.apps.monster-importer.instruction3: 3. Paina "Tuo hirviö"-nappia. SHADOWDARK.apps.monster-importer.title: Tuo hirviö -SHADOWDARK.apps.shadowdarkling-importer.errors: Items Not Found -SHADOWDARK.apps.shadowdarkling-importer.import_button: Import -SHADOWDARK.apps.shadowdarkling-importer.import_button2: Partially Import +SHADOWDARK.apps.shadowdarkling-importer.errors: Kohteita ei löytynyt +SHADOWDARK.apps.shadowdarkling-importer.import_button: Tuo +SHADOWDARK.apps.shadowdarkling-importer.import_button2: Tuo osittain SHADOWDARK.apps.shadowdarkling-importer.instruction1: 1. Navigoi shadowdarklings.net sivustolle. -SHADOWDARK.apps.shadowdarkling-importer.instruction2: 2. Create Character > Export > copy JSON to clipboard. -SHADOWDARK.apps.shadowdarkling-importer.instruction3: Paste Character JSON Here -SHADOWDARK.apps.shadowdarkling-importer.header: Shadowdarkling Importer +SHADOWDARK.apps.shadowdarkling-importer.instruction2: 2. Luo hahmo > Vie > kopioi JSON leikepöydälle. +SHADOWDARK.apps.shadowdarkling-importer.instruction3: Liitä hahmon JSON tähän +SHADOWDARK.apps.shadowdarkling-importer.header: Shadowdarkling tuontityökalu SHADOWDARK.apps.shadowdarkling-importer.title: Tuo Shadowdarkling SHADOWDARK.apps.spell-book.known: Opittu SHADOWDARK.apps.spell-book.title: Hahmoluokan loitsulista @@ -123,14 +123,14 @@ SHADOWDARK.apps.spell-importer.instruction2e: Kantama SHADOWDARK.apps.spell-importer.instruction2f: Kuvaus SHADOWDARK.apps.spell-importer.instruction3: 3. Paina "Tuo loitsu"-nappia. SHADOWDARK.apps.spell-importer.title: Tuo loitsu -SHADOWDARK.apps.solodark.button1: Unlikely or Impossible -SHADOWDARK.apps.solodark.button2: Even Chance -SHADOWDARK.apps.solodark.button3: Likely or Certain -SHADOWDARK.apps.solodark.oracle: The Oracle -SHADOWDARK.apps.solodark.phrasing: Ask your question with affirmative phrasing. Instead of asking, "Are there no orcs in this room?" ask, "Are there orcs in this room?" -SHADOWDARK.apps.solodark.question1: What is the question? -SHADOWDARK.apps.solodark.question2: How likely is a "yes" result? -SHADOWDARK.apps.solodark.roll_prompt: Roll Prompt +SHADOWDARK.apps.solodark.button1: Epätodennäköistä tai mahdotonta +SHADOWDARK.apps.solodark.button2: Tasapuolinen mahdollisuus +SHADOWDARK.apps.solodark.button3: Todennäköistä tai varmaa +SHADOWDARK.apps.solodark.oracle: Oraakkeli +SHADOWDARK.apps.solodark.phrasing: 'Kysy kysymyksesi myöntävällä lausahduksella. Sen sijaan, että kysyisitte: "Eikö tässä huoneessa ole örkkejä?" kysy "Onko tässä huoneessa örkkejä?"' +SHADOWDARK.apps.solodark.question1: Mikä on kysymyksesi? +SHADOWDARK.apps.solodark.question2: Kuinka todennäköistä on saada "kyllä" vastaus? +SHADOWDARK.apps.solodark.roll_prompt: Heittokehote SHADOWDARK.apps.solodark.title: SoloDark SHADOWDARK.armor.properties.disadvantage_stealth: Haitta/Hiipiminen SHADOWDARK.armor.properties.disadvantage_swimming: Haitta/Uiminen @@ -174,17 +174,17 @@ SHADOWDARK.chat.spell_roll.title: "Loihditaan {name} tasolla {tier} jolloin vaik SHADOWDARK.chat.use_ability.failure: "{name} epäonnistui käyttämään {ability} kykyä" SHADOWDARK.chat.use_ability.success: "{name} onnistui {ability} kyvyssään" SHADOWDARK.chat.use_ability.title: "Kyvyn käyttö" -SHADOWDARK.chat.welcome_message.issues: Report Issues -SHADOWDARK.chat.welcome_message.issues_button: Issue Tracker -SHADOWDARK.chat.welcome_message.issues_text: "If you find any issues or have ideas for new features for the system, check out our issue tracker." -SHADOWDARK.chat.welcome_message.arcane_library: Support The Arcane Library -SHADOWDARK.chat.welcome_message.arcane_library_button: Shop Shadowdark RPG -SHADOWDARK.chat.welcome_message.arcane_library_text: Visit the Arcane Library website for official Shadowdark PDFs, books and merch. +SHADOWDARK.chat.welcome_message.issues: Raportoi ongelmasta +SHADOWDARK.chat.welcome_message.issues_button: Virheiden seurantajärjestelmä +SHADOWDARK.chat.welcome_message.issues_text: "Tutustu virheiden seurantajärjestelmäämme, jos löydät ongelmia järjestelmässä tai sinulla on ideoita uusille ominaisuuksille." +SHADOWDARK.chat.welcome_message.arcane_library: 'Tue Shadowdarkin kehittäjää: The Arcane Library' +SHADOWDARK.chat.welcome_message.arcane_library_button: Selaa Shadowdark RPG tuotteita +SHADOWDARK.chat.welcome_message.arcane_library_text: Vieraile Arcane Libraryn sivuilla selataksesi virallisia Shadowdark RPG tuotteita, kuten kirjoja, pdf-tiedostoja ja muita oheistuotteita. SHADOWDARK.chat.welcome_message.title: Shadowdark RPG foundrylle -SHADOWDARK.chat.welcome_message.title_text: Welceome to Shadowdark RPG. Here are some resources to get you started. -SHADOWDARK.chat.welcome_message.watch: Watch the Video Tutorial +SHADOWDARK.chat.welcome_message.title_text: Tervetuloa Shadowdark roolipeliin. Tässä on muutamia resursseja aloittelijoille. +SHADOWDARK.chat.welcome_message.watch: Katso opastusvideo SHADOWDARK.chatcard.default: Heitä noppaa -SHADOWDARK.class-ability.ability.check: Ability Check +SHADOWDARK.class-ability.ability.check: Kyvykkyysheitto SHADOWDARK.class-ability.ability.label: Kyky SHADOWDARK.class-ability.available.label: Käytettävissä SHADOWDARK.class-ability.dc.label: VA @@ -193,14 +193,14 @@ SHADOWDARK.class-ability.limited-uses.label: Rajoitettuja käyttökertoja? SHADOWDARK.class-ability.lose_on_failure.label: Kyvyn menettää epäonnistuessa? SHADOWDARK.class-ability.lost.label: Menetetty SHADOWDARK.class-ability.maximum.label: Maksimi -SHADOWDARK.class-ability.options: Options +SHADOWDARK.class-ability.options: Vaihtoehdot SHADOWDARK.class.armor.all.label: Kaikki panssarit SHADOWDARK.class.armor.label: Panssari SHADOWDARK.class.armor.prompt: Valitse panssari... -SHADOWDARK.class.choice_count: Choice Count -SHADOWDARK.class.choice: Choice +SHADOWDARK.class.choice_count: Valintojen määrä +SHADOWDARK.class.choice: Valinta SHADOWDARK.class.fighter: Taistelija -SHADOWDARK.class.fixed: Fixed +SHADOWDARK.class.fixed: Kiinteä SHADOWDARK.class.hit_points.label: Osumapisteheitto SHADOWDARK.class.language_choices.count.label: Valintojen määrä SHADOWDARK.class.language_choices.label: Kielivalinnat @@ -239,11 +239,11 @@ SHADOWDARK.dialog.ability_check.int: Älykkyysheitto SHADOWDARK.dialog.ability_check.str: Voimakkuusheitto SHADOWDARK.dialog.ability_check.title: Kyvykkyysheitto SHADOWDARK.dialog.ability_check.wis: Viisausheitto -SHADOWDARK.dialog.create_custom_item: Create Custom Item -SHADOWDARK.dialog.create_treasure: Create Treasure -SHADOWDARK.dialog.create: Create -SHADOWDARK.dialog.edit_hp.title: Edit HP -SHADOWDARK.dialog.edit_stats.title: Edit Stats +SHADOWDARK.dialog.create_custom_item: Luo mukautettu kohde +SHADOWDARK.dialog.create_treasure: Luo aarre +SHADOWDARK.dialog.create: Luo +SHADOWDARK.dialog.edit_hp.title: Muokkaa osumapisteitä +SHADOWDARK.dialog.edit_stats.title: Muokkaa kyvykkyysarvoja SHADOWDARK.dialog.effect.choice.armor: Valitse panssarin tyyppi SHADOWDARK.dialog.effect.choice.attribute: Valitse ominaisuus SHADOWDARK.dialog.effect.choice.damage_die: Valitse vahinkonoppa @@ -303,7 +303,7 @@ SHADOWDARK.dialog.select_weapon_property.title: Aseen ominaisuuksien valinta SHADOWDARK.dialog.spell_roll.title: Heitä loihtimisheitto käyttäen SHADOWDARK.dialog.submit: Tallenna SHADOWDARK.dialog.tooltip.talent_advantage: Jokin lahjakkuuksistasi antaa sinulle edun tähän heittoon -SHADOWDARK.dialog.type_here: Type Here +SHADOWDARK.dialog.type_here: Kirjoita tähän SHADOWDARK.dragdrop: Vedä ja tiputa tähän SHADOWDARK.effect_duration.hours: Tuntia SHADOWDARK.effect_duration.minutes: Minuuttia @@ -317,7 +317,7 @@ SHADOWDARK.effect.header.delete: Poista SHADOWDARK.effect.header.edit: Muokkaa SHADOWDARK.effect.header.name: Efekti SHADOWDARK.effect.header.options: Asetukset -SHADOWDARK.effect.header.toggle_active: Toggle Active +SHADOWDARK.effect.header.toggle_active: Vaihda aktiivisuutta SHADOWDARK.effect.header.transfer: Siirrä SHADOWDARK.effect.item: Esineen efektit SHADOWDARK.effect.new: Uusi efekti @@ -343,14 +343,14 @@ SHADOWDARK.hotbar.moreThanOneItemWithName: Useampi kuin yksi kohde löytyi tuoll SHADOWDARK.hotbar.noActorSelected: Sinun tulee valita kohde käyttääksesi tätä makroa SHADOWDARK.hotbar.noItemWithName: Esinettä ei löytynyt hahmolta SHADOWDARK.hotbar.spellLost: Loitsu on toistaiseksi menetetty -SHADOWDARK.inventory.carried_gear: Carried Gear +SHADOWDARK.inventory.carried_gear: Kannetut varusteet SHADOWDARK.inventory.coins: Kolikot -SHADOWDARK.inventory.equipped_gear: Equipped Gear -SHADOWDARK.inventory.gear: Gear -SHADOWDARK.inventory.gems: Gems +SHADOWDARK.inventory.equipped_gear: Käytössä olevat varusteet +SHADOWDARK.inventory.gear: Varusteet +SHADOWDARK.inventory.gems: Jalokivet SHADOWDARK.inventory.item.light_remaining: "{timeRemaining} minuuttia jäljellä" SHADOWDARK.inventory.item.light_seconds_remaining: Alle minuutti jäljellä -SHADOWDARK.inventory.item.light_used: (used) +SHADOWDARK.inventory.item.light_used: (käytetty) SHADOWDARK.inventory.label.quantity: Kpl SHADOWDARK.inventory.label.slots: Varusteet/Tarvikkeet SHADOWDARK.inventory.section.armor: Panssari @@ -363,7 +363,7 @@ SHADOWDARK.inventory.section.weapon: Aseet SHADOWDARK.inventory.slots_max: Maksimi SHADOWDARK.inventory.slots_used: Täytetty SHADOWDARK.inventory.slots: Tarviketila -SHADOWDARK.inventory.stashed_gear: Stashed Gear +SHADOWDARK.inventory.stashed_gear: Varastoidut varusteet SHADOWDARK.inventory.tooltip.gem_bag: Avaa jalokivipussi SHADOWDARK.inventory.tooltip.item_decrement: Vähennä määrää SHADOWDARK.inventory.tooltip.item_increment: Lisää määrää @@ -376,7 +376,7 @@ SHADOWDARK.inventory.total_gems: Jalokiviä yhteensä SHADOWDARK.item_type.armor: Panssari SHADOWDARK.item_type.basic: Esine SHADOWDARK.item_type.gem: Jalokivi -SHADOWDARK.item_type.potion: Potion +SHADOWDARK.item_type.potion: Rohto/Taikajuoma SHADOWDARK.item_type.spell: Loitsu SHADOWDARK.item_type.talent: Lahjakkuus SHADOWDARK.item_type.weapon: Ase @@ -468,7 +468,7 @@ SHADOWDARK.item.magic_item.type.permanentAbility: Pysyvä muutos kykyyn SHADOWDARK.item.name_from_spell.Potion: '{spellName} taikajuoma' SHADOWDARK.item.name_from_spell.Scroll: '{spellName} loitsukäärö' SHADOWDARK.item.name_from_spell.Wand: '{spellName} taikasauva' -SHADOWDARK.item.name: Item Name +SHADOWDARK.item.name: Esineen nimi SHADOWDARK.item.npc_attack_bonus: Hyökkäysbonus SHADOWDARK.item.npc_attack_count: Hyökkäyksien lukumäärä SHADOWDARK.item.npc_attack_damage_formula: Vahingon laskukaava @@ -478,7 +478,7 @@ SHADOWDARK.item.npc_attack.num_damage_dice: Vahinkonoppien määrä SHADOWDARK.item.potion.label: Rohto/Taikajuoma SHADOWDARK.item.properties: Asetukset SHADOWDARK.item.scroll.label: Loitsukäärö -SHADOWDARK.item.source_tag: Source Tag +SHADOWDARK.item.source_tag: Lähdetunniste SHADOWDARK.item.source: Lähde SHADOWDARK.item.spell_caster_classes: Loihtimisluokat SHADOWDARK.item.spell_class: Loitsun luokitus @@ -489,10 +489,10 @@ SHADOWDARK.item.spell_tier: Loihtimistaso SHADOWDARK.item.spell.label: Loitsu SHADOWDARK.item.stashed.label: Kätkössä SHADOWDARK.item.talent_class: Lahjakkuusluokka -SHADOWDARK.item.treasure_name: Treasure Name -SHADOWDARK.item.treasure_value: Treasure Value +SHADOWDARK.item.treasure_name: Aarteen nimi +SHADOWDARK.item.treasure_value: Aarteen arvo SHADOWDARK.item.treasure: Aarre -SHADOWDARK.item.type: Item Type +SHADOWDARK.item.type: Esinetyyppi SHADOWDARK.item.wand.label: Taikasauva SHADOWDARK.item.weapon_damage.oneHanded_short: 1K SHADOWDARK.item.weapon_damage.oneHanded: Vahinkoa yhdellä kädellä @@ -546,7 +546,7 @@ SHADOWDARK.light-source.pick-up-lightsource.tooltip: Poimi valonlähde SHADOWDARK.light-tracker.active: Aktiivinen SHADOWDARK.light-tracker.paused: Pausetettu SHADOWDARK.light-tracker.status.label: Status -SHADOWDARK.light-tracker.title: Light Tracker +SHADOWDARK.light-tracker.title: Valonlähteen seuranta SHADOWDARK.light-tracker.user_warning: Yksi tai useampi käyttäjä ei ole valinnut hahmoa SHADOWDARK.macro.error.caught_error: "'{macro}' makro aiheutti virheen: {error}" SHADOWDARK.macro.error.gm_role_required: '''{macro}'' makro edellyttää, että olet pelinjohtaja' @@ -601,8 +601,8 @@ SHADOWDARK.roll.spell_casting_check: Loihtimisheitto SHADOWDARK.roll.success: Onnistui! ({value}) SHADOWDARK.settings.debugEnabled.hint: Ota käyttöön tai poista käytöstä ylimääräinen debuggauksen lokitus SHADOWDARK.settings.debugEnabled.name: Debuggaus päälle/pois -SHADOWDARK.settings.effect_panel.show_passive.hint: If checked, the Effect Panel will also show active effects from talents and items -SHADOWDARK.settings.effect_panel.show_passive.name: Show All Active Effects +SHADOWDARK.settings.effect_panel.show_passive.hint: Jos valittu, efektipaneeli näyttää myös aktiivisia efektejä lahjakkuuksista ja esineistä +SHADOWDARK.settings.effect_panel.show_passive.name: Näytä kaikki aktiiviset efektit SHADOWDARK.settings.migrateSystemCompendiums.hint: Datamigraatio sisäänrakennettuihin Shadowdark RPG compendiumeihin (älä koske tähän jos et tiedä mitä teet) SHADOWDARK.settings.migrateSystemCompendiums.name: Datamigraatio compendiumeille SHADOWDARK.settings.module_art.hint: Määritä minkä moduulin tuottamaa taidetta käytetään @@ -640,8 +640,8 @@ SHADOWDARK.settings.use_clockwise_initiative.name: Käytä myötäpäiväistä j SHADOWDARK.settings.use_pulp_mode.hint: Näytä tuuripisteet numeerisena arvona ruksin sijaan SHADOWDARK.settings.use_pulp_mode.name: Ota "Pulp"-tila käyttöön SHADOWDARK.sheet.abilities.label: Kyvyt -SHADOWDARK.sheet.abilities.modifiers: Modifiers -SHADOWDARK.sheet.abilities.stats: Stats +SHADOWDARK.sheet.abilities.modifiers: Kykybonus +SHADOWDARK.sheet.abilities.stats: Kyvykkyysarvot SHADOWDARK.sheet.abilities.ungrouped.label: Muut SHADOWDARK.sheet.abilities.uses.decrement.tooltip: Vähennä käyttökertoja SHADOWDARK.sheet.abilities.uses.increment.tooltip: Lisää käyttökertoja @@ -682,10 +682,10 @@ SHADOWDARK.sheet.player.ancestry.tooltip: Hahmosi kulttuurillinen ja/tai perinn SHADOWDARK.sheet.player.available_spells: Saatavilla olevat loitsut SHADOWDARK.sheet.player.background.label: Tausta SHADOWDARK.sheet.player.background.tooltip: Menneisyytesi. Saatat olla pätevä asioissa jotka liittyvät taustaasi. -SHADOWDARK.sheet.player.boon.label: Boon +SHADOWDARK.sheet.player.boon.label: Siunaus SHADOWDARK.sheet.player.boons.blessings.label: Siunaukset SHADOWDARK.sheet.player.boons.label: Siunaukset -SHADOWDARK.sheet.player.boons.name: Boon Name +SHADOWDARK.sheet.player.boons.name: Siunauksen nimi SHADOWDARK.sheet.player.boons.oaths.label: Valat SHADOWDARK.sheet.player.boons.secrets.label: Salaisuudet SHADOWDARK.sheet.player.class_spells: Hahmoluokan loitsut @@ -698,11 +698,11 @@ SHADOWDARK.sheet.player.luck: Tuuripiste SHADOWDARK.sheet.player.melee_attacks: Lähihyökkäys SHADOWDARK.sheet.player.name.label: Nimi SHADOWDARK.sheet.player.ranged_attacks: Kantamahyökkäykset -SHADOWDARK.sheet.player.spells_from_items: Spells From Items +SHADOWDARK.sheet.player.spells_from_items: Loitsut esineistä SHADOWDARK.sheet.player.spells_tier: Loitsutaso SHADOWDARK.sheet.player.spells: Loitsut SHADOWDARK.sheet.player.tab.abilities: Kyvyt -SHADOWDARK.sheet.player.tab.details: Details +SHADOWDARK.sheet.player.tab.details: Lisätiedot SHADOWDARK.sheet.player.tab.inventory: Kantamukset SHADOWDARK.sheet.player.tab.notes: Muistiinpanot SHADOWDARK.sheet.player.tab.spells: Loitsut @@ -712,8 +712,8 @@ SHADOWDARK.sheet.player.talents_name: Nimi SHADOWDARK.sheet.player.talents: Lahjakkuudet SHADOWDARK.sheet.player.title: Arvonimi SHADOWDARK.sheet.player.toggle_ability_lost: Merkitse kyky menetetyksi -SHADOWDARK.sheet.player.toggle_edit_hp: Toggle Edit HP -SHADOWDARK.sheet.player.toggle_edit_stats: Toggle Edit Stats +SHADOWDARK.sheet.player.toggle_edit_hp: Osumapisteiden muokkaus päälle/pois +SHADOWDARK.sheet.player.toggle_edit_stats: Kyvykkyysarvojen muokkaus päälle/pois SHADOWDARK.sheet.player.toggle_spell_lost: Merkkaa menetetty loitsu SHADOWDARK.sheet.player.tooltip.cast_spell: Loihdi loitsu SHADOWDARK.sheet.player.tooltip.learn_spell: Opettele loitsu diff --git a/package-lock.json b/package-lock.json index f1e6955a9..afd4df52f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,17 +11,17 @@ "del": "^7.1.0", "glob": "^11.0.0", "gulp": "^5.0.0", - "gulp-eslint-new": "^2.2.0", + "gulp-eslint-new": "^2.3.0", "gulp-if": "^3.0.0", "gulp-sass": "^5.1.0", "gulp-yaml": "^2.0.4", "json-stable-stringify-pretty": "^1.2.0", - "marked": "^13.0.2", + "marked": "^14.1.2", "merge-stream": "^2.0.0", "nedb-promises": "^6.2.3", - "rollup": "^4.18.1", - "sass": "^1.77.6", - "yaml": "^2.4.5", + "rollup": "^4.21.2", + "sass": "^1.78.0", + "yaml": "^2.5.1", "yargs": "^17.7.2" } }, @@ -356,9 +356,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz", - "integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", "cpu": [ "arm" ], @@ -370,9 +370,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz", - "integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", "cpu": [ "arm64" ], @@ -384,9 +384,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz", - "integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", "cpu": [ "arm64" ], @@ -398,9 +398,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz", - "integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", "cpu": [ "x64" ], @@ -412,9 +412,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz", - "integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", "cpu": [ "arm" ], @@ -426,9 +426,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz", - "integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", "cpu": [ "arm" ], @@ -440,9 +440,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz", - "integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", "cpu": [ "arm64" ], @@ -454,9 +454,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz", - "integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", "cpu": [ "arm64" ], @@ -468,9 +468,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz", - "integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", "cpu": [ "ppc64" ], @@ -482,9 +482,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz", - "integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", "cpu": [ "riscv64" ], @@ -496,9 +496,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz", - "integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", "cpu": [ "s390x" ], @@ -510,9 +510,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz", - "integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", "cpu": [ "x64" ], @@ -524,9 +524,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz", - "integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", "cpu": [ "x64" ], @@ -538,9 +538,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz", - "integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", "cpu": [ "arm64" ], @@ -552,9 +552,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz", - "integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", "cpu": [ "ia32" ], @@ -566,9 +566,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz", - "integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", "cpu": [ "x64" ], @@ -597,9 +597,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, "license": "MIT", "dependencies": { @@ -2352,18 +2352,18 @@ } }, "node_modules/gulp-eslint-new": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gulp-eslint-new/-/gulp-eslint-new-2.2.0.tgz", - "integrity": "sha512-B9sBfILAW563MQM81vxWOMeeNbkZTgZEYiwEVmv3fndB5zmGINlA4wbc4qjgPd4kTCtq0sTlFZJV0fpxl8b5kg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-eslint-new/-/gulp-eslint-new-2.3.0.tgz", + "integrity": "sha512-3NFqJRytt4BpmvrBAlPJSL5CyQtUt4zZ8nUJec2ohJo8CRaXhdrYNPRTfN4uO6hHRMWCIVnGnp23o+B0kLjwRg==", "dev": true, "license": "MIT", "dependencies": { - "@types/eslint": "^8.56.10", + "@types/eslint": "^9.6.0", "@types/node": ">=12", "eslint": "8 || 9", "fancy-log": "^2.0.0", "plugin-error": "^2.0.1", - "semver": "^7.6.2", + "semver": "^7.6.3", "ternary-stream": "^3.0.0", "vinyl-fs": "^4.0.0" }, @@ -3312,9 +3312,9 @@ } }, "node_modules/marked": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", - "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.2.tgz", + "integrity": "sha512-f3r0yqpz31VXiDB/wj9GaOB0a2PRLQl6vJmXiFrniNwjkKdvakqJRULhjFKJpxOchlCRiG5fcacoUZY5Xa6PEQ==", "dev": true, "license": "MIT", "bin": { @@ -3979,9 +3979,9 @@ } }, "node_modules/rollup": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz", - "integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", "dev": true, "license": "MIT", "dependencies": { @@ -3995,22 +3995,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.18.1", - "@rollup/rollup-android-arm64": "4.18.1", - "@rollup/rollup-darwin-arm64": "4.18.1", - "@rollup/rollup-darwin-x64": "4.18.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.18.1", - "@rollup/rollup-linux-arm-musleabihf": "4.18.1", - "@rollup/rollup-linux-arm64-gnu": "4.18.1", - "@rollup/rollup-linux-arm64-musl": "4.18.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.1", - "@rollup/rollup-linux-riscv64-gnu": "4.18.1", - "@rollup/rollup-linux-s390x-gnu": "4.18.1", - "@rollup/rollup-linux-x64-gnu": "4.18.1", - "@rollup/rollup-linux-x64-musl": "4.18.1", - "@rollup/rollup-win32-arm64-msvc": "4.18.1", - "@rollup/rollup-win32-ia32-msvc": "4.18.1", - "@rollup/rollup-win32-x64-msvc": "4.18.1", + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", "fsevents": "~2.3.2" } }, @@ -4050,9 +4050,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "version": "1.78.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz", + "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4068,9 +4068,9 @@ } }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, "license": "ISC", "bin": { @@ -4804,9 +4804,9 @@ } }, "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "dev": true, "license": "ISC", "bin": { diff --git a/package.json b/package.json index b1f1afff0..89de65450 100644 --- a/package.json +++ b/package.json @@ -18,17 +18,17 @@ "del": "^7.1.0", "glob": "^11.0.0", "gulp": "^5.0.0", - "gulp-eslint-new": "^2.2.0", + "gulp-eslint-new": "^2.3.0", "gulp-if": "^3.0.0", "gulp-sass": "^5.1.0", "gulp-yaml": "^2.0.4", "json-stable-stringify-pretty": "^1.2.0", - "marked": "^13.0.2", + "marked": "^14.1.2", "merge-stream": "^2.0.0", "nedb-promises": "^6.2.3", - "rollup": "^4.18.1", - "sass": "^1.77.6", - "yaml": "^2.4.5", + "rollup": "^4.21.2", + "sass": "^1.78.0", + "yaml": "^2.5.1", "yargs": "^17.7.2" } } diff --git a/system/src/apps/CharacterGeneratorSD.mjs b/system/src/apps/CharacterGeneratorSD.mjs index 80b38b65e..a0ce3e7b8 100644 --- a/system/src/apps/CharacterGeneratorSD.mjs +++ b/system/src/apps/CharacterGeneratorSD.mjs @@ -762,6 +762,14 @@ export default class CharacterGeneratorSD extends FormApplication { await newActor.createEmbeddedDocuments("Item", characterItems); + let maxHP = newActor.system.attributes.hp.base + newActor.system.attributes.hp.bonus; + let newHP = maxHP; + + await newActor.update({ + "system.attributes.hp.max": maxHP, + "system.attributes.hp.value": newHP, + }); + if (userId !== game.userId) { const ownership = newActor.ownership; ownership[userId] = CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER; diff --git a/system/src/apps/LevelUpSD.mjs b/system/src/apps/LevelUpSD.mjs index d8834c14c..8f29c0206 100644 --- a/system/src/apps/LevelUpSD.mjs +++ b/system/src/apps/LevelUpSD.mjs @@ -173,8 +173,6 @@ export default class LevelUpSD extends FormApplication { } async _onRollHP() { - - // roll HP const data = { rollType: "hp", actor: this.data.actor, @@ -293,7 +291,6 @@ export default class LevelUpSD extends FormApplication { } async _finalizeLevelUp() { - // update actor XP and level let newXP = 0; @@ -302,40 +299,49 @@ export default class LevelUpSD extends FormApplication { newXP = this.data.actor.system.level.xp - (this.data.actor.system.level.value * 10); } + // Add items first as they may include HP / Con bonuses + let allItems = [ + ...this.data.talents, + ]; + + // load all spells into allItems + for (let i = 1; i <= 5; i++) { + allItems = [ + ...allItems, + ...this.data.spells[i].objects, + ]; + } + + // Names for audit log + const itemNames = []; + allItems.forEach(x => itemNames.push(x.name)); + + // add talents and spells to actor + await this.data.actor.createEmbeddedDocuments("Item", allItems); + // calculate new HP base let newBaseHP = this.data.actor.system.attributes.hp.base + this.data.rolls.hp; let newValueHP = this.data.actor.system.attributes.hp.value + this.data.rolls.hp; + let newMaxHP = newBaseHP + this.data.actor.system.attributes.hp.bonus; if (this.data.targetLevel === 1) { let hpConMod = this.data.actor.system.abilities.con.mod; // apply conmod to a set minimum 1 HP if ((this.data.rolls.hp + hpConMod) > 1) { newBaseHP = this.data.rolls.hp + hpConMod; + } else { newBaseHP = 1; } - newValueHP = newBaseHP; - } - - let allItems = [ - ...this.data.talents, - ]; - - // load all spells into allItems - for (let i = 1; i <= 5; i++) { - allItems = [ - ...allItems, - ...this.data.spells[i].objects, - ]; + newValueHP = newBaseHP + this.data.actor.system.attributes.hp.bonus; + newMaxHP = newValueHP; } // load audit log, check for valid data, add new entry let auditLog = this.data.actor.system?.auditlog ?? {}; if (auditLog.constructor !== Object) auditLog = {}; - const itemNames = []; - allItems.forEach(x => itemNames.push(x.name)); auditLog[this.data.targetLevel] = { baseHP: newBaseHP, itemsGained: itemNames, @@ -343,16 +349,14 @@ export default class LevelUpSD extends FormApplication { // update values on actor await this.data.actor.update({ - "system.level.value": this.data.targetLevel, - "system.level.xp": newXP, "system.attributes.hp.base": newBaseHP, + "system.attributes.hp.max": newMaxHP, "system.attributes.hp.value": newValueHP, "system.auditLog": auditLog, + "system.level.value": this.data.targetLevel, + "system.level.xp": newXP, }); - // add talents and spells to actor - await this.data.actor.createEmbeddedDocuments("Item", allItems); - this.close(); } } diff --git a/system/src/migrations/updates/Update_240910_1.mjs b/system/src/migrations/updates/Update_240910_1.mjs new file mode 100644 index 000000000..9e7ba7bac --- /dev/null +++ b/system/src/migrations/updates/Update_240910_1.mjs @@ -0,0 +1,19 @@ +import { UpdateBaseSD } from "../UpdateBaseSD.mjs"; + +export default class Update_240910_1 extends UpdateBaseSD { + static version = 240910.1; + + async updateActor(actorData) { + if (actorData.type !== "Player") return; + if (actorData.system.attributes.hp.max !== 0) return; + + const maxHP = actorData.system.attributes.hp.base + + actorData.system.attributes.hp.bonus; + + const updateData = { + "system.attributes.hp.max": maxHP, + }; + + return updateData; + } +} diff --git a/system/src/migrations/updates/_module.mjs b/system/src/migrations/updates/_module.mjs index 604966ddc..c9d8ae4e9 100644 --- a/system/src/migrations/updates/_module.mjs +++ b/system/src/migrations/updates/_module.mjs @@ -21,3 +21,4 @@ export {default as Update_231025_1} from "./Update_231025_1.mjs"; export {default as Update_231112_1} from "./Update_231112_1.mjs"; export {default as Update_231125_1} from "./Update_231125_1.mjs"; export {default as Update_231216_1} from "./Update_231216_1.mjs"; +export {default as Update_240910_1} from "./Update_240910_1.mjs"; diff --git a/system/system.json b/system/system.json index 9fb70db65..8d0208899 100644 --- a/system/system.json +++ b/system/system.json @@ -2,7 +2,7 @@ "id": "shadowdark", "title": "Shadowdark RPG", "description": "A system for playing the Shadowdark RPG from Arcane Library", - "version": "3.1.1", + "version": "3.1.2", "compatibility": { "minimum": "12", "verified": "12"