Update 3.0.0: Feat: - Content split: Elementalist, Monk and Trapper ship with this module, the six other classes move to FQ Card Engine Extended - FQ class registry: classes are no longer hardcoded in the schema, the extended module registers its own - Two new classes, Runic Warrior and Fencing Master, with their tokens, decks and illustrations - Every class deck reworked up to level 10 (12 for some), with 22 balance passes, eight final tuning passes and a full characterisation pass - Neutral cards become common cards, added to the spellbooks at the right levels, up to level 20 - White Mage gets the Haunting specialization and its ghost minion - Crescendo becomes a monk spell - FQ classes capped at level 12, level-up macros, and a level is only gained once the XP exceeds the maximum for the level - New illustrations for every card (18 passes) - Equipped weapon damage added to the cards that use it, rwak and mwak taken into account when there is no attack activity - Attack rolls and saving throws for cards and dnd5e activities, and a successful save protects from the card effects - New spell/card result window, and chat messages that put the final result first - Resistances, immunities, vulnerabilities and absorption for card damage and damage over turns, plus a magical damage flag - Advantage and disadvantage handled with two dedicated FQ statuses and the dnd5e conditions - Rationalized effects (earth, air, fire, curse, poison, etc.) and the new VIRUS status - Area targeting (circle/cone/rectangle/line) from the play dialog: the covered tokens become the targets, with their own FX - Target all adjacent tokens, all allies or all enemies, and the distance of each target shown in the play dialog - Target selection is frozen in the activity when it is used, and the token auto-rotates to face its targets - Opportunity attacks with the first equipped weapon and automatic damage, announced in chat, only between combatants with hit points - Ephemeral cards: playing one destroys it for good - Generated cards replace the "JSON after use": cards are generated in hand from a choice offered to the player, and can be deleted from the discard - A card from the hand can be duplicated - Cards can be retrieved from the discard or from the deck back into the hand, through the same UI on both sides (all of them, a given list, or a number of random ones from the discard) - When the deck is empty the discard is shuffled back into it, and fatigue deals damage on every reshuffle - the Runic Warrior is the only one able to lower the fatigue score - Base cards become innate cards and can be deleted - Reactive cards can be prepared during your turn and are highlighted when they become usable - A replayable AUTO card is played every turn (White Mage auras) - Cards can drop tiles carrying walls (Frost Wall) - Level 0 cards are no longer mandatory, and the number of level 1 cards of the main class sets the minimum size of a deck - Bonus score available on every type of card - Formulas simplified in the card descriptions, with tooltips, and localized tooltips on the card emojis - Improved hit bubbles - Minions can be placed anywhere in an area instead of an adjacent square, with a maximum number per type and summoning buffs - The giant skeleton becomes the Skeleton King, buffing a single skeleton - Spellbook reworked as a card grid, with filters, search, preview and deck size, copies toggled from the spellbook and an extra copy on right-click - The spellbook opens on level-up, without populating itself - The discard score is gone, replaced by a UI to discard cards - FQ costs can be set on items and spells - Player rights cut to the minimum: no drag and drop from the compendiums, no card drag and drop nor item edition with limited rights, on their own characters and items too - The GM follows a player, and the old configuration path is gone - A player's toolbar resolves its own hand - Macros: roll the current combatant's weapon damage, use the first equipped ranged weapon (macro and HUD button), end the turn, and the natural weapon in the HUD shortcuts - Option to bypass the attack and damage dialogs (no armour class) - Token coordinates in the engine are reduced to the square holding the token centre - Random UAT world generator (npm run testWorld:random) - Death saving throws and the initiative rolled on joining combat move to FQ Enhanced Combat Chore: - Version bump 14.368 and dnd5e 6.0.3, with the compendiums migrated (DAE 14.0.14, Sequencer 4.2.3) - The bundled visual effects are gone: the FX are read from JB2A and no longer redistributed with the module - Versions aligned across FQ Card Engine, FQ Enhanced Combat and FQ Restrain Movement: the three modules are published together - Repository moved to the final-quest GitHub organization, with a release pipeline that lints, tests, compiles the packs and publishes the release - LevelDB packs are no longer versioned, only their JSON sources in packs/_source (npm run build) - Dual licence: MIT on the source code, all rights reserved on the Final Quest 8 content - A utils pack to keep the pack scripts in a single place - LF line endings everywhere, to match what build:json writes - Code audit, duplication refactor and dead code removal - Test world updated with the new classes, migrated to the dnd5e 6 data model, and its UAT population script fixed - Class balance report (npm run report:classes) and CLASSES.md documentation Fix: - Fix the OpenDeck button in the player hand - Cards sorted by level then by name in the decks, and the broken button removed - Limiting the player rights no longer removes targeting and movement on the tokens - Token HUD buttons follow the rights on the token's actor - The damage flicker no longer leaves the token invisible, and no longer writes the opacity on the token document - Ephemeral cards are destroyed at the right time and show the right card back - Free necromancy after the first use through a generated card - Instant curse: the logs it relies on do not always carry the right actors or targets - Empty hand shown in a generated world - Starter heroes: max hit points override - FQ resources consumed at the right time with the new bypass option, and for every activity - Damage formulas used when an activity has damage but no attack - Card descriptions resized when they overflow the frame - Fix Light Energy and Improved Fire Ray descriptions - Fix orphan translations, i18n keys, and the localisation of the macros and the compendiums - Fix image paths - The result window test no longer depends on the speed of the machine - Opportunity attacks: FX on the right token, and the reaction reserved to combatants Update 2.0.2: Feat: - Card draw animation - Show the card on click within decks/libraries - Consolidated chat message (choices + results) + click -> SVG card - Localized card choices, translated into French - Show specific resources (critical, discard, etc.) in the hand or the play dialog - Targeting available from the play dialog, with targeting errors reported before playing the card - Effect dispel implementation - X and Y value errors (overflows) blocking before playing the card in the play dialog Chore: - Restructure and remove dead CSS code - Architecture refactor and pending technical todos - Turn all CSS colors into variables - Add recommendation of the "FQ Restrain movement" module - Remove dead code and unnecessary dependencies, simplification and factorization pass Fix: - Fix card back display in the play dialog - Fix create-deck macro to use the FQ owner - Show FX after dice rolls - Fix frost aura - GM "create all decks" macro no longer opens every deck - No animation when drawing base cards - If applyEffectsFormulas.formula equals 1, skip the roll and validate immediately - The play dialog now closes when another play dialog opens (targeting issue) - Consume FQ resources at the right time when rolling weapon damage - No more 'S' shown in bubbles (temporary?) - Fix several cards: Solar Strike, Circle Attack, Secret Weapons, Curse, Elemental Magic, Tornado, Earth Fracture - Variable bubble font size - Fix effect expiration - Show temporary malus/bonus or those forced to be visible Update 2.0.1: Feat: - Default card illustration and FQ logo on pause - On-the-fly deck generation based on cards matching classes and levels (half the max number by default), and further decks from already generated decks - Add a shortcut arrow to move a card from the spellbook to the deck + grey out cards already distributed in the deck - Dice So Nice support: simultaneous dice rolls Chore: - Unit test coverage >50%, and >80% for utils methods - Non-regression tests on all game cards - Complete documentation of methods - End of Card Viewer recommendation - Update and pin package.json dependency versions Fix: - Fix fr.json and en.json translations - Fix wrong control of the Y variables - Fix attribute modifiers wrongly translated into French (@for -> @str) - Do not add the hand to the container when player rights are limited - Fix, for cards, the v13 -> v14 breaking change of the EffectChangeData structure - Fix double-counting of damage when temporary HP absorb everything - Prevent a crash when the xyvalue evaluation fails, returning 0 instead Update 2.0.0: Feat: - Rework of the player hand UI - Add FQ resources to the player hand - Rework of the play-card dialog UI - Add FQ resources and targets to the play-card dialog - Show FQ resources directly in the play dialog and in the hand-container - Cards are generated dynamically from the FQ card form via an SVG - Cards have a defined class that changes the texture - Localization (FR and EN) of all cards - Rework of the illustrations of all playable cards - New FX handling (with JB2A) and original sounds (several sounds per damage type) - A passive spell can only be played once per turn - A base spell does not necessarily stay in hand -> coupled with replayable - GM macro to generate a deck with all cards Chore: - Version bump 14.365 - Refactor FQ templates and objects wired to DND5E objects (character sheets) and Foundry (cards and decks) - Refactor classes and static methods to keep only the strict minimum - Macro to generate a deck with all cards - Vitest migration Fix: - Fix creation of a unique deck per player with their class cards - Fix minion summoning - Fix several cards: 'Enchanted Whip', 'Rock Throw', 'Shadow Spell' Update 1.1.1: Chore: - Version bump 13.350 Fix: - Players can no longer play their weapons outside their turn - If xvalue or yvalue is set to currentDrop, clear it for the character - Stop using game.actors.get to avoid decorrelation, use only token ids for targets - Fix Charge: did not work, .from() is deprecated, use .copySprite() + use the GM targets - Add missing effect messages for Guardian and Elementalist - Fix Open/Create Deck Macros - Fix base cards in generated decks Update 1.1.0: Feat: - Add 2 new classes : The Witch and the Guardian - Handle Advancements up to level 20 - Implements cards up to level 7 - Refactor form to implements cards - New type of cards: Base Cards - Handle visual and sound effect with Sequencer, J2BA and DAE - Handle special attributes for Witch : Skeleton sacrifice - Shortcuts to use first equipped weapons and sacrifice skeleton - Handle first special targeting: skeleton - Restrict HUD for players - Show max number and level of cards - Distinct deux type of deck: FQ Library and FQ Deck - FQ Library can't be populated by cards from other source - FQ Deck can be populated with Library's cards as long as the 'max number' is not exceeded - Cards moving from FQ Library to FQ Deck creat a new card instead - Restrict rights in deck for players - Macro to automate the creation of a FQ Deck and a FQ Library (deck replaced and generated up to level 5, single-classed) - Handle different behavior out of combat (currentDrop, draw and pick cards) Chore: - Migration v13 - Remove deprecated methods - Migration cards flags to FQ typed system object - Unit testing - Add test world Update 1.0.1: Feat: - Add npc sheetV2 with FQ Attributes Fix: - Class features for starter heroes - Cant modify fq attributes if Active Effects on this attributes Update 1.0.0: Chore: - Add Unit Tests - Clean Repo - Readme and Get Started Update 0.1.4: Feature: - Translation of all cards effect - Translation of all macros and npc spells - Creation of basic characters - Name of hand by default Fix: - Items Choices of FQ classes - GM also draw cards each turns in combat - Automatically draw cards only when turn change Update 0.1.3: Feature: - Translation of all cards/items/messages into English - Creation of basic characters Update 0.1.2: Feature: - Macros for generating and displaying deck and spellbook (if exist preparation for lvl 6+) - Choose location for summoning minions - GM can choose to use cards without sending them to piles - Deck/Hand/Pile are flaged 'fqType' Fix: - Support for 12.330 version - Fix problems with module CardViewer Update 0.1.1: Feature: - Automatic damage/heals with critical hits and dodges (option to disable and prevent conflicts?) - Manage range for spells - Creation of compendiums and migration of passive spells for NPCs - Dodging sound should not use the classic damage sound - Management of custom damage bonuses (corrections needed for familiars, cards, damage) Fix: - Custom evaluation of diagonal attack (Illusionist cards) - Effect of enchanted whip (Illusionist cards) - Bug with drawing a hand when a user has no character or is missing one? - Bug if no deck: Return a clean error - Bug if Card Viewer module is not present - Issue with the style of replayable cards Update 0.1.0: Feature: - Ability to modify the consumption of items - All items (spells, objects) can consume FQ resources - CI/CD pipeline for updating module automatically Update 0.0.2: Feature: - Integration of CardViewer - Migration of macros - X and Y field required on play dialog - Limite players cards right - Launch initiative automatically Fix: - Passive effects not flipping cards - apply DOT each turn - Remove effect after using - Minions combat's turn just after the master - Option of hand size for player (local storage) - Max value can't be exceeded Update 0.0.1: - Card System for Foundry v12