#MidiQOL

1 messages Β· Page 99 of 1

vast bane
#

This works

hasty jackal
#

okay lemme test

vast bane
#

theres a problem with the formula in other though

#

My guess is the other formula needs the long form attribute mod

hasty jackal
#

it worked for me

vast bane
#

OH, my 4 thats missing is unrelated to your issue

hasty jackal
vast bane
#

apparently other formulas ignore global modifiers thats strange and probably a problem for midi

hasty jackal
#

yeah

#

but it worked

#

thanks

vast bane
#

I suspect that its working as intended, globals should not stack between instances of healing from the same item:

hasty jackal
#

yep is working as intended

modern badger
#

I would like to know why it isn't showing me name of the retribution-style damage .3.

hasty jackal
#

since i dont have that heal damage bonus i dont have that issue

modern badger
#

and the damage roll

hasty jackal
#

probably a midi issue tho

vast bane
#

wait a minute

#

you got a naughty module installed I think

#

are you using check hits for dnd5e?

modern badger
#

nno!

#

and now it's not working at all u_u

vast bane
modern badger
#

this is the AE

#
try {
    const actor = args[0].options?.actor;
    const token = args[0].options?.token;
    const target = fromUuidSync(args[0].tokenUuid);
    
    if (!actor || !token || !target) return;
    const damageRoll = await new Roll("1d8").roll({async: true});
    await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: actor.items.getName("Tale Of The Avenger")});
    // Could do a MidiQOL.completeItemUse with the fetched item instead
} catch (err) {
    console.error(`Retribution ${version}`, err);
}```
#

and this is the macro .3.

vast bane
#

```js
paste macro here
```

modern badger
#

oh, forgot the ItemMacro. again

vast bane
#

I think theres also a mistake in one of those lines and the JS code will show us

modern badger
#
const version = "10.0.33"
try {
    const actor = args[0].options?.actor;
    const token = args[0].options?.token;
    const target = fromUuidSync(args[0].tokenUuid);
    
    if (!actor || !token || !target) return;
    const damageRoll = await new Roll("1d8").roll({async: true});
    await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: actor.items.getName("Tale Of The Avenger")});
    // Could do a MidiQOL.completeItemUse with the fetched item instead
} catch (err) {
    console.error(`Retribution ${version}`, err);
}```
#

fancy

vast bane
#

isn't it damageOnlyWorkflow @violet meadow ?

modern badger
#

but yeah, I wanna have it show both the damage roll and the 'Tale Of The Avenger' card text

#

rn it works

#

I just want to see the roll and all

#

for some reason it shows the roll perfectly when I use the base 'Retribution' feature but not when I change the name and such ..

vast bane
#

I can get you this far:

short aurora
#

Retribution is on the caster/owner of the original item, this one is on a target, does it look as expected if the caster casts it on themselves?

vast bane
#

have the person hit themself

modern badger
#

it doesn't show up when someone else hits them

#

neither when they hit themselves .3.

#

it doesn't seem to have anything to do with that

#

no clue rll

vast bane
#

do you have the module I circled above?

modern badger
#

nope

#

I check hits directly with midiqol

vast bane
#

that should not check twice

modern badger
#

oh

#

it's not checking twice

#

the 'hits dummy' is the retribution attack

#

but for some reason it isn't showing the name and the roll

vast bane
#

and the macro above is the retribution item macro?

#

what does retribution ITEM have?

#

for details

#

mostly want the bottom third but really the whole details

modern badger
#

ok so here's the chatlog

#

u mean the one I made?

#

or the base one?

vast bane
#

why is the actor on use referencing a compendium item?

modern badger
vast bane
#

I think its technically ok, but abnormal, usually you reference the feature on the actor

modern badger
#

because that's the way the sample's coded

#

.3.

#

'Retribution'

vast bane
#

ok I got all sorts of not understanding here

#

how many items are involved in this setup and what are their names?

modern badger
#

basically, I got 1 '5. Tales Of The Avenger' item in the actor

#

and 1 in a compendium

#

and the ItemMacro references the compendium item

vast bane
#

do both items have item macros?

modern badger
#

yeah

#

see, test dummy has the original Retribution macro and the one I modified

vast bane
#

do you have automation that yoinks the compendium item temporarily to the sheet?

modern badger
#

for some reason, the OG one shows the dialogue and roll perfectly well, while the other one just says 'hits' and does it below the hood

vast bane
#

you gonna have to wait for bugbear to return to help you. This is confusing AF

modern badger
#

it shouldn't be confusing, it's the way the original Sample Retribution is coded ;;

#

the item has an ItemMacro and references itself in the AE

violet meadow
#

Will need some touching up. I cannot do it now

#

It's a common issue with these items

modern badger
#

it's fine!

#

it works anyway ;v;

#

just wondering why it happens heh

violet meadow
#

For the MidiSRD fire shield I needed an extra item to get the targeting correctly

#

I will explain when I have time πŸ˜…

modern badger
#

hah, no worries

#

rn it works

#

it just doesn't look great

vast bane
#

why are there 2 items involved though?

modern badger
#

oh boy this subclass is full of pain for foundry automation

#

I'm just gonna do this manually and turn off the effect when they lose the temp HP πŸ˜‚

vast bane
#

I don't see retribution in that feature?

dark canopy
modern badger
#

wg? .3.

dark canopy
#

warpgate

modern badger
#

hmm

#

that seems super complex πŸ˜‚

vast bane
#

I have a world script that kills a specific ae on targets who lose temp hp

#

could very easily adapt that to this

#
Hooks.on('midi-qol.RollComplete', async workflow => {
    if (workflow.hitTargets.size != 1) return;
    let targetToken = workflow.targets.first();
    if (!targetToken) return;
    let targetActor = targetToken.actor;
    if (!targetActor) return;
    let targetEffect = targetActor.effects.find(eff => eff.label === 'Symbiotic Entity');
    if (!targetEffect) return;
    let tempHP = targetActor.system.attributes.hp.temp;
    if (tempHP != 0) return;
    MidiQOL.socket().executeAsGM("removeEffects", {'actorUuid': targetActor.uuid, effects: [targetEffect.id]});
});

change Symbiotic Entity to whatever you are trying to end on someone

#

also fyi spore druids out there, this script is dope πŸ˜‰

#

keep in mind that this script only works when the damage is applied by midi, if you manually clear the temp hp via core means it will not catch it

dark canopy
#

hook on updateActor instead

vast bane
#

I think there was a reason we didn't

#

I wonder if this can be handled with the new onuseMacroname handling

tired cobalt
#

Hi everyone!
I want Shocking Grasp to automatically grant advantage if the target is wearing metal armor. I searched and saw that Moto mentioned that this could be implemented with an ItemMacro, preRoll, using a conditional that search the armor description for words related with metal.

["iron","steel","metal"].some(mat => token.actor.itemTypes?.equipment?.some(i => i.system.armor?.type === "shield" && i.system.equipped && i.system.description.value.includes(mat)))

That is the conditional code that Bugbear wrote during that convo (but I want the condition to check on armors, not shields). Can someone give me a general idea about how the macro should look like? πŸ™

vast bane
#

have a macro fire on isDamaged

#

If temp hp 0 and symbiotic exists, end it

dark canopy
#

that's what you would do in updateactor

modern badger
vast bane
#

I feel like the target count check is unnecessary in this world script though

modern badger
#

this world script is run once when u turn the thing on?

#

'3'

dark canopy
#

3?

molten solar
#

3

vast bane
#

I can't stop laughing at this

vast bane
#

make sure its a script macro, but I'm pretty sure world scripter auto fixes that mistake when people do it

#

you just need to make sur ethe name of the effect is the same in the world script macro and the thing on the bard

#

or whomever it gives it to

#

and remember, they have to lose health via midi, just reducing hp on the token is not gonna fly unless you figure out the other hook

#

I also have an effect macro on symbiotic that clears the temp hp, I did this cause theres always the chance the druid either re uses it early, or needs to shape into an animal from symbiotic:

actor.update({'system.attributes.hp.temp': 0});

I have this as an effect macro on deletion on the actual ae and wildshape ends the ae

#

(I don't use core wildshape, I use warpgate shennanigans)

modern badger
#

oh, okie c:

#

interesting

#

MOAR automation

dark canopy
modern badger
#

y'know what would be poggers

#

AE special duration having 'the actor has no temp* hit points' as one of its durations :p

vast bane
modern badger
#

sorri, meant to write temp hit points

vast bane
#

that special duration would basically be exactly what badger suggested when I shared my world script only manually made for your world only

modern badger
#

I can't find the command for a damage bonus

#

was it 1dX[damagetype]?

vast bane
#

Yes regardless for a damage formula format

modern badger
#

so this would be correct? .3.

#

needs a comma or something?

vast bane
#

yeah but if you really wanna do it all I think it needs an onUseMacroName that also expires after the hit and have the macro just simply apply the frightened condition(the next time you hit a target)

modern badger
#

yeh, well, dunno twt

vast bane
#

you can yoink it out of any of the premade bonus action smites I'd imagine

vast bane
#

Wow I think I just came up with a brilliant idea for redirect damage reactions. Since I don't fast forward i could have the aura be a grant message that prompts to do the damage to the other target.

spice kraken
#

Don't forget +

mellow fossil
#

Looking for a template macro for grease and hunger of hadar. If anyone has sample macros that use template macro for me to use as a base for learning, i'd appreciate. I already looked at darkness and cloudkill from chris and spirit guardians from lonelybugbear

vast bane
#

CPR does not have either of those spells sadly

mellow fossil
#

midi srd grease doesnt have advanced functionality. Im going to check active auras.

vast bane
#

Active auras has a premade for it

mellow fossil
#

Btw, thanks, i have referenced more then once a list of links for midiqol premades you made.

vast bane
#

the old midi srd v9 was an overtime via active auras:

turn=start,
saveAbility=dex,
saveDC=@attributes.spelldc,
rollType=save,
label=Fall prone on fail
#
if (!game.modules.get("advanced-macros")?.active) { ui.notifications.error("Advanced Macros is not enabled"); return }
if(args[0].tag === "OnUse"){
AAhelpers.applyTemplate(args)

}
mellow fossil
#

Does it apply this aura to a template, or only to a token? I dont have active auras installed atm.

snow quarry
#

Is it possible to have two fondition removal options? Such as either the start of their next turn, OR moving? And is it possible to damage someone in that manner or would that need to be a macro?

vast bane
#

you have to check the "activation true box" and then put false in activation condition on the spell

#

cause you don't want each actor to get the full blown aura ae, you want them to get active auras transfer instead

#

cause active auras is actualy a form of effect transfer itself too

#

@toxic cape your midi damage automation is set to off, that is your problem

#

there are levels to damage automation in midi, theres OFF, manual damage but automate the DI/DV/DR, and then full auto. You probably have it OFF which makes things kinda messy when you use merge cards.

#

Either turn on the manual setting for damage so that you get the damage card for midi, or turn on the legacy buttons in the main midi settings if you really do want fully OFF(imo people only set it to off cause they don't realize theres a manual with bells and whistles)

mellow fossil
vast bane
#

item macro

#

and then details of the spell will be ItemMacro After Active Effects

#

I honestly think that macro repeat is a typo, its an old midi srd v9 premade

#

he doesn't support active auras in midi srd v10

#

leave it in if it doesn't work right then remove it

mellow fossil
vast bane
#

make a blank spell, import that into the blank spell in sidebar

mellow fossil
#

Imported. going to test it.

vast bane
#

its not the greatest but it does technically do most of it

#

what it really needs is a macro= line for applying prone

mellow fossil
#

Yeah. That'd be great. I wanted to do it with template macro to have it set properly when someone enters the area or ends his turn there

vast bane
hasty jackal
#

i wonder, at the moment it is impossible for a feature to scale using points? like for example

Deals 1d6 damage if you use one point, if you use two or more points add 1d6 per point used

tired cobalt
vast bane
#

hol up, it does not look like shocking grasp is automated for that part though

#

I don't think you can really pull that automation off reliably

#

the best you can do is not fast forward and put a reminder in the popout for advantage/normal/disadvantage

hasty jackal
#

where can i found the premadeΒ‘

vast bane
hasty jackal
#

kk

tired cobalt
vast bane
#

The Dm would need to reliably name all the armor and equipment properly and somehow account for creatures like Steel defenders and Iron Golems

vast bane
#

the activation condition would be a mile long and you'd still be adding onto it 3 months from now

tired cobalt
#

(I'm the DM)

#

Mmm... But if there's a keyword in the target, like "metal"? πŸ€”

vast bane
#

you'd have to do a target.equipped for every single armor you think is made of metal, then also do a check if they are named Iron Golem and any other creature whose made of metal like all the drones

#

you can't parse equipment descriptions in an activation condition I don't think

#

when you start diving down these rabbit holes, there is always one question I ask myself and if its not solid then I don't go down the rabbit hole. Wilil this automation be definitive or still have holes I have to account for?

tired cobalt
vast bane
#

I would not break my back for a partial automation. Advantage reminder however, could totally pull this off easily

#

what if the character wielding the shield is a druid, then its not metal its wood

tired cobalt
vast bane
#

if you don't fast forward you can plop a nice message in the popout

#

great for these kinds of conditionals

tired cobalt
vast bane
#

you could also do an optional.name on shocking grasp and just have shocking grasp constantly prompt if you want to roll 2d20

#

My wizard player has this spell and he ONLY uses it for the express purpose of trying to get advantage on an attack roll so hes never forgotten to ask if they have metal or not lol

tired cobalt
#

πŸ‘
Thanks for all the suggestions, Moto.

hasty jackal
#

i tried copying lay on hands but didnt worked this is the effect im trying to set

vast bane
hasty jackal
#

yeah

#

its from XGE

vast bane
#

if its warlock related, always check CPR lol, Chris is a warlock player

hasty jackal
#

kk

vast bane
#

CPR has it

hasty jackal
#

yeah

#

going to install the mod

vast bane
#

As a general rule of thumb, It might be wise to all new folks to share the description ofwhat you are trying to make before we take the trip down the rabbit hole, theres alot of past projects we could leverage

modern badger
#

what's the simplest way to do this with MidiQOL?
"As a bonus action, you can utter a vow of enmity against a creature you can see within 10 feet of you, using your Channel Divinity. You gain advantage on attack rolls against the creature for 1 minute or until it drops to 0 hit points or falls unconscious."

#

specific advantage vs. a creature from a specific creature

vast bane
#

that has to be premade, that predates CPR

#

wow I can't believe its not in anywhere, thats vow of enmity isn't it?

modern badger
#

hm, it's not SRD so it isn't in midiSRD

#

yeah

vast bane
#

Channel Divinity?

modern badger
#

yeah

#

can't be that complex to code right?

vast bane
#

I swear this exists somewhere

modern badger
#

Build-A-Bonus doesn't let u do adv. so that's a no-go

modern badger
#

it's not working :<

#
const workflow = MidiQOL.Workflow.getWorkflow(args[0].uuid)
const tactor = workflow.targets?.first().actor;
if (tactor?.effects.find(eff=>eff.label === "name_of_the_effect")) workflow.advantage = "true";
#

Is nameoftheeffect supposed to say Vow Of Enmity: Mark?

#

its not working :<

vast bane
#

very specifically whatever the name of the ae that goes on the target

modern badger
#

yeh, it's there

#

doesn't roll adv. :c

vast bane
#

you probably are not understanding that its two ae's with different boxes checked, I gotta afk for a few I'll reinvisit this in a sec

modern badger
#

mark is applying to the enemy and normal is applying to the user ;;

#

it works now u3u

modern badger
#

Is there a way I could draw an item from a table and give it to an actor as a temporary item that dissapears on use?

#

.3.

vast bane
modern badger
#

Tales From Beyond, still at it

#

basically, you roll a Bardic Inspo die and draw from a table, getting one of the features until you take a long rest or use it

#

and you get to use the feature once and it dissappears after

#

until you roll again

vast bane
#

I would pull this off how I pull off all my traps

modern badger
#

? '3'

vast bane
#

inline roll commands to populate the roll in the rolltable and have it roll abilities off my avatar

modern badger
#

huh?

vast bane
#

Lets say that your table is that of 8 abiltiies called Bard 1-8. You can put in the rolltables as text document entries: [[/rollItem Bard 1]]

#

then have the bard roll the table to themselves and if they click the button thats created from this, it will find their bard 1 item and roll it

#

you'll need late targetting for it, and probably need to clear targets before they click the button or else it will unintentionally go one someone they don't mean to

#

all of my traps in my campaign are on an avatar that I have setup as the assigned character for me so whenever I see a trap button in my journal entries its a button I just roll and it applies to who I target

modern badger
#

yeah that's the issue because the way this feature is meant to be used is that you can roll the Tale early and decide when to use it .3./

vast bane
#

I still think it'd work

#

if its a set and use later thing then thats something like an optional.name or a macro.createItem

#

so rollItem, apply it to self or whomever, and let it play out

#

rollItem only works for the assigned actor of the user or the selected token actor

#

to be clear, its a module

#

its not built into midi or core

#

what it does is it replaces the need to make a shit ton of macros for the table

#

instead it just rolls the item on your assigned actor, in this case, the bard

#

surprised the wildmagic surge module doesn't have the spirits bard thing in it too

violet meadow
scarlet gale
#

Tagger might be useful for this

#

Check for a specific tag on the target

dark canopy
vast bane
#

if the actor already has them then inline roll commands can circumvent all the macros

violet meadow
#

Did you find one? I got the MidiSRD version (not yet updated), but I can grab it out of my dev branch and share if you still need it

vast bane
#

theres an old midi srd confusion out there somewhere too, I think it just does a dice roll in overtimes

dark canopy
violet meadow
violet meadow
vast bane
#

I have a really simple but cool Command spell automation

#

then I just have dae expire it with a special duration

#

I found myself constantly forgetting to run the command

#

could prolly args off it to keep it all self contained for midi srd

violet meadow
#

Hmm, I got the basic commands working, but I not sure about how much use you can get out of them, as for the most part my players find totally unpredictable ways to use it...

vast bane
#

that and suggestion I find are hard to automate that well

violet meadow
#

Dialog with some basic options, Prone, Disarm, Come here, stop and a button that essentially just places a "Command" icon on the target.

vast bane
modern badger
#

in a compendium

vast bane
#

do they all get rolled and applied to the bards target?

#

or do they get added to random actors who are the targets?

modern badger
#

nono, added to the bard

vast bane
#

put them on the bard, install inline roll commands, make a table that has 8 entries or whatever that are all [[/rollItem FEATURE]] where feature=the exact name of the 8 items you'd use on the bard to fire them.

#

then its a matter of making an on use macro for the bards rolling of the table as a whisper to themselves

modern badger
#

the way the feature works makes this a bit cumbersome tho!

#

it'd be way better to be able to pull them from a compendium

vast bane
#

I literally do this for 40 traps on my avatar

dark canopy
# modern badger how? o3o

const results = await game.tables.getName('foo').draw()
const roll = results[0]

information about the item rolled is in roll (just not sure what it is)

modern badger
#

and not have them in the bard's statblock inherently

vast bane
#

You could probably hide them on the bard fwiw with css or something or you can try to figure out how to write macros to do the same thing as what I just said is possible with a module install

modern badger
#

const results = await game.tables.getName('foo').draw()
const roll = results[0]

#

what would I replace here?

dark canopy
#

name of the table

modern badger
#

in the getname?

dark canopy
#

yea

#

if its in a compendium, you will get it from fromUuid instead

modern badger
#

and where would I put this macro? :0

dark canopy
#

unsure what exactly you are trying to do, but rolling from tables and creating items on actors is core and assistance can be sought in #macro-polo

modern badger
#

yeah, but this functionality is not what I'm looking for, I wanna create a table that gives the specific item

#

to the actor

vast bane
#

but its always the same actor correct?

#

then they roll it and its own args play out

modern badger
#

yeah but they need to be able to hold onto it long after they've rolled it :0

vast bane
#

if all you want to do is roll on a table and give an item to someone thats basic rolltable stuff, drag the items to a rolltable

violet meadow
#

@modern badger sidenote. Did you solve the Tale of the avenger issue?

modern badger
#

I have no idea how to do that

modern badger
#

the items are on my rolltable

violet meadow
#

Item details screenshot and final macro

vast bane
modern badger
#

I'd like to know the macro tvt

vast bane
#

If all you want is for 8-12 items in a compendium to be in a table, drag them to an empty table

#

when the bard rolls on the table, the bard can drag it from chat to their sheet

#

what I'm trying to give you is a rolltable that rolls it

modern badger
# violet meadow Item details screenshot and final macro
const version = "10.0.33"
try {
    const actor = args[0].options?.actor;
    const token = args[0].options?.token;
    const target = fromUuidSync(args[0].tokenUuid);
    
    if (!actor || !token || !target) return;
    const damageRoll = await new Roll("1d6").roll({async: true});
    await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: actor.items.getName("Tale Of The Avenger")});
    // Could do a MidiQOL.completeItemUse with the fetched item instead
} catch (err) {
    console.error(`Retribution ${version}`, err);
}```
#

here's everything @violet meadow

modern badger
#

Is there a simple way to do that? ..

vast bane
#

I trully feel that is an unnecessary storage step

#

aren't there only like 8 or 12 of them?

modern badger
#

yeah, and I wanna make it as easy as possible for my players, and thematically have the thing where they roll for their specific thing and can consider that they only have that one .3.

vast bane
#

you could remake them all as items, remake them as innate spells, remake them as features, and then just pack them away in a custom category or a custom bag and hide them or leave them out and tell the bard no touchey, then you aren't chompin on a compendium for something only 1 user is going to reference

modern badger
#

u3u

#

but that's not what I wanna do

#

chompin' on a compendium is fine

vast bane
#

you are highly unlikely to get someone to write that macro for you lol

modern badger
#

I just have no idea how to do it, it must be simple but I'm code-illiterate and can't find a solution in the foundry wiki :<

#

Is it that complex?

vast bane
#

well its gonna be 8-12 macros for sure I imagine

modern badger
#

huh? ;A;

vast bane
#

or a macro that rolls the table and yoinks the result to the sheet so just 1

violet meadow
modern badger
#

itself

#

but in compendium form

#

.3.

#

same thing as the retribution item

violet meadow
#

The macro I shared before, made it so that it doesn't need a compendium item

violet meadow
#

THe one in the compendium?

modern badger
#

1 creature target

#

ok, grabbed your non compendium macro!

#

question, does that one need an AE?

dark canopy
vast bane
#

If I had to do it I'd probably have the table just be a DAE that gives the item and then has a button in the VAE so that the player doesn't have to go hunting for the item

modern badger
#

ok @violet meadow I used ur macro without AE, and it's still not showing the dmage roll and feature name .3.

#

lookie

hard sedge
#

A (hopefully) quick question... trying to set a damage formula for an effect value and I can't seem to get the key or formula right to call the damage based of the spell's level. Here's the code: "turn=start,
damageRoll=(2 * @item.level)d4,
damageType=acid,
label=Caustic Brew Acid,
saveRemove=true,
saveDC=@attributes.spelldc,
saveAbility=dex"

I've tried a few variations of the damageRoll, including ((@spellLevel)TIMES2)d4, ((@item.level)TIMES2)d4 --- replacing TIMES with *, of course (discord formatting). Any suggestions?

vast bane
#

saveRemove is also redundant you could have left it out

hard sedge
#

Still giving this result. Thanks for the note about saveRemove though

hard sedge
vast bane
#

drag it to the item

#

I thought this was fixed, hol up, are you on old midi/dfreds?

inland vortex
hard sedge
#

Dfreds and Midi are both up to date. I also cannot drag the effect to the item - doesn't add anything in the effects tab (unless it isn't supposed to)

vast bane
#

contrary to proper safe editing

hard sedge
tired cobalt
vast bane
#

My strong guess is you have Effective Transferral or Ready Set Roll installed

#

(or wire)

hard sedge
# vast bane

I also have none of the other modules enabled or installed - including WIRE and Ready Set Roll.

vast bane
#

make sure effect transfer is on in midi I guess

#

workflow tab/special/first drop down

hard sedge
#

Darn. Not a huge deal, I can revert back to a flat formula without calling the spell level, was just hoping it was a simple syntax error!

vast bane
#

is the item a spell?

hard sedge
#

It is

vast bane
#

can you show me it applying in chat to a target?

hard sedge
#

Sure

vast bane
#

do you not have dae installed?

hard sedge
#

It is applying the effects to tokens and tagging them in chat with initial damage.

#

I do have DAE enabled, ver. 10.0.25

vast bane
#

CPR to the rescue:

turn=start,
damageRoll=((@spellLevel)*2)d4,
damageType=acid,
label=Caustic Brew Acid
hard sedge
#

That's where I pulled the syntax from in the first place and the first formula I used. Will retry now that the item has the DFreds CE.

vast bane
#

it used to be a dfreds/midi issue like 4 versions ago during 4.0's release for dfreds that the transfer wasn't taking the item level

#

but that should all be gone

#

I didn't insist on versoins from you, but you are certain you are on the newest right? dfreds and midi?

violet meadow
vast bane
#

do you have CPR? why not just use CPR's tashas caustic brew?

hard sedge
#

Pretty confident, updated them on Foundry last night - Midi is 10.0.36 and DF is 4.2.1...formula remains at 0d4 after reapplying the before syntax.

vast bane
#

if you have CPR, click the medkit at the top bar

#

update it to CPR's version so it gets rid of the dfreds flag on the item

#

dfreds is suppose to be fixed for not transferring spell level

#

but I think we just got a new version maybe it broke again

#

actually isn't the spell level midi?

scarlet gale
#

Pretty sure it's midi adding the spell level stuff

hard sedge
vast bane
#

ok now I gotta test his

scarlet gale
#

(that can easily be a bug)

vast bane
#

no theres something wrong with CPR's version

scarlet gale
#

Isn't there no initial damage?

#

Only overtime stuff?

vast bane
#

probably, this dingus is on the end of their day and tired lol

hard sedge
scarlet gale
#

Well...

vast bane
#

my caustic brew works

scarlet gale
#

the overtime on mine works too

vast bane
#

I doubt this specific CPR needs CPR enabled right?

scarlet gale
#

yea, it's just a basic midi overtime

#

should just need midi and dae

#

if it's doing 0d4 it means it's not getting the spell level

vast bane
#

lets rule out module conflict then we'll start digging into settings

scarlet gale
#
turn=start,
damageRoll=((@spellLevel)*2)d4,
damageType=acid,
label=Caustic Brew Acid```
vast bane
#

I didn't point these out cause I half assumed you couldn't see a bad roller but seeing as how it rolls 0, you don't have roll groups, MRE, better rolls, or WIRE installed right?

hard sedge
#

Sec, creating a testing environment duplicate of my world quick. Will update once I finished.

vast bane
#

just use find the culprit for module troubleshooting

#

I assumed you'd see a damage roll before the overtime, so I stupidly rushed to ready set roll/Wire/Effective transferral but really any of those rollers in the list could be the culprit possibly here

modern badger
#

uhhh, if I wanna use the optional flag for guidance

#

what do I write in the thing?

violet meadow
modern badger
#

1d4, 1?

vast bane
#

dfreds CE has guidance as a premade

modern badger
#

oh

vast bane
#

if you have the second option in the special section in the workflow tab set to something like ae before CE then if guidance has no ae on it, on the item, then it will try to apply this CE

#

the one bummer about guidance is the conc doesn't end after usage but oh well

#

which is mentiond in the readme, and honestly I never remember those so I keep the readme bookmarked to the optional.name section

hard sedge
vast bane
#

I have been pondering fast forwarding for the DM on damage, My players are level 12 now and I do ALOT of actions each turn now

hard sedge
#

Alright, never used find the culprit before - how do I find what I'm looking for? -- nvm. Google is a friend.

hard sedge
# vast bane in all seriousness, can you let me know what it was so I can add to the list if ...

So...I have no idea what's going on? When I first activated Find the Culprit and pressed start, nothing happened. I manually reloaded the world, and it hadn't deactivated any modules (could still see Monks TokenBar), and asked if the issue persisted. I said yes, and it was convinced I only had the aforementioned modules activated. I pressed reactivate all modules. Everything EXCEPT the locked modules then got deactivated. Ok, fine - restarted the world again, used Find The Culprit, and the issue still persisted with DFreds CE activated. Trying again without it activated - but quick question. Does it matter if I use the app version of Foundry vs. the Browser version for Find the Culprit, and is it behaving as expected?

hasty jackal
#

it is possible to create a DoT effect on an attack?like poison damage per turn

vast bane
hard sedge
#

I assume that's what is said down on the bottom upon startup: "Foundry Virtual Tabletop | Version 10 Build 291" - otherwise, I don't know.

vast bane
vast bane
hard sedge
#

Ah - misunderstood your question. 1.4.3, just installed it minutes ago.

vast bane
#

0_o

#

thats really abnormal

#

that is not the newest find the culprit

hard sedge
#

The version?

#

Strange.

vast bane
#

hit update in the menu

hard sedge
#

πŸ‘

hasty jackal
#

uhmm

vast bane
#

1.4.6 is newest

hard sedge
#

Just got that version now.

#

I will also have to reenable all my modules now /sadge

hasty jackal
#

sorry for being dumb but i dont understand the overtime stuff

vast bane
hard sedge
#

For some reason it seems that DFreds CE may be the issue here as it was the only non-required module that was activated with the issue persisting (and not active with a successful role). Going to reenable everything and will get back to you when I wrap up.

vast bane
#

cause even if I typed it all to you, even I have to go look at it from time to time or use the cheat sheet

#

overtime is a special active effect key that runs a setup at a specific point every turn of the owner

#

you have to enter in a bunch of lines like my cheat sheet has, someone just shared one for caustic brew above

#

the last line should not have a comma, if you look at my cheat sheet I shared above to you, it gives you all the options for you to copy/paste, if the option has a // in front then it can be omitted from your overtime as its the default

#

all of them are explained in the readme

hasty jackal
#

so i guess it should be something like this
flags.midi-qol.OverTime OVERRIDE turn=end,damageRoll=1d6+5,type=necrotic,saveDC=17,saveAbility=con,label=Blood Bost

hard sedge
vast bane
#

is the 5 in the damageRoll really suppose to be a flat 5?

#

WAIT, type= is wrong

#

damageType

hard sedge
#

DFreds is ver. 4.2.1, updating returns the same version πŸ€·β€β™‚οΈ

vast bane
hard sedge
#

Well now I'm further confused - reenabling DFreds and the function is working correctly - it is using a preapplied version of the effect though, will reapply and double check.

hasty jackal
#

kk

#

flags.midi-qol.OverTime OVERRIDE turn=end,damageRoll=1d6+5,damageType=necrotic,saveDC=17,saveAbility=con,label=Blood Bost

#

like this?

vast bane
#

the ae should have no boxes checked in the first tab of the AE, and then the item itself should have its range/target set to dictate who gets it

#

if its for some reason a self/self then do self/self otherwise 1/blank/creature(or enemy)

vast bane
#

I don't think active auras transfers spell level

hard sedge
#

Afraid not.

vast bane
#

phew

#

that does bring up a really good point for MrPrimate

hard sedge
#

Changing second drowdown to Apple CE and item effects from Apply CE, then look for Absent if not seems to function (more or less) as intended, though it does obviously duplicate the effect.

hasty jackal
#

like this?

#

this is the effect configuration

vast bane
#

you really should not do CE before AE unless you have dfreds as your mainstay premade module

#

actually I think CPR specifically checks the box if you have that setting

scarlet gale
#

I'm missing context here

#

What about CPR?

vast bane
vast bane
scarlet gale
#

ah gotcha

#

I reccomend using AE over CE

vast bane
#

me too

hard sedge
#

Would you suggest I return to CUB? Applying Item Effects before checking DFreds works as intended - a single status is applied, damage is rolled overTime until the save is completed, and status/concentration removed.

hasty jackal
hard sedge
#

To clarify - AE = item effects, correct?

vast bane
#

Cub conflicts with CPR

hasty jackal
#

and this is the feature configuration

scarlet gale
#

Not really conflicts, just not accounted for

vast bane
#

so features, spells, items, yada yada

hard sedge
#

Correct, spells and all that good stuff

#

Got it. Was going to say, that seems to have fixed my issue. Thank you so much for your help.

vast bane
#

if cub is managing ae's then I think macro.ce will mess up?

#

macro.ce won't have as many options cause it won't be set to replace or add

vast bane
#

you really shouldn't rely on dfreds for player sheet items

#

dfreds/midi is good for monsters with spellls or something

#

or cantrips

hard sedge
#

Is there an alternative? Or do you mean just creating a new DAE per item?

vast bane
#

create the ae on the item, draggingt the CE should have been the same thing but maybe I missed that it still treats it as a ce

hard sedge
#

It does seem to treat it as such, but using the Active Effects first in Midi seems to still work with the CE dragged effect

#

I think the only problem was that is was checking CE first, found the effect with the name and said "screw the active item effect" so it couldn't pull the local item level.

vast bane
#

gotcha so you should do AE before CE, and I will test the midi/ce thing now, thats a shame if that broke again

#

or maybe it hasn't been fixed yet 0_o

#

it was a thing during his vacation I think, maybe nobody posted it?

#

or we gave it to dfreds not realizing it was tposneys deal

hasty jackal
hard sedge
#

Exactly. It doesn't seem to be a CE/Midi issue specifically, just that Midi says it will only look for an Item Effect if it doesn't find a CE first --*with the CE before AE option.

hasty jackal
#

there

#

is the configuration ok?

vast bane
hasty jackal
#

yep

vast bane
#

effect evaluation true yada yada

#

@scarlet gale and @violet meadow I dunno why this has come back, but I thought tim fixed this: The fluff in reactions are throwing warnings in the console again, maybe clear out the fluff in reactions for your premades?

Apparently Which is a javascript function/expression?

hasty jackal
#

this?

vast bane
#

the big box yes, the half dam save box I think only works on the initial damage, if you want half dam save in the overtime theres a code for that to add

scarlet gale
#

midi really just needs it's own activation condition area that isn't the core description one

dark canopy
#

that isn't based on eval() 😱

vast bane
#

both absorb elements and shield have fluff that start with Which

hasty jackal
#

nah is just if the target fails he gets the dot

#

if not the target takes half damage and no dot

vast bane
#

its funny that its always reactions that have the fluff, and all these reactions have ae's

#

and they always start with Which

hasty jackal
#

now it worked, but can i add something like "if you use two points of resource the damage becomes 2d8"

#

or that is really hard and specific?

vast bane
#

anythings possible with macros

#

I'd look to how lay on hands does it

#

healing light in CPR is something similar I think

#

lay on hands is easier to dissect though

hasty jackal
#

yeah im trying to dissect the effect

#

okay cant find how it works

#

i dont understand how can i make something similar

hot flower
#

is there an easy one-line macro to remove concentration?

#

i've got this macro, which finds concentration, but isn't removing it. Removes all the other AEs though: ```js
// Remove all temporary effects from the selected token
let removeList = token?.actor?.temporaryEffects.map(e=>e.id)

console.warn("removeList:", removeList);
token?.actor?.deleteEmbeddedDocuments("ActiveEffect", removeList)```

vast bane
#

if its a dfreds CE use dfreds

#

he gives you a sample compendium of macros and in there is one you can retrofit

#

if the actor is always going to have concentration you can forego the if statements

#

if its not the owners document you need to use midi instead I think

hot flower
#

ah, yes, it does seem to be dfreds now that I dig into it.

#

thanks!

short aurora
vast bane
#

need to search the descriptions I think

short aurora
#

Caught me just before the correction, this should be pretty much a catch-all

vast bane
#

should also do names like iron golem, steel golem, all the drones, steel defender

short aurora
#

I'll leave that to them, technically I guess they don't wear armor and that's what Shocking Grasp hits. I kinda get that, I don't necessarily think Plate Armor is hurt by having lightning coursed through it, but liddle me inside definitely is. Later thought: wouldn't they just have given carte blanche advantage against constructs if that was their intent? Seems like their kind of design. More of a #tabletop-discussion tho'

#

It's "natural armor" system wise

violet meadow
violet meadow
short aurora
#

They had a line that looks like it was checking for shields, but the same property path also has a shield field if they want to expand

#

My Google says shield shouldn't count because wield != wear, but again back to #tabletop-discussion πŸ˜„

sudden crane
violet meadow
#

Yea need to use that more πŸ˜…

vast bane
#

I think when he fixed it he fixed it causing a stoppage so it still has the warning

#

I wonder if its possible to automate shield better. Could it have an activation condition for reduce all damage if the name of the damage is "Magic Missile"?

#

now that there is an istargetted reaction prompt?

tired cobalt
violet meadow
#

Brooch of Shielding. Waiting to check if the latest MidiQOL fixes an issue I had with some timings

gaunt python
#

Hi automation lovers. I'm looking at automating a pre-attack, reaction-based, target-swapping magic item:

"When a creature you can see attacks a target within 30 feet of you while you are carrying this magic shield, you can use your reaction to magically swap places with the target of the attack... The attack is made against you instead."
Would it be feasible to automate this, given the need to constantly check all eligible targets in range if they are attacked to then auto-prompt the reaction for the player wielding the shield, or should I just go with the usual "the monster is about to attack X, does anyone else want to react?" and just auto-animate the 'swapping places'?

vast bane
#

third party janky reaction with active auras but the larger the aura the laggier it will get and if your table already has lag without active auras it gets worse with active auras

#

I need an on use midi macro that finds the first shield in inventory and if its not equipped, equip it, if it is equipped, unequip it. Is this possible?

#

so a toggle like ability for their shield

#

wow, asked Chat GPT:

Don't leave chat GPT macros up unless they are vetted first
short aurora
#

It's wrong twice as fast

vast bane
#

well it only knows up to v9 foundry

#

was it right in v9?

short aurora
#

I only checked the first line; maybe? I don't recall a characterId in there, but I've never called for a user's character in that fashion

vast bane
#

I think I'm gonna make it an effect macro so the actor definition is simple to fix

#

on creation, will equip the shield, and on deletion will unequip the shield

#

that means I only need to do the actor.update lines

#

I am tying shield master to an item roll

short aurora
#

HAHAH careful running that macro, it just made all my items shields

vast bane
#

I will delete that macro

#

Heres what I need. I need to automate shield master AND dual wielder feat. I need 2 active effects that turn each other off. The first AE when applied will apply th shield master automation, equip his first shield in inventory and delete the other ae for dual wielder. Then I need the opposite, the dual wielder when turned on will run the ae for dual wielder and equip their preferred offhand sword and shut off shield master

short aurora
#

I'm currently fighting the filter system, so anyone else is free to pitch in

vast bane
#

I think I figured out how to use chat gpt better for this, instead of asking to write the whole thing I just ask it how to do parts of it

#

Its not midi so I'm moving to macro polo

#

cause its all effect macros

violet meadow
#

And some Fighting styles

vast bane
#

I'm gonna go check it out in a few here just finishing up some stuff, now that I kinow midi better I can revisit my advantage reminders on shieldmaster, clearly it should be supersaver.dex for half of it

violet meadow
#

Hmm I could add the Shield Master feat automatically too

#

Oh and now with the correct triggers can be 100% automated πŸ€”

vast bane
#

awwwwww, toggle effect disables the effect instead of removes it

#

I just wrote it all for deletion and assumed toggle would remove/add, instead it suspends/unsuspends

modern badger
#

ok, I've been converted

#

automated reactions, saves and optionals

tired cobalt
violet meadow
#

There should be an error in console which would be easily solvable with some optional chaining, would be my guess.

Does adding a ? after equippedArmor do it?

vast bane
#

I wanted to add to that activation condition to include creature names like "Anything with drone, iron, metal, steel in name"

#

add clockwork to that list

tired cobalt
#

Yes, now it works @violet meadow 😁

static sparrow
#

In a midi item macro, how do I get the spellcasting ability mofidifier used with a spell? (Tangentially, is there a list somewhere of everything you can get out of args[0]? The gitlab page wasn't much help.)

vast bane
vast bane
#

you should be able to just call the actor.s spellcasting ability modifier, might have to define actor if its not a selected/assigned actor

static sparrow
#

Well ideally I'd get whatever @clever carbon is for the item in question, right?

#

Oh heck, rip

vast bane
#

no cause @mod is a roll formula thing on items themselves

static sparrow
#

I finally did it, accidentally pinged MoD πŸ˜”

vast bane
#

you must use longform @abilities.x.mod in macros

#

in your case its one of the new things for spellcasting

#

coles post has it

#

If you really want a forehead slap moment hit down arrow when accidentally atting mod πŸ˜‰

#

(don't)

static sparrow
tired cobalt
vast bane
vast bane
tired cobalt
#

Thanks!

vast bane
#

I'm gonna throw a Tungsten Golem at you to really throw that shocking grasp for a loop.

tired cobalt
#

As Krig said, RAW the golem is not "wearing" armor.

vast bane
#

someone should make that activation condition though just to show to dnd5e channel so everyone can get a laugh at a mile long activation condition.

#

yeah but raw isn't fun and I treat my players like my kids, I say no once and when they beg I cave

violet meadow
vast bane
#

actor.system.attributes.spellmod.value would be the macro version if you have the actor selected or its your assigned actor and no selection. If its an item roll you have to define actor as args something.

#

Also spellmod is dnd5e 2.1+ I believe so if you are on an older foundry or 2.0.3, you won't see it

static sparrow
#

Unless 2.1 came out, like, yesterday, I should have it. Thanks to you both!

modern badger
#

trying to do this

#

would it be 2 separate overtime effects?

#

this will deal damage at turn start and prompt save at turn end right?

spice kraken
#

If you really care about the damage being at the start and save at the end, then yeah. Otherwise just pick up and use damageBeforeSave=true

vast bane
modern badger
#

why? .3.

#

is it damageType?

spice kraken
#

damageType

#

Look at the midi readme

modern badger
#

it says type in the midi wiki lol

#

had the same issue yesterday

vast bane
spice kraken
vast bane
#

the benefit of my cheat sheet is its designed for you to select/copy/paste so that typo's can't happen either

#

cause if I had a nickel for every damned time I capitalized the first letters of shit in foundry macros I'd be a rich man

vast bane
#

I suppose, but my goal is to avoid typos

#

Super is right about the damagebeforesave thing

#

I also attempted to do two overtimes in one ae and it was...messy and not functional

modern badger
#

:0

#

I mean

#

I did it and it works pretty well

#

it deals damage at turn start and saves at turn end

spice kraken
#

I do it for hunger of hadar and it works flawlessly

#

And that one has the item macro for an OT on a template

#

I also make sure those labels will include Turn Start and Turn End in there just so I know where it's coming from if there is an issue

modern badger
#

can u share ur hunger of hadar macro?

#

also I'm cracking my head open figuring out how to do this

#

first, overtime damage auras, second, figuring out how to check for 'enters for the first time'

spice kraken
#

Grease is one IIRC

vast bane
#

Shield Master and Dual Wielder feats

  1. Fill in the descriptions with your source materials.
  2. Requires Effect Macro, Midiqol, DAE, and optionally Advantage Reminder
  3. Edit the Effect Macros and replace the names of the items with the items your actor would want toggled equipped/unequipped.
  4. If you change the names of the feats, you must also change the names of the effects in the effect macros.
  5. The on toggle off effect macro is currently broken till I figure out whats up with midiqol. Do not suspend the effects(toggle with midi) or they will get stuck in a suspended mode
  6. These items are features so import over blank features.
#

if a guru wants to take these and gussy them up with a dialog prompt for shield and weapons go ahead πŸ˜‰

#

I personally went the easy route and defined the specific names of the items for the person I made them for.

modern badger
vast bane
spice kraken
#

I live and die by v9

modern badger
#

also, how the hell do you check for 'enters for the first time on its turn' for an aura?

vast bane
#

someone just made hunger of hadar and grease and dm'ed me let me see who it was

spice kraken
vast bane
modern badger
#

but macros are cool .3.

vast bane
#

template macro module exists to make this easier, but its not easy

spice kraken
#

If I could write macros in shell or python, I'd be a macro guru

modern badger
#

I mean I can do it from grease

spice kraken
#

But since idk JS yet, I keep it as simple as possible

#

If I need to change the spell a little bit to do something easily with an AE, I will

#

And if it's something I can't do with an AE and need a macro, we just do it manually

vast bane
#

@mellow fossil made grease and hungers of hadar the most recently.

#

I believe they also punted on first time entering and did end of turn like super and I

#

really only Chris and Bugbear deal in that sort of level of automation here

#

(and tposney since he did spirit guardians premade)

#

you could probably do it in effect macro fwiw if active auras properly transfers the actual effect document to the aura recipients

#

an on creation effect macro to roll the item minus the effect transfer

#

origin.use();?

#

wow I think I just solved when first entering...

violet meadow
#

This should do everything except for applying the "stronger" aura in case of multiple ones

vast bane
#

God this is ugly:

#

wheres Lukas when I need them

#

this is not a document link, its inline roll commands in VAE

modern badger
vast bane
violet meadow
#

Does CPR have it?

vast bane
#

I think chris was doing a cloudkill the same time you were doing SG

#

CPR does not have grease or hungers of hadar

#

I went through this exact scenario with Lionel yesterday and I helped them in DM's make a pseudo automation for it

modern badger
#

huhhhhh, don't see it o3o

scarlet gale
vast bane
#

the v9 grease is pretty janky but does everything minus the enter save

#

but if they stay in it, at end of turn it saves

modern badger
#

ok

#

I might give up on the 'first enter' automation

violet meadow
#

Both of the shared ones actually take care of the "first enter" but it's a bit tough to get it right at first

vast bane
#

For grease, it prmpts a save on roll, so if you can get an effect macro to roll the grease item with the right target args, it could be totally doable with a 1 liner effect macro on creation

#

you just have to mod the item before the roll to be a single target instead of place template

#

so probably not a 1 liner 8)

modern badger
#

ok, got it

#

how would I modify this for hunger of hadar?

#

I see no place to tweak the overtimes .3.

#

and it has nothing at turn start and end

violet meadow
modern badger
#

u ;3;

vast bane
#
Hooks.on("visual-active-effects.createEffectButtons", function(eff, buttons){
  if (eff.label === "Dual Wielder") {
  buttons.push({
    label: "Equip Shield",
    callback: function(){
      MidiQOL.completeItemUse(eff.parent.items.getName("Shield Master"));
    }
  });
  }
});
violet meadow
#

best practices as you said in Chris' discord πŸ˜„
Search for MidiQOL.completeItemUse(

#

oh I can see you had used that from the search results too πŸ˜„

vast bane
#

it goes before?

teal stirrup
#

Hey, how do I use the flags.midi-qol.advantage.ability.save.str flag in an effect

vast bane
#

updated?

spice kraken
#

Custom | 1

violet meadow
#

Seems better Moto!

vast bane
violet meadow
#

Yeah it should be fine

#

But what would the Shield Master Item use do?

#

equip the shield?

vast bane
#

they have complex effect macros when the item rolls and applies the ae's the ae's utilize effect macro to control which one is active at any given time and also specifically manages my paladin players offhand object

#

the buttons are meant to facilitate an easy way to toggle between them since midi's toggle effect feature is...well broken imo

#

if you set an item to toggle effect, it suspends it

#

and the suspend is abnormal, effect macro doesn't pick it up

#

So I leverage the VAE buttons

#

hopefully he sees the ping in chris's discrd and fixes it so I can employ the suspension catch in the effect macros

#

I don't ever want the two ae's on these feats to be suspended ever, so I put a deletion macro in on suspend for effect macro, but midi /shrug

#

I'm sure someone like you or chris could go in and put a dialog in them, but dialogs are the bane of my existance so I opted to just define the items directly lol.

teal stirrup
short aurora
pseudo bough
#

Hello , i got a problem with MIDI QOL module , i don't know why but some monsters get advantages , and others get disadvantage for no reason 😒

violet meadow
#

@vast bane πŸ˜„

I will need to style the dialog better 😩

#

(I hate the new discord preview ... )

violet meadow
short aurora
vast bane
short aurora
# tired cobalt If I wanted to check for multiple words, I should change ```js ("metal") ``` to...

Anything is possible since you asked for it, change the syntax for some instead https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some

The some() method tests whether
at least one element in the array passes the test implemented by the provided
function. It returns true if, in the array, it finds an element for which the provided function returns true; otherwise it returns false. It doesn't modify the array.

vast bane
#

the token vision is just highly likely but theres a few other hidden flags it can be, range disadvantage, flanking, and um.....something else are also hidden flags that only attribution shows

#

in the thread link I posted in the dnd5e channel is a link to two images I posted to explain how to turn on attribution

#

@scarlet gale @violet meadow do either of you use MATT with midiqol?

#

I honestly thought MATT handled args somehow but apparently it doesn't. How do you hand a macro tokens in a MATT trigger?

#

also what do you lose if you do item.use() instead of the midi completeItemUse()?

#

the only trigger options in MATT is run as DM or Run as triggering player

#

so if it affects many tokens it has to be DM which means it needs targets somehow

#

My first thought is to have it be triggering player and then run findnearby for the trap area if its an aoe? which means we're using the token.actor?

pseudo bough
#

Thanks you verry much , that was the same prob ( hidden)

#

i misunderstand your first message sorry ^^

vast bane
#

I can count on one hand the amount of times it wasn't the new hidden flag

violet meadow
vast bane
#

someone reached out to me asking for a solution to matt not using midi for damage rolls

short aurora
#

Dow workflow?

violet meadow
#

Do they want MidiQOL or no MidiQOL for MATT damage?

vast bane
#

they want midiqol for matt damage

#

My thought is to just use an avatar and roll the avatar's items instead of MATT but I can't believe midi/matt doesn't have synergy

short aurora
#

Create an ephemeral item and roll midi item workflow on it? I don't actually recall am example

violet meadow
#

You can use MidiQOL.TrapWorkflow() but will need some more context

#

Haven't followed that, but just saw it as a result

short aurora
#

Midi does have a good docs section on it, but never used Matt to see integration

vast bane
#

can you do a midiqol.completeitemuse() with no targets?

violet meadow
#

Yes

#

It will roll the Item as needed. If you have the MidiQOL settings set to need targets, the same will apply to the completeItemUse

vast bane
#

sorry I mistyped, I mean can you set a macro to run the complete item use without listening to the DM's current selection or target, like pass it as if they had nothing so it fires late targetting?

#

Trying to think of a way to utilize matt's triggering event and then run an item on the DM's avatar but if the Dm in that moment has something targeted or selected then it'll screw up I think

vast bane
#

I gave up on it

#

I do my traps as items on my DM avatar and then I use inline roll command buttons to fire them from my map pins

#

99.9% less macro, 100% more quick and simple reuseable prep

violet meadow
# vast bane Honestly I don't think matt is an efficient dm tool lol

I think that MATT provides the triggering token for a macro execute, correct? ```js
const targetToken = token; //change that to the token argument provided
const targetActor = targetToken.actor;
const pack = game.packs.get('dnd5e.spells');
const spellId = pack.index.getName('Fireball')._id;
const spell = (await pack.getDocument(spellId)).toObject();
spell.system.save = {ability: 'dex', dc: 15, scaling: 'flat'}
spell.system.preparation = { mode: 'innate', prepared: 'true' };
const trapItem = new Item.implementation(spell, { parent: targetActor });
new MidiQOL.TrapWorkflow(targetActor, trapItem, [], targetToken.document.center);

#

Instead of the Fireball spell, you can use another Item you want

#

In the [] you can provide targets

vast bane
#

is args.token all the tokens on the tile?

violet meadow
#

no idea

#

Its more of a placeholder for the correct argument

#

I have no idea what MATT provides for a macro execution

#

edited it a bit

#

edited again

vast bane
#

the guys over on monks server said that the way they get matt to work with midi is you don't do macro but instead use roll as an attack, whatever that means. Then midi picks up the item workflow

#

the thing I can't connect is Matt doesn't say how it feeds the args of the event, so we're left wondering how to define token

#

token as is, is what? selected or assigned actor

violet meadow
#

just put in the MATT macro ```js
console.log(args)

vast bane
#

if its run as the GM, thats going to be whatever the GM has selected when the trap fires for the player

#

if its run as the triggering player it will happen to just that player

#

Heres the other part of this though, its not me that wants to know, its just a user whose too shy to talk here lol, I get that alot with users

#

so I'm just the middleman, and in this case a middleman without MATT installed

#

I pinged the two of you cause I kinda sorta assumed one of you used it cause it seems like a hghly popular module and I just didn't have it

#

isn't midi's trapworkflow suppose to interact with trigger happy?

violet meadow
#

Could, but doesn't need to

#

let me check MATT quickly then

vast bane
#

I kinda feel bad now, I probably shouldn't have pinged you and dragged you into this, I could be doin this too, I was just trying to see if either of you use it in your sessions

#

shield master would need a dialog to put in a premade module, its too janky I think as is

violet meadow
#

OK this should work find with a Run Macro for the token that Enters MATT tile ```js
/* These are some of the predefined symbols
console.log(arguments[0]);
console.log(token);
console.log(actor);
console.log(tile);
console.log(scene);
*/

const targetToken = token; //no need but I had the rest as is...
const targetActor = targetToken.actor;
const pack = game.packs.get('dnd5e.spells');
const spellId = pack.index.getName('Fireball')._id;
const spell = (await pack.getDocument(spellId)).toObject();
spell.system.save = {ability: 'dex', dc: 15, scaling: 'flat'}
spell.system.preparation = { mode: 'innate', prepared: 'true' };
const trapItem = new Item.implementation(spell, { parent: targetActor });
new MidiQOL.TrapWorkflow(targetActor, trapItem, MidiQOL.findNearby(null,targetToken,20).concat(targetToken), targetToken.document.center);

#

It will explode a Fireball centered on the Token that enters the Tile.

vast bane
#

you could change this to a spell on an actor too if one wanted to store their traps on a avatar like I usually do

violet meadow
#

Yes

vast bane
#

I can almost see one making a Midi/Matt module like dnd5e animations is to automated animations lol

violet meadow
#

Get the Item however you need to and use that as the trapItem

vast bane
#

oh shit no forget actor, just make a trap compendium lol

violet meadow
#

That would be a way to go!

vast bane
#

My only gripe is that its going to further clutter my system macro folders lol

#

my current setup I don't even have to do a macro: I use inline roll commands to roll an item on my avatar

violet meadow
charred bay
#
    primarySpell.roll();
    let message = await primarySpell.roll({
        createChatMessage: true
    });
    debugger;
    let workflowId = message.getFlag("midi-qol", "workflowId");
    let workflow = MidiQOL.Workflow.getWorkflow(workflowId);
    let itemLevel = workflow?.itemLevel;
    message.update({ flavor: `Missile 1 of ${2 + itemLevel}` });
    message.render();
#

so, this works to roll my item and allow me to modify the flavor text

#

however

#

it leaves the config dialog open

#

anyone know how to close that/

violet meadow
#
const message = await primarySpell.roll();
const workflowId = message.getFlag("midi-qol", "workflowId");
const workflow = MidiQOL.Workflow.getWorkflow(workflowId);
const itemLevel = workflow?.itemLevel;
await message.update({ flavor: `Missile 1 of ${2 + itemLevel}` });
scarlet gale
#

Should likely just do a complete item use

charred bay
#

what does that look like?

vast bane
#

magic missile is properly written in w15's module

#

Sources of premade stuff for Midiqol:

Modules:
Midi Sample Items Compendium(comes with the module)

Midi SRD's compendiums
https://foundryvtt.com/packages/midi-srd

Chris' Module form of his macros:(CPR)
https://foundryvtt.com/packages/chris-premades

Dfred's Convenient Effects:
https://foundryvtt.com/packages/dfreds-convenient-effects

w15ps's Module
https://foundryvtt.com/packages/w15ps-srd

Macros:
Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros

Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros

Wiki:
Activation condition and other useful info:
https://github.com/thatlonelybugbear/FoundryMacros/wiki

charred bay
#

i can try the mod, but still want to learn

violet meadow
#

You were rolling the item twice

#

Did you try the one I shared above?

charred bay
#

didn't see it

#

trying

#

πŸ€¦β€β™‚οΈ

#

works perfectly now

violet meadow
#

Still you will be getting some deprecation warnings. Use .use() instead of .roll()

charred bay
#

i am still v9

violet meadow
#

ah OK!

charred bay
#

basically, i have a macro, where the first time you hit it, it casts magic missile. I have an item macro that creates a consumable with the remaining darts. Each time you click the macro it expends an additional dart.

#

i get that is probably not optimal, but i haven't started module development, only macros.

covert mason
#

I'm trying to create this item:

Magmasteel Axe
Weapon (battleaxe), uncommon

This axe has 4 charges and regains 1d4 expended charges daily at dawn.

Unstable Overheating. As a bonus action while holding this axe, you can expend 1 charge to ignite it, causing veins of searing magma to light up across its blade. While ignited, this axe sheds dim light in a 5-foot radius and deals an extra 1d4 fire damage to each target it hits. When you roll a 4 on this extra damage, the axe erupts violently, and each creature within 10 feet of the axe must make a DC 13 Dexterity saving throw, taking 2d4 fire damage on a failed save, or half as much damage on a successful one. After the axe erupts, it’s no longer ignited.```

by creating a custom feature that allows the user to "ignite" the axe by creating an active effect on the user, which edits the axe to add an extra 1d4 fire damage. Once the 2d4 fire damage happens, I'm looking to delete the extra fire damage on the axe and remove the active effect. Here's what I have so far.

```js
let actorToken = canvas.tokens.controlled[0];
let magmasteelAxe = actorToken.actor.items.find(i => i.name === "Magmasteel Axe");

if (!magmasteelAxe) {
  ui.notifications.warn("Magmasteel Axe not found in inventory.");
  return;
}

let effectData = {
  label: "Unstable Overheating",
  icon: "icons/svg/fire.svg",
  changes: [
    {
      key: `system.damage.parts`,
      mode: 0,
      value: [["1d8", "slashing"], ["1d4", "fire"]]
    }
  ],
  duration: {
    "seconds": null,
    "startRound": null,
    "startTurn": null,
    "endRound": null,
    "endTurn": null,
    "combat": null,
    "turns": null,
    "start": null,
    "end": null,
    "rounds": null
  },
  flags: {
    "macro.executeAlways": true,
    "macro.autoCheck": true
  },
  origin: actorToken.uuid,
  disabled: false,
  changesDuration: null
};

actorToken.actor.createEmbeddedEntity("ActiveEffect", effectData);

ChatMessage.create({
  content: `
    <div class="dnd5e chat-card item-card">
      <header class="card-header flexrow">
        <img src="${actorToken.actor.img}" title="${actorToken.actor.name}" width="36" height="36" />
        <h3 class="item-name">${actorToken.actor.name}</h3>
      </header>
      <div class="card-content">
        <p>Magmasteel Axe gains 1d4 fire damage</p>
      </div>
    </div>
  `
});

effectData.changes.push({
  key: `system.damage.parts`,
  mode: 1,
  value: [["1d8", "slashing"]]
});

let effect = actorToken.actor.effects.find(e => e.system.label === "Unstable Overheating");

if (!effect) {
  ui.notifications.warn("Active Effect not found.");
  return;
}

await actorToken.actor.deleteEmbeddedEntity("ActiveEffect", effect.id);```

What's the correct function here?
vast bane
#

createEmbeddedDocument I think

#

Entity is v8 or 9

knotty sparrow
#

I do have "About Time, and "Times Up" installed along side Midi QoL @vast bane

vast bane
# knotty sparrow

you don't want this involved at all, what exactly is your problem, the template stays after the fireball?

#

show me the details of "fireball" on the item

knotty sparrow
#

Yeah, basically the fireball template showing the radius stays after the actor casts it

#

the AA details? Sorry am slightly confused

vast bane
#

show me the details of fireball item

#

not aa

#

the actual item on the actor thats a spell, details tab

knotty sparrow
vast bane
#

details tab

knotty sparrow
#

would that be under the configure setting?

covert mason
#
let actorToken = canvas.tokens.controlled[0];
let magmasteelAxe = actorToken.actor.items.find(i => i.name === "Magmasteel Axe");

if (!magmasteelAxe) {
  ui.notifications.warn("Magmasteel Axe not found in inventory.");
  return;
}

let effectData = {
  label: "Unstable Overheating",
  icon: "icons/svg/fire.svg",
  changes: [
    {
      key: `system.damage.parts`,
      mode: 0,
      value: [["1d8", "slashing"], ["1d4", "fire"]]
    }
  ],
  flags: {
    "macro.executeAlways": true,
    "macro.autoCheck": true
  },
  origin: actorToken.uuid,
  disabled: false,
  changesDuration: null
};

actorToken.actor.createEmbeddedDocuments("ActiveEffect", effectData);

ChatMessage.create({
  content: `
    <div class="dnd5e chat-card item-card">
      <header class="card-header flexrow">
        <img src="${actorToken.actor.img}" title="${actorToken.actor.name}" width="36" height="36" />
        <h3 class="item-name">${actorToken.actor.name}</h3>
      </header>
      <div class="card-content">
        <p>Magmasteel Axe gains 1d4 fire damage</p>
      </div>
    </div>
  `
});

effectData.changes.push({
  key: `system.damage.parts`,
  mode: 1,
  value: [["1d8", "slashing"]]
});

let effect = actorToken.actor.effects.find(e => e.system.label === "Unstable Overheating");

if (!effect) {
  ui.notifications.warn("Active Effect not found.");
  return;
}
await actorToken.actor.deleteEmbeddedDocuments("ActiveEffect", effect.id);```
Appears to be giving me this error now.
knotty sparrow
#

my bad πŸ€¦β€β™‚οΈ

vast bane
#

I think its [{

knotty sparrow
vast bane
#

@covert mason
actor.updateEmbeddedDocuments("Item", [{_id: item.id, "system.equipped": false}]);

#

I was told to make the object an array by wrapping it in these combo's of brackets

vast bane
# knotty sparrow

I'm gonna chalk all this up to conflicting modules and weirdness, delete the template and recast after ctrl F5 and tell me if the issue persists

knotty sparrow
#

Hmm issue still persists

#

I did a encounter, and advanced the rounds/turns, even ended combat and the template still stayed

vast bane
#

how is your ingame clock progressing?

#

The fastest way to sus things out is to install find the culprit and run it, but you need to sus out what you want first, do you want midi automation to handle your templates or do you want automated animations to? if you want midi, then shut everything off and just leave midi/socketlib/libwrapper/dae/times up/and your clock manager module active

#

smalltime or simple calendar

knotty sparrow
#

@vast baneYeah I have simple calandar

#

Can auto animations handle templates just fine on its own? Is this maybe a case where I have two mods that are essentially doing the same thing?

#

Because if AA can just do templates and remove them on its own, then I'm fine with not utilizing midi; I just was led to believe you need midi to help with AA for some things

vast bane
#

your problem is that nothing is deleting it, usually the problem is that aa is deleting midi's automations too early

knotty sparrow
#

haha ok, well then

#

Let me do what you suggested and disable all but those ones in that list

vast bane
#

on that fireball above, click the aa button on the top bar is it using the global auto recog?

knotty sparrow
#

yes

#

It says its matched to GAR

vast bane
#

what version of midiqol, dae, socketlib, libwrapper, simple calendar, and times up are you on, and throw AA in for the hell of it

#

version numbers

knotty sparrow
#

midi = 10.0.36
dae = 10.286
socketlib = 1.0.12
libwrapper = 1.12.12.0
simple = 2.1.80
AA = 4.2.45
D&D5e Animations (AA adon) is 1.2.1

vast bane
#

dae is the wrong numbers

#

what is times up version

knotty sparrow
vast bane
#

dae is off, are you mid test?

knotty sparrow
#

10.0.4 for times up

vast bane
#

if you want midi to handle template removal it needs dae enabled

knotty sparrow
#

ok, so I need to update dae then?

vast bane
#

nope its fine as is

#

you should only disable yellow 9's not yellow 10's

knotty sparrow
#

alright let me relaunch, then test with just those mods suggested

#

@vast banedo I need About time active as well?

vast bane
#

imo people only need about time if they literally know what it does and know they need it

#

otherwise half the time people have it cause they think its Times Up πŸ˜‰

knotty sparrow
#

ah ok

#

Yeah I thought both were needed together

vast bane
#

times up gives us yummmy automation in dae/midi for special durations and expires aes. About time has to do with running macros based on time delays

#

I think

knotty sparrow
#

Well, with those active, that did remove the template

#

so midi did handle it

#

when time advanced

#

maybe about time is the culprit? πŸ€”

vast bane
knotty sparrow
#

yeah, thats the thing, I dont think it was off

#

but we'll see here in a sec

vast bane
#

dae is not listed as a dependency for midi but...it is

knotty sparrow
#

So, AA not the culprit, midi still removed after test

#

You know, im noticing, and wondering, maybe I forgot to roll the fireball damage after advancing clock

#

cuz the template doesnt remove until after damage is rolled

#

@vast bane I think this one may just be user error. Sigh. Thank you! I reactivated everything, and tried final test and its working perfectly now

vast bane
#

if you leave aa deleting random templates eventually when you upgrade to more midi automation aa's gonna be a culprit for a bunch of breakages

knotty sparrow
#

Sounds good; I'll leave it to midi πŸ˜›

#

Is it fine with AA doing it to spell templates? Cuz right now it looks like the AA default option is to remove templates on spells like fireball for example

vast bane
#

its probably dnd5e animations fault not AA

#

cause I totally had all mine set to not remove, then I installed dnd5e animations lol

knotty sparrow
#

Ah ok, glad I'm not the only one, cuz yeah that's a lot of animations to go through and turn off. So far though it doesn't seem to be causing any problems

static sparrow
#

Can you use spell level in a spell’s active effect? Like Ashardalon’s Stride, which increases movement speed by 5 + 5 * spell level.

spice kraken
#

@item.level

flat gazelle
#

btw thanks for that, I took that part and applied it to all relevant spells my players have. it is sooo nice

charred bay
#

Is there an easy way to have a spell template automatically get removed after casting, or after your turn ends?

violet meadow
charred bay
#

looking

#

must not have been in v9

#

i am clearly going to have to work on converting to 10

#

πŸ™‚

gilded yacht
gilded yacht
# charred bay must not have been in v9

v9 is way behind what is in the v10 version. Really is time to convert (provided you have many minutes/hours to spend on it). Worth doing cause v11 is just around the corner....

charred bay
#

Is v11 going to be another let's break the APIs release?

molten solar
#

Yesno

echo shoal
#

Okey... Hopefully this is the right channel... I am going to copy the message again πŸ˜…

#

Is there a way to apply the status "asleep" when cast sleep on top of some enemies? The thing is that my template select's the enemies but applies damage and not the actual effect. Basically what I am looking for is something to calculate which wnemies are affected by the spell (base on the roll) and then add the status on them. Thanks!!!

vast bane
#

Pretty sure Compendium folders module is going to see almost its whole scope absorbed in v11

short aurora
#

@violet meadow Hey bugbear, do you think it'd be feasible (and allowed) to list features on the wikiβ„’ and then list which modules/automations are available for them? Moto's list is great and should stay, but it is so often a person comes in and asks "how do I do <x> feature" that I wonder if we'd save ache by having a searchable index

#

We can always skip out of keeping it updated by just listing when the feature was added, so if someone comes in the far distant future, they can't complain it's outdated 'cause we wrote "for version 143 of dnd5e"

vast bane
#

Has anyone touched v11 that can confirm if the new folders have the same functionality as CF has? can you right click a folder and choose to export its whole structure?

#

also can you drag directly to a folder or is it like CF where it lands in the root and then you have to do a second drag inside the compendium?

vast bane
#

If someone has CPR and Midi SRD installed, its honestly really easy to check for someone when they are asking if theres a premade, the hard ones to find are crymic/mrprimate's premades cause they are in github repositories

#

I wonder if bugbear/chris have something in their raw dev branch that can list off names of their stuff that they can feed a link to

short aurora
#

I definitely think that, until the wik's pretty up to date, there's a huge workload, yeah. In the future once things are and me-not-having-thoroughly-checked-github-actions, I wonder if it can't be automated partly

#

I know some users have the dream of all developers joining hands and making one automation module to automate players out of being needed, but until then, I think a list like that would be super helpful for users and a little for developers, if they want to offer alternatives. I'd gladly pitch in to try and help maintain, buuuut not before making sure that's something bb thinks is cool πŸ˜…

violet meadow
vast bane
#

I honestly ponder if chat GPT could write me a list and then i could just amend them

bold rockBOT
#
Running Alternate Versions of Foundry VTT

After a release we hope to get feedback from users excited about the features of Foundry VTT's latest version. However, this often leads to users forgetting to backup their worlds and ending up in a situation where they have not protected their data properly!

The awesome @proven girder has assembled a video on how to safely try alternate versions of Foundry VTT, and released it through our partner Encounter Library.

Using Other Versions

Check out the video guide on how to run additional versions of Foundry VTT.

Don't forget to backup your data!
USE ?backup FOR MORE INFORMATION!

spice kraken
#

Moto ^

vast bane
#

its how I yoink out midi srd v9 premades

#

not that bugbears v10 is lacking, its just that theres a few things in the midi samples in v9 and midi srd that I liked that utilized ATE

violet meadow
vast bane
#

I actually like the v9 spiritual weapon better than the v10 one in the samples

vast bane
spice kraken
vast bane
#

I really do intend on adding to your wiki, I think it'd help us all

short aurora
# violet meadow Can you give me a structured example of how you think that would look like?

Pages/sections of pages with feature names divvied up into categories. Like illegal sites with descriptions and whatnot, here it's literally just the spell name and then repos. I don't even think we'd need to link directly to where on the repos/modules, leave the detailed instructions to the developers.

Search "Light" and the Cantrips pages comes up or something with just "Light - Midi SRD, thatlonelybugbear's private repo" etc.

vast bane
#

My idea was to do the spells first, just list them all alphabetically and then to the right a link to the location of what module or github has a premade for them, no sensitive copyright materials at all, just who made it

violet meadow
#

I can do that for the MidiSRD spells included in the next release

#

But I would want help with CPR or others

vast bane
#

actually, can we list the special name? Example: Can we say Tasha's Hideous Laughter or do we have to say Hidious Laughter if we aren't using any of the description or functionality of the spell in a list?

short aurora
#

Anything DnD specific and the word got to be axed, I think the mansion spell and hideous laughter is an example

#

Or at least that's what I've seen from other publications

#

I'm game for helping out, hopefully it encourages others to tag along

#

I'll do the forking thing so it's easier to merge

violet meadow
#

Well I am not sure about what would listing nonSRD spells links in the WIKI would actually mean for displaying it in here as a pin.
Maybe a mod could help with that dilemma

short aurora
#

Yeah, Mordenkainen's Magnificent Mansion is just Magnificent Mansion in the SRD.

#

I'm hoping with just the title and no DnD specific terms, no descriptions no nothing and no linking to copyrighted material, it'd be ok

vast bane
#

I asked about the names over in the other channel where the moderators hang out

#

yeah it don't wanna work, I can't figure out how to fork just the wiki

#

I forked your foundrymacros, it gave me everything but the wiki

#

I hit create first page, I get NO error, and then I get no wiki after that when I am following the instructions