tposney / midi-qol

Other
5 stars 0 forks source link

[Feature Request] Separate damage formulas in chat #220

Open tposney opened 3 years ago

tposney commented 3 years ago

In GitLab by @Gathaeryx on Jan 25, 2021, 01:45

It would be nice if there was an option to have multiple damage formulas for multiple damage types displayed separately in the chat (similar to Minimal Rolling Enhancements). This is useful if auto-apply damage is turned off and players have resistance against certain damage types.

tposney commented 3 years ago

Not wishing to be unsympathetic (and I think I understand the need), but the point of midi-qol is to calculate the damage and resistances correctly (giving you a correct total damage) formula.

The chat damage buttons should include the resistances when applied to a token - if taken from the chat damage buttons or the damage buttons on the apply damage card. The goal is that midi-calculates the numbers correctly and then you apply them.

If midi-qol is getting the resistances wrong (which is certainly possible) I am happy to see what it is getting wrong.

Separating the damage types into different types makes the already big cards even bigger which I am not all that keen on.

If I've misunderstood the problem please come back to me.

tposney commented 3 years ago

In GitLab by @Gathaeryx on Jan 26, 2021, 03:51

Not unsympathetic at all, thank you for clarifying. The 'apply damage buttons' is the only function that I don't use, since my players like to keep some sense of agency over their health pool and their damage received. I do use the buttons for the GM monsters and it works fine, taking the resistances into account, and I do like the overall package of options that MidiQOL offers, which is why I'm not too keen on switching to a module like BetterRolls for this functionality. Hence, the request. Thank you for considering though.

tposney commented 3 years ago

Well you can have the best of both worlds (most of the time - pending incompatibilities arising). Use better rolls to do the rolls (you'll lose the flags.midi-qol.advantage/critical flags) and then midi can take over the rest of the automation actions. Last time I checked, about a month ago, that was all still working

I just had a quick test and it seems to work still. Suggested settings are to auto check hits, set auto apply damage to NO + damage card. That way you can see what midi thinks the results are, but you can use the better rolls damage buttons if something is not correct.

Had bit more of a play and the only thing does not seem to work and Ive just put in a request for that.

tposney commented 3 years ago

Did the option of using better rolls + midi-qol (with auto damage for the GM and player assigned damage via the chat damage buttons) work for your use case?

tposney commented 3 years ago

In GitLab by @dineshm on Feb 26, 2021, 10:41

A related but different reason for the request: some items have some bonus damages that only apply under certain conditions. As an example, the Giant Slayer class of magic weapons in 5e, which have a bonus +2d6 when hitting enemies of type giant.

Maybe I am missing something (entirely possible, I am new to QOL and kinda new to Foundry), but I don't see any way to enter this type of damage now. If you add it to the weapon properties, it rolls every time (and automates, if you turn on those settings). Conceivably you could use versatile damage to hack it in, but some flavors of these weapons actually have versatile damages for their base damage too, so you're going to lose something in there. The only way I can see to manage it is to have two different versions of the weapon, one with the bonus damage included and one without, and then manually use the correct version.

Possibly the Other formula? But I think that is only used for figuring out damage on saves. (I confess I am not positive about this, I can't really find any documentation for it other than a short reference in the qol readme.)

It is worth noting that, before I switched to midi-qol, I was using better rolls, which would output each damage line separately, so it was each to just click the chat damage button for base damage if the extra damage didn't apply. Though also worth noting that this isn't really a useful solution when you are automating the damage application, I guess.

tposney commented 3 years ago

Better rolls and midi mostly play nicely together. Better rolls handles rolling the attack and damage and midi takes over to apply damage, roll saves and so on. If you use better rolls all of the midi-qol flags don't work, but otherwise it works pretty well.

There is no core game mechanic for conditional damage rolling.

For the things like giant slayer damage I've just introduced a new feature, damage bonus macro, which is a macro to run when calculating damage which is designed for such conditional things. I use it for sneak attack, hunter's mark and so on.

I will have a look over the weekend at what a giant slayer macro would look like, it should not be too difficult.

tposney commented 3 years ago

In GitLab by @dineshm on Feb 26, 2021, 16:36

Indeed. I used them both together for a number of weeks. But then I tried to get DAE working, and a number of abilities only worked when clicking the "Default Roll Sheet" button if QOL was installed, which also meant you couldn't use the macro buttons (at least not easily) to invoke them. And none of the advantage/disadvantage or resistance/immunities would get processed "automatically" even when the DAE were set for them, I presume because of the qol flags not processing. So I finally just moved over to all QOL.

Excited to hear more about the conditional macros when they are ready! Hunter's Mark and Slayer's Prey and Sneak Attack are other pain points I'd be happy to get automated better somehow.

(As may be obvious, I am not using the damage application automation in my game, which is why having separate damage buckets for this conditional damage stuff in better rolls worked fine for me, while having it automatically combine in QOL does not.)

tposney commented 3 years ago

Resistance/immunities should work properly with better rolls, since the processing of those is done by midi-qol after the damage roll is complete. The damage buttons on the better rolls card won't reflect immunities, since they are created by better rolls, not midi-qol. The automatic damage chat card should reflect the correct post immunities(in aggregate). None of the flags.midi-qol.... will work with better rolls.

Conditional macros are in the most recent release, but there are no sample items included, yet.

As far as I can tell the implementations for sneak attack, hunter's mark and rage are "complete", with the exception of some of the rage expiration conditions. They will be included in a small sample items compendium in the next midi-qol release so people can see how they might use them in their world.

tposney commented 3 years ago

In GitLab by @dineshm on Feb 27, 2021, 01:54

Ahh that makes sense. I was using the better rolls damage buttons, not the midi-qol damage buttons. If I had switched, the resistance/immunities would have worked.

But the other issues would have remained, so I think switching fully to midi-qol still makes sense for me.

Thanks for all the info. Looking forward to seeing the sample macro scripts in the next release.

tposney commented 3 years ago

In GitLab by @dineshm on Mar 9, 2021, 12:16

So I am trying to look at these Sneak Attack, Hunter's Mark, and Rage damage bonus macros, but I am having a hard time finding the actual macro part. I can see that the items are in the MidiQOL Sample Items compendium. And I see that, say, the Sneak Attack item has an effect that calls ItemMacro.Sneak Attack, but I am completely striking out in finding where that macro code itself lives to be able to trace through it and adapt it to other uses. I'm sure it's something stupid I am overlooking, but I would appreciate any pointers.

tposney commented 3 years ago

In GitLab by @ajaydacosta on Apr 7, 2021, 06:04

Hi, just adding on to this: I'd love the option to split up the damage rolls for a couple of reasons:

  1. just to describe to the players where the damage is coming from
  2. Foundry is weird with rolls. The only way to add a "check" to a feature or item is with a damage roll with the formula "1d20 + @skills.arc.total" or something. BetterRolls DOES split it up (which is great), but the flags & DAE it just too sweet to pass up.

Its not a huge deal, 0.8.x is adding naming support for inline rolls to hack it together, but it'd just be a nice option for those of us that don't mind a bigger chat card.

tposney commented 3 years ago

There is a Moulder called item macros which lets you store a macro as part of the item, install it and you’ll be able edit the macro

tposney commented 3 years ago

You should be able to use better rolls and idi at the same time

tposney commented 3 years ago

In GitLab by @ajaydacosta on Apr 7, 2021, 12:34

Wow that works SO well! Thanks!!!