kaelad02 / adv-reminder Goto Github PK
View Code? Open in Web Editor NEWFoundry VTT module to get advantage reminders for lots of d20 rolls
License: MIT License
Foundry VTT module to get advantage reminders for lots of d20 rolls
License: MIT License
Using /rollItem in the damage dialog I can create consumables that can add to the current roll, in a slightly roundabout way, using /rollItem to consume the charge of the item, and then the bonus damage in a regular deferred inline roll.
Could also be useful with #38 for example with Sanctuary, grant a reminder on attack rolls that has a [[/rollSave wis]] so the attacker who forgot to roll beforehand gets a prompt to do so
Hello,
I think we can easily add the following keys to the message feature:
It would allow us to handle such feat:
Pounce. If the tiger moves at least 20 feet straight toward a creature and then hits it with a claw attack on the same turn, that target must succeed on a DC 13 Strength saving throw or be knocked prone. If the target is prone, the tiger can make one bite attack against it as a bonus action.
The effect on the Pounce
would then be: flags.adv-reminder.message.attack.claw
➡️ Pounce. Don't you forget this feat while making a claw attack!
Hello,
The "Prone" condition grants advantage to a melee attack and disadvantage to a distance attack.
Do you think it's doable?
I was wondering if it could be possible for a macro to be written and linked into the attack or damage popouts that when pressed, does things and then if applicable abandons the current workflow, closing the popout and starts an entirely new one, or an advanced macro that asks for things from the user in dialogs and after the choices puts a custom situational bonus formula in based on the choices. Example Chaos Bolt and Divine Smite.
There are flags that can grant advantage when that token is targeted by an attack (e.g. the Blind condition). There aren't any flags that can grant messages when that token is targeted. Consider adding something like flags.adv-reminder.grants.message.attack.all
to add messages when targeted by an attack. Same would go for the damage rolls.
It would be great if Advantage Reminder could parse a Midi workflow's attackAdvAttribution object and display what it finds on the roll dialog. For example, some Chris's Premades features (such as the Armorer Artificer's thunder gauntlets) add advantage by directly setting workflow.advantage = true
, and then calling workflow.attackAdvAttribution.add('descriptive string')
(see lines 101 and 102 of this file: https://github.com/chrisk123999/chris-premades/blob/master/scripts/macros/classFeatures/artificer/armorer/armorModel.js). This string is displayed on Midi's chat card after the attack is resolved, and the roll dialog shows that the roll is being made with disadvantage, but Advantage Reminder currently doesn't display why.
I looked at the code very briefly and the biggest issue seems to be that Advantage Reminder would need the workflow object, and I didn't immediately know how to solve that problem. But I thought I'd open the issue here and see if it's a possible enhancement for the module!
https://gitlab.com/tposney/midi-qol/-/issues/662
Midi QOL 0.9.01 added support for some new flags detailed above. Consider adding support for them here.
Doesn't seem obvious how considering rollAttack's options doesn't take a random bonus like it does for advantage/disadvantage. Would probably have to generate parts
and add the bonus to that.
Suggestion: Support for SW5e
Very nearly the same as D&D5e since it's based on exactly the same system.
Midi's auto fail saves flag is failing to progress workflows while Advantage Reminder is enabled. You can replicate this with 10.0.23 midi, 10.0.13 dae, and any v10 build of Advantage reminder. Set a starter hero to have the autofail dex flag from midi and then attempt to sacred flame them.
Hello,
FVTT 9.242
adv-reminder 0.2
Thx for this module. This is awesome.
I, like you, play with a little automation but not as much as Midi Qol.
This module really comes in handy. I was surprised to find this module working like a charm with BetterRolls5e.
When I set a Fail
Midi Flag, only the saving throws are affected.
Actually, always the saving throws, never the skill throws or ability throws. (tested with & without BetterRolls5e)
EDIT: tested almost all Midi Qol Flags with BetterRolls5e. The only one not working is CriticalReminder
.
If quick rolls are enabled, either via midi-qol, ready set roll, or some other module, display in the roll card any message from flags.adv-reminder.message.***
that would apply.
This would help with some conditional effects like 'Advantage on saving throws against fiends`
Add support for a flag like flags.adv-reminder.message.damage.other
for showing messages if there's no attack.
Currently you can only do it with flags.adv-reminder.message.damage.all
, but it includes features/items with attacks.
Add support for a flag like flags.adv-reminder.message.init
for showing messages on the initiative roll.
DAE added support for armor with stealth disadvantage. The original implantation was for all heavy armor but looks like that's going to be fixed in version 0.8.82 (see issue link below). It does it by adding flags.midi-qol.disadvantage.skill.ste
to the actor data.
https://gitlab.com/tposney/dae/-/issues/263
For now this is just a reminder since this module reads the active effects directly rather than any applied versions to the actor data. If, however, that implementation changes we'll have to account for the fact that if DAE of a certain version is loaded, it will add the flag and we don't have to check ourselves.
Armor has a checkbox titled "Imposes Stealth Disadvantage." Instead of requiring an active effect to enforce it, the module should check if the actor has armor equipped with this option.
Is it possible to grab the advantage/disadvantage calculation output from MidiQOL, and only use this mod as basically a CSS enhancer for the advantage/disadvantage auto selection?
Hello,
FVTT 9.242
adv-reminder 0.2
When an active effect with Midi Qol Flags is suppressed
, this module still applies the Midi Qol Flags effects.
To create a suppressed effect, just create an active effect on an item that grants effects on equip.
Then give this item to a PC or NPC & make sure the item is not equipped
I'm not sure exactly when, but the dnd5e.preRollToolCheck
changed the arguments it passes. It means that checking for advantage doesn't work anymore. I didn't test messages yet, but it might affect those too.
The short and long rest commands also pop up a dialog that we could show messages on. There are other modules that enhance rests to automatically do other things (e.g. handle Arcane Recovery) but this could be another way to handle that. Show messages just above the buttons, like the roll dialogs, to remind people to do something on a short or long rest.
Hi!
Advantage Reminder readme ...
This is useful if you want to be reminded to roll with advantage on a Strength saving throw while Raging, for example, but you do not want to use Midi QOL. Midi QOL is great at automating combat with its workflow, however not every game group wants that level of automation. If all you want is a reminder but remain in control of the die rolls, then this module is for you.
Midi-QOL readme ...
If you don't fast-forward rolls [Advantage Reminder for dnd5e] does a good job of highlight the default advantage/disadvantage/critical status of a roll. Reminders also lets you highlight when a saving throw might meet advantage which midi can't process (e.g. advantage on poison saves). Thanks to @kaelad for highlighting a midi problem, as of 0.9.11 midi is compatible with Advantage Reminder for attack and damage rolls.
Hello, I have just started using this module as I always have Midi-QOL set to not fast forward rolls in case of specific changes needed. I use Convenient Effects to handle features/spells and also use custom dynamic active effects for custom created features or items. It is nice that the reminder is there, though the messages feature seems a bit clunky. For one, it would require me to update all of the my effects that are already there to have the message. Is it possible to add a setting to have source information before the reminder.
Currently this is what Guiding Bolt looks like when a creature is targeted:
Is it possible to get the effects name so that the message could automatically look like this:
I'm in version 9, and using the better rolls for 5e seems to work great for ability checks, but the saving throw advantage flag doesn't seem to work on saving throws, nor does adding on additional stuff for NPCs, player's saving throws still don't get advantage but their saving throws do display the +0[rage] label I added. Any ideas on how to fix this?
When using midi-qol, unable to roll damage, as it gives the following error.
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'shiftKey')
[Detected 4 packages: adv-reminder, lib-wrapper, more-hooks-5e, midi-qol]
at isFastForwarding (modules/adv-reminder/src/module.js:269)
at isFastForwardingDamage (modules/adv-reminder/src/module.js:286)
at Item5e.onRollDamage (modules/adv-reminder/src/module.js:244)
at Wrapper.🎁call_wrapper [as call_wrapper] (modules/lib-wrapper/lib-wrapper.js:1)
at Item5e.rollDamagePatch (modules/more-hooks-5e/scripts/item/damageRoll.js:8)
at Wrapper.🎁call_wrapper [as call_wrapper] (modules/lib-wrapper/lib-wrapper.js:1)
at Item5e.🎁CONFIG.Item.documentClass.prototype.rollDamage#0 (modules/lib-wrapper/lib-wrapper.js:1)
at Workflow._next (modules/midi-qol/src/module/workflow.js:472)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:245)
Reminder could be able to tell when wearing armor without proficiency that we have disadvantages.
As per rules:
"If you wear armor that you lack Proficiency with, you have disadvantage on any ability check, saving throw, or Attack roll that involves Strength or Dexterity, and you can’t cast Spells."
my function purposal:
function _armorIsNotProficient() {
if (this.abilityId === "str" || this.abilityId === "dex") {
const item = this.items.find(
(item) =>
item.type === "equipment" &&
item.system?.equipped &&
item.system?.proficient == false
);
debug("equiped item that imposes disadvantage on ability, savings and attacks using str and dex", item?.name);
return item?.name;
}
}
https://gitlab.com/tposney/midi-qol/-/issues/662
Midi QOL 0.9.01 added support for some new flags detailed above. Consider adding support for them here.
The success flag seems similar to the auto-fail flags, so I suppose we'd support them in a similar way.
Hello,
I noticed that the flag 'flags.midi-qol.advantage.concentration' is not supported by advantage reminder. Is it possible to add it?
Thanks
To reproduce: put a damage enricher like [[/damage formula=1d4 type=fire]]
in a journal or chat card and then click it. The TypeError "Cannot read properties of undefined (reading 'actor')" is thrown. Only occurs with Advantage Reminder enabled. Results obtained on Foundry version 11.315 (node.js+chrome), dnd5e 3.1.2, adv-reminder 3.4.1 and 4.0.0, no other modules enabled.
Does work for skill and ability rolls, but not seeing it on weapon or spell attack or damage rolls
--
Sorry, this was with Midi enabled, so it's probably just due to the incompatibility there, #16 is probably tracking the relevant info?
Right now I use effect macro to make macros that write a chat message on actors turn or every turn. I think this'd be a great feature addition to this module, maybe like an active effect key that we can put the message in the effect value for actors turn, every turn, and then a whispered version of both of them.
It would be nice to have to option to add a message in the pop up that tells the player where a source of advantage comes from.
I understand this module did this before, but in a more technical way:
Since midi now has castdata in effects, it might be worth reconsidering this feature? It possible could, for example, tell the player that they have advantage from standing to close to an enemy when shooting, or any othe reason midi added advdisadv.
Hello,
Some items & features grant advantage, but only on certain conditions.
For example: Keen Smell. The tiger has advantage on Wisdom (Perception) checks that rely on smell.
Maybe this module can implement some kind of reminder about that?
Since we can't automate this, possibly a simple chat message? Or a message before rolling?
Define a new flag, flags.adv-reminder.message.damage.critical
, that shows messages when a critical hit happens. Would be useful for some of the new feats like Crusher that can do something extra if a critical hit occurs.
Right now, the only way to detect that a critical hit occurred is either with flags for certain statuses or if using Midi and it detected the crit. The way things are ordered in Advantage Reminder is the flags are done after messages, making the first one harder. Nothing that can't be switched though. The tougher problem is that Advantage Reminder runs before Midi so it won't know that a nat 20 was rolled since Midi would set the critical flag for that. There's an upcoming system feature that adds a bunch of hooks that I might switch over to. That would make this possible, assuming Midi will call those hooks too when it overrides the rollDamage
function.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.