From 3f73deca43cc7898166b88f739e1f587f36d9d37 Mon Sep 17 00:00:00 2001 From: Shark that walks like a man <106829671+stwlam@users.noreply.github.com> Date: Wed, 31 Jan 2024 07:26:02 -0600 Subject: [PATCH] Release Notes 5.13.0 (#13430) --- CHANGELOG.md | 153 ++++++++++++++++ package-lock.json | 217 +++++++++++++---------- package.json | 28 +-- src/module/system/statistic/statistic.ts | 4 +- static/system.json | 2 +- types/foundry/common/data/fields.d.ts | 28 +-- 6 files changed, 300 insertions(+), 132 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d8ac933b04..2c40c6df51a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,156 @@ +## 5.13.0 + +### Highlights + +- (nikolaj-a) Add support for experimental inline /act syntax for using actions +- (Rigo) Automate Sorcerer Blood Magic notes +- (Tikael) Start automating psychic amps + +### System Improvements + +- (Dire Weasel) Add primary deity's divine font to roll options +- (DocSchlock) Add `hideIfDisabled` field to DamageDice rule element +- (Jesse) Add Defense line to spell-description prepends +- (kromko) Add `target` property to action macro options that accepts either a token or actor +- (MrPrimate) Add (default-disabled) bonus to Forceful weapons +- (stwlam) Start adding support for physical-item attachments +- (stwlam) Add support for item-description alterations +- (stwlam) Propagate effect traits from damage rolls to persistent-damage conditions +- (stwlam) Show activatable spell consumables in spellcasting tab +- (stwlam) Add support for classifying languages as being unavailable for use +- (Supe) Add defense column to actor-sheet spellcasting tabs +- (Trent) Add roll options for spellcasting traditions +- (xdy) Allows familiars to use their master's hero points to reroll checks + +### Bugfixes + +- (Rigo) Fix localization errors in Compendium Browser settings tab +- (stwlam) Prevent flanking highlighting from appearing for neutral actors +- (stwlam) Don't factor in bulk when pricing precious-material shields +- (stwlam) Fix aberrant rendering of innate spell collection and flexible preparation list +- (stwlam) Fix spellcasting counteraction modifier for NPCs +- (stwlam) Fix issue causing players to send messages as dead NPCs while in the process of looting them +- (stwlam) Fix damage cues showing when Show Outcomes metagame setting is disabled +- (stwlam) Restore foundry-style scrollbar appearance for Chrome 121 +- (Supe) Fix armor speed penalty applying twice to speeds derived from land speed +- (Supe) Fix Elemental Blast button labels when statistic is affected by melee- or ranged-attack-roll modifiers +- (Trent) Extract modifier adjustments for resilient rune modifier + +### Data Updates + +- (Abaddon) Fix prerequisite for Uzunjati Storytelling and Named Artillery +- (chazpls) Add effects for Magnetic Shot +- (Dire Weasel) Add automation for Asmodeus' Moderate Boon divine font selection, Erraticannon damage, Froglegs' Knife Fighter, Rapid Response, Skinsaw Seamer's Flay +- (Dire Weasel) Add burrow speed automation to Delve Scale effect +- (Dire Weasel) Add effect for Chromatic Jellyfish Oil, Drowsy Sun Eye Drops, Energy Adaptive, Grudgestone, Iron Medallion, Merciful Charm, Rhino Hide Brooch, Sneaky Key, Swift Block Cabochon, Theatrical Mutagen, Tome of Restorative Cleansing, Vapor Sphere +- (Dire Weasel) Add Experiment trait +- (Dire Weasel) Add inline damage links to Bracers of Strength and Wolf Fang +- (Dire Weasel) Add lighting automation for Ancient Scale Azarketi +- (Dire Weasel) Add lighting automation for Midday Lantern +- (Dire Weasel) Add Note REs with healing links for Communal Healing and Sap Life +- (Dire Weasel) Add predicates to Divine Font choices +- (Dire Weasel) Add rule elements to and single effect for Divine Infusion +- (Dire Weasel) Add Size-Changing rune to system +- (Dire Weasel) Add Sled and update remaster vehicles +- (Dire Weasel) Add unified effects for Fungal Infestation and Swampcall +- (Dire Weasel) Attach shield bosses to shields for pregen PCs +- (Dire Weasel) Brush up some fist attack automation +- (Dire Weasel) Fix description formatting for Versatile Font +- (Dire Weasel) Fix duration of Instant Armor +- (Dire Weasel) Fix effect name for Impenetrable Scale +- (Dire Weasel) Fix Hannis Drelev's inline roll for Dramatic Disarm +- (Dire Weasel) Fix Illusory Disguise's link to a macro +- (Dire Weasel) Correct range of Boost Eidolon +- (Dire Weasel) Fix traits on In the Shadows of Toil +- (Dire Weasel) Fix typos in prerequisites for Energized Font +- (Dire Weasel) Improve automation for Armag Twice-Born's Greatsword Critical Specialization +- (Dire Weasel) Update Anchored effect to apply to reflex DC +- (Dire Weasel) Update Armag Twice-Born's Awesome Blow to remove macro link +- (Dire Weasel) Update automation for Divine Castigation to remaster and add automation for Castigating Weapon +- (Dire Weasel) Update Critical Specialization strings to remaster +- (Dire Weasel) Update Tanglefoot Bag effects to Glue Bomb for remaster +- (DocSchlock) Add Chaotic Destiny Action to Crown of Chaos Background +- (DocSchlock) Add Effects for Dragon's Eye Charm andSanguine Mutagen +- (DocSchlock) Add Failure Note to Pernicious Spore Bomb +- (DocSchlock) Add inline Performance Check to Lingering Composition +- (DocSchlock) Add Missing Equipment Effects and cleanup Equipment automation +- (DocSchlock) Add missing RE to Applereed Mutagen Greater Effect +- (DocSchlock) Add REs and Effects to Ghost Hunter Dedication +- (DocSchlock) Add some traits and inline links to Familiar Abilities +- (DocSchlock) Add spell-description item alteration to Mystery Conduit +- (DocSchlock) Add Spell Parry Effect and link from feat +- (DocSchlock) Add Earn Income rule element to Tradecraft Tattoos +- (DocSchlock) Add Vivielle Ramslay to Outlaws of Alkenstar Bestiary +- (DocSchlock) Automate Grand Medic and Storyteller Mask Feats +- (DocSchlock) Cleanup Eldritch Researcher feats, Starlight Armor description, and Risky Surgery +- (DocSchlock) Fix Black Smilodon rarity +- (DocSchlock) Link Effect to Crown of the Kobold King +- (DocSchlock) Remove CRB Goblin Ancestry feats not reprinted +- (Drental) Unify inline damage in Uthul Whirlwind Form +- (Jesse) Add automation for the Resistance group of Familiar Abilities +- (Jesse) Add rule elements for Tremorsense and Wavesense Familiar Abilities +- (Jesse) Fix Blinding Foam base damage die size +- (Jesse) Fix modifier type in Song of Strength effect +- (Jesse) Fix size and attributes of Crysmal +- (xdy) Change Kobold Breath and Dragon's Breath feats to roll area damage +- (xdy) Change prerequisite ability scores to attribute modifiers in dedication feat descriptions +- (kromko) Add description to Spell Effect: Bullhorn +- (kromko) Add missing trigger to Air Bubble spell description +- (kromko) Fix senses on Ghoul Antipaladin Kilia, Megalodon, Mwibo Teraphant, Vordakai, and Xotanispawn tremorsense +- (LebombJames) Add effect for Crimson Shroud AC bonus +- (MrVauxs) Fix Wraith having Aklo instead of Necril +- (nikolaj-a) Add Affix a Talisman and Learn a Spell action macros +- (nikolaj-a) Add missing action cost to demoralize action object +- (nikolaj-a) Add support for providing a numeric difficulty class parameter on action use +- (nikolaj-a) Favor action objects over old action functions for inline actions +- (nikolaj-a) Improve accessibility for character sheet tabs +- (nikolaj-a) Set multiple statistics for decipher writing and subsist actions +- (nikolaj-a) Tighten up type for traits in action object +- (nikolaj-a) Wire up identify alchemy and identify magic actions for item identification +- (rectulo) Delete unnecessary effect in description for rhino-hide +- (rectulo) Fix damage type of sansetsukon +- (rectulo) Update composition trait and Occult Spellcasting class feature with PC1 text +- (rectulo) Link spells in Studious Spells feature +- (Reyzor) Fix sense details for several NPCs +- (Rigo) Add effects for Animate Rope and Thoughtform Summoning +- (Rigo) Add choice of imprecise sense to Magical Experiment background +- (Rigo) Add darkvision subfeature to Visual Fidelity +- (Rigo) Add effect for Pistolero's Challenge +- (Rigo) Add predicated imprecise thoughtsense to Thoughtsense feat +- (Rigo) Add rule elements to Diving Armor, Final Shot, and Reverse Engineer +- (Rigo) Add scaling to Mountain Skin's armor proficiency +- (Rigo) Add toggle to apply Bullet Split penalty +- (Rigo) Append flat check note to spells under non-spellcaster Ancestral Curse +- (Rigo) Append note to spells under moderate and major Curse of Outpouring Life +- (Rigo) Automate Elemental Apotheosis +- (Rigo) Add Oracular Curse severity notes when casting revelation spells +- (Rigo) Automate Overdrive Ally +- (Rigo) Automate Psychic feat spell alterations +- (Rigo) Brush up Elemental Heart Dwarf heritage automation +- (Rigo) Brush up Shillelagh's spell effect +- (Rigo) Consolidate Blood Magic Effects +- (Rigo) Fix damage and healing inline rolls on Flawed Ritual hazards +- (Rigo) Fix Glorzia's level +- (Rigo) Fix Kineticist Dedication wrongly granting Base Kinesis +- (Rigo) Fix Stunning Finisher note +- (Rigo) Fix Weapon Proficiency predicate +- (Rigo) Improve Offensive Boost related automation and automate Variable Core +- (Rigo) Narrow Remorseless Lash note to successful Strikes +- (Rigo) Restrict Megaton Strike to qualifying Strikes +- (Rigo) Fix Deep Freeze inline damage rolls +- (Rigo) Fix Dragonscaled Kobold resistance +- (stwlam) Add rule elements to Shadow Signet +- (stwlam) Add shield spikes to Burr Shield +- (stwlam) Correct bulk of Reinforced Stock, price of Major Oil of Potency, and rarity of long hammer +- (stwlam) Fill automation gaps in Stance: Tenacious Stance +- (stwlam) Move Mwangi regional languages from rare to uncommon +- (stwlam) Spruce up rule elements for Megaton Strike and unstable actions +- (Tikael) Fix stats of several PFS creatures +- (Tikael) Fix usage of Clockwork Macuahuitl +- (TMun) Add fire resistance to Numerian Steel Breastplate +- (TMun) Correct Destructive Aura from cone to emanation +- (Trent) Add rule for Divine Disharmony bonus + ## 5.12.7 ### Bugfixes diff --git a/package-lock.json b/package-lock.json index 6583370803e..1a7f67c794f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "foundry-pf2e", - "version": "5.12.7", + "version": "5.13.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "foundry-pf2e", - "version": "5.12.7", + "version": "5.13.0", "license": "Apache-2.0", "dependencies": { "@codemirror/autocomplete": "^6.11.1", @@ -17,7 +17,7 @@ "minisearch": "^6.3.0", "nouislider": "^15.7.1", "remeda": "^1.33.0", - "sortablejs": "^1.15.1", + "sortablejs": "^1.15.2", "uuid": "^9.0.1" }, "devDependencies": { @@ -28,22 +28,22 @@ "@types/jest": "^29.5.11", "@types/jquery": "^3.5.29", "@types/jsdom": "^21.1.6", - "@types/luxon": "^3.4.0", - "@types/node": "20.10.6", + "@types/luxon": "^3.4.2", + "@types/node": "20.11.13", "@types/prompts": "^2.4.9", "@types/sortablejs": "^1.15.7", "@types/tooltipster": "^0.0.35", - "@types/uuid": "^9.0.7", + "@types/uuid": "^9.0.8", "@types/yaireo__tagify": "4.17.0", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^6.20.0", + "@typescript-eslint/parser": "^6.20.0", "classic-level": "^1.3.0", "es-jest": "^2.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "9.1.0", - "eslint-plugin-jest": "^27.6.1", + "eslint-plugin-jest": "^27.6.3", "eslint-plugin-json": "^3.1.0", - "eslint-plugin-prettier": "5.1.2", + "eslint-plugin-prettier": "5.1.3", "fs-extra": "^11.2.0", "gsap": "3.11.5", "handlebars": "4.7.7", @@ -52,20 +52,20 @@ "jsdom": "^23.1.0", "peggy": "^3.0.2", "pixi.js": "7.2.4", - "prettier": "3.1.1", + "prettier": "3.2.4", "prompts": "^2.4.2", "prosemirror-view": "1.32.5", - "sass": "^1.69.7", + "sass": "^1.70.0", "socket.io": "4.6.2", "socket.io-client": "4.6.2", "tinymce": "6.7.3", "tsconfig-paths": "^4.2.0", "tsx": "^4.7.0", "typescript": "^5.3.3", - "vite": "^5.0.11", + "vite": "^5.0.12", "vite-plugin-checker": "^0.6.2", - "vite-plugin-static-copy": "^1.0.0", - "vite-tsconfig-paths": "^4.2.3", + "vite-plugin-static-copy": "^1.0.1", + "vite-tsconfig-paths": "^4.3.1", "yargs": "^17.7.2" } }, @@ -2548,9 +2548,9 @@ } }, "node_modules/@types/luxon": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.0.tgz", - "integrity": "sha512-PEVoA4MOfSsFNaPrZjIUGUZujBDxnO/tj2A2N9KfzlR+pNgpBdDuk0TmRvSMAVUP5q4q8IkMEZ8UOp3MIr+QgA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==", "dev": true }, "node_modules/@types/minimatch": { @@ -2560,9 +2560,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", - "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "version": "20.11.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.13.tgz", + "integrity": "sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -2647,9 +2647,9 @@ "dev": true }, "node_modules/@types/uuid": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", - "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==", + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", "dev": true }, "node_modules/@types/yaireo__tagify": { @@ -2678,16 +2678,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz", - "integrity": "sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", + "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/type-utils": "6.14.0", - "@typescript-eslint/utils": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/type-utils": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -2713,15 +2713,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.14.0.tgz", - "integrity": "sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", + "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4" }, "engines": { @@ -2741,13 +2741,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz", - "integrity": "sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", + "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2758,13 +2758,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz", - "integrity": "sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", + "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/utils": "6.14.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/utils": "6.20.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -2785,9 +2785,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.14.0.tgz", - "integrity": "sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", + "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -2798,16 +2798,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz", - "integrity": "sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", + "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", + "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, @@ -2824,18 +2825,42 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.14.0.tgz", - "integrity": "sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", + "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", "semver": "^7.5.4" }, "engines": { @@ -2850,12 +2875,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz", - "integrity": "sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", + "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", + "@typescript-eslint/types": "6.20.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -4032,9 +4057,9 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.1.tgz", - "integrity": "sha512-WEYkyVXD9NlmFBKvrkmzrC+C9yZoz5pAml2hO19PlS3spJtoiwj4p2u8spd/7zx5IvRsZsCmsoImaAvBB9X93Q==", + "version": "27.6.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz", + "integrity": "sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==", "dev": true, "dependencies": { "@typescript-eslint/utils": "^5.10.0" @@ -4192,9 +4217,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", - "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", @@ -6543,9 +6568,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -6929,9 +6954,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.69.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.7.tgz", - "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", + "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -7122,9 +7147,9 @@ } }, "node_modules/sortablejs": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.1.tgz", - "integrity": "sha512-P5Cjvb0UG1ZVNiDPj/n4V+DinttXG6K8n7vM/HQf0C25K3YKQTQY6fsr/sEGsJGpQ9exmPxluHxKBc0mLKU1lQ==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.2.tgz", + "integrity": "sha512-FJF5jgdfvoKn1MAKSdGs33bIqLi3LmsgVTliuX6iITj834F+JRQZN90Z93yql8h0K2t0RwDPBmxwlbZfDcxNZA==" }, "node_modules/source-map": { "version": "0.6.1", @@ -7424,18 +7449,18 @@ } }, "node_modules/tsconfck": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", - "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.1.tgz", + "integrity": "sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==", "dev": true, "bin": { "tsconfck": "bin/tsconfck.js" }, "engines": { - "node": "^14.13.1 || ^16 || >=18" + "node": "^18 || >=20" }, "peerDependencies": { - "typescript": "^4.3.5 || ^5.0.0" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -7687,9 +7712,9 @@ } }, "node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -7816,9 +7841,9 @@ } }, "node_modules/vite-plugin-static-copy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-1.0.0.tgz", - "integrity": "sha512-kMlrB3WDtC5GzFedNIPkpjnOAr8M11PfWOiUaONrUZ3AqogTsOmIhTt6w7Fh311wl8pN81ld7sfuOEogFJ9N8A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-1.0.1.tgz", + "integrity": "sha512-3eGL4mdZoPJMDBT68pv/XKIHR4MgVolStIxxv1gIBP4R8TpHn9C9EnaU0hesqlseJ4ycLGUxckFTu/jpuJXQlA==", "dev": true, "dependencies": { "chokidar": "^3.5.3", @@ -7834,14 +7859,14 @@ } }, "node_modules/vite-tsconfig-paths": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.3.tgz", - "integrity": "sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.1.tgz", + "integrity": "sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==", "dev": true, "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", - "tsconfck": "^2.1.0" + "tsconfck": "^3.0.1" }, "peerDependencies": { "vite": "*" diff --git a/package.json b/package.json index b72433862eb..3c1a682a207 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "foundry-pf2e", - "version": "5.12.7", + "version": "5.13.0", "description": "", "private": true, "type": "module", @@ -33,22 +33,22 @@ "@types/jest": "^29.5.11", "@types/jquery": "^3.5.29", "@types/jsdom": "^21.1.6", - "@types/luxon": "^3.4.0", - "@types/node": "20.10.6", + "@types/luxon": "^3.4.2", + "@types/node": "20.11.13", "@types/prompts": "^2.4.9", "@types/sortablejs": "^1.15.7", "@types/tooltipster": "^0.0.35", - "@types/uuid": "^9.0.7", + "@types/uuid": "^9.0.8", "@types/yaireo__tagify": "4.17.0", - "@typescript-eslint/eslint-plugin": "^6.14.0", - "@typescript-eslint/parser": "^6.14.0", + "@typescript-eslint/eslint-plugin": "^6.20.0", + "@typescript-eslint/parser": "^6.20.0", "classic-level": "^1.3.0", "es-jest": "^2.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "9.1.0", - "eslint-plugin-jest": "^27.6.1", + "eslint-plugin-jest": "^27.6.3", "eslint-plugin-json": "^3.1.0", - "eslint-plugin-prettier": "5.1.2", + "eslint-plugin-prettier": "5.1.3", "fs-extra": "^11.2.0", "gsap": "3.11.5", "handlebars": "4.7.7", @@ -57,20 +57,20 @@ "jsdom": "^23.1.0", "peggy": "^3.0.2", "pixi.js": "7.2.4", - "prettier": "3.1.1", + "prettier": "3.2.4", "prompts": "^2.4.2", "prosemirror-view": "1.32.5", - "sass": "^1.69.7", + "sass": "^1.70.0", "socket.io": "4.6.2", "socket.io-client": "4.6.2", "tinymce": "6.7.3", "tsconfig-paths": "^4.2.0", "tsx": "^4.7.0", "typescript": "^5.3.3", - "vite": "^5.0.11", + "vite": "^5.0.12", "vite-plugin-checker": "^0.6.2", - "vite-plugin-static-copy": "^1.0.0", - "vite-tsconfig-paths": "^4.2.3", + "vite-plugin-static-copy": "^1.0.1", + "vite-tsconfig-paths": "^4.3.1", "yargs": "^17.7.2" }, "dependencies": { @@ -82,7 +82,7 @@ "minisearch": "^6.3.0", "nouislider": "^15.7.1", "remeda": "^1.33.0", - "sortablejs": "^1.15.1", + "sortablejs": "^1.15.2", "uuid": "^9.0.1" } } diff --git a/src/module/system/statistic/statistic.ts b/src/module/system/statistic/statistic.ts index e2f18fd4171..51bee1e9c86 100644 --- a/src/module/system/statistic/statistic.ts +++ b/src/module/system/statistic/statistic.ts @@ -386,8 +386,8 @@ class StatisticCheck { const origin = args.origin; const targetToken = origin ? null - : (args.target?.getActiveTokens() ?? Array.from(game.user.targets)).find( - (t) => t.actor?.isOfType("army", "creature", "hazard"), + : (args.target?.getActiveTokens() ?? Array.from(game.user.targets)).find((t) => + t.actor?.isOfType("army", "creature", "hazard"), ) ?? null; // This is required to determine the AC for attack dialogs diff --git a/static/system.json b/static/system.json index 79efc908729..cd5ae6db7b0 100644 --- a/static/system.json +++ b/static/system.json @@ -2,7 +2,7 @@ "id": "pf2e", "title": "Pathfinder Second Edition", "description": "A community contributed game system for Pathfinder Second Edition", - "version": "5.12.7", + "version": "5.13.0", "license": "./LICENSE", "compatibility": { "minimum": "11.311", diff --git a/types/foundry/common/data/fields.d.ts b/types/foundry/common/data/fields.d.ts index 9b6b1a852bb..f0f809c1f79 100644 --- a/types/foundry/common/data/fields.d.ts +++ b/types/foundry/common/data/fields.d.ts @@ -1052,25 +1052,15 @@ export class TypeDataField< // System utility types -export type SourcePropFromDataField = T extends DataField< - infer TSourceProp, - infer _TModelProp, - infer TRequired, - infer TNullable, - infer THasInitial -> - ? MaybeSchemaProp - : never; - -export type ModelPropFromDataField = T extends DataField< - infer _TSourceProp, - infer TModelProp, - infer TRequired, - infer TNullable, - infer THasInitial -> - ? MaybeSchemaProp - : never; +export type SourcePropFromDataField = + T extends DataField + ? MaybeSchemaProp + : never; + +export type ModelPropFromDataField = + T extends DataField + ? MaybeSchemaProp + : never; export type MaybeSchemaProp< TProp,