gitlab tposney/midi-qol v14.6.3

2 hours ago

14.6.3 (unreleased)

  • Requires DAE 14.6.2.

Rolls and saves

  • Changed: fail and success are conditions on dnd5e's roll fields (system.abilities.dex.save.roll.fail, system.skills.ste.roll.success, system.rolls.attack.fail, …), combined as dnd5e combines min/max; min/max are dnd5e's. The flags.midi-qol.fail/success/min/max save, check, skill, tool, attack, death save and concentration keys are deprecated; DAE moves them to the fields.
  • Added: roll field fail/success have readable names in the roll dialog and DAE's field browser (e.g. Fail (Dexterity Saves)).
  • Changed: every d20 roll (attacks, saves, checks, skills, tools, concentration, death saves, initiative) takes dnd5e's verdict on advantage: midi's flags and its own sources (flanking, range, visibility) count alongside dnd5e's roll mode fields and advantage rules, so a downgrade or override on any of them applies to all (e.g. rolls.ability.save.mode Downgrade cancels advantage from abilities.dex.save.roll.mode). The roll tooltip names each dnd5e roll mode source, and a held Alt/Ctrl counts as dnd5e counts it.
  • Fixed: Alt/Ctrl were ignored on a skill or tool check when midi had already found disadvantage/advantage.
  • Fixed: a tool check rolled from a request card for another actor was rolled for the clicker's actor; tool checks also honour simulate and the request card's roll mode, as saves and skills do.
  • Changed (macros): a RollModifierTracker side counts its sources; advantage.setOverride forces a side as a dnd5e override does, so a suppression of it still applies; hasAdvantage/advantageMode are dnd5e's verdict, then the roll as made (reconcileWithRoll); processKeys is removed.
  • Changed: a dnd5e advantage rule that forces a mode (=1/=-1) no longer beats a suppression: with noAdvantage (midi's, or a dnd5e Downgrade) the roll is normal, as dnd5e rolls it.
  • Fixed: an attack or save whose d20 a minimum or maximum changed (e.g. system.rolls.attack.min 20) was judged critical/fumble by the face rolled, not the value it counts as, as dnd5e does. midi's auto-success/fail are still not critical/fumble unless the face is; an auto-failed save is never critical and an auto-succeeded one never a fumble.
  • Fixed: Shift+Alt+Ctrl rolled saves, checks, skills, tools, death saves and initiative with advantage (dnd5e reads Shift+Alt first); it forces a normal roll, as on attacks. With the roll dialog shown it defaults to Normal.
  • Fixed: an advantage reason for an unknown tool key (e.g. disadvantage.concentration) showed as tool:<key>.
  • Removed: setting Ability Check Advantage gives Skill Advantage; an ability's check advantage always applies to its skills, as in dnd5e.
  • Fixed: with Attack display set to Hit/Miss/Critical/Fumble, players saw midi-qol.criticalHit or midi-qol.fumble instead of the text for a critical or fumble.
  • Fixed: the Target Confirmation dialog didn't update a target's cover or range when the attacker or a target moved while it was open; a dialog that failed to render left the use waiting and its hooks registered (#1554).
  • Changed: with fast forward off, Alt or Ctrl on an attack skip the roll dialog with advantage or disadvantage, as dnd5e does (they opened the dialog).
  • Fixed: Roll Toggle did nothing on skill, ability, save and tool rolls with fast forward off; held, it now skips the dialog of a roll that isn't fast forwarded and shows it for one that is, keeping Alt/Ctrl's advantage or disadvantage. Bound to Shift it opens the dialog for fast forwarded rolls (#1553).
  • Fixed: tool and skill checks requested through Flash Token Bar were sent with the ability as the roll key, so players rolled a plain ability check (#1575).
  • Fixed: skill and tool checks applied the min/max/fail/success of the skill's default ability, not the one rolled, passed in or chosen in the roll dialog (#1572).
  • Fixed: Force vision when checking left a token's vision switched on until its next update, then tested stale vision (#1571). MidiQOL.canSee/canSense/canSenseModes take { forceVision }.
  • Fixed: crits and fumbles on a non-d20 attack or save die (e.g. Custom D&D 5e's 2d10) were judged on the first die only.
  • Deprecated: flags.midi-qol.concentrationSaveBonus; use system.attributes.concentration.roll.bonus. Setting it on an actor directly stops working in 14.6.10.
  • Fixed: flags.midi-qol.concentrationSaveBonus still mapped to the deprecated concentration.bonuses.save.
  • Fixed: with Concentration check set to item, the concentration advantage/disadvantage flags were ignored.
  • Fixed: Super Saver and Semi Super Saver changed all of a target's damage, not just damage a save halves.
  • Fixed: ammunition with its own activity (e.g. Arrow of Slaying) used the weapon's conditions and save instead of its own.
  • Fixed: Chat Message + Auto Roll concentration saves could roll twice.
  • Fixed: on multi-level scenes, sight, wall, template and teleport checks used the GM's viewed level, not the token's.

Damage

  • Fixed: Damage Absorption chosen on the actor sheet was not saved, and system.traits.da.value absorbed nothing; its types, ALL (not healing) and physical bypasses now absorb damage. system.traits.da.all maps to system.traits.da.value ALL.

Effects and expiry

  • Fixed: an effect with an ActivityOverTime change logged "activity not found" each turn for its other changes, and could take the roll mode from a change value that happened to be an activity UUID.
  • Fixed: reaction and bonus action markers could outlast turn start or combat end; the combat-end reset wrote the wrong flag.
  • Fixed: changing the same status on an actor twice at once showed an error.
  • Fixed: Custom D&D 5e's Conditions config dropped midi's flanking, reaction and bonus action statuses.
  • Fixed: an over-time action save with nothing to roll posted an empty card; README Hold Person example corrected (#1569).
  • Fixed: region Once per turn was shared by unlinked tokens of one actor (#1580).
  • Fixed: region Once per turn let entry and turn end both trigger in one turn (#1568).
  • Added: region setting Move Each Turn (away from the caster or a chosen direction, at turn start or end) (#1568).
  • Fixed: a cast that rolls a save and places a region made creatures already inside save twice.
  • Fixed: an Always Apply effect went to every target once any target passed the Active Effect Condition.
  • Changed: applied effects record their source as dnd5e 6 does (activity, concentration, card); see DAE 14.6.2.
  • Fixed: a replacement effect's ItemMacro was not found when its item was deleted; resolveDAEItemData removed.

Targeting

  • Fixed: with Walls block, a self-centred area (dnd5e 6's Radius, e.g. Sword Burst) missed creatures inside it whenever a wall lay between them and the scene's top-left corner; cover from such an area was worked out from there too.

Combat and API

  • Added: GM warning and TroubleShooter Auto Fixes for settings that conflict with other modules.
  • Fixed: TroubleShooter's Auto Fix buttons did nothing.
  • Fixed: other modules' activities could not be a Trigger Activity (#1570).
  • Fixed: Auto reroll initiative did not recover uses that recover on initiative.
  • Added: MidiQOL.getCoverBonus(attacker, target, activity?).
  • Added: MidiQOL.highlightTokens(tokens, { color? }).
  • Changed: Chris Premades integration needs CPR 2.0.0 or later (older versions are ignored); CAT is recognised.
  • Fixed: deprecation warnings for global Token and SettingsConfig.

Chat cards

  • Fixed: a save's natural 20/1 was marked critical/fumble even when it disagreed with the result.
  • Fixed: dark theme hit and save highlights were unreadable.
  • Fixed: damage tray rows with save or resistance icons were taller.
  • Added: the damage tray shows each target's multiplier when they differ.
  • Added: setting Show damage after each save: the damage each target takes after its save.
  • Fixed: Save summary style dnd5e laid out dnd5e's summaries wrongly.
  • Added: targets added to a card after its roll are listed and marked unchecked.
  • Fixed: later card updates undid targets added to the card.

Teleport activity

  • Added: dnd5e 6's Teleport activity runs a midi workflow.
  • Added: Who Teleports: controlled tokens, caster, caster and targets, or targets.
  • Added: the card lists who will teleport; its Teleport button moves them.
  • Added: tokens that will teleport are ringed while destinations are chosen.
  • Added: destination checks (free, not through walls, Destination Must Be Seen) and Blocked Destination (pick again, or fail and use the damage activity).
  • Added: on-use passes preTeleport/postTeleport, hooks midi-qol.preTeleport/midi-qol.postTeleport.
  • Changed: MidiQOL.moveToken with teleport: true uses blink, not displace.
  • Fixed: MidiQOL.completeActivityUse on a non-midi activity waited 90 seconds.

Settings

  • Fixed: Confirm targets if targeting allies and hostiles had no effect (saved under a misspelt key); existing settings carry over.
  • Fixed: Show Active Defence DC had no effect; the DC was always shown. Existing worlds keep showing it until the box is unticked.
  • Fixed: some Quick Settings presets wrote settings that don't exist.

Sample items

  • Changed: Moonbeam's cast is a utility activity; its region rules run the save.
  • Added: Cloudkill, built from region behaviours only (#1568).
  • Fixed: 11 sample items used an outdated DAE flag; Weird's and Prismatic Spray's over-time DC was 0.
  • Fixed: Slayer's Prey did not remove the previous mark.
  • Changed: Elemental Attunement reads lastArg.source.
  • Fixed: Arcane Ward used the deprecated ChatMessage.applyRollMode.
  • Fixed: Longsword of Wounding logged an error on every hit.
  • Fixed: 20 sample effects used DAE's old boolean stackable flag.

Don't miss a new midi-qol release

NewReleases is sending notifications on new releases.