Feature: Chat Card Enhancements
Feature Request: Enhance chat card with more gameable information.
Potential Improvements. (Friendly Suggestions that would be very helpful) Show Target of Attack (Make this also a clickable feature to select the token targeted) Show AC of target (To GM only if possible preferred.) Add some kind of button to chat card to apply damage. (Possible system setting to apply this to targeted or selected token) Add some kind of button to allow healing to be applied to target of heal or selected target.
This is a great set of features. Exactly the set of things I was looking for when testing this out for the first time. In order to implement this though, we do need to make some decisions on how to implement this and document the assumptions here.
Assumptions
Assumption 1: Targeting is totally optional
The attacks system will work without targeting. It will just take more clicks.
Assumption 2: Certain spells need to receive similar treatment
Acid Arrow is basically an attack masquerading as a spell. People using Acid Arrow will expect the same targeting process and niceties.
Assumption 3: We won't correct "bad targets"
If a Player targets two creatures with their Dagger we treat it as one attack and one damage roll. We'll let the DM sort out the applications later.
Decisions
Decision 1: Show attack success to players or just to GM?
We can't really show the AC to only the GM at least not within the chat card. What we can do:
- Send a GM-only chat message that says "hey this was a hit, would you like to apply the damage / healing?". The GM gets to tell players verbally about their success.
- Display a "you hit / missed" message in the main chat box that everyone can see. Send a separate GM message to apply damage/healing/effects.
Bonus question: do we want do both and let GMs pick which workflow they want?
Decision 2: If no targets are selected, how do GMs apply the damage rolls?
In most systems, the GM simply selects the token and then hits some type of "Apply" button on the card.
Appearance
Some reference implementations
Version 1: 5e right-click on a roll.
Version 2: midi-qol damage box hover, in this case the buttons appear when you hover over the damage result, same options as above, but just iconography, not text
Version 3: midi-qol GM Message. The drop-down provides options for heal/half-damage/etc. There's a line for each thing targeted which is really useful with things like fireball.
So that's a lot of groundwork stuff above.
My personal thoughts, but I definitely want other opinions here.
- I think we need a "version 1" to start with. This will work for GMs with or without targeting. This is probably a feature worth rolling out.
- I think we could benefit from a form of "version 3" whenever targeting is on.
- I think we need a GM switch for "show results of roll". I know GMs that lean both ways on this. It's extra workflow, but it's important enough to justify complexity.
Again, these are just my votes. I'm open to hearing other versions of each of these.
Personal opinions; This should be a completely optional feature, theater of the mind considerations, being able to attack without targeting is a must!
Thinking of use cases. Given the potential for non direct/non standard applications of spell damage and such. I believe option (3) would be the best for a damage application GM only card, giving the options to apply damage differently to each target.
Workflow Target (optional) Attack Roll (rolls dice and generates attack card) Attack card (shows relevant information, dice + bonuses and damage)(possible confirmation of hit or miss?) *if possible a huge feature QOL, an option to "cleanse" the math of any GM rolls and only show the total of the roll to players. Damage application card (Version 3) is the best for damage application across a most broad use case.
For reference. OSE chat card is below just for an idea on potential formatting. It would be cool to somehow incorporate the SD black and white header style.
So the OSE implementation is interesting. It's injecting that blood icon right here. But then when you click the blood icon it's executing a series of logical checks that are similar to what I propose above, but DM configurable.
So they have a apply_damage_options switch in the Systems settings.
- originalTarget: the damage helper only works for the original target
- targeted: applies damage based on the active user's targets... not sure why this exists, are players applying damage?
- selected: applies damage to the selected tokens regardless of the target
This seems weird to me because the GM probably doesn't want players applying damage.
How I would implement an SD version of the OSE thing.
- Config switch for the blood at all
- If the card has a target, damage applies to the target(s)
- If the card has no target, damage applies to the currently selected token(s)
- If the user clicking the blood isn't a GM, nothing happens
Is that a reasonable first cut? I don't think it precludes more complicated version 3 implementation, but it gets us a lot of mileage for very small amount of work.
The apply damage target has changed a few times over the system life. I spent a lot of time in the OSE community as well so I have some first hand information.
The problem with (1) is sometimes players forget to target if they are not use to it. so that is how (3) came to be.
(2) was added with the idea that players could apply damage to their target to off load GM workload.
There was a time when you could click on the "vs. goblin" (target) and it would target the goblin in the chat card then you could hit the blood icon, that is gone but it was nice to easily reference what target the player was intended to strike.
I personally like the fact that it says Hit AC X or miss (personal preference) just to help speed up my GM workload and not be concerned with actual AC of the target but still know the AC of the target.
I think having a way to apply full damage and half damage are important. Also worth noting in the OSE chat card, that blood icon can not be used to heal, which can be awkward for players, who can see the blood icon on every chat card.
To comment on your first draft ideas, I think that is a perfect step in the correct direction. keep in mind that Bakbak and muttley like to keep automation in the base system as contained and limited as possible. This solution seems like a solid way to improve chat card and damage application without forcing automation.
I also particularly like in OSE that the damage does not show if the attack is a miss, it is a very clear way to see a miss and avoid confusion of any kind.
I also particularly like in OSE that the damage does not show if the attack is a miss
Looking at the code, some of this logic may already be present in the rendering code. But it's not getting passed down from the other code.
I'm going to start by working on this "Luck" issue #335 because that's going to give me chat card with context. Then I'll see if I'll work on rolling in the damage application.
I'm adding a comment here as I had missed the whole conversation.
Stuff that needs fixing to make this more streamlined:
- Weapon with Versatile option needs to ask for a dialog about 1H or 2H when rolling from inventory
- Weapon display (the options being enabled when an item is equipped on the Attributes tab) needs to provide the roller with the equivalent dialog result from point above
I hope I have time to both check this thread, AND work on the points in this message this weekend.
Ok, so I read the suggestions now, and these are my thoughts. (Short summary: I suggest we build in hooks to enable a QoL module to handle automation like this)
- This type of automation should, if implemented, be a config switch, defaulting to off.
- Calculating target success is a feature I seldom found working properly. My players always forget to target, and when I introduce new players, this is the first thing they drop from top of their mind. Especially when using the abstracted distances, this tends to be dropped early. With bigger battles I also forget to target, especially if running multiple monsters.
- Automation of attacks and hitting and applying damage creates multiple points of workflow failure, which is often dragging the speed down I've found. If we automate rolling damage only if hit for example:
- "Oh I forgot to target, so no damage was rolled"
- "Oh wait, I targeted the wrong creature and it should actually have been a hit, because this has higher AC".
Decision 1:
With point 2 above in mind, I am leaning on not putting this into the base system. It would be appropriate as a module, just like MidiQoL works for 5e. My suggestion here is to build in hooks that a module can be developed to utilize instead.
Decision 2:
I guess this becomes moot with leaning towards not automation. As the GM would need to modify the health value from the token or sheet manually.
Appearance
The solution with the context menu is great I find. It doesn't clutter the card too much.
I agree with both of these decisions. The one thing I think should be in core is the inclusion of the target in the attack, so that players who are used to the system can signal their intent.
Should be in the system
- Targeting + Attack/Spell/Ability includes target information in the card
- Targeting + Attack/Spell/Ability shows the target(s) in the card in some way
- Damage card tweak to enable "Apply to Target"
Should not be in the system, left to a QOL module
- Indications of successful attack
- Saving throw automation
- Automation Application of effects from spells
I think those are reasonable, and we can provide hooks in the correct places (+ documentation) so that any QOL module developer can easily utilize it!