#MidiQOL

1 messages · Page 1 of 1 (latest)

sand agate
#

This is a dedicated thread for setting up and troubleshooting the MidiQOL module and its adjacent automations.

Please refer to Midi's documentation to start: https://gitlab.com/tposney/midi-qol/-/blob/v10/README.md

And here is a handy spreadsheet detailing Midi's flags (may not be entirely up-to-date at all times): https://docs.google.com/spreadsheets/d/1Vze_sJhhMwLZDj1IKI5w1pvfuynUO8wxE2j8AwNbnHE/edit?usp=sharing

You may also be interested in joining the Foundry Gearheads server for even more automation discussion: https://discord.gg/SrgyhXNCQj

scarlet kernel
#

Hey, I'm trying to automate dealing damage to NPCs (but not players) using Midi-Qol, but it's not working very well. If I have Auto apply damage to target set to "Yes(NPC) No(PC) + damage card", no damage is automatically applied to anyone and no damage card is displayed, but if I have it on "Yes + damage card", it automatically deals damage to PCs as well, which I don't want.

raven holly
#

Here's what I could find in the changelogs (added 0.9.15) New auto apply damage setting, auto apply to NPC but not to characters. If selected damage will be applied automatically for NPC targets but not "character" targets. Targets who do not have damage applied will be marked with "*" to the left of the target icon. The tick button will apply damage to those targets normally. The test for PC is that the actor is of type "character", so if you have NPCs of type character they will also be excluded from the damage application.

vast bane
marsh crescent
#

I had that issue at one point, then realized I did not have this checked.

vast bane
#

but also midi could just be throwing nonstop errors in your console and adandoning everything

#

I suspect a module is doing something cause its automating something

scarlet kernel
vast bane
#

But also to Maxpat's point, are your npc's strangely setup as PC sheets?

scarlet kernel
#

I don't think I have BR or MRE, running fouundry v9 build 269, 5e version 1.6.3 and the midi version I downloaded 2 hours ago from the module installer

vast bane
#

And finally, do you have any errors in your console during the act of performing an attack or spell workflow

#

go to manage modules, scan your modules for Minimal Roll Enhancements, Better Rolls for 5e

#

and also tell me the number to the right of Midi QOL

scarlet kernel
#

Nope, don't have any of those. And midi QOL 0.9.73

vast bane
#

ok can you show me an image of your werewolf's front page of npc sheet?

scarlet kernel
vast bane
#

ok in the main midi settings, not inside the workflow button, is roll automation turned on?

#

Is there a DM logged in when the player rolls their attacks?

scarlet kernel
#

Enable roll automation support is checked, and there is both a player and DM logged in

raven holly
#

Another thing to try maybe, attacks that do not include a PC in the targets? Not sure if having a mix could be throwing it off?

vast bane
#

oh they are all saves lol

#

you have saves set to manual

#

or none

spice kraken
#

Also, is this setup correctly?

vast bane
#

actually it looks like you have it set to LMRTFY

#

are you manually rolling those saves or doing whatever it is LMRTFY does, do you have LMRTFY installed?

scarlet kernel
#

Saves are automatically rolled, I have it installed

vast bane
#

are there errors in the console?

#

show me fireballs details tab, specifically the very bottom

#

where damage is shown

scarlet kernel
scarlet kernel
vast bane
#

show the log when its messing up not when its hitting all

scarlet kernel
scarlet kernel
#

Can you show a picture of your damage setting and I can try to repeat it?

spice kraken
vast bane
#

@scarlet kernel if your settings are right, like Maxpat linked, the guys not set to auto damage will have an asterisk to alert the DM to having to manually apply it, but moreover, this setting is meant to run in tandem with players having their own way of doing it: Screenshot coming when chrome decides to update so incognito works...

#

I also suspect you have that strange name glitch that I had to deal with a while back but since chrome is bing a fucktard pain in the ass atm I can't confirm

scarlet kernel
#

Exact same settings

spice kraken
#

Want me to export my midi settings and send it to you and you can try that?

vast bane
#

are you logged in as a DM

scarlet kernel
spice kraken
#

If so, export your current settings first before I send mine

vast bane
#

disable everything but what is minimum to run midi qol

scarlet kernel
vast bane
#

using find the culprit

#

no confirm module conflict before messing up settings

spice kraken
#

export yours

#

and import mine, I renamed it so you don't have to worry about losing your stuff

vast bane
#

This is what the DM and player sees with your settings normally

spice kraken
vast bane
#

don't make him nuke his settings man

scarlet kernel
#

Doing module conflicts first

vast bane
#

if its just a module conflict hes gonna have to redo that mountain of settings

raven holly
#

If they export their settings, they can just...import them back in Moto

scarlet kernel
#

Ivan didn't take automatic damage

#

With modules disabled

spice kraken
#

was midi and its dependencies disabled?

scarlet kernel
#

Okay, with modules disabled, it worked

spice kraken
#

Ahh, so conflict

vast bane
#

are you absolutely 1000% certain you do not have MRE or BR installed lol

#

what is MRE actually called guys I don't use it and always mess up its name

spice kraken
#

minimal roll enhancement(s)

scarlet kernel
vast bane
#

do you have any world scripts installed that hijack chat cards?

scarlet kernel
#

haven't installed any scripts I know of, only modules

vast bane
#

ok, do you have find the culprit?

scarlet kernel
#

Suppose I could start enabling until I find it

vast bane
#

find the culprit streamlines it a lil better if you had it, but sure do it that way

#

FTC is a must have with foundry, its universally loved and recommended

spice kraken
#

just lock the modules you want to stay on

scarlet kernel
#

just gimme a second

vast bane
#

make sure you start with the minimums for foundry locked on

#

you could possibly speed this up if you can spot any chatcard or chat overriding modules

scarlet kernel
#

So what do I do with FTC?

vast bane
#

in manage modules, theres a FTC button at the bottom

scarlet kernel
#

mhm

vast bane
#

in the initial window lock ON the midi qol and its dependencies

#

libwrapper for sure, I forget it if has another

scarlet kernel
#

Got it

#

And then?

spice kraken
vast bane
#

these don't guarentee incompatabilities, just that there are nuances to settings overlaps

#

I know for a fact GM paranoia breaks

scarlet kernel
#

I have warp gate, LMRTFY and token bar from that list

vast bane
#

they are ok

#

but lmrtfy and mtb is like having 2 forks to eat with

#

set that aside for later discussion lol

#

keep going through the iterations of FTC till you find the conflicting module

dark canopy
#

lol, why is warpgate on an incompatibility list?

#

it does nothing unless told 😆

vast bane
#

read the list title, (in)Compatabilities

dark canopy
#

so its incompatible but required?

vast bane
#

I think he was having fun with the title

#

its the contents of the chapter

#

if you click on each one, some are incompatabilties, others are nuanced required, or nuanced settings changes

spice kraken
#

It's more a warning that some of the midi items require it

dark canopy
#

hmm, fair enough i guess

vast bane
scarlet kernel
#

Yep

vast bane
#

fair warning, sometimes things just start working with the good ol manually exiting to menu and coming back in, had it happen plenty

#

so you may get through this and find its just flat working again suddenly, we don't judge, we just pay homage to the mighty god Midi

scarlet kernel
#

Weird, but at least it's solved now

#

Thanks a ton guys!

vast bane
#

also pro tip before you leave

#

do the exporting of your settings often

#

save it somewhere, cause often times things just get borked in your midi and theres no "revert to default" setting

#

however if you really wanted default, you could just make a new world and export/import, but this is more to realign your settings back to how you wanted them

scarlet kernel
#

I had 2 worlds set up with players playing, and then I suddenly had a BSOD that required me to reinstall windows, which in turn deleted my worlds

vast bane
#

oof always backup worlds on a seperate device if you can!

scarlet kernel
#

so I've spent 5+ hours and cancelled a session to redo everything /:

#

But again, thanks a bunch guys! Wouldn't have suspected module conflicts without your advice. You're the best.

ocean adder
#

Heya, nice place you got here.

#

Trying out Midi for the first time in a couple years. I have some questions. I want NPCs to auto roll saves if targeted, but if nothing is targeted I want the save button in the chat card. Am I overlooking a setting for that?

#

Also this option is not doing what I expect. I tested attacking with a mundane weapon against something with resistance. It all works fine but the player isn't notified in any way that the rolled damage didn't match the applied damage.

vast bane
#

is it for accidental not targetting?

ocean adder
#

is it possible?

vast bane
#

You need to turn off removal of buttons in chat

ocean adder
#

players are simply not going to target. One of the reasons I gave up on MinorQOL

vast bane
#

and turn off require a target

#

Well my first thought is then why do you have it installed?

spice kraken
vast bane
#

but regardless, if you disable require target, and turn off auto removal of buttons it should work

#

yeah you could turn on require target and then late targetting to remind them

ocean adder
ocean adder
vast bane
#

but your original problem is caused by either/or on requiring a target, and deleting the buttons

spice kraken
#

I personally don't like late targetting cause even if you target, it still asks to confirm after a roll

vast bane
#

Players tend to hate popups, late targetting is technically a pop up

ocean adder
#

yes I did remove the buttons because I find them ugly

vast bane
#

but your players are not my players, just warning is all

spice kraken
#

workflow at the top

ocean adder
#

I have that on never

vast bane
#

the late targetting might be gated behind the optional settings I forget

spice kraken
#

do in combat

#

try it out

vast bane
#

I think its your autoremoval of buttons

#

the combination of both settings causes the workflow to never start

ocean adder
#

yeah, I thought it was the damage card buttons I removed, but I see what you mean

#

wait maybe I'm confusing options here. I have "remove chat card buttons after roll" set to off

vast bane
#

what is your saves settings set to, is that aspect ok?

#

when a player casts a spell that requires a save it doesn't prompt for damage?

ocean adder
#

it does

#

works how it should if they have a target.

vast bane
#

yeah I see that now hmmm

ocean adder
#

so I mainly want auto targetting and auto saves with aoe stuff, and that's working great.

vast bane
#

its your save settings causing this

#

One of these settings made the button show for single target spells again

#

the top three I had checked and set to the bottom option, when I switched to this, the save button shows now

ocean adder
#

no that's not bringing it back

vast bane
#

did you hit save when you closed out the midi workflow window 😎 ?

ocean adder
#

turning it off works

vast bane
#

yeah I meant for you to mirror my example above

#

anything that tries to check for the targets stats

ocean adder
#

but now aoe saves don't auto save

#

I'd like to have that option on, but still get the button. It might not be possible

vast bane
#

why do you want to only automate one type of spell?

#

I suspect maybe you are mixing up a few things here, typically people don't want to automate for players, not types of spells

ocean adder
#

Because I'd rather not roll for a bunch of npcs in a template if I can get this to work how I'd like

#

haha

#

well I do

vast bane
#

just have it automate for npcs only?

ocean adder
#

I do not want my players to have to target, but I want to auto target with templates

vast bane
#

in the save section set player saves to none, and dm stuff to auto

#

(or MTB/LMRTFY)

#

🤷‍♂️ I'm hard pressed to get your niche situations to work out

ocean adder
#

yeah, I figured. That's why we decided to stop with minorQoL before. Seemed like maybe I could get it working how we'd like with the "new" updates midi brought

#

I will try the late targetting thing, though, and see how they like that

vast bane
#

You could set it to manual all and select all and use tah to make saves for all

#

if I remember right its a client setting oddly

ocean adder
#

I mean it wasn't too hard before. I use MTB to get all the saves

vast bane
#

they all have to toggle it on

#

or you have to use a module to turn it on for them

ocean adder
#

oh you're right that is odd

vast bane
#

also if you want it on for the DM, the inside DM one overrides the outside general one

#

in the DM workflow theres another one for DM's weirdly

ocean adder
#

I don't need it for me, at least

vast bane
#

If you are gonna go with targetting I suggest adding all the bells and whistles and rip the bandaid off, save calcs and such, and use MTB for saves for all

#

or not, you know your table

ocean adder
#

yeah, that's the question, pull the band aid slowly or rip it.
For now I'm just testing to see if I'll even enable the module at all

#

So what about that thing to notify the player if the damage applied didn't equal the damage rolled?

#

oh crap and I have a Heavy Armor Master

opaque current
#

I just use Combat Numbers and they see the big damage number.

#

For the record I recommend setting midi up with just the bits you think you'll like (preferably after testing a bunch of settings) and adding stuff later if you like

#

I didn't used to fast forward but have switched to it lately and its going ok

ocean adder
#

I mostly just wanted to automate aoe saves and damage to NPCs.

vast bane
#

you also need to view from both the DM and plyer to see the settings take effect

#

Heavy armor master is super easy to setup fyi

ocean adder
#

Yeah. I'll keep playing around with various workflow settings and get some feedback from the most resistant players and see.

ocean adder
vast bane
#

there is a midi flag for damage reduction

ocean adder
#

Ah, nice

vast bane
#

dont' confuse it with Damage resistance

ocean adder
#

right

vast bane
#

I think resistance is a dnd5e key, and damage reduction is midi key

#

thats how I believe I differentiated them

spice kraken
#

dr = damage resistance
DR = damage reduction

vast bane
#

This is my damage card setup:
Player hitting dm:

#

DM hitting Player:

#

also pro tip, you can mouse over the token icon in the damage card to see any DR/DV/DI

ocean adder
#

yeah, that is working perfectly

#

Thanks for all your help on this Moto. I'll fiddle around some more and see if I can't get the saves working in a way we'll like (of if I can just get my players to accept targeting. It's super easy now compared to when we were running minorQoL

ocean adder
#

Does midi's on use macro basically deprecate the Item Macro module?

dull forge
#

joins so she can point people here, but has thread perma-muted cat_lol

violet meadow
# ocean adder Does midi's on use macro basically deprecate the Item Macro module?

ItemMacro, when used alongside MidiQOL, is mainly used as a "storage" space for macros on the Items themselves. You can call ItemMacro from an onUse macro field and it will point to the ItemMacro embedded on the item.

Also you can call in some instances onUse macros for Midi, with ItemMacro.Item Name for example an Actor on Use macros when the Item is owned by the Actor,
or ItemMacro.Item Uuid when you need to reference another ItemMacro on an Item not on the actor calling it.
Does it make sense?

To use ItemMacro alongside MidiQOL you will need options 2 and 3 in ItemMacro module settings NOT checked.

violet meadow
#

@solar gyro go to Foundry's right sidebar, Game Settings, Configure Controls, locate MidiQOL entries and check which key is set for advantage

solar gyro
#

i see you set your back to shift...?

violet meadow
#

Personal preference 🤷

#

Are you Fast Forwarding rolls?

solar gyro
#

yes

violet meadow
#

this enable roll automation support?

coarse mesa
#

I see unsoluble has made a new home for you here @violet meadow

violet meadow
#

(I might not be thatlonely anymore)

solar gyro
#

might be ALT problem mixing with another module? I changed it to Shift and it seems to work. :/

coarse mesa
#

(90% sure it’s to keep @molten solar and @vast bane apart)

violet meadow
solar gyro
#

oh yeah, tons. all over

#

haha

violet meadow
#

try to snuff them out 🤷

solar gyro
#

is there a way to sort by button?? I don't see it, but ?

#

ooo duh, native Cntrl+F

solar gyro
naive zenith
#

Do you have Alt maybe bound to something else? Another application running in your system in the background. Push to talk for discord or anything similar?

solar gyro
#

Nothing that I can think of, but that's good thinking.

#

I think that I'm going to change it to Shift and then push my settings to the players. Frankly I didn't even know that they changed CORE to Alt until i started looking into this problem

naive zenith
#

How about, does it work if midi and its dependencies are the only modules enabled?

solar gyro
#

with default key configs, and no modules except midi and it's dependencies,

left Alt does not work, Right Alt does.

#

omg.... i think it's the browser i was using.

#

I was using two different browsers so when i kept refreshing it wouldn't log me in twice as same profile, and I think that the Opera Gaming browser must have had a Left Alt key-bind

sand agate
vast bane
# ocean adder Does midi's on use macro basically deprecate the Item Macro module?

They use it as storage purposes cause itemmacros allow you to store a macro on the item and not have to fuss with permissions for a macro and all that other craziness. I think its just an alternative, but you should keep itemmacro installed if you intend on using macros from SRD or sample items and want a way of editing them.

vast bane
ocean adder
#

So I'm gonna have to bow out of the Midi club for now. I think I can get it set really close to what I want. After next session I may dig in deeper.

vast bane
#

You could just turn off the automation and still utilize its other cool features, its got like 100 of them

coarse mesa
vast bane
#

You can tell when they are peeking in a thread cause they show up on the right side

#

And he's there 😉

ocean adder
spice venture
#

Question, for Midi QOL, how should I handle Warding Flare, for example? My Cleric gets hit, and it asks me if I wanna use Warding Flare as reaction, but if I confirm that I do want, it doesn't make the attacker roll another dice for disadvantage.
Instead it takes the same result, and asks me to use Warding Flare yet again.

violet meadow
#

It won't work like that. At least not currently (... 🤞)

spice venture
#

So how am I supposed to do it?

#

Just disable reactions and make another attack roll?

violet meadow
#

I am out right now, but not something that can be done without a macro

vast bane
#

does tposney know about this new channel yet? Also new dae/midi with awesome additions

spice kraken
digital schooner
#

Is it possible to set up a damage threshold on a monster with midi?

odd sable
#

How do I set up an attack to do extra damage, but only against targets who fail a save that's tied to the attack?

digital schooner
odd sable
digital schooner
violet meadow
#

Like heavy armor feat?

digital schooner
robust hedge
#

Hi. How do I get sneak attack damage to apply to a target? (normal attacks, e.g. from items already do this, it's just sneak attack that doesn't).

opaque current
#

Or are you applying full damage if over 10, but 0 damage if under?

digital schooner
opaque current
#

I see. Never seen that done in Foundry before.

acoustic jasper
#

Question - When I specify condition for an attack for example
["undead"].includes("@raceOrType")

  • how can I change it so it excludes character name - so he won't be affected by active effect of the spell.
    ?
vast bane
#

but beware there is a strange bug with midi and vehicles with ac calculations if the sheet is not setup right

violet meadow
vast bane
#

unless theres another place with info for activation conditions

#

I only have the readme section

violet meadow
vast bane
#

yeah but he needs to exclude the name of a token, while including a type

#

can you use .exclude?

acoustic jasper
#

I don't think so

violet meadow
acoustic jasper
#

caster

#

target all creatures in 10 yards, but exclude himself

vast bane
#

oh shit thats easy

violet meadow
#

If it is the caster, use Special in Range 3rd box of item details.

vast bane
#

set the bottom drop down to special

#

Are you trying to make turn undead?

#

theres a new automation compendium module in the packages that has turn undead in it

acoustic jasper
#

turn undead is easy - I specified enemies and undead only. I'm trying Necrotic Shroud - cause it's targets both allies and enemies

#

but not the caster

vast bane
#

Doesn't that one damage the caster?

#

I swear one of those aasimar things hits the player too

acoustic jasper
#

"other creatures within 10 feet of you that can see"

vast bane
#

you must have a non official source?

#

Creatures other than your allies within 10 feet of you that can see you must succeed on a Charisma saving throw (DC 8 + your proficiency bonus + your Charisma modifier) or become frightened of you until the end of your next turn.

acoustic jasper
#

oh they change it

#

in MGM

#

from Volo

#

nevermind then

vast bane
#

meh, it is weirdly worded I'd rule ok for not caster

#

but just set that drop down to special like bugbear said

acoustic jasper
#

if I use special then what?

violet meadow
#

But still if you want to exclude caster from something, use in Range: empty|empty|Special

acoustic jasper
#

so how can I set range?

vast bane
#

special just tells midi not to target self

#

up top

#

just above it

#

Replace creature with enemy

elder path
#

Good afternoon ! I got a question, Is there a way to automate this ? If no i'll just ask the player to remember it.

acoustic jasper
#

ok thank youj 😄

vast bane
#

make sure your dispositions are accurate

acoustic jasper
#

that can be useful in the future

violet meadow
vast bane
#

cause I don't know if midi detects yellow as enemy

violet meadow
#

Wrong reply.. you fast

vast bane
#

in an aoe like necrotic shroud and turn undead you need it or it targets the whole canvas

#

for single target attacks I agree, leaving it blank makes it easier though tposney just fixed op attacks so they temporarily ignore range

coarse mesa
violet meadow
vast bane
#

its important to understand fast forward =/= auto roll

elder path
#

Mhm. Thanks for the answers, I will think about it my game is soon so I cannot get familiar yet

violet meadow
#

What is the sneak attack item? A feature that you need to roll? An AE?

Have you tried MidiQOL's sample items compendium Sneak Attack feature?

vast bane
#

they may have a bad import or worse MRE installed

#

worse as in don't cross the streams, MRE is a good module otherwise

vast bane
vast bane
#

@whole cloud THere is a midi flag for damage reduction and damage resistance and they are commonly mixed up

#

You can type in .dr with dae installed and sus out which one you want

whole cloud
#

Oh yeah I was reading that rn, ty vm! I was searching for the flag so that helped a ton xd

vast bane
#

I believe you want the DR ones that are midi keys

whole cloud
#

Yeah yeah, DR ones!

vast bane
#

if its Heavy Armor Master its mwak/rwak, and I think nonmagical only?

whole cloud
#

Oh no, I'm going to use it for some homebrew stuff :)

vast bane
#

k

whole cloud
#

I'll mess around with it for now, ty again!

vast bane
#

I actually think its impossible to do heavy armor master right automated, we all just ignore the magical part of the feat

marsh crescent
#

You really do not have to automate it if you have your players manage their own HP pools. I do that in my campaign, it is one less thing that I have to worry about.

vast bane
#

Yeah my idea for manual was to just make a 3 hp heal for Heavy Armor Master that you just tap to pump back in the hp from retconned attacks one forgets about, but its really easy in midi to do it so why not is the ultimate answer.

marsh crescent
#

None of my players went that route so I never really gave it too much thought, but I really like that idea. I have to add it to my automation notes. +D

violet meadow
vast bane
#

How do you do Evasion in midi? is there a key for it?

opaque current
#

Yeah. Super saver.

spice kraken
#

supersaver

vast bane
#

k supersave dex got it thanks, I was relying upon dae auto complete and couldn't find evasion lol

orchid hound
#

.

#

just joining the thread

vast bane
#

Welcome aboard!

#

Surprised Tposney hasn't shown up yet hehe

orchid hound
#

sure he peaks in every now and then

opaque current
orchid hound
#

¯_(ツ)_/¯

sharp glade
#

Hi all. Is there a way to setup a spell to remove a template at the end of the casters next turn with just using midiqol and not writing a macro? I know setting instantaneous removes it at the beginning of the next combat round, and setting a timer of 1 round will remove it at the beginning of the next full combat round. but i was hoping to get something more specific like the DAE special expiration of the end of the casters next turn.

vast bane
sharp glade
#

right, but duration gets a little iffy when dealing with specific turns. ie, 6 seconds could mean any time in the next combat round technically, but im looking to make it disappear at the end of the caster's next turn. is there a way to specify that in the spell?

vast bane
coarse mesa
vast bane
#

its in the v9 version also Lukas

sharp glade
#

"Hailstones turn the storm's area of effect into difficult terrain until the end of your next turn."

vast bane
#

Its in .75

sharp glade
#

is the duration as of the spell's description

vast bane
#

template will end when it does

sharp glade
#

how do i specify that in the spell item?

vast bane
#

it should have an active effect yes?

sharp glade
#

not on the spell itself, no

vast bane
#

otherwise what its its duration doing

#

are you usin gdfreds?

sharp glade
#

yeah, i have that module

vast bane
#

oooh, I wonder if tposney has accounted for dfreds with this feature

sharp glade
#

the convenient effect one?

vast bane
#

what is the spell, lets get the full context shall we?

sharp glade
#

Ice Storm. i can upload an export of it if you like. not sure if thats allowed

vast bane
#

thats all I need I can look at the spell in my book now

sharp glade
#

ok

vast bane
#

Hmmmm

#

I think you will want to automate the spell if you want the automated template removal

#

but I'm 30 minutes out from my live session so I can't help you with that. You can set the details duration to 12 seconds, but you need to put an AE in for either 2 rounds/12 seconds or the special duration I suggested.

#

If you are tracking time in your session I think the details duration should do it, but I think you have to set an ae, even if its got no keys in it, so that midi/dae tracks something

sharp glade
#

ok, my plan was to use an item macro to get the template uuid and then have it make a dae effect with a special expiration of caster's next turn. does that seem feasible way to handle it?

vast bane
#

and change its instantaneous entry as 12 seconds or else midi will instapoof it

#

Well if you want it to be a persistant effect I'd go active auras route, but I don't have the time to elaborate on it....unless AA has it premade in its compendium

sharp glade
#

im not worried too much about the effect itself so much as the template. not going wholesale on the automation, just the cleanup aspect of it

vast bane
#

I'd just put a blank AE on the spell that applies to targets in a targeted aoe of the size of the spell, and have the AE have the special duration set to source tokens end of next turn

#

You know where the special durations is in the dae window right?

sharp glade
#

yep

#

i just dont know the programatic way to set an effect with that duration. but i can dig that out from trial and error unless you have it handy

vast bane
#

press the plus button for special duration

sharp glade
#

right right, i know how to do it in the ui, i just meant i didnt know how to make an active effect with that special expiration if im setting up the json data for a createembeddeddocuments call to add an active effect

vast bane
#

But why do you need to do that? Just pop an AE onto the spelll and call it a day? Could probably even do an overtime for the damage.

sharp glade
#

i may be thinking about it wrong, but my thought is because i dont have the template uuid for the effect, and i wouldnt have it til i was executing the ItemMacro

#

my plan was to make the effect use attribute key "flags.dae.deleteUuid" and pass it the template uuid in the ItemMacro and apply it to the caster

#

or maybe i can just update the value of the of the effect in the item macro?

#

also possible im just thinking about it totally wrong

coarse mesa
#

What moto is asking is why you need an itemMacro. Just make an active effect on the spell with the correct duration. Midi should take care of the template. I’ll test it myself a bit later (am not on the latest midi yet)

sharp glade
#

May be thinking about it wrong, but im under the impression i need the templateuuid for the effect, which i dont know how to get other than through ItemMacro

sudden crane
sharp glade
#

right, im just not sure how to set a specific duration of "end of casters next turn" other than through the dae interface(of which my spell doesnt have a dae effect even though midi adds one after the fact). So i dont know how to set that specific expiration.

violet meadow
# digital schooner yeah thats what threshold does, if its 10 any damage under 10 has no effect, but...

Damage Threshold implementation for creatures using MidiQOL/DAE (/ItemMacro optional).

Import this item (save it on your local drive, create a Feature Item in the right sidebar Items Directory of Foundry, right click it and import the .json).

Put it on the character sheet. Change the value in the Other Formula of the feature to what you need. I have used 10.

Tested with auto rolling damage and application NO+damage card.

To trigger the ability just apply the damage and it will pop another damage card to change it back. Go through the ItemMacro and change the 4 last lines commenting out the ones that are not and vice versa to change the way the ability gets displayed. You could create a chatMessage too, but I haven't included one.

#

It is a blanket rule that checks damageApplied after resistances etc against the number you provide and decides if it goes through or not

coarse mesa
coarse mesa
#

tposney, for context – we're trying to auto-delete a non-concentration template that expires at the end of the caster's next turn

#

(a la Ice Storm)

gilded yacht
coarse mesa
spice kraken
coarse mesa
#

Ice Storm doesn't use concentration

spice kraken
#

ahhh

#

So you're trying to get the template to go away after the duration expires?

violet meadow
#

as soon as the Special Duration expires

spice kraken
#

isn't that what the module SAM (spell assistant manager or whatever) does?

coarse mesa
#

yup that one, I'm sure it can be done with a macro or clever AE but we're wondering about the new midi function

coarse mesa
#

I'm curious because I may not need a big module like SIFT anymore for one feature – and @sharp glade isn't using SIFT

sharp glade
#

dont even know what sift is

coarse mesa
#

Spells, Items, and Features Toolkit

gilded yacht
coarse mesa
#

(aside from creating a new UI element)

#

^ I guess a lil 'delete template' checkbox near special duration might not hurt

gilded yacht
#

It's tricky in fact. There can be more than one target which has the target effect applied, so you can't choose to delete the template when the target effect is removed (a bit like concentration). Copying the special durations won't by itself be enough, since many (like isDamaged) need to be tested in the context of the target actor, which won't work/get triggered for an active effect on the caster.

sharp glade
#

my attempt was just making an item macro that would put the effect on the actor that would delete when the szpecial duration expired. still working on that though

gilded yacht
#

The base cause of the problem is that the item duration is too simple and does not allow you to capture things like until the end of you next turn. I think there is a subset of special duration flags that can easily be captured and added to the remove template effect that would make sense.

coarse mesa
gilded yacht
#

I don't think I understand what "if it created it up front" means.

coarse mesa
sick fiber
#

how do I use the flags.midi-qol.* flags?

spice kraken
#

Which one do you want to use

coarse mesa
sick fiber
#

i want to give advantage to concentration checks

spice kraken
#

flags.midi-qol.advantage.concentration | custom | 1

gilded yacht
#

or actor.setFlag("midi-qol", "advantage.concentration", true)

#

if writing a macro

spice kraken
#

Any mod, can you pin the link to the midi readme for ease of access for anyone to use?

#

Midi-QOL has a bunch of useful information on its readme. Information from here helps identify detailed information regarding midi-qol specific flags, how to use them, create overtime effects, and much more
https://gitlab.com/tposney/midi-qol

This link here allows for the ease of access to midi specific flags. This information may not always be up to date so bear that in mind against the readme:
https://docs.google.com/spreadsheets/d/1Vze_sJhhMwLZDj1IKI5w1pvfuynUO8wxE2j8AwNbnHE/edit?usp=sharing

sick fiber
#

ok. so true or 1 or any other string that is not null or 0 is all the same there? they are binary flags?

spice kraken
#

1 for active effects

sick fiber
#

ok

gilded yacht
#

Any value that will evaluate to true will be treated as true. The trick is that the string "false" evaluates to true (as does the string "true" or "dead fish"). If you apply via an active effect and set the mode to custom then midi will detect the string "false" and covert that to false.

austere turret
#

a pin makes sense, tho

#

@coarse mesa mind editing that to have a description and I'll pin it

spice kraken
#

True, most people are going to scroll to the top of a thread

#

Thanks for the pin

spice kraken
austere turret
#

that works too

violet meadow
#

Pin the 1st message 😄

austere turret
#

i'm not scrolling up :)

orchid hound
#

and the longer the thread goes one the more annoying that would be

spice kraken
#

Edited my message with the doc link

sand agate
#

Everyone take a deep breath and lemme throw the links in the top post and then pin it.

coarse mesa
austere turret
#

I'll let jesus Unsol take the wheel

orchid hound
#

same thing

#

neither one is afraid to flip tables and bust out a bull whip

spice kraken
#

(╯°□°)╯︵ ┻━┻

sand agate
#

Hit me with anything else that comes up that should be up in that grill

sick fiber
#

the hunter's mark that comes in the midi-qol sample items. is that funtional? i see it applying the buffs, but no extra damage is ever rolled

violet meadow
sick fiber
sick fiber
#

I want to use this template to get Hex spell and Hexblade curse setup. But it doesnt seem to work. It wont even transfer the effects to the targeted tokens the moment I change names on anything

sick fiber
#

figured it out

gilded yacht
# coarse mesa It would show up as soon as you specify a cone, sphere etc in the spell details ...

From a quick look the auto adding of the effect is tricky. The compromise solution is that you can (if you need a special duration) create an effect on the item name "<item.nam> Template" with any special duration/effects you want with the self apply flag set. Midi will use that as the prototype for the effect, add the flags....delete and create/update the effect on the actor using the item.

So most of the time you do not need to do anything, but if you have special needs just go ahead and create the template effect and midi will use that.
Is a v10 enhancement (I'm trying to limit the number of changes getting pushed out for v9)

coarse mesa
#

I actually did try just that to see if I could trick midi, so it seems like a logical way to achieve it

sharp glade
sharp glade
#

Here's how i have it set up, and its still not working

#

i cant add the "flags.dae.deleteUuid" key because i have no way of knowing the uuid at that point

coarse mesa
sharp glade
#

Ah. I misread then. Sorry

coarse mesa
#

I think 🤔

gilded yacht
vast bane
#

This Turn Undead Macro is causing this error when a player tries to use it

#

It works just fine when I fire it

#

To be clear these are two different turn undeads that both fail to destroy undead

#

The second ones errors do not show up in the console, they show up as red popouts in the canvas.

sharp glade
vast bane
#

@tranquil cloak

You would need to create an active effect that adds bonus damage for a special duration of just the next attack with DAE installed.

#

How you deliver that is either by activating the item with the effect on it, or on the same item as the attack but setup as a macro that fires on use with Midi before the roll.

tranquil cloak
#

right, but which flag do I use to designate the extra damage on next attack? flags.midi-qol.optional.Name.damage.all/mwak/rwak/msak/rsak this is the closest I can find, butt I don't need the dialogue that comes with it.

vast bane
#

its a basic dnd5e flag

#

its just bonus damage

tranquil cloak
#

Ah alright, so this one data.bonuses.All-Damage

#

and that accepts dice?

vast bane
#

that one doesn't show up in their db, so I think thats one of those bugged or broken ones that dae is just letting us see, but you could try that, what is the use case?

#

is it going to modify an attack roll's damage?

tranquil cloak
#

yeah, its basically gonna add a d8 of damage to the next melee weapon attack

vast bane
#

then just do the mwak.damage key

#

data.bonuses.mwak.damage

#

You want to do Add for the middle part, and then in the field make sure you put a +something Needs a plus

tranquil cloak
#

apply to self right?

vast bane
#

what is it on?

tranquil cloak
#

a feature

vast bane
#

what is the AE on, is it on a feature or a weapon?

#

don't check any of those boxes

#

instead set the details of the feature to 2 selfs

#

both drop downs for target/range set to self

#

then the item should roll and apply the AE to the source actor if your midi is setup right

#

Personally, if you don't fast forward your attacks, I'd have used Advantage reminder cause players and dm's always forget after the fact anyway on stuff like that, and advantage reminder would have put it on the damage popout as a button to press:

tranquil cloak
#

After some testing the effect seems to be also overriding the attack bonuses as well oddly? Like when I apply the affect the weapon gets no bonus from strength or proficiency

#

the weapon works normally without the effect being added.

vast bane
#

can you show me the items details page, the top and bottom half if its long

tranquil cloak
vast bane
#

wrong item

#

I want the weapon

tranquil cloak
vast bane
#

show me the affect on brute strength, the key you put in

#

I suspect you put it to override or custom didn't you?

tranquil cloak
vast bane
#

are there 2 effects on the character called Brute Strength or a phantom effect on said character similar to it? can you show me the characters effect tab? You edited an owned item right?

tranquil cloak
#

yup

vast bane
#

remove the phantom effects, there is a longstanding weirdness around DAE's feature that lets you edit owned items effects that causes phantom effects

#

Then try rolling the brute force and seeing if the weapon is ok now

tranquil cloak
#

OH, no phantom effect, I was saying yup to edditing an owned item

vast bane
#

show me the effect tab of the characters sheet

tranquil cloak
vast bane
#

ok standby I'm in my own session now I'lll doublecheck you hve right key

tranquil cloak
#

it is applying the extra damage correctly, it's just also messing up the attack roll

vast bane
#

yeah mines doing everything fine what do you mean by messing up the attack roll?

tranquil cloak
#

The character has a +3 to strenght and is proficient in the weapon

vast bane
#

Do you have argon combat hud or combat booster?

#

modules

tranquil cloak
#

neither are being applied to the attack, I do have combat booster

vast bane
#

are you using combat booster to attack?

tranquil cloak
#

I wans't aware combat booster could be used to attack with

#

OH you mean the icons

vast bane
#

yes

tranquil cloak
#

no, I'm not sing that

#

straight from the character sheet

vast bane
#

k, well if you try to attack 4 times with the weapon how many of them don't have the modifiers?

tranquil cloak
#

they all have the modifiers

#

unless I have brute strength active

#

maybe its the special duration

gilded yacht
vast bane
#

oh shit you are right, that key is removing the attribute modifier

tranquil cloak
#

nope, the special duration isn't effecting it

vast bane
#

I am going to find the culprit to confirm its a midi or dnd5e problem

#

jesus I can't even test it cause I don't know how to use AE's without midi lol

tranquil cloak
#

lol, its definitely hard to trouble shoot

violet meadow
#

@vast bane can you post the macro and not the item's JSON? Of the turn undead.

vast bane
#

its huge

#

it pasted into 2 text files

#

I think the reason the first one that I was using forever fails is cause the destroy undead tries to modify the current hps, instead of do damage and a player can't do that, if we made it so that intead of modifying damage hp, it just did pure damage in a workflow the first macro would work for players

#

if you want me to send the other macro you need to tell me how cause it splits it into multiple text files when I paste it lol

#

but it is given to us through a new midi compendium module by another author, not kandashi's

violet meadow
#

Yeah I have seen that, it was republished after some nonSRD stuff was removed.
Save the macro as a .js file and upload it as a file here

vast bane
#

k, fyi, the problem Orionox has, is a midi bug

tranquil cloak
vast bane
#

I just did find the culprit, when we both set the ae to do bonus damage it removes the attribute mod from the weapons to hit

tranquil cloak
#

but only the first attack

vast bane
#

Yeah I'm gonna try rolling back midi's, I suspect its the newest version doing this

tranquil cloak
#

if you set either effect to stay past a single attack subsequent attacks has proper modifiers

vast bane
#

when I find the culprit no midi or dae is active and it starts working, so maybe its dae not midi I'll come back to this in a few, I wanna get bugbear his macro first

violet meadow
#

So when you add an AE with DAE active, to add a damage.mwak to the damage of an attack, the attack is rolled without the proper attack modifier?
And only with a "duration" of 1 attack?

Is it happening when the damage bonus is a dice roll only, or also for static numbers?

vast bane
#

I will test that now, but it is very definitely happening when the special duration is set

#

I set it as a passive always on and its fine

#

flat +5 also does it

tranquil cloak
#

when I set it as a passive as always on the first roll witth a fresh effect still scrubs the atttack mods

#

like if I delete the effect and apply it fresh, the first roll has the attack mods removed

#

even withot a special duration

vast bane
#

Its not midi or dae

#

its Argon/combatbooster

#

I knew this was too similar to them to not be them

#

you and I have those modules, and if you turn them off this bug goes away

tranquil cloak
#

I wonder if it happens ANY time an effect is added

vast bane
#

my feature and weapon attack just fine when argon/combat booster are off, and I'm not even using them to attack I'm using the sheet

#

Ripper doesn't update his v9 branches anymore so I think we are SOL

tranquil cloak
#

yeah, I'll still report it sinc eit might be present in v10 versions

vast bane
#

It may be DAE I dunno which author's gonna need to take a look

tranquil cloak
#

I think any effect that affects damage is doing it though cause I had issues with the other midi-qol flag aswell

vast bane
#

normally I would just cancel the attack and reattack before with this glitch, but if your dae is set to the next attack this breaks

violet meadow
# vast bane
let actorClass = pcActor.classes.cleric.data.data.levels;``` change to 
```js
let actorClass = pcActor.getRollData().classes.cleric.levels;

The damage part is handled by a warpgate mutation to zero hp. Does this not work for unonwed tokens? Is there a relevant warpgate option?

vast bane
#

cause combat booster is kinda awesome and I don't wanna bench it

vast bane
#

they both work perfectly for turning undead, but if they destroy undead they fail

#

can we not just do something like If destroy = true, do 999 of every damage type to token?

#

then midi will do it

#

Sure it will look scary and ugly but, it does the job yeah?

violet meadow
#

I will take another look when I am on my pc

vast bane
#

Thanks, would you happen to know which author we should post the issue to for this weird damage bonus bug? it only happens if combat booster and dae are installed together.

violet meadow
tranquil cloak
#

a midi flag also triggers the error

#

I haven't done extensive testing, but the only two AE's that I KNOW cause the problem are flags.midi-qol.optional.Name.damage.all/mwak/rwak/msak/rsak and data.bonuses.mwak.damage

vast bane
#

I just triggered it with an advantage reminder message too, I really think this is combat booster

#

no duration, damage message

violet meadow
#

I would imagine Combat Booster's issue then 🤷

#

Not using it so I have never seen that!

vast bane
#

it can be circumvented for everything except 1 use ae's like after 1 attack, cause its a bug that only shows in the first attack after you apply an ae via dae/midi

#

yeah I think the common thread is dae and combat booste rcause I just turned off dae/midi and tried to activate and then roll with the advantage reminder key in, and it worked fine.

#

its just that very initial roll right after activating an effect via midi's/dae's application of effects.

vast bane
mortal mulch
#

anyone know how to entirely automate combat with midiqol so like dmg gets applied automatically n stuff

vast bane
mortal mulch
vast bane
#

do you have better rolls for 5e, or Minimal Rolls Enhancement installed?

mortal mulch
vast bane
#

what is your foundry version, dnd5e system version, midi qol version?

mortal mulch
vast bane
#

ok go to midi settings, click the workflow button and go to workflow tab, scroll down to damage section and snippet tool me what you have there as an image here

molten solar
vast bane
#

👆 That too, I forgot, I got so ahead of myself I forgot to mention BR is broken and defunct, no author

mortal mulch
vast bane
#

once you leave the last competent version it worked in, anything later it just breaks horribly

#

and since you are literally here trying to automate damage, that means you want midi vs MRE

#

so once you have BR uninstalled, does midi start to automate damage? If not, can you snippet your midi workflow damage section like so to me?

mortal mulch
#

yea it works once i disable br

vast bane
#

spectacular

mortal mulch
#

ty

vast bane
#

yw! unfortunately there is nothing really we can do if you preferred the dual rolling if you insist on automation with midi, MRE has an alternative method when combined with another module that makes things sorta look like BR did, but MRE doesn't automate at all and MRE+midi is the same situation as BR+midi, never cross the streams.

#


So if anyone comes here looking for a fix for the mods on some attacks just poofing suddenly for an attack or two, the bug is caused by Combatbooster and reinstalling it should fix it, even if the versions are identical. Ripper did a bandaid to the module when we identified the issue. You shouldn't have to edit the file unless you prefer to but his message link is here:
#modules message

But he went and edited the manifest for the last v9 branch directly and applied the fix, so folks just have to reinstall Combat Booster to fix things.

sharp glade
violet meadow
robust hedge
violet meadow
robust hedge
#

I don't know what that is nor where to find it.

violet meadow
#

Check in Compendium Packs for

robust hedge
#

Ok so I found two in there. It's a bonanza! 😄 but which one to use?

#

Auto Sneak Attack or just Sneak Attack?

#

What's the diffs?

#

nvm figured it out. Tx!

scarlet chasm
#

Sorry to interrupt but i was wondering from the changelog for 09.74, Added expiry reason for isHit/isDamaged etc. What does this do exactly?

spice kraken
#

If you have an active effect on you with those expiry reasons, and you are either hit or take damage, the active effect expires (think guiding bolt)

whole cloud
#

I'm having trouble making this work, I've tried some different numbers but it still doesn't really work? Do I need to enable something else? Maybe I'm missing something here

violet meadow
whole cloud
#

I might yeah, do I need to disable it?

violet meadow
#

No I haven't used it and I am just wondering what might trigger it.

whole cloud
#

Oh, fair enough

violet meadow
#

Auto rolling damage after the attack?

whole cloud
#

Also have it yeah, and also auto application of damage

#

I tried disabling both but it didn't really change anything, maybe it's a conflict with some other module?

violet meadow
whole cloud
#

Oh yup it definitely works now

#

It's a module thing most likely

#

I'll try to find the culprit now, ty for the assistance!

#

I think better rolls might be the culprit

#

Yup it absolutely is

scarlet chasm
violet meadow
#

To be safe use one or the other

whole cloud
#

Oh, that's not very nice x.x

#

Are there any alternatives for better rolls that also works with midi?

violet meadow
#

And keep in mind that BR is not being actively developed right now so it might break soon without some one taking over

violet meadow
#

Don't mix and match rolling modules is the general suggestion

whole cloud
#

I honestly just use it for the UI aspect of it tbh

#

Not the roll again, advantage and stuff, it just look tidier I guess

scarlet chasm
#

Yeah i had to learn the hard way with BR and Midi. In all honesty.

#

Its better to just stick with Midi if possible. I did like BR lay out on rolls.

#

Hey Bugbear, i wanna ask, is Is Damaged: No Damage have ever worked for you in DAE and Midi?

whole cloud
#

I specially use it for the hide formula aspect of it, usually my formulas look like a complete mess so yeah

scarlet chasm
#

I think there is a way to make the rolls look neater in midi, just gotta fiddle around the setting cap.

#

@gilded yacht Tposney, Is this "BREAKING isDamaged special duration will now only expire if the target actually takes damage from the attack. immunity/damage reduction that reduces the damage to 0 will cause the effect to stay." From 09.63 update of midi ever going to be fixed in V10 whenever it releases?

whole cloud
#

Hmm yeah I found a more appealing one here, tyty

scarlet chasm
violet meadow
scarlet chasm
# violet meadow Which one is that? Does it not make the effect stay on if there isn't any damage...

That's the problem, It doesn't expire the effect at all. Even if i set the damage to +9999 damage, The effect doesn't ever expire even when successfully hit. To explain, In my session the attack called Grapple and its effect is set to expire to the damage type called No Damage whenever successfully hit. However the effects of grapple still remains even after being hit to +9999 No damage, even successfully hit.

unkempt bone
#

Getting this now when trying to initiate an attack on a target. This was working before the last update (last 72 hours).

The card pops for attack, and damage, but no damage is auto applied. Using LTRTFY in midi work flow settings.

#

Has anyone run into this yet? Probably a module conflict, I'd imagine? Best route to use the conflict detector?

scarlet chasm
violet meadow
scarlet chasm
#

@violet meadow Exporting the attack itself? mkay. I'll DM you.

violet meadow
#

The item that is used to attack and applies the grapple condition

scarlet chasm
#

okay

unkempt bone
sacred shoal
#

I feel like im about to lose my mind

#

how do I enable it so that raging adds all the required changes

#

IE Extra damage, resistances, etc.

opaque current
#

OK, so could be a few things, I'll start with my effects tab:

#

Assuming Midi is set to apply effects to targets, that should mostly be all thats needed

sacred shoal
#

Does this work with DDB imported characters?

marsh crescent
#

There is a setting to allow the import to auto activate certain abilities, spells and other effects from DAE, CE, and midi-qol items

opaque current
#

Once a character is imported, it's just a Foundry character as far as Foundry is concerned.

sacred shoal
#

Enabled all of this but it still doesnt make clicking rage, do anything

opaque current
#

Can you show the active effects of your rage?

sacred shoal
#

??

opaque current
#

Go to the Rage ability, and the effects tab of its window

opaque current
#

Click the edit pencil next to the trash can

sacred shoal
opaque current
#

So, it has no effects. It will not do anything.

marsh crescent
#

Oh you have midi-qol installed (according to the screenshot). Just open up MidiQOL Sample Items in your Compendium, then drag 'Rage MQ0.8.9' to replace the one on the character. I am most certain that is set up properly.

opaque current
#

If this ability should have AE provided by the DDB importer, I suggest asking there.

#

If you want a source of a bunch of pre configured stuff, the "Midi SRD" mod includes Rage and many, many other abilities and spells.

sacred shoal
#

He says DAE SRD module should allow you to have rage do effects but having installed both DAE SRD and non SRD still leaves me likeso

sacred shoal
dark canopy
#

use the MIDI SRD

marsh crescent
#

That sounds...weird

dark canopy
#

and once you have imported a char via D&DB, its best to handle updates in foundry

#

rather than resyncing

vast bane
# sacred shoal He says DAE SRD module should allow you to have rage do effects but having insta...

DAE SRD is defunct and osolete. Its just a module that was giving you premade things in a compendium. Dynamic Effects yada yada the long ass named one, is the actual automation adjacent module you want. Midi SRD and More Automation yada yada are the two compendium modules that just give us premade items, Midi QOL and Dynamic effects for Active Effects or whatever are the two actual meat of automation.

#

The best rage I believe is in MIDI SRD. I personally added on to mine cause every subclass barb has more stuff to add to it.

sacred shoal
#

(Btw is it possible to add modules without going back and forth to setup?)

dark canopy
#

no, gotta pop back there

sacred shoal
vast bane
#

no

sacred shoal
#

Then I am lost

vast bane
#

You sure you wanna go down the automation route lol?

The modules that make everything work:

Midi QOL
Dynamic effects using active effects

The modules that are just a bunch of compendiums with premade shit:
Midi SRD
Dfreds CE
More Automated Spells Items and Feats
DAE SRD(Defunct, all its stuff is in Midi SRD)

Modules you should not ever install with midi:
Minimal Roll Enhancements
Better Rolls for 5e
Retroactive Advantage

#

To make your rage work, you need to just have midi and DAE, and then midi QOL has a compendium called Midi Sample Items that has a perfect Rage premade item you drag to the characters sheet.

#

but you need to make sure your settings are right in the mainstay modules MidiQOL and DEUAE especially if you've been fiddling with it since before you came here. we're assuming defaults

violet meadow
#

@flat surge what is it that you want to change so as to not be shown in the attack? A screenshot that shows the issue would help

flat surge
#

But I already solve it

#

It was the message of "attack hits X"

#

Hahah

coarse mesa
#

Does anyone have a version of Shillelagh that doesn't assume you're using Wisdom? I could edit the ability in the Midi sample one, but it would be nice to have one that detects your primary casting stat (in my case Cha)

marsh crescent
#

Perhaps just make a Shillelagh weapon on the character that uses charisma as the modifier rather than using a spell effect on an existing object?

#

Just to make it easier on yourself.

coarse mesa
#

Yeah there’re plenty of ways to work around it. I’d just be keen for a one size fits all Shillelagh I can pop in our items folder for future characters

sharp glade
#

i think i can modify one up for you. ill give it a shot

dark canopy
#

whats the script look like currently?

coarse mesa
#

Oh the sample one works great for our Druid and he can use it on his staff of withering etc. I’m jealous

coarse mesa
dark canopy
#

(cant promise anything, but it shouldnt be too hard to read the actor's spellcasting, or the item's ability)

coarse mesa
#
const lastArg = args[args.length - 1];
let tactor;
tactor = MidiQOL.MQfromActorUuid(lastArg.actorUuid);
let weapons = tactor.items.filter(i => i.data.type === `weapon`);
let weapon_content = ``;

for (let weapon of weapons) {
    weapon_content += `<option value=${weapon.id}>${weapon.name}</option>`;
}
if (args[0] === "on") {
    let content = `
<div class="form-group">
  <label>Weapons : </label>
  <select name="weapons">
    ${weapon_content}
  </select>
</div>`;

    new Dialog({
        title: "Choose a club or quarterstaff",
        content,
        buttons:
        {
            Ok:
            {
                label: `Ok`,
                callback: (html) => {
                    let itemId = html.find('[name=weapons]')[0].value;
                    let weaponItem = tactor.items.get(itemId);
                    let copy_item = duplicate(weaponItem.toObject());
                    DAE.setFlag(tactor, `shillelagh`, {
                        id : itemId,
                        damage : copy_item.data.damage.parts[0][0]    
                    });
                    let damage = copy_item.data.damage.parts[0][0];
                    var newdamage = damage.replace(/1d(4|6)/g,"1d8");
                    copy_item.data.damage.parts[0][0] = newdamage;
                    copy_item.data.ability = "wis";
                    tactor.updateEmbeddedDocuments("Item", [copy_item]);
                    ChatMessage.create({content: copy_item.name + " is empowered"});
                }
            },
            Cancel:
            {
                label: `Cancel`
            }
        }
    }).render(true);
}

if (args[0] === "off") {
    let flag = DAE.getFlag(tactor, `shillelagh`);
    let weaponItem = tactor.items.get(flag.id);
    let copy_item = duplicate(weaponItem.toObject());
    copy_item.data.damage.parts[0][0] = flag.damage;
    copy_item.data.ability = "";
    await tactor.updateEmbeddedDocuments("Item", [copy_item]);
    DAE.unsetFlag(tactor, `shillelagh`);
    ChatMessage.create({content: copy_item.name + " returns to normal"});
}
violet meadow
#
let spellmod = token.actor.getRollData().attributes.spellcasting
dark canopy
#

and copy_item.data.ability = "wis";

sharp glade
#

should need to put that here

copy_item.data.ability = "wis";
dark canopy
#

copy_item.data.ability = tactor.data.data.attributes.spellcasting

#

give that a shot

coarse mesa
#

yup that worked... thanks team!

marsh crescent
#

wait, isn't shillelagh in warpgate?

coarse mesa
#

how do I do a PR on midi? (just kidding)

dark canopy
#

no, do it, its a good change

violet meadow
#

but make it v10 proofed 😄

dark canopy
vast bane
#

The compendium items in midi srd/midi sample items tend to silently require a bunch of other modules. Pretty sure its mandatory to include atleast something from warpgate in every one hehe

coarse mesa
#

you don't want me anywhere near PRs... the closest I'll go is an issue report

dark canopy
#

that works too 🙂

vast bane
#

Is it an actual midi sample item?

coarse mesa
#

It is

vast bane
#

I think tposney is in the process of making those v10 compatible if I read the midi patch notes right so if you get it in fast enough...

coarse mesa
#

The one I used to use also renamed the item that was affected... but that stopped working a while ago

sharp glade
#

the Mr Primate import does that

#

but its hardcoded wis too

coarse mesa
violet meadow
#

Mr. Primates Shillelagh is in MidiSRD. I think at least that they did a PR that was accepted 🤷

coarse mesa
#

I'll have a rummage

coarse mesa
#

@vagrant wharf @vast bane flags.midi-qol.fail.critical.all

fallen token
#

beat me to it

vast bane
#

Is that right though? isn't it grant crit fail or something, I swear its weirder than this lol

coarse mesa
#

our pally has been running this for months and no complaints

vast bane
#

prolly conflating with the advantage keys my bad

#

I just remember putting it on my groups barb's adamantine bp, and then their whole session they couldn't crit themselves, instead of the other way around

coarse mesa
vast bane
#

I think I was using like no critical or something and then someone showed me the right one lol

coarse mesa
#

flags.midi-qol.noCritical.all this one... easy mistake really

#

@vagrant wharf there's a spreadsheet in the pins you can reference too

vagrant wharf
#

thought that makes it so you don't crit

#

like the opposite of Assassinate

#

which always crits

vast bane
#

Hes added a few, I think its actually better to just find in the readme documentation, unless that spreadsheets updated

coarse mesa
#

the one in my screen shot is the one you need

vagrant wharf
#

ok fair enough

vast bane
#

the one in the image

coarse mesa
#

the spreadsheet is correct in this regard

vast bane
#

Lukas was just curing my insanity

coarse mesa
#

don't miss your plane

vast bane
#

Fucking delayed for another 58 minutes

#

Pardon my language, but this is just the most awful experience ever, worse than the DMV

coarse mesa
#

DMV sounds like the favoured terrain of someone called Moto

whole cloud
#

I have a few more questions x.x

1 - My midi is not really rolling critical damage, is there an option to make it roll it? Or it rolls normally and I just have something messed up on my side?

2 - Is there any way to make it so that something triggers when you crit on an attack? Say you heal x when you crit

vast bane
#

sword of life stealing can be used for an example of critting and lifestealing in the midi sample items. As for crits, if you don't fast forward you have to actually click the crit button to crit, in the damage popout.

Are you crossing the streams? No Better Rolls or MRE allowed while using midi.

whole cloud
#

Oh nah I disabled it earlier

coarse mesa
#

The crit button should be highlighted if you crit

whole cloud
#

But fast forward might be enabled, I'll try it

whole cloud
whole cloud
coarse mesa
#

Even with FF enabled if you're critting it should do crit damage 🤔

vast bane
coarse mesa
#

But turning it off will help see what's going on

vast bane
#

Show us what an attak workflow looks like in your chat @whole cloud

whole cloud
#

I'll do it in a minute I just closed foundry cause I'm doing something else rn x.x

vast bane
#

didn't midi just patch critical settings, maybe some folks have to resave their critical settings or it breaks them?

#

Do you have non default critical settings enabled Cap?

whole cloud
#

I do yeah :s
But it also doesn't work with normal crits

vast bane
#

I'd suggest just running midi, socketlib, and libwrapper and attempting an attack workflow and see if you see criticals again

#

do you get the advantage/normal/disadvantage and crit/normal popouts when you do an attack or are they fast forwarded?

whole cloud
#

Hold on, I'm getting foundry running

vast bane
#

There is also an incompatible critical damage module out there somewhere that will break midi

#

You got 10 minutes from me before I have to go silent for a bit

whole cloud
#

Ok I have it open

#

What should I show exactly?

#

But also I'm going to try and disable fast forward

#

Just the whole workflow part?

vast bane
#

just what your attack and damage cards look like for an occams razor solution of mine, and then just enable midi+libwrapper+socketlib and try the attack again

#

also are you attacking someone with adamantine armor on, or do you have the nocritical flag on the actor whose attacking

whole cloud
#

It's not really in english so there's that

#

That's when it crits

vast bane
#

isn't that a critical?

#

if 61 damage is not critical damage I'm...scared

whole cloud
#

Yeah but when I click that

#

It really doesn't change it at all

#

61 is supposed to be the base dmg actually ;p

vast bane
#

0_o, are you playing with dnd5e?

spice kraken
#

Can you expand the 62

whole cloud
vast bane
#

hes playing with non standard critical rules, so that could come into play here, but I gotta go silent for a bit

whole cloud
vast bane
#

should probably get the critical rules defined so they can help also

spice kraken
#

Yeah, so what should a crit look like and what is the damage formula for this weapon

whole cloud
#

It's that house rule one of if the hit is x above ac it's a crit

#

Under experimental

spice kraken
#

Okay, and what about the damage. What's that supposed to look like when you crit?

whole cloud
#

Well, double that

spice kraken
#

double everything or just the dice?

whole cloud
#

Just the dice yeah

spice kraken
#

Okay, do this to keep testing easy

#

Make a monster have a flat AC of 5

#

or lower

#

doesn't matter

#

Use a regular weapon like a sword or whatever

#

Show the damage formula and then what the damage is when they crit and we'll go from there

whole cloud
#

Ok, a second

violet meadow
#

and you have the 1st one of these checked?

whole cloud
#

I'm pretty sure that's some effect

violet meadow
#

In system settings ☝️

whole cloud
#

Not quite sure, I'll check

violet meadow
whole cloud
#

Oh yeah this time it worked, I was dissociating a bit

spice kraken
#

Should be 1d8

whole cloud
#

Cause I'm doing something else at the same time

spice kraken
#

What is the other stuff

#

We need to go baby steps and make sure things are working 1 by 1

violet meadow
#

OK so you multiply modifiers for critical

#

I guess @mod is a 5 that turns to 10? or @mod is 0?

whole cloud
#

Nah I think mod is a 5 and really turns to 10

#

I'll check on a non crit

violet meadow
whole cloud
#

Apparently so, I just checked back on the regular one, the dices are doubling there but the mods are not unlike in that longsword one

violet meadow
whole cloud
#

The regular one as in the orignal one I was testing

spice kraken
#

Do you have any active effects on?

violet meadow
#

I mean something like this

whole cloud
#

The formula is quite the long boy so I think it's better I copy it down

#

BUt will do

#

@scale.monk.die + 2d6 + @abilities.con.mod + @mod + @abilities.wis.mod + 1d10+1 + @mod + 5 + 4

vast bane
#

is critical threshold compatible with the other critical rule?

whole cloud
#

I mean it doesn't mention at any point it's not, so I guess not?

vast bane
#

Also it looks like they are trying to compensate for a bad finesse setup there, what version of dnd5e are you on?

whole cloud
#

1.6.3

vast bane
#

dnd5e 1.6.3 does not need you to reverse mods and replace, it detects the best possible when default is set

#

if the item is set to finesse

#

or ranged?

#

I assume the+1 and -1 are reversing the weapon defaulting to strength?

#

or rather -1, and then +4

#

You know, this is actually kinda funny, this is totally a dnd5e problem being solved in midi's thread lol.

whole cloud
#

oh x.x
I initially thought it was a midi thing really, because with better rolls it was actually rolling it normally

vast bane
#

have you tried just remaking the item from scratch?

whole cloud
#

But I'm not quite sure if it's doing that

vast bane
#

if the weapon is flagged as finesse or ranged, then the drop down should be set to default and the mod should not be added to the attack roll bonus

whole cloud
#

But initially tho the problem was really just fast forward, cause it wasn't rolling crits at all

#

But now it's rolling it, just not quite right

violet meadow
whole cloud
#

0.9.75

vast bane
#

The item has a +24 to hit guys, I think this is just a bad item setup, he had the other rollers installed, and the sword behaves fine and that was created after the other rollers were turned off, I think he just needs to remake from scratch, that item literally always crits

#

or he has crazy active effects on the actor

whole cloud
#

Might be tbh, I'll try to fix everything but I think it should behave mostly right now, ty everyone that helped, and I'm sorry for the slowness in responses/lack of knowledge

#

Cause the main problem was just really fast forward

vast bane
#

I'm a huge fan of midi without fast forward myself so I'll fist bump that one 😉

marsh crescent
#

Went three weeks trying to figuring out why my NPCs would not show 'to hit' in the chat cards. Realized a couple of days ago that I forgot to click 'Enable roll automation support' in the main menu.

#

Sigh and derp.

#

I deserve that

gilded yacht
gilded yacht
#

@scarlet chasm
Midi qol: 09.74, Added expiry reason for isHit/isDamaged etc. Does anyone know what this does?
When midi deletes an effect it attaches an expiry reason to the deleteEmbeddedDocuments options, so that if you are monitoring for deletion of effects you have an idea why it is deleted. Some macro writers use it to affect behaviour.

violet meadow
#

@odd sable An Item with a DAE macro.execute | Custom | "macro name" @abilities.int.mod and a script macro, when using MidiQOL to apply effects```js
const lastArg = args[args.length - 1];
if(args[0]==="on") {
const target = (await fromUuid(lastArg.tokenUuid)).actor;
await target.setFlag('world', 'bonusMWAK', target.getRollData().bonuses.mwak.damage);
await target.update({"data.bonuses.mwak.damage":+${args[1]}});

}
if(args[0]==="off") {
const target = (await fromUuid(lastArg.tokenUuid)).actor;
const origBonusMwak = target.getFlag('world', 'bonusMWAK');
await target.update({"data.bonuses.mwak.damage": origBonusMwak });
await target.unsetFlag('world', 'bonusMWAK');
}
``` will add a bonus to the mwak's damage on the target, which will be the same as the source's int.mod and restore it after the effects deletion (hopefully, I haven't tested it).

In comparison using macro.execute | Custom | "macro name" ##abilities.int.mod will add a bonus as well, but the bonuses.mwak.damage will match that of the target's int.mod

gaunt python
#

Hello fine folks. I find myself in need of some assistance 😅
I'm currently trying to set a backstab feature, which basically says "if any (melee) attack was made with advantage, roll an extra 1d6 and apply a wound which stacks with each successful backstab."

So far, I made an item, which got the midiQOL OverTime effect which handles the 'stacking wound' part. Now, I made an actor OnUse macro to execute PreDamageRoll to catch all attack rolls made and check for the preconditions. If valid, it rolls the backstab item for it's damage and effect. So far, so shiny.... or so I thought...

Since I now have two workflows, handling correct damage application and/or concentration checks are now a mess. So far this is my code:

// Midi-QOL Actor OnUse Macro
// Add this GM macro to the actor and set it to evaluate Before Damage Roll
let actor = args[0].actor;
    //find Backstab feature
    let item = actor.items?.filter(i => i.data.name.toLowerCase() === "backstab");
    //exit if Backstab is rolled
    if (item[0].data.name === args[0].item.name) return;
    
    //make sure, we have a target
    let targets = args[0].targets[0];
    if (!targets) return;

    //check for invalid target
    let invalid = ["undead", "construct"].some(i => (
        targets?.actor.data.type === "character"
        ? targets?.actor.data.data.details.race
        : targets?.actor.data.data.details.type.value
    ).toLowerCase().includes(i));
    if (invalid) return;

    //check for correct macro eval (= only roll if hit) and advantage
    if (args[0].macroPass === "preDamageRoll" && args[0].advantage) {item[0]?.roll();}```
What would be a good/right/best way to tackle this? ^^
sharp glade
#

Hi all, still futsing with this ice storm template deletion. Hoping i might be able to get some insight here. Current plan is to use midiqol on use macro to call item macro. which will add an active effect to the caster that expires at the end of their next turn with its change being to call item macro.

When the dae effect expires, it then calls item macro again and removes the template.

Just having trouble figuring out the flow for it. I currently have what i believe should work...

// Item macro call from midiqol onuse
if(args[0].workflowOptions){

    let curActor = await fromUuid(args[0].actorUuid);
    let templateUuid = args[0].templateUuid;

    let effectData = {
        label: args[0].item.name + " Template",
        icon: args[0].item.img,
        changes: [
            {
                "key": "macro.itemMacro",
                "value": templateUuid,
                "mode": 5,
                "priority": "20"
            }
        ],
        duration: {
            // seconds: 6,
            // rounds: 1,
            startRound: game.combat ? game.combat.round : 0,
            startTime: game.time.worldTime
        },
        flags: {
            dae: {
                specialDuration: ["turnEndSource"]
            }
        }
    };

    await curActor.createEmbeddedDocuments("ActiveEffect",[effectData]);
}
// Item macro call from DAE "off"
else if(args[0] == "off"){
    const uuid = args[1];

    console.warn("Template UUID: ", uuid);
}

but i get an error
and i dont know what i did wrong. any insight?

violet meadow
#

nvm its an Actor onUse

gaunt python
violet meadow
#

Or easiest solution. Using DFreds CE, create a custom effect with the overTime and the bonus damage and apply it from the macro onUse when the checks are valid!

#
    //make sure, we have a hiTarget
if(!args[0].hitTargets.length) return;

let actor = args[0].actor; //actor is already defined though so no need to for an onUse Macro
    //find Backstab feature
let item = actor.items?.find(i => i.data.name.toLowerCase() === "backstab");
    //exit if Backstab is rolled
if (item.data.name === args[0].item.name) return;
let targets = args[0].hitTargets[0];
    //check for invalid target
let invalid = ["undead", "construct"].some(i => (
        targets?.actor.data.type === "character"
        ? targets?.actor.data.data.details.race
        : targets?.actor.data.data.details.type.value
    ).toLowerCase().includes(i));
if (invalid) return;

if(args[0].advantage) {
      await game.dfreds.effectInterface.addEffect({effectName: 'Bonus Damage', actorUuid: actor.uuid});  
      await game.dfreds.effectInterface.addEffect({effectName: 'Wound stacking', actorUuid: actor.uuid});
 //or both in one DFreds custom if the duration or special durations match.
}
violet meadow
gaunt python
sharp glade
#

also minor thing, the O in "OnUse" needs to be capitalized

#

When adding an item macro effect from an item macro, are there any required fields im missing or something? it seems like its complaining about something being undefined

sharp glade
#

Ok, finally got it. Looks like i needed to add an origin in the effect. The Time's Up module was freaking out because it wasnt there. Working Macro for anyone interested.

console.warn("Args: ", args)

// Item macro call from midiqol onuse
if(args[0].tag === "OnUse"){
    let curActor = await fromUuid(args[0].actorUuid);
    let templateUuid = args[0].templateUuid;

    let effectData = {
        label: `${args[0].item.name} Template`,
        icon: args[0].item.img,
        origin: args[0].itemUuid,
        changes: [
            {
                "key": "macro.itemMacro",
                "value": templateUuid,
                "mode": 5,
                "priority": "20"
            }
        ],
        flags: {
            dae: {
                specialDuration: ["turnEndSource"]
            }
        }
    };

    await curActor.createEmbeddedDocuments("ActiveEffect",[effectData]);
}
// Item macro call from DAE "off"
else if(args[0] == "off"){
    //Get Template uuid from dae args
    const uuid = args[1];

    console.warn("Template UUID: ", uuid);

    //get and delete template uuid
    const doc = await fromUuid(uuid);
    await doc?.delete();
}
violet meadow
# sharp glade Ok, finally got it. Looks like i needed to add an origin in the effect. The Ti...

yeah I was going through the dae.js and just found this ```js
else if (change.key.startsWith("macro.itemMacro")) {
// Get the macro command for the macro TODO look at using an item name as well?
let macroCommand;
if (change.macro)
macroCommand = change.macro.macroCommand;
// 1. Try and get item dat to look for the command in.
if (!itemData)
itemData = getProperty(effectData.flags, "dae.itemData");
macroCommand = getProperty(effectData.flags, "dae.itemData.flags.itemacro.macro.data.command");
// Could not get the macro from the itemData or we had not Itemdata
if (!macroCommand && !itemData) { // we never got an item do a last ditch attempt
warn("eval args: fetching item from effectData/origin ", effectData.origin);
itemData = DAEfromUuid(effectData?.origin)?.data.toObject(false); // Try and get it from the effectData
//@ts-ignore
macroCommand = itemData?.flags.itemacro?.macro.data.command;
}
if (effectData && itemData)
setProperty(effectData.flags, "dae.itemData", itemData);
if (!macroCommand) {
macroCommand = if (!args || args[0] === "on") {ui.notifications.warn("macro.itemMacro | No macro found for item ${itemData?.name}");};
error(No macro found for item ${itemData?.name});
}

sharp glade
#

wow, thanks for going through that!

magic marsh
#

Hello, I am looking for help. I have a Booming Blade macro and I feel like I'm missing something really obvious here.

The macro is tied to an Item Macro effect applied to the target on hit. It works fine, with one minor caveat. When I use the itemData option in the MidiQOL.DamageOnlyWorkflow I get a followup error in the character sheet when trying to edit the spell. The error is as follows:

foundry.js:319 TypeError: e._getSourceName is not a function
[Detected 1 package: system:dnd5e]
    at ActiveEffect5e.prepareActiveEffectCategories (active-effect.js:142:9)
    at ItemSheet5e.getData (sheet.js:99:35)
    at async ItemSheet5e._render (foundry.js:3062:18)
    at async ItemSheet5e._render (foundry.js:3764:5)
onError @ foundry.js:319
🎁call_wrapped @ libWrapper-wrapper.js:511
🎁Hooks.onError#lib-wrapper @ listeners.js:137
🎁Hooks.onError#0 @ libWrapper-wrapper.js:187
(anonym) @ foundry.js:3023
Promise.catch (async)
render @ foundry.js:3021
render @ foundry.js:4259
_onItemEdit @ base.js:1017
dispatch @ jquery.min.js:2
v.handle @ jquery.min.js:2
#

The Macro:

try {
    
    let lastArg = args.at(-1);
    const mToken = token;
    const mActor = actor;
    
    async function removeBoomingBladeEffect(mActor, mToken, args, lastArg) {
        const bbItem = await fromUuid(lastArg.efData.origin);
        const tToken = await fromUuid(lastArg.tokenUuid);
        const pActor = bbItem.actor;
        const bbEffect = lastArg.effectId;
        const dDice = Math.floor( ( ( pActor.data.data.details.level +1 )/ 6 ) + 1 ) + "d8";
        let dRoll = await new Roll( `${dDice}[thunder]` ).evaluate( { async: true } );

        await new MidiQOL.DamageOnlyWorkflow(
          pActor,
          tToken,
          dRoll.total,
          "thunder",
          [tToken],
          dRoll,
          {
            flavor: "Booming Blade Movement",
            itemCardId: "new",
            itemData: bbItem.data
          }
        );
        
        await mActor.deleteEmbeddedDocuments("ActiveEffect", [bbEffect]);
    }
    
    if (args[0] === "on") {
        const bbHook = Hooks.on("preUpdateToken", (document, changed, options, user) => {
            if ( changed._id === mToken.data._id && ( changed.x != undefined || changed.y != undefined )) {
                removeBoomingBladeEffect(mActor, mToken, args, lastArg)
            }
        } ) ;
        mToken.setFlag("dae", "BoomingBladeHook", bbHook)        

    } else if (args[0] === "off") {
        bbHook = mToken.getFlag("dae", "BoomingBladeHook")
        Hooks.off("preUpdateToken", bbHook)
    }
} catch (error) {
    console.log (error)
}
sudden crane
#

The possibility to delete template with this flag was added recently in dae

sharp glade
spice kraken
#

@fading scarab Well incapacitated is just can't take actions or reactions. So unless you have these options enabled, not really worth adding a condition to restrict that

#

Also if you're using convenient effects, concentration will be removed on unconscious

sharp glade
# sudden crane Why not add an effect with the dae flag deleteUuid set to the template uuid inst...

Yep, youre absolutely right. This works as well. Ty for the suggestion
Modified Macro

// Item macro call from midiqol onuse
if(args[0].tag === "OnUse"){
    let curActor = await fromUuid(args[0].actorUuid);
    
    let effectData = {
        label: `${args[0].item.name} Template`,
        icon: args[0].item.img,
        origin: args[0].itemUuid,
        changes: [
            {
                "key": "flags.dae.deleteUuid",
                "value": args[0].templateUuid,
                "mode": 5,
                "priority": "20"
            }
        ],
        flags: {
            dae: {
                specialDuration: ["turnEndSource"]
            }
        }
    };

    await curActor.createEmbeddedDocuments("ActiveEffect",[effectData]);
}
#

Still using item macro because while you can use the duration on the spell itself for this, its not possible to get fine grained special expirations like "End of the Caster's Next Turn", only times. @gilded yacht weighed in on this a couple days ago and said he would look into a solution for the v10 version of midi qol, but this will do for v9 in the mean time.

spice kraken
#

@tardy arch Do you have BR or MRE installed?

tardy arch
#

But I'm going to try it now, thanks

spice kraken
#

BR isn't being maintained and it's outdated. Best to dump it till there is a future update. But even then, try and stick to one roller module

gilded yacht
gilded yacht
sharp glade
gilded yacht
sharp glade
gilded yacht
sick fiber
#

what is the best way to implement effects that only apply to a designated target (e.g. hunter's mark, and the like'). I have it figured out for damage, but what if I want to have increased critical hit chance against the designated target for example?

spice kraken
#
  1. Do it manually (this is what I do, I just place an empty AE for a visual reference)
  2. Macro
marsh crescent
#

For my warlock with Hex, I just gave him a duplicate Eldritch Blast that has the additional Hex damage. The same can be done for Hunter's Mark.

sick fiber
#

hex is easy, because you can use the damage macro

#

is there a ways to tinker with the hit roll, same as you do with the damage macro?

sick fiber
violet meadow
vast bane
sick fiber
#

reminders are nice, ff is better

vast bane
#

There is a hunters mark pre-made for full auto

sick fiber
#

that only touches damage and uses an item macro to add the damage. I used something similar to get the Hex working. I am looking to change arbitrary details of the attack roll workflow.

sudden crane
sick fiber
#

that sounds good. where can i learn about the anatomy of these phases and how to hook into them?

sick fiber
#

ah perfect, I will have a look

hybrid heart
#

Hi could I get some help on setting up a system where if attack rolls miss by -1 or -2 to target AC the attack hits but does half damage?

spice kraken
#

Only way I could think of doing that is with some kind of macro

hybrid heart
#

It'd be a global system for everything. I understand we could use a macro but I am a newb to any kind of code so yeah, something specific might help.

spice kraken
#

You're basically trying to change a fundamental rule of dnd. Midi is more about automating what exists

#

Maybe someone here could think of something for that or someone in the foundry gearheads discord might have a way
https://discord.gg/nWEwkgNA

coarse mesa
hybrid heart
hybrid heart
#

That was really helpful but there's no option to manually edit Evasion class as far as I can see. If I could do that I'll be set.

magic marsh
# gilded yacht can you export and send me the item? It looks like the data for one of the effec...

Thanks for your response. I've attached an export for you. I tested the macro on different servers and different worlds and the error is consistent across all. What's strange is that there is no problem when I give something undefined for the itemData option. Then everything works, but the item card only shows that the target hit itself.

I've been following the errors and I think it's caused in line 2847 - 2850 in workflow.js, v0.9.75 Midi-Qol. If I read the code right, it creates a copy of the item but forces an OnUseMacro on it, whereas mine is based on an ItemMacro attached to the effect. Is that unintended?

coarse mesa
hybrid heart
#

Yes, something like a custom EC where EC is AC-2, and attack rolls < AC but >EC hits at half damage, based off the top of my head.
I think this is the logic but no idea how to code it

gilded yacht
hybrid heart
#

And done!

violet meadow
#

@hybrid heart You would need to first change the miss to a hit and then you could use the one you shared in #macro-polo

hybrid heart
violet meadow
#

I can ping you when I am on my pc. You need the 1/2 damage to apply when the attack roll >= AC - 2?

hybrid heart
violet meadow
# hybrid heart Yes. Thank you, that'd be a great help.
//If attack total is within 2 of AC, the attack is supposed to hit and do 1/2 damage.
//For future reference this is supposed to be used either as a world script or a macro that will be executed once per reload of Foundry.
//It will not work if the target's AC calc is set to Flat. ( you might want to use the deprecated DAE value: "data.attributes.ac.value" in that case. )

Hooks.on("midi-qol.preCheckHits", async(workflow) =>{
    const targetActor = Array.from(workflow.targets)[0].actor;
    const targetAC = targetActor.getRollData().attributes.ac.value;
    if(workflow.attackTotal < targetAC && targetAC - 2 <= workflow.attackTotal){
        let effectData = {
            "changes":[
                { "key": "data.attributes.ac.bonus", "mode": 2, "value": "+-2", "priority": "20" },
                { "key": "data.traits.dr.all", "mode": 0, "value": "1", "priority": "20" }
            ],
            "disabled": false,
            "duration": {
                "startTime": 0
            },
            "icon": "icons/skills/melee/shield-block-gray-orange.webp",
            "label": "Lower AC to Hit",
            "tint": "",
            "transfer": false,
            "flags": {
                "core": { "statusId": "" },
                "dae": { "specialDuration": [ "isHit" ] }
            }
         }
         await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: targetActor.uuid, effects: [effectData] });
    }
});
``` Tested.
coarse mesa
#

LOL so the Twilight Sanctuary itemMacro we've been using... and trusting for months, seems to be busted in just about every regard and we've only just realised facepalmpicard

coarse mesa
#

I can figure out how to get it using the cleric level instead of wis mod, but the other stuff is beyond me 😓

violet meadow
#

Do you want to send it over?

coarse mesa
#

sure, thanks! It's hopefully an easy fix

#
// only works with midi qol and speed roll ability checks
if (!game.modules.get("advanced-macros")?.active) {ui.notifications.error("Please enable the Advanced Macros module") ;return;}
let wisMod = args[1]
const lastArg = args[args.length - 1];
let tactor;
if (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;
else tactor = game.actors.get(lastArg.actorId);

    
if (tactor == undefined) //not actively targeting a user
return;


if (args[0] === "each") {


    let flag = DAE.getFlag(tactor, 'sanctuarymode')

    if (flag != undefined && flag === "condition") //remove either frightened or charmed condition
    {
        ChatMessage.create({content: tactor.data.name + " is no longer charmed or frightened" });        

        DAE.unsetFlag(tactor, 'sanctuarymode');
    }
    else // Add Temp HP
    {
        let roll = await new Roll('1d6').evaluate({async : true});
        let newTempHP = wisMod + roll.total ;

        if (tactor.data.data.attributes.hp.temp < newTempHP)
        {
        ChatMessage.create({content: "new Temp HP for " + tactor.data.name + " is " + newTempHP });
        tactor.update({
            'data.attributes.hp.temp' : newTempHP
        });
        }
        else
        {
        ChatMessage.create({content: "Existing Temp HP was higher for " + tactor.data.name + ". no Temp HP awarded"});
        }
    }
}

if (args[0] === "off") {
    DAE.unsetFlag(tactor, 'sanctuarymode');
    ChatMessage.create({ content: "Twilight Sanctuary has expired" });
}
violet meadow
#

so many async function not being awaited stress

coarse mesa
#

I've set the arg on the AE to the cleric level now... but it's only rolling a flat 10 (not the 1d6 +10 it should be).... and I've just seen the code for the removal of fear or charmed but that doesn't work at all lol

#

Our cleric just leveled up and we're like holup it's rolling lower than what the minimum should be

#

I wonder if the item is set up wrong – not sure where 'sanctuarymode' is coming from

sudden crane
coarse mesa
#

Yes indeed, the aura works well (aside from the occasional double up, but that's normal for us)

violet meadow
#

There should be stuff missing from this one. The conditions are not defined anywhere.

#

probably the on phase is missing totally

coarse mesa
#

So someone's hacked at it... even if it just showed the chat message that would have helped (for condition removal)... but it never did that, always temp HP every turn

violet meadow
#

Should be checking for frightened and charmed someplace

#

So in the ON there should be a DAE.setFlag for that at least

sudden crane
#

In theory the sanctuary mode should be chosen by the cleric each time a creature ends its turn in the aura.
And we don’t see anything about it here…

violet meadow
#

true

coarse mesa
#

Yeah crymic has one like that.... we'd prefer if it just got on with removing conditions or if none adding temp hp as this seems like it's supposed to do

#

Otherwise the cleric is having to make a decision every single turn which is tedious and what if they're afk

violet meadow
#

If there is a condition remove and if not give HP automatically?

coarse mesa
#

yeah exactly.. you pretty much always want frightened gone

#

and charmed doesn't come up much but that can be rid of too... otherwise yeah temp hp

#

we could always manually backtrack if you want something other than that (can't be any worse than all the backtracking we did tonight with this being so broken)

violet meadow
#

@devout flower ```js
new MidiQOL.TrapWorkflow(actor, item, [targets], {x:number, y:number})

> Which will roll the attack/and or damage and apply to the passed targets. If the item has an area template it will be placed at x,y and targets auto selected inside the template.
elder path
#

Question, I may have misunderstood something in the settings.
What i'm trying to achieve is : Automatically attack but I need to push the damage button ( Will help for players that needs to know if they get hit or not to cancel damage or whatever.)
So I thought I was doing it right with this, but I still get the Damage pop-up window, can I actually just get a simple button push for damage or do I need the extra step of the window ?

#

Nvm I need to put Auto Roll damage in " Never " mode

coarse mesa
#

That is confusing lol

violet meadow
#

The Auto roll damage entry? Always, Damage Roll Needed, Never. Given context I think it does make sense 🤷 😅