#MidiQOL

1 messages · Page 49 of 1

vast bane
#

I don't automate darkness at all other than an animation. 99% of the time everyone is rolling straight anyway as I don't have a warlock in the party

errant cosmos
#

I added this "Description" to the "Shield Bash" item:

Target one enemy within 5' and roll your Athletics opposed by their Acrobatics. If you succeed, you may either shove that enemy backward 5' or knock them prone.

You may only Shield Bash a creature that is smaller than you or up to one size category larger.

vast bane
#

Shield bash is technically a non srd feat, Shield Master

#

Its also Shove

errant cosmos
# vast bane I deleted the description because when we share things here like that, the moder...

I need to talk to the moderators about that. "Descriptions" cannot be copyrighted and are not copyrighted by WotC. Rules systems and procedures are explicitly excluded from copyright. What can be copyrighted are creative works of authorship, like stories, novels, movies.

In addition to WotC's descriptions not being protected by copyright, you yourself are welcome to write your own description.

The belief that descriptions are WotC's IP is incorrect. I am happy to introduce the mods to a pro-bono lawyer to discuss the topic.

errant cosmos
#

*In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work. 17 USC 102(b) *

#

So the narrative story of "Curse of Strahd" can by copyrighted, but a procedural description of how a vampire lord attacks is explicitly excluded from copyright.

#

And bonking someone with a shield, with no narrative "authorship" of any form, is also excluded.

vast bane
errant cosmos
#

For now, know that you can write your own descriptions. Don't copy WotC's text. As long as you're creating your own description you're golden. The technical legal term is your own "selection and arrangement of non-copyrightable material."

vast bane
#

Typically the only thing they ask is to remove the descriptions

#

yeah thats ok too

#

but mine was the official wotc one

errant cosmos
#

I'm less clear on whether a word-by-word copy of their text would be permissible, but I agree it is safest not to run afoul of the moderators or of WotC. 🙂

#

Thank you for the Shield Bash macro... I got MTB installed and tested it and it's great. 🙂

#

My Paladin will thank you

vast bane
sharp knoll
#

What's the end goal, do you want the Template to remain, be transparent, and have a Sequencer effect playing?

vast bane
sharp knoll
#

ah

vast bane
#

I use both AA and tmfx so if you are pondering it I'd love that too!

#

Pretty sure the reason why we all don't want tmfx's graphics is cause we're all using Jb2a/sequencer/AA lol

sharp knoll
#

lol, can't promise anything but I'll take a look and see if it's something I can add to make the templates at least transparent (remove grid squares)

coarse mesa
#

Nailed it… TMFX is just a catch all for anything undefined for me (by damage type)

vast bane
#

the only other module I can think of that might have scope in this would be maybe the successor to dnd5ehelpers, I'm guessing simbuls

pine forum
#

yeah: when a graphic/animation is present the template boarder and coloured highlighting not be visible but the highlighting squares showing up on hover

vast bane
#

Whatever happened to SIFT?

#

didn't SIFT do this in v9?

errant cosmos
#

I didn't realize that TMFX and AA are in conflict. I've been using AA and just installed TMFX this week

vast bane
#

they aren't in conflict, the templates just look really ugly when both are active

scarlet gale
#

They don't hard conflict

errant cosmos
#

BaileyWiki made some super sweet macros for TMFX

vast bane
#

TVA has some amazing synergy with TMFX

errant cosmos
#

TVA?

vast bane
#

Token Variant Art

#

also Aedif has the module Mass Edit, and theres a macro that comes with Mass Edit I think that is a tmfx token filter editor and its absolutely amazing

errant cosmos
#

Mass Edit is cool. 🙂

vast bane
#

pretty sure its in mass edits module

vast bane
#

@hoary reef I don't know the exxacts but I do know that most folks use Effect macro with midi for most turn based active effects now thanks to zhells hooks in the module

sharp knoll
coarse mesa
violet meadow
# vast bane Whatever happened to SIFT?

Last time I checked all the repos had been purged.

I had found an older version and repurposed it to make a functional installation out of it and play around in v10.

coarse mesa
white turtle
#

Can I use midiqol to set the initiative of a companion (artificer's homunculus) to always be, for example 0.1 lower than another specific actor?

vast bane
white turtle
#

it's not a big deal or anything but was just looking if I can make it so the player can actually move their own companion on their turn instead of needing me to do it

vast bane
white turtle
#

oooh right, thank you very much

vast bane
#

theres a setting that lets you move all owned tokens on a turn but I never got that bugger to work so I just turned off locked movement entirely

white turtle
#

I'll experiment around a bit see that feels most natural, but thank you!

cerulean phoenix
#

what's the damage type thing for temp hp/healing? 2d8[???]

cerulean phoenix
uncut citrus
#

Hey guys, anyone have a good automation settings for midi-qol?
for some reason i cant do the aoe atacks auto damage

vast bane
#

gonna need some clarification, what exact feature/spell/attack are you trying to do

uncut citrus
#

someone can share a midi-qol sttings in json file to I import

vast bane
#

sharing that is akin to nuking your midi, I would not go crazy like that

#

what feature, atttack, or spell is giving you issues

vast bane
# uncut citrus someone can share a midi-qol sttings in json file to I import

Also you sound new to midi so we should probably clear up this issue that you might be dealing with:

Midi does not work with:

Ready Set Roll
Better Rolls for 5e
Roll Groups
ANything with "Fast Rolls" in its name
Dice Tooltips
Gm Paranoia
WIRE
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage```
uncut citrus
uncut citrus
spice kraken
#

That is 100% a problem

#

Especially if you're on v10

vast bane
#

But also you should go through your modules and clean up compatibility issues. Alot of modules did not properly convert to v10 and require you to sus out whether they are indeed stuck in v9 modes or were abandoned, if any module is v9 or lower yellow compatibility you should remove them, if they have a v10 alternative you need to uninstall and reinstall. The Update button in the addons menu is unreliable after a v9 to v10 update sadly, the update got really screwy with module authors and some break that button when going from v9 to v10

#

If you have BR in v10, you clearly have not gone through and cleaned up your modules for v10

uncut citrus
#

better rolls really is the problem

#

I have another question if I may ask. Attacks are all being rolled automatically in advantage. I finally found a configuration that I like and I'm afraid to try to change something and ruin it, because unfortunately English is not my native language. Could you explain to me how I disable the automatic advantage?

vast bane
#

that sounds very not midi to me

#

can you show me what chat looks like when you roll?

uncut citrus
vast bane
#

those look like 2 attacks at normal to me

uncut citrus
#

oh, really?

opaque current
#

Left is attack, right is damage

uncut citrus
#

oooh, my mistake

vast bane
#

Yeah you have merge cards turned on which is a good thing, merge is a popular feature

uncut citrus
#

i feel dumb now hahaha thanks again guys

opaque current
#

Happy to help

vast bane
#

the rolling two d20's is one of the biggest things that made people turn to ready set roll and abandon midi fwiw

#

so if thats one of your hiccups you have to learn to live with managing your d20 rolls in midi instead of just blindly tossing 2 each attack and picking the right one

#

You can either turn off fast forward and use the popout windows for managing advantage/disadvantage and crit/normal or you can rely on midi's automation to guess at what the roll should be and/or use the keybindings for advantage/disadvantage

uncut citrus
vast bane
spice oracle
#

Greetings 🙂 has anyone played a class with a toggled feature and can speak to how well they automate? Astral Monk lets you use your WIS modifier instead of STR for Strength checks and saves, and I'm curious if that can be automated

hoary reef
#

Now i'm wondering if i can make an effect that applies it at the start of every turn...

violet meadow
#

Yes you can.
What Lukas showed will make a macro execute at the start of the combatants turn. In that macro you can add the displacement effect again if not already present

#

This is the macro I use to add the effect when needed. Mind you I have created a DFreds CE which handles the relevant part of disadvantage MidiQOL flags. ```js
const lastArg = args.at(-1);
const uuid = lastArg.tokenUuid;
const hasEffectApplied = game.dfreds.effectInterface.hasEffectApplied('Displacement cloaking', uuid);
if (args[0]==="on" || args[0]==="each") {
if (hasEffectApplied) return;
else return await game.dfreds.effectInterface.addEffect({ effectName: 'Displacement cloaking', uuid });
}
else if (args[0]==="off") {
if (!hasEffectApplied) return;
else return await game.dfreds.effectInterface.removeEffect({ effectName: 'Displacement cloaking', uuid });
}

#

A DFreds CE named Displacement cloaking in my case

hoary reef
#

I made a CE called Displacement
Just editing the name in that macro doesn't do it i'm afraid

violet meadow
#

You need to create a DAE on the Cloak of Displacement item. Something like this

hoary reef
#

OHHHHHHHHHHH

#

Create it on the item

#

Got it

violet meadow
#

Then the DFreds CE should be something like this

hoary reef
#

Yeah, i made it by editing a copy of Dodge to figure out how to make disadvantage work

#

Is there a way to make the midi QoL damage cards visible to players?

violet meadow
#

Play around a bit to see if any of the options do it for you

hoary reef
#

Yeah, that shows me the card

#

I wanted players to see it as well

violet meadow
#

The Show a players' damage card should do exactly that

#

Choose show player and npc results

drowsy crow
#

Hello.

violet meadow
#

@drowsy crow const damageDealt = args[0].damageList[0].appliedDamage

#

You can use that as a script macro, called by the onUse MidiQOL field, After Active Effects

drowsy crow
#

Yes, that worked!

#

Thank you so much!

hoary reef
#

Actually, what that does is show a damage card when a PC gets damaged. In fact i have it on by default.
I always go for showing everything whenever possible

violet meadow
#

I do not recall any options to make the GM card appear. A macro could do it by changing that to be visible to all after it is created

#

A world script to be precise

verbal tide
#

Hey, I have a questions. I have Midi QLL and was wondering is there a way to keep things automated, but make it so when you click the attack button it first gives you query for Advantage/Disadvantage? Cuz currently that doesn't seem to be an option, even in the workflow.

spice kraken
#

I think if you hold T before a roll that comes up (maybe?)

#

If it's not that, check keybinds. There might be an option there. Otherwise someone else is gonna need to pick up helping cause I won't be near my PC till Sunday

verbal tide
#

Fair enough!

vast sierra
#

For GM's

#

for Players

spice kraken
#

Oh I misread. Yeah, so what Mythano showed

vast sierra
#

The T is for if you have those checked, and dont want to auto fast forward. If want off all time, then the screenshots 🙂

verbal tide
vast sierra
#

(I dont automate rolls, or damage, so couldnt tell ya ... but guessing it will still work, just requires player input before carrying on)

verbal tide
#

I set checkboxes as you showed, but it still doesn't allow for it and simply creates this kind of box. Is there a way for it to not make a box and just immediately give you a pop up which allows you to choose Adv/Dis?

#

Or are there any other rolling modules that could simplify it that way?

spice kraken
#

Well if you have those boxes checked, you could hold alt (adv) or ctrl (dis) and it'll do that accordingly

#

If you wanna go the route of another roller module, then you can't use midi

verbal tide
#

hmmm....

#

I see

#

and what are some other options?

spice kraken
#

Although there are v9 modules on that list so do research first

verbal tide
#

Alright, will go check it! Thanks!

spice kraken
#

What all do you use midi for?

verbal tide
#

Mostly for some small neat things like concentration tracking more neat rolling, bleeding effect and thats about it.

#

Still kinda new to VTT

opaque current
#

This will give you what you want

verbal tide
#

Alright!

verbal tide
#

Thanks!

short birch
#

I know this has been asked a bunch of times but what is a good way to do artificer infusions? I gave my player a +1 shield to emulate one of them but is there a drop down menu macro floating around? Foundry v10 D&d 5e, dae, times up, Babonus, CE, item macro installed

spice kraken
#

So just +1 to AC?

short birch
#

Well he has 3 infusions I’ll message him and find out

spice kraken
#

Sounds good. Don't post the full description of the infusions since they're not srd, but just the jist of them

short birch
#

Ok thanks

opaque current
#

I create an item for each infusioj and mention in the title whether it is currently "active" burt honstly its a tough one to do well

spice kraken
#

Yeah, I have an artillerist in my game. Fortunately he's picked easy ones so far

#

And the hard ones we just do manually

vast bane
#

if you can get a macro guru to work on it you could make it all a dialog item macro single item

weary rune
#

is it possible to customise the template flags after placing template in ItemMacro? ie after calling AAhelpers.applyTemplate(args); and then do something like this.effect.color=0.5 ?

violet meadow
weary rune
violet meadow
scarlet gale
#

Midi args also has the template ID in it

weary rune
#

Mainly not sure how to modify it

violet meadow
vast bane
#

Could you fill the color with transparency instead?

#

As in no color?

violet meadow
#

Not exactly. fillColor:null defaults to black iirc

#

You will need to turn the highlights off

scarlet gale
#

You can also remove the fx flags if that's what you're aiming for

vast bane
#

I'm just trying to think of a way to achieve the tmfx setting we all want but can't use due to automated animations and tmfx animations looking ugly when combined

scarlet gale
#

Remove the tmfx flags

vast bane
#

wouldn't that also stop the hover thing?

scarlet gale
#

¯_(ツ)_/¯

vast bane
#

yeah I think we just have to wait and see if Otigan manages to figure it out for AA

violet meadow
#

Try this @vast bane ```js
canvas.grid.getHighlightLayer(MeasuredTemplate.${canvas.templates.placeables.at(-1).id}).visible = false;

#

If you reload it will be shown again though

vast bane
#

I told myself I wouldn't do this ever again but here I am 800 walls in 7 levels made.

rancid tide
#

Hello I'm having this error from a macro like this, the second item that the mixedItems.obj_secondItem reference is a flag that has a duplicate of an item that no longer exist, I think that's why I'm getting this error but idk how to make it work regardless.

let lastArg = args[args.length-1];
let mixedItems = args[0].itemData.flags.dae.originalMixedItems;
let targetUuidsArr = [];

console.log("\n\nMIX, mixed items =>", mixedItems);

if(lastArg.item.system.save.ability){
    if(lastArg.failedSaveUuids.length === 0) return;
    lastArg.failedSaveUuids.forEach((targetUuid) => {
        targetUuidsArr.push(targetUuid);
    });
}
else{
    if(lastArg.hitTargetUuids.length === 0) return;
    lastArg.hitTargetUuids.forEach((targetUuid) => {
        targetUuidsArr.push(targetUuid);
    });
}
if (targetUuidsArr.length === 0) return;

const options = {
    showFullCard: false,
    createWorkflow: true,
    targetUuids: targetUuidsArr,
    configureDialog: false,
    versatile: false,
    workflowOptions: {}
};
const item = new CONFIG.Item.documentClass(mixedItems.obj_secondItem, { parent: actor });
await MidiQOL.completeItemUse(item, {}, options);
#

The key the error reference is the key of the obj_secondItem in question btw

vast bane
#

I get that error all the time with active auras and its just telling you that its trying to do something to a nonexistant document

rancid tide
#

Doesn't it need to be an object for it?

#

I've made it work with simple objects before via CONFIG.Item.documentClass

scarlet gale
#

What are you trying to do? I've never seen the original mixed items thing used

rancid tide
vast bane
#

is it like the EGW magic items that evolve?

rancid tide
#

I don't know what that is sorry

vast bane
#

Magic items that gain in potency as you accomplish things for them

#

The vestiges of divergence from Explorer's Guide to Wildemount

rancid tide
#

Sorta I guess? It's more of a feature that combine the effects of two different weapon items

#

Like idk I have Alchemist's Fire mixed with an Acid bottle that deals 2d6 acid damage

#

So I mix the two items and get an item that has the active effect of Alchemist's Fire plus the damage of the bottle of Acid

#

that's why I use await MidiQOL.completeItemUse(item, {}, options); to roll the second item

#

But idk why it doesn't work CONFIG.Item.documentClass(mixedItems.obj_secondItem, { parent: actor }); worked with objects that I created inside the macro, so idk why it doesn't work now

#

Maybe mixedItems.obj_secondItem isn't an object? How do I make sure?

weary rune
# violet meadow if you have the `template` you can do something like ```js await template.docume...

thanks that works and I worked out how to set perfect-vision to block sight as well. Here's an ItemMacro in case anyone needs it. Requires perfect-vision and tokenmagic and maybe active auras too?

   `if (typeof args !== "undefined" && args[0]) {
if (args[0].tag === "OnUse") {
    // set up template effect
    AAhelpers.applyTemplate(args);
    await this.templateData.document.update({
        borderColor: "#23ff17",
        fillColor: "#6ba36c",
        texture: "modules/tokenmagic/fx/assets/templates/black-tone-strong-opacity.png",
        tmfxPreset: "Smoke Filaments",
        tmfxTextureAlpha: 0.35,
        tmfxTint: "#68b064",
        flags:{'perfect-vision':{sightLimit: 0}},
    });
    //console.log(this.templateData);
}

}`

astral wren
#

Need help trying to get a weapon to function in a particular way. I have created this magical weapon for one of my players. 3 times per day, she can activate it when attacking to add the following: Chill the target, (basically reduces movement speed by 50% and imparts a -4 to hit when they attack next)...these apply for only one round of combat. I've successfully created the active effect and added it to the weapon. What I WANT to do, is now only apply that active effect if the user wants to, and if so, reduces the use count by 1.

As it is now, it applies the active effect every time she hits with it. I tried to go into the Details Section on the weapon and indicate Limited uses to 3 per day, resets daily. But Cant seem to get it to no apply the effect automatically.

Any help/suggestions on how I should be handling this will be greatly appreciated! 😄

vast bane
#

its in the readme though

#

the modification to movement speed you probably want to set higher than the default priority cause alot of modifiers to movement speed are out there in ae's.

#

My issue with these sorts of things is that it prompts every time they attack, I personally would just make them document links in an advantage reminder cause I don't fast forward

#

I don't do optionalname macros cause when you don't fast forward you are literally adding another prompt to the workflow and people don't like too many popupls in workfows

astral wren
#

👍 I'll check the priority I used, but the AE is working great when applied. I just don't want it ALWAYS applying.

vast bane
#

you need it to be an optional.name.macro key kinda like the premade for indomitable, look them up in the readme its pretty easy to setup

astral wren
#

I guess, I can either keep just removing the effect, or create a Convenient effect that applies the effect and manually add it when she indicates she wants to use one of the uses.

vast bane
#

or look up bugbears divine smite

astral wren
#

I'll take a peek.

vast bane
#

I dunno if midi's divine smite premade is an optional name macro

weary rune
#

I'm having trouble trying to apply multiple effects but maybe it's because Overtime breaks that?
Only the last Effect in the list applies to the token.

vast bane
#

This is what indomitable looks like @astral wren

#

this is obviously not what you want but its similar, find the section in the midi readme for attack modifiers and you can use this setup for that instead

vast bane
errant cosmos
vast bane
#

its very rare that a v9 module is functional in v10 but they do exist

#

I can count mine on one hand

#

Mobile Improvements, Jb2a, and Touchvtt

sharp knoll
#

The templates are weird. You can completely destroy the Highlight layer for them, but they'll always return on a refresh

errant cosmos
vast bane
errant cosmos
#

Thank you for the tip.

vast bane
#

Its not that the modules are broken, its that the module authors kept functional v9 and v10 branches and there were issues and now folks have to manually bump everything over to v10

errant cosmos
#

I considered just making a new clean Foundry game world and starting with all good stuff. Over the past year j have installed and uninstalled dozens of modules.

vast bane
errant cosmos
#

But I’m worried my characters will lose their inventory and all the monsters and feats and macros you and others have helped with…

vast bane
#

and I had absolutely no problems at all cause of this

#

I can't tell you what can and can't happen, but that stuff sounds like it could easily be solved by simply backing up before you update

#

you should be backing up constantly anyway

errant cosmos
#

I back up weekly

#

And okay weekly.

#

(Play)

#

Yeah. I’m nervous about losing all kinds of tweaks I’ve made. Starting fresh is appealing and scary.

coarse mesa
# sharp knoll something like this workable?

That’s really impressive! The feature we’re all missing in v10 though is the TMFX ‘only show template grids on mouse hover’ setting. For instance, that way we can have the cool A-A/JB darkness animation going for that spell, but you can mouse over it to see the exact grid squares that are affected. That’s how it used to be in v9

#

It’s really for templates that have a duration and you’re navigating around them

sharp knoll
#

Yeah it's a crazy walk trying to get the on-hover effect to show the highlights

coarse mesa
#

SecretFire is a magician for sure. Did you peek at their code? I’m not sure what’s broken now

vast bane
#

I mean, ultimately if wecould just get Secretfire to untether the setting from the template images that'd work

#

the only reason why we can't use it is cause the AA animations play on top of the tmfx graphics

dire aurora
#

Howdy. I'm trying to get False Life to add temporary life to my character sheet but the spell is acting funny. I think it's got something to do with a couple of automation modules my DM has installed, one of which is MidiQOL. Would this be the place to ask?

vast bane
#

Temp hp and hp in general must be done via a macro because active effects should never be used to modify them as they constantly undo any damage done to the actor

#

Actually false life doesn't even need any automation

#

It just should work, the only time it doesn't work is when you have dfreds CE installed

#

because dfred made the mistake of automating it via an ae I think

rigid trail
#

I have exactly that installed lol

vast bane
#

So when you roll the item in midi midi might be trying to apply the CE

rigid trail
#

(DM)

dire aurora
#

Hi DM 🙂

#

Speak of the devil

vast bane
#

On the false life spell, there is a checkbox for apply ce

#

temp hp should be setup like my image and it should just put the temp hp on the actor just fine

dire aurora
#

Awesome, thanks! I'll try that rq

vast bane
#

I personally also put a blank AE in the item

#

and I just remove the ae once they lose the temp hp, you could probably get an effect macro to turn it off when the actor loses all temp hp fi you were really wanting it automated perfectly but I don't care for it and just do it manually

rigid trail
#

Thank you so much

dire aurora
#

I have it working now. Disabling CE for the spell fixed one of the two issues, and the other issue (the level scaling healing me instead of adding to +Temp) by moving the level scaling formula of (@item.level - 1) * 5 from the Level Scaling box directly to the Healing Formula box. Now it seems to be working just fine.

vast bane
#

I think if you put the formula in other it won't use level scaling

dire aurora
#

It did not originally work as is. The Level Scaling formula was adding to my health instead of +Temp (i.e. level 7 would give me 30 health instead of 30 additional +Temp), but moving that to Healing Formula fixed it.

#

I can give more examples if needed, like what my character sheet looks like before and after a roll of the original spell sheet for False Life.

vast bane
#

Yeah I'm just not seeing that in my world but if it works then great!

#

you don't have CUB installed too do you?

dire aurora
#

That'd be a question for @rigid trail, my DM.

rigid trail
#

I don't believe so

vast bane
#

Combat Utility Belt

rigid trail
#

Oh, no

vast bane
#

or does it have a macro in it

dire aurora
#

Regardless, JS do as JS does.

#

I've only been casting from my spellbook on my character sheet, so whatever macros are involved in base spells scraped from DNDB

vast bane
#

how you guys are doing it is totally fine, its just tingly that its not working for you the normal way when it does for me, so I was just concerned that you had some sort of other issue going on that might creep up on you later is all

rigid trail
#

Yeah it's definitely a little odd

#

It's a new install and game setup, and I'm new to Foundry, so I'm sure we'll have to make adaptations as things come along

vast bane
#

I wonder if you had a flavor text in the scaling, that could do it

#

[flavor]

scarlet echo
#

Thanks for this. I don't know enough to understand how this works, but after executing the macro several times, I don't see a way to turn off the effects so now each time I attack the token with Sanctuary enabled, the effects are cumulative in that every attack results in multiple d20 wisdom save rolls for a single attack (equivalent to the number of times I executed the macro). How do I reverse the effects?

vast bane
scarlet echo
scarlet gale
#

You shouldn't be running it from your hotbar

#

Or as an item macro

scarlet echo
scarlet gale
#

I recommend world scripter module

#

Less of a hassle with small scripts like this

vast bane
#

Yeah, as long as the hooks aren't the really early hooks on server startup, the worldscripter module is honestly a better setup for them cause they shut off when using find the culprit which is helpful

#

specially for us with our automation shennanigans

scarlet echo
scarlet echo
scarlet gale
#

I run a pretty heavily automated game and there really isn't many people using midi hooks.

#

Also the setup you quoted me from is dated. Iirc you don't need the spell dc in the effect anymore

#

Just an empty effect is all

whole bolt
#

Hey guys,
Not sure if this is specifically a MidiQOL issue, or a times up issue, or an about time issue... but theyre all tposney modules, so I thought it may be a good place to ask.
My issue is.. Since updating from v9 to v10.291 (DnD5e 2.0.3), and updating the modules to their latest versions for 10.291, none of my active effects count down in real time.
They DO countdown in combat as turns/rounds progress.. but no longer expire in real time.
Ive tried uninstalling and reinstalling the modules, ive tried to go through the settings with a fine toothed comb, but I can't find anything,
Any ideas?

vast bane
vast bane
#

ok well I believe simple calendar controls the time flow if its installed

#

if its not playing then time won't go down and you can adjust its settings as well

whole bolt
#

Ok cool, ill have a look at that too. Didnt think to look at that

whole bolt
coarse mesa
#

There is a known issue though that effects initiated during combat won’t expire as they should when normal time is resumed

plain bane
#

I don't understand how the word script module works, I installed it but it doesn't seem to do anything, my question is, should the scripts be placed in the hotbar or as a macro item?

#

the module has no description of what it does, I can't interpret exactly how it works

violet meadow
rancid tide
#

Is there a way to avoid MidiQOL.completeItemUse to untarget the target once the item is rolled/used?

#

Like in options or something?

violet meadow
#

What are your options for untargeting in MidiQOL?

plain bane
rancid tide
#

Once the turn ends

violet meadow
rancid tide
#

isn't there a way to prevent this regardless of midiQoL's options? like with the command itself or something?

violet meadow
violet meadow
rancid tide
#

And this will auto target?

violet meadow
#

Might need more context on what you are trying to achieve

#

But yes this should auto target the tokens you provide IDs for

rancid tide
#

I'm mixing two attack items together and rolling the second one with MidiQOL.completeItemUse

#

The problem I'm having is that there's another macro which act as a damage bonus that use MidiQOL.completeItemUse with the same target

#

That gets untargeted because of the first item so when the second one is rolled it can't find a target

#

I tried late targeting but it doesn't trigger for some reason

violet meadow
#

You can provide the target uuids to the complete Item use function

rancid tide
#

I do

#

But if it gets untargeted then that array is empty

#

since those are different macros that run at different times

violet meadow
#

Not sure why that would untarget the user's targets

rancid tide
#

I know right?

violet meadow
#

Do you want to share the macros?

#

Or you could grab the targets from the 1st one and set them in a flag

#

Then in the second macro target getting the ones from that flag

rancid tide
#

I don't think I can since those are two different features that don't always trigger together

#

it's a damage bonus that happens only when you roll max damage

#

with the dice

#

I think what you gave me with game.user.updateTokenTargets([Array of IDs]) could work tho

#

can the IDs be uuids?

violet meadow
#

Not sure as I cannot check rn. Type the function in the console and check what it needs

rancid tide
#

Okay thanks will do as soon as I am on my pc

#

It wants target Ids which aren't uuids I suppose

violet meadow
#

I think it needs actual token IDs

rancid tide
#

Yeah makes sense

#

It's really weird because normally it doesn't untarget the target but when used with the other feature it does

violet meadow
#

So the issue lies there. Something un targets in your procedure

#

Do you draw templates or something like that?

rancid tide
#

This is the only part of the macro which works with targets:

let lastArg = args[args.length-1];
let mixedItems = args[0].itemData.flags.dae.originalMixedItems;
const secondItem = mixedItems.obj_secondItem;

if(lastArg.hitTargetUuids.length === 0) return;

const options = {
    showFullCard: false,
    createWorkflow: true,
    targetUuids: lastArg.hitTargetUuids[0],
    configureDialog: false,
    versatile: false,
    workflowOptions: {}
};

itemData = {
    img: secondItem.img,
    name: secondItem.name,
    type: "weapon",
    system: {
        actionType: secondItem.system.actionType,
        activation: secondItem.system.activation,
        damage: secondItem.system.damage,
        target: secondItem.system.target,
        source: secondItem.system.source,
        weaponType: secondItem.system.weaponType,
        range: secondItem.system.range
    },
    effects: secondItem.effects,
    folder: null,
    flags: secondItem.flags,
};

console.log("\n\nItemData =>", itemData, "\nSecond Item =>", secondItem);

//let item = new Item.implementation(mixedItems.obj_secondItem, { parent: actor });
let item = new CONFIG.Item.documentClass(itemData, { parent: actor });
await MidiQOL.completeItemUse(item, {}, options);
#

It's a world macro that the second item receive as a OnUse macro postActiveEffects

#

I think the problem could be lastArg.hitTargetUuids[0] but I'm not super sure

violet meadow
#

Pass it a specific actor.Uuid as the target. Does it work then?

rancid tide
#

Okay for some reason it was lastArg.hitTargetUuids[0]

rancid tide
#

Probably because targetUuids wants an array now that I think about it

violet meadow
#

OK you were passing only one with the [0]

rancid tide
#

Yes my mistake

#

Thank you so much for the help

violet meadow
#

Didn't do anything but you are welcome 😅

rancid tide
#

Well you helped me think that's not nothing!

vast bane
sharp knoll
sharp knoll
#

should resolve the conflict with Midi and A-A when A-A is deleting templates. Now you can just not delete it

short birch
spice kraken
#

What do they do? Also I don't know how much I can help. Not home

kind cape
#

Enhanced defense = +1 on a shield or armor, +2 from level 10
Magic item = Creates a temporary common magic item of your choice
Mind sharpener = 4 charges, spend a charge and reaction when you fail a concentration check to succeed instead. Regains 1d4 per day

opaque current
#

Those are all things that I would just create as an item. Nothing particularly fancy needed.

spice kraken
#

Except the last one. Macro territory

coarse mesa
violet meadow
#

A macro triggered by the same optional effect could take care of the reaction used etc

opaque current
violet meadow
#

Losing concentration might be a real PITA in some cases.

#

I mean when one shouldn't

old yew
#

What value should I be setting for flags.midiqol.advantage stuff? I know it needs to be set via CUSTOM or OVERRIDE, but not what the value should be.

opaque current
#

Usually just 1

#

It's binary so it's essentially saying YES as opposed to NO

#

Or On/Off

vast bane
#

It also takes evaluations of true so you could do any of the activation conditions in that field too for use cases

#

I think midi sample item chill touch is an example of it

old yew
#

OK, thanks!

vast bane
#

You could have shocking grasp buff self with advantage if the target has any equipment named plate/scale/chain

violet meadow
#

What about Shields made of metal ? 😄

vast bane
#

I think the spell says Worn

#

you equip shields not wear them

vast bane
#

actually it would have to be an item macro pre item roll

violet meadow
vast bane
#

can I have line 2 have multiple keywords incase metal isn't there?

violet meadow
#

Now if the description includes metal or not, or both metal or wood its up to you

#

It's just 1 line. If it includes metal it will return true, otherwise false. Overdid it with the optional chaining, but should be safe enough

violet meadow
violet meadow
vast bane
rancid tide
#

I have a damage bonus macro and I want it to work with crits, I know how to do so, but what if someone use a different set up for crits like max dice damage or *2 etc etc, is there a way to detect that?

violet meadow
#

You want it to work when the attack results in a critical?

rancid tide
#

Yes

violet meadow
#

args[0].isCritical should be true when its a critical

rancid tide
#

Yeah that's not the problem I have, I know how to check if it is critical but what if I'm using a different rule set?

#

(I'm making a module so I can't know what setting the user will have)

#

What if they are using *2 damage instead of the additional die

violet meadow
#

Why would that matter? MidiQOL will flag an attack roll as critical no matter what the rule set used is

#

Probably I do not understand the actual issue 😅

rancid tide
#

Ohhhh no no you got it

#

So I can make it critical without modifying the actual roll

#

But how to I set it to do so?

#

Wait maybe I'm misunderstanding I feel like I'm missing something ahah

violet meadow
#

OK so lets back up a step or two.
If an attack roll is a Critical, MidiQOL will flag that by setting the args[0].isCritical to true

rancid tide
#

Okay yeah I remember that yes

violet meadow
#

Do you want to force an attack roll to be a critical?

rancid tide
#

Yes

#

Since I'm working with a damage bonus macro

#

And said bonus if the original attack is critical it's also critical, which damage bonus macro doesn't do by itself

violet meadow
#

The damage bonus macro will be triggered by an actual attack. In that macro you can access the args[0].isCritical. Then you will need to construct the new Dice for that damage.
Let me grab an example if I can find

rancid tide
#

Okay yeah and that's what I wanted to do, but that I thought "What if the setting for critical hits aren't number_of_dice * 2 ?"

molten solar
#

and you want to create a generic one-size-fits-all macro that works with all crit settings

rancid tide
#

Yes

molten solar
#
const maxDice = game.settings.get("dnd5e", "criticalDamageMaxDice");
const multMods = game.settings.get("dnd5e", "criticalDamageModifiers");
violet meadow
molten solar
#

Hah, oh yeah, just let the system handle it by creating an actual DamageRoll, not a regular Roll

rancid tide
#

Okay thanks a lot!

weary rune
#

on the slim chance anyway used this, it had some more problems.
another version of my Cloudkill.

  • with sight blocking via template vision limit (3feet to allow players to see edge and simulates thinner fog for nearby etc.. um yeh)
  • green template grid + token magic FX, for fun
  • Blindness and Invisible condition while inside template, because of spell's "Heavily Obscured" status
  • damage effect uses a weird EffectMacro at start of turn calling an end of turn Overtime effect with removeCondition to work around all sorts of NPC/PC differences and only run it once per current turn. + expire on move + expire end of turn just to ensure it goes away.
  • lots of testing, it wont roll damage out of turn and wont damage twice as far as I can tell.
old yew
#

How would I go about setting up a non-reaction, 'attacker takes damage if they hit me' feature?

violet meadow
old yew
#

yep

violet meadow
#

Easiest way is to create a feature or weapon with an activation cost Reaction damaged (with 0 as the actual cost if you want to do that no matter if you have a reaction or not), put in the damage and have the player target the attacker and roll it

#

MidiQOL should prompt for reactions automatically

scarlet gale
#

I don't suppose this is for AoA?

old yew
#

AoA?

scarlet gale
#

Armor Of Agathys

old yew
#

Ah - no, it's for a Prickly feature on a homebrewed needle blight

scarlet gale
#

As an alternative a wordscript and midi hooks can handle it too if it's something that will happen a bunch and doesn't take your reaction. Less easy to setup than bugbear's suggestion however.

violet meadow
#

((Yeah based on the level of automation wanted you can make it just happen automatically)) that's for Justin

violet meadow
rancid tide
#

Yes just a sec

rancid tide
violet meadow
#

let isCritical = !args[0].isCritical ? args[0].damageRoll?.options.critical : args[0].isCritical;
What is this supposed to to?

#

You can just use let isCritical = args[0].isCritical

rancid tide
#

Check if it is either a critical hit or if it was set as critical, because args[0].isCritical is true only if you roll a nat20

violet meadow
#

Don't you use critical threshold?
What would be another case of a crit which the args[0].isCritical wouldn't catch? 🤔

rancid tide
#

idk I think I don't

scarlet gale
#

I've never had isCritical not be accurate for me

rancid tide
#

I don't know what to tell you

violet meadow
#

OK just to be safe console.log(isCritical) to see if that returns what you need when you need it

rancid tide
#

isCritical for me is true only when you roll a critical with the dice, undefined if you press the critical button in the damage window

violet meadow
#

ohhhhh

rancid tide
scarlet gale
#

Ah

violet meadow
#

Different degrees of automation... 😩 😄

rancid tide
#

Besides I tried rolling a 20 and even in that case it doesn't work

scarlet gale
#

Actually surprising that midi doesn't catch that

violet meadow
#

I haven't checked so not sure 🤷

scarlet gale
#

That seems weird in that case

violet meadow
#

Agreed

rancid tide
rancid tide
scarlet gale
#

A 20 should show as a crit unless you're targeting someone with adamantine armor that has the right midi flags set on it

rancid tide
#

I don't know what to say, it doesn't work

#

The macro I liked doesn't return a critical damage bonus even when rolling a nat 20

violet meadow
#

So will need to dissect the macro. Did you console.log all the variables?

rancid tide
#

I think the problem is

const damageBonusResult = new CONFIG.Dice.DamageRoll(`${diceBonus}[${damageType}]`, args[0].rollData, rollOptions);
#

Because everything else has the value I expect it to have

violet meadow
#

What's your diceBonus?

#

Do you have an actual dice there? on my phone 😄

rancid tide
#

it usually has something like "1d6"

#

It gets the dice with the higher face value from the formula and adds it as a damage bonus

#

The only value that isn't what I expect is damageBonusResult which will always be essentially equal to ${diceBonus}[${damageType}]

#

Which when isCritical is true, should not happen

#

at least in theory, that's why I think CONFIG.Dice.DamageRoll(`${diceBonus}[${damageType}]`, args[0].rollData, rollOptions); doesn't work

violet meadow
#

If you use only this ```js
const rollOptions = args[0].damageRoll?.options || {critical: args[0].isCritical};

rancid tide
#

I tried but again it didn't work at the time

violet meadow
#

I will give it a whirl later that I will be on my PC

rancid tide
#

Okay ty

scarlet gale
#

I feel like your or if in the wrong spot there

rancid tide
#

mine?

scarlet gale
#

Bugbear's

rancid tide
#

oh okay

violet meadow
#

Maybe I haven't tried it. I just used an example from Elwin

scarlet gale
#

I would just go with is critical or roll options critical

rancid tide
rancid tide
scarlet gale
#

Verify that your variable is true?

rancid tide
#

What? if you asked if isCritical is true then yes it is

#

At least the one I made, it checks both critical and roll options critical if they are true, it works

#

everything about the macro checks out the only thing that doesn't have the right value is

const damageBonusResult = new CONFIG.Dice.DamageRoll(`${diceBonus}[${damageType}]`, args[0].rollData, rollOptions);

which doesn't become critical

rancid tide
scarlet gale
#

I've never used the config.dice.damage roll to make a roll so I'm not sure what's wrong there

rancid tide
#

mhmm I must say that I just copied the example I was given, so I don't actually know if it does what I was told

scarlet gale
#

I'm guessing not

#

What does it output?

rancid tide
#

straight up ${diceBonus}[${damageType}]

rancid tide
violet meadow
#

damageBonusResult = new CONFIG.Dice.DamageRoll(`1d6[slashing]`, _token.actor.rollData, {critical:true})

#

in console this works fine

rancid tide
violet meadow
#

As I said check your formula to be an actual roll

rancid tide
violet meadow
#

Is diceBonus something tangible?
damageBonusResult.formula should return the actual dice formula

#

2d6[slashing]

#

for example

rancid tide
#

I do return damageBonusResult.formula, but it's always "1d6"

#

Also I use the max die for crit so 2d6 as output isn't what I'm looking for (which I checked it returns it in my console too)

violet meadow
#

OK so the error should be here ```js
const rollOptions = !args[0].damageRoll?.options ? {critical: isCritical} : args[0].damageRoll.options;

feral flame
#

Is there a setting that allows for the damage card to automatically be displayed for all players instead of right clicking and choosing "Reveal to Everyone"?

rancid tide
#

Also yes the problem is that, I tested to just put {critical: true} and it works, problem is that as I said it rolls "2d6" where it should be "1d6 + 6"

scarlet gale
#

Shouldn't it just change the roll total

#

Not the formula

violet meadow
#

The formula will be the same no matter which option for crit is being used. Tested on mine too.

#

OK let me try to replicate

rancid tide
#

So there's no way to make it work with different settings of critical hit?

violet meadow
#

Give me 5.

rancid tide
#

I suppose you mean 5 min, don't worry take your time

violet meadow
#

Take a looksie here

#

You will need to make sure you've got the right rules

rancid tide
#

So there's just no way to do this?

#

Or at least not with that command

#

So I need to check in which rules I am in right?

violet meadow
#

There is. Use what Zhell shared before and add them in as parameters 🤔

rancid tide
#

Yes I'm looking at it right now, thanks!

violet meadow
#

For reference ```js
const maxDice = game.settings.get("dnd5e", "criticalDamageMaxDice");
const multMods = game.settings.get("dnd5e", "criticalDamageModifiers");

#
const baseDice = Math.ceil(rogueLevels/2);
let rollFormula = `${baseDice}d6`;
if (isCritical) rollFormula = new CONFIG.Dice.DamageRoll(rollFormula,"",{critical:true,multiplyNumeric:multMods ,powerfulCritical:maxDice}).formula
#

so combining both something like this should do it

rancid tide
#

Aren't there more option than multiplyNumeric and powerfulCritical tho?

violet meadow
#

Core 5e nope.

#

MidiQOL has more options

#

But no idea about them right now

rancid tide
#

Okay what I care is about core 5e

#

Thanks!

violet meadow
#

Probably this needs to become the new norm for shared macros (bonus damage macros especially) if it works alright

rancid tide
#

It works

#

Even tho I did it a little bit differently

violet meadow
#

I think tposney had this on his radar, to just update some of the items in Midi sample items

rancid tide
#

I got the options directly from args[0].damageRoll.options

violet meadow
#

Yeah makes sense if they are in there! That's why Elwin shared that initially

#

It has all the info in there

rancid tide
#

yep! I think they just messed up little things up the way

violet meadow
#

Alright if you want share your final solution so it can be searched and shared in the future 💪

rancid tide
#

Yeah! Just a moment to tidy it up

rancid tide
violet meadow
rancid tide
#

Yeah! glad I was helpful! Hope someone can find it useful

violet meadow
rancid tide
#

I do use advanced macros

#

I don't usually do that thanks, I don't recall why I did that here

#

Maybe I found the framework somewhere and didn't edit out those declarations

violet meadow
#

From @rancid tide's work, a small example of how to take care of different critical rule sets when creating a Roll for a DamageBonusMacro.

const isCritical = !args[0].isCritical ? args[0].damageRoll?.options.critical : args[0].isCritical;
const rollOptions = args[0].damageRoll.options;

const damageBonusResult = new CONFIG.Dice.DamageRoll("1d6+@mod[slashing]", args[0].rollData, {
    critical: isCritical,
    criticalBonusDamage: rollOptions.criticalBonusDamage,
    criticalBonusDice: rollOptions.criticalBonusDice,
    criticalMultiplier: rollOptions.criticalMultiplier,
    multiplyNumeric: rollOptions.multiplyNumeric,
    powerfulCritical: rollOptions.powerfulCritical
});

return {damageRoll: damageBonusResult.formula, flavor: "Extra boom boom"};
#

Should be working with and without fast forwarding damage rolls.

molten prism
#

Heya, did you find a way to have gnome cunning only apply when targeted with a spell that causes the save roll, rather than at all times? (Or are these cases so rare it's not worth thinking about?)

unborn cosmos
#

Hi, can anyone help me set up a chaos bolt with some automation? I've searched around and found two different .js files for chaos bolt, but I don't know what I do with the script in order to make a spell in a token's spell list 😅

scarlet gale
#

Per save type

#

Actually that screenshot should be accurate

violet meadow
#

Will update it to v10 in the near future (should be working fine though in v10)

scarlet gale
#

I updated Wasps original chaos bolt for v10

#

Works exactly like the one from ASE

unborn cosmos
#

ok, but how do I use the macro?

#

I have all the modules listed

scarlet gale
#

In the on use macro field add ItemMacro

#

Then make sure the macro is pasted into the item macro on the item

#

(SD card icon in the title bar)

unborn cosmos
#

for brevity, "item" in this context is anything in a character sheet such as items, features, spells etc?

scarlet gale
#

Yep

#

You'll also want to change it to run after active effect

#

Not all

#

Based on your screenshot

hot flower
#

If i wanted to have an effect only trigger on a medium or smaller creature, how would I do that with midi's activation Condition field?

#

for instance, an attack also grapples a medium or smaller target.

unborn cosmos
#

Thanks Chris, it sort of works now. but it seems to be doing a lot more damage than I think it should

scarlet gale
#

Screenshot it?

unborn cosmos
#

it's kinda hard to read

scarlet gale
#

Check the active effects

#

Remove them

violet meadow
unborn cosmos
#

The spell itself has no active effects

violet meadow
#

*whyyyyyy???? What did that lonely bugbear do to you 😭 *

scarlet gale
#

I've only had my chat card look like that when the ddb importer left a bad v9 item macro still in it

unborn cosmos
#

The bugbear killed a PC in the previous session, new character has chaos bolt

#

bugbear appeared with a surprise, crit the wizard and did 40 damage, killing him instantly

violet meadow
#

That's more like it 😄

unborn cosmos
#

yeah my chat cards usually don't look like this scrunched up

scarlet gale
#

Not at my PC to be able to troubleshoot I'm afraid

#

Try removing the level scaling?

unborn cosmos
#

Another thing, I use dndbeyond importer because my players like to use dndbeyond to make and maintain their characters. if I get this spell working now, how do I prevent it from being removed the next time the player updates their character via dndbeyond?

scarlet gale
#

I can remove my description and export mine later tonight

#

Click the DND beyond icon on the title bar

#

Then check ignore

unborn cosmos
#

wow that easy huh

scarlet gale
#

Just getting to work now, but if you're still around in ~8 hours I'll have an export

unborn cosmos
#

There's a good chance I'm asleep by then

#

if not I'll make some noise in here

hot flower
#

I thought it might be target.system.traits.size.includes("med"|"sm"|"tiny") but that doesn't work eithewr

unborn cosmos
#

hm I changed the action type from ranged attack to nothing, now the chat card looks as it should, though the macro section of the spell disappeared 😟

scarlet gale
#

Try to change it to utility

unborn cosmos
#

yeah that seems to have worked fine

#

excellent

#

Do the rest of these macros in that github repo also work for v10?

scarlet gale
#

They do, but I've kinda been bad at including install instructions

#

On my to-do list

violet meadow
#

Edited the initital one

#

["lg","sm"].some(s=>target.traits.size.includes(s))

hot flower
#

hm. nothing seems to be working. I'll just do this manually.

violet meadow
#

I will test in a bit if that is not doing it

hot flower
#

FFS

#

i totally forgot that.

#

jeebus. It works fine WHEN I CHECK THE RIGHT BOX. Thanks for your help!

#

final condition was ["med","sm","tiny"].some(s=>target.traits.size.includes(s))

unborn cosmos
#

Is there a compendium of item macros for various spells or do I just have to practice my google-fu?

violet meadow
#

Discord-fu

scarlet gale
#

Searching here best bet

violet meadow
#

Various repos all around, but nothing centralised as of now.

#

MidiQOL sample items.
MASIF module.
Midi SRD (to some extent)

hot flower
#

@violet meadow if i wanted to check for a condition to apply an effect (or other damage?) would this work? ["Grappled"].some(s=>target.data.effect.label.includes(s))

violet meadow
gilded token
#

For automated flanking with midiqol, are there any preferred systems outside of DFreds? Haven't been able to get that to work together at all.

violet meadow
gilded token
#

Yeah, I've been trying to get them working for a couple hours now. It doesn't seem to apply the flanked effect when two tokens are in range.

violet meadow
#

The tokens must be directly opposite each other, not just in range

gilded token
#

Even opposite of each other doesn't apply the flanked effect to the enemy token

nimble yacht
#

I'm experiencing a bug where if you have "Require targets to be selected" set to "never" , but have "Auto check if attack hits target" set to anything other than "none" , nothing will roll without having a target selected first. I'd like to be able to auto check GM hits, but not force players to use targetting as several of them dont like this functionality

violet meadow
#

I use this one

gilded token
violet meadow
hot flower
#

That’s ok. It’s a single target attack

violet meadow
gilded token
#

Thanks for the assistance, really appreciated

violet meadow
#

I can try to reproduce. Versions of MidiQOL, system and Foundry?

nimble yacht
#

where is the export settings button? i've only just come back to foundry after like a year and a half lol lots of new stuff

violet meadow
#

MidiQOL settings => Workflow settings => Misc tab

nimble yacht
#

ah it was at the top, i was looking at the bottom lol i knew i saw it in there

violet meadow
nimble yacht
#

hm, that works, but it still seems like an unintended effect

violet meadow
#

I can understand it to hang with that new-ish feature. Cause to work it takes for granted that there is a number of targets and it fails otherwise

#

Probably something that tposney didn't consider as an usecase at the time

nimble yacht
#

yeah, seems like an easy enough fix though, just a simple if statement to check if targets are required. I'll post an issue in the git

coarse mesa
#

I'm trying to get Guidance working with tools, does anyone have any guidance for me on that?

#

who wouldn't want guidance when disarming traps or opening locks...?

violet meadow
#

World script territory

#

Until tposney adds that in maybe

nimble yacht
violet meadow
#

A bit of both using them for a long time and console checking

#

For the activation conditions a bit of a read through the MidiQOL readme helps to remember what is included where

#

So target will give you all the _token.actor.getRollData() of the targeted token, plus its flags as an extra when using MidiQOL

nimble yacht
#

yeah, my experience is messing around with the console, is that really the only way? cuz i couldnt even figure out how you found the traits field under targets here ["lg","sm"].some(s=>target.traits.size.includes(s))
game.users.current.targets doesnt have a .traits

violet meadow
#

Indeed. target in activation conditions points to the target.actor.getRollData()

#

Here comes in handy the readme

nimble yacht
#

ah, yeah that make way more sense. this a much more useful data structure

coarse mesa
nimble yacht
violet meadow
#

If you want to do that, probably an onUse macro would make more sense

coarse mesa
nimble yacht
#

Also, what is the some function?

violet meadow
# nimble yacht 🤔 ok, so similar to how you determined `target` is giving you `_token.actor.get...

So create a script macro with ```js
console.log("args[0]",args[0])
console.log("workflow",this)
//const workflow = MidiQOL.Workflow.getWorkflow(args[0].uuid) would give you the same like "this" if you would log(workflow) after you declare it.

Open up a character sheet. Hit the Actor on Use Macros button in the Attributes tab and create an entry for the name of the macro you created and choose After Active Effects for instance.

Roll any item from that actor.
#

You will get all the args[0] and the workflow MidiQOL provides

#

workflow is specific to the item that is rolled. args[0].uuid will be the Items UUID in this case.

#

some function returns true if the function that follows return true or false otherwise

nimble yacht
violet meadow
nimble yacht
violet meadow
violet meadow
#

Then in Tidy

nimble yacht
violet meadow
# coarse mesa The caster is still concentrating FYI – not a biggie, this works great until tpo...

Try this ```js
Hooks.on("dnd5e.preRollToolCheck", (item,options) => {
const tokenRolling = canvas.tokens.get(options.messageData.speaker.token)
const hasEffect = tokenRolling.actor.effects.find(eff=>eff.label==="Guidance")
if (!hasEffect) return;
else {
options.parts.push("1d4")
const hasAnotherEffect = fromUuidSync(hasEffect.origin).parent.effects.find(eff=>eff.label==="Concentrating");
//const anotherToken =
await MidiQOL.socket().executeAsGM("removeEffects", {'actorUuid': hasAnotherEffect.parent.uuid, effects: [hasAnotherEffect.toObject()]});
}
})

violet meadow
nimble yacht
violet meadow
#

Item onUse macro is the answer. You can go through all the targets of the item roll, either via args[0].hitTargets (array) or workflow.hitTargets (set) and then filter based on disposition and apply effects on the ones you want.

#

Depending on the type of the item you can use also the ones that args[0].failedSaves or succeeded in these saves etc

nimble yacht
#

yeah thats what i started working on. I can't help but wonder if someone else hasnt already written a macro for this. Only effecting tokens of a specific disposition with templates

violet meadow
#

oh for sure. I think I have one shared somewhere too

nimble yacht
#

I'm thinking it'll run "After targeting complete" and just remove the targets that arent the desired disposition

violet meadow
#

Sometimes its a bit difficult to change targets in the MidiQOL workflow when it's started.
After Template is placed would be better I think 🤔

nimble yacht
#

is there a clean way to change which tokens get targeted?

#

🤔 there's a "Friend's Fail" option in the midi properties. Maybe for aoe buffs I could check that and just set the DC to 1 so any enemies will always succeed? What would be the equivalent for the opposite, using the sculp spell property right?

violet meadow
#

Yeah sculpt spell. Check the readme for the flag

nimble yacht
#

hmm, sculpt and careful only effect evocation, thats annoying

#

yeah, that doesnt seem to work quite the right way 🤔

violet meadow
#

What you can do Once a Template is placed (with one of MidiQOL options for template auto targeting) . ```js
const newTargets = args[0].targets.filter(i=>i.disposition === token.document.disposition).map(i=>i.id)
game.user.updateTokenTargets(newTargets)

#

This will update the targets to the ones with the same disposition as the caster

#

or !== for different than the caster's

#

💤 👋

nimble yacht
#

👍 thanks

#

Final macro looked like this const newTargets = args[0].targets.filter(i=>i.disposition === token.document.disposition).map(i=>i.id) game.user.updateTokenTargets(newTargets)

#

The type of the targets returned TokenDocument5e

vast bane
#

Share the macro @clear kernel

clear kernel
#

so I've set it up to toggle on and off based on if the item is equipped or not, like so:

#

The "On" toggle:

#

Off:

#

They work just fine when I'm running them as a DM, they turn on and off appropriately

#

but when my player is connected, they don't work

#

nor do they work for me when I'm logged on as him

#

they do still work when the player is connected when I run the sequencer on macro from the hotbar

vast bane
#

Is this checked in user permissions?

clear kernel
#

yah, I've got that set to yes for the permissions for players

#

I checked to see what options the player had in their settings, but didn't see anything immediately obvious that they'd need to enable

vast bane
#

check sequencers options for both world settings nad that users settings

clear kernel
#

k, I'll look now

vast bane
#

and does that user have the photosensitivity setting on in core?

clear kernel
#

Appreciate you helping me again! 🙂

#

unsure! I'll check that too

vast bane
#

that option checkbox in core disables sequencer

clear kernel
#

they can see the effect if I run the macro via the hotbar

vast bane
#

this is in sequencer as well

clear kernel
#

checking the settings now

vast bane
#

and finally do they have full ownership of the token or just observer?

#

OH, and also is a Gm logged in at the same time as them, and finally are there any errors when the player tries it

clear kernel
#

those two look good, they do have full ownership

#

I'm logged in as a GM as well on my own username, but not as them

#

I'll check for errors now as well

vast bane
#

also check that global setting on the Dm view in sequencer

clear kernel
#

I don't recall seeing any but I was running the game at the time so I didn't look closely

vast bane
#

Player and above

clear kernel
#

ok

#

AH

#

that's what it was

#

shoot, shoulda been the first thing I checked

#

Thank you again for the help 🙂

vast bane
#

we all do it no worries

#

Its why a second set of 👀 are good at solving these things.

clear kernel
#

used to be easy, but nowadays I've got like 20 different modules and I just shut down haha

#

but thanks to you guys the players loved the campaign this week

#

so I do appreciate everything

molten solar
coarse mesa
#

I trust too much

molten solar
#

Given that it does not involve midi at all and runs only on the player client and tries to delete an effect off another player...

coarse mesa
#

I thought world scripts were special 🤷‍♂️

molten solar
#

It's just a script.

#

Just a macro being executed automatically, really.

violet meadow
#

yeah giv me a sec

coarse mesa
#

I’m in bed now, or I’d be jumping on. Thanks for looking out for me Zhell ☺️

molten solar
#

and no, you can't just make sure it only runs on the GM client, cus the hook is not emitted at all

#

None of the dnd5e hooks are

vast bane
#

Pretty sure if you install 21 modules you get a coffee mug that reads Welcome to Midi

violet meadow
coarse mesa
#

Things got wild

#

Don’t sweat it, I’ll just tell them to delete manually… with the power of VAE 💪

molten solar
vast bane
#

Why not just leverage midi?

#

its not like its not installed

violet meadow
coarse mesa
#

Midi to the rescue

#

Thanks I’ll try it in the morning 💕

violet meadow
#

ohh yes by that time it will be OK. Cause it needs more editing... ☕ for 🐛 🐻 now!

#
//will update when I am sure its functional
``` ~~should do it ~~🤔
molten solar
#

I'd probably use the non-pre hook for the deletion

#

the preHook would add the d4 but the roll could still get cancelled

violet meadow
#

ok will test in a bit on my server

vast bane
#

Forgive me here but is it just guidance?

molten solar
#

on tools

vast bane
#

why not just use the existing premades in midi?

#

oohhhhhh ok

#

Well I don't have this issue cause I use MTB for tools 8)

molten solar
#

Though I'm not sure why it doesn't just have a +1d4 global ability check bonus

vast bane
#

AR works atleast with tools

#

Now if only we could get it to work with initiative

#

Only way I'm able to get init to work with modifiers is if it specifically buffs initiative

#

What flag was failing to work with the tool rolls, I even get AR to work with standard tool rolls:

#

atleast I assume this is the normal way to use a tool

coarse mesa
#

there’s no optional bonus key for tool checks

vast bane
coarse mesa
#

but it doesn’t for some reason

vast bane
#

What flag are you using?

#

Key

coarse mesa
#

I’m using the Guidance v10 pre-made

vast bane
#

dfreds?

coarse mesa
#

Midi or Midi-SRD… am in bed now can’t check

vast bane
#

I only see a guidance in dfreds CE

coarse mesa
#

Could be that one

violet meadow
#

Yeah that's the one

vast bane
#

yeah optional does seem to fail to check

#

that is strange and sounds like a midi bug to me since AR works

#

it also fails to pick it up in MTB too

coarse mesa
#

Yeah I asked Tim but he’s not responded yet

#

Probably just an oversight

vast bane
#

Wonder if you can somehow steal the AR hook for it

coarse mesa
#

Kinda surprised it hasn’t come up sooner… but a lot of folk just use Sleight of Hand lol. BG3 ain’t helping in that regard

vast bane
#

I will say this, AR does the abilty check thing the right way, whereas Midi seperates them all to their own thing, like ability.all should be ability, tool, and skill. Thats why AR has just 1 key. Some reason Midi seperates them and that could be why its failing to recognize tools

violet meadow
vast bane
molten solar
vast bane
#

but I might be misremembering

#

its the last one in the readme, that much I remember

#

its also why I can't make arcane deflection in midi, cause I don't fast forward so its ac or saves

#

its save bonuses I can't use optional for

#

but its ok, I use AR instead for it

violet meadow
molten solar
#

Yes

vast bane
#

The player with arcane deflection aslo uses DF manual rolls so I just honestly didn't bother to automate it and he calls out when he uses it

violet meadow
#

OK so sanity check ```js
Hooks.on("dnd5e.preRollToolCheck", (item,options) => {
const tokenRolling = canvas.tokens.get(options.messageData.speaker.token);
const hasEffect = tokenRolling.actor.effects.find(eff=>eff.label==="Guidance");
const itemRolling = item.uuid;
if (!hasEffect) return;
else {
options.parts.push("1d4");
Hooks.once("dnd5e.rollToolCheck", (item) => {
if (item.uuid !== itemRolling) return;
const hasAnotherEffect = fromUuidSync(hasEffect.origin).parent.effects.find(eff=>eff.label==="Concentrating");
if (!hasAnotherEffect) return;
MidiQOL.socket().executeAsGM("removeEffects", {'actorUuid': hasAnotherEffect.parent.uuid, effects: [hasAnotherEffect.id]});
})
}
})

*Wouldn't this register the `once` hook though, even if the pre-Hook got cancelled?*
Should be working
#

If that's the case I would need to filter for the correct tokenRolling and the correct toolCheck 🤔

#

Or just the item.uuid hmm

#

@coarse mesa 👆 should do it...

acoustic jasper
#

is it possible to add "negative resistance" to an effect? So for example an actor takes 3 extra damage from fire attacks?

violet meadow
#

yes

violet meadow
#

case sensitive

acoustic jasper
#

DR flags can be "negative"?

violet meadow
#

Yup

acoustic jasper
#

oh that's new - thanks

violet meadow
acoustic jasper
#

oh ok - adds dmg to the dmg card but not to the roll

#

got it

vast bane
#

Healing and healing temp can't be negative fyi

#

but the damage ones can and just so we're clear bugbear means the Damage reduction flags in midi, not Damage resistance

#

theres two ways to differentiate them, the Damage reduction flags are midi flags and have a capital DR. The damage resistance flags are core dnd5e flags and have a lowercase dr

acoustic jasper
#

yeah I see them

vast bane
kind cape
#

And finally a place where we can throw money at Posney! 🎉

violet meadow
#

@rancid tide ```js
await MidiQOL.socket().executeAsGM("createEffects", {actorUuid: actor.uuid, effects: [effectData]});

#
await MidiQOL.socket().executeAsGM("removeEffects", { actorUuid: actor.uuid, effects: [effect.id]});
rancid tide
#

Doesn't this work for creating an effect on your actor? Idk if this can work on a target instead of "on myself"

violet meadow
#

That is the concept. You can create an effect to tokens you do not own as well.

#

Just provide the correct actorUuid

#

target.actor.uuid in your case, for the target you define somehow

rancid tide
#

And how the effect see this? Does the source become the target instead of the actor?

#

Also can I pass an array of uuids or it works with only one at a time, so to create the effect on multiple tokens I have to use a forEach?

violet meadow
#

And yes you will need to loop over the targets if there are multiple

#

Type in console MidiQOL.socket()

#

It will give you all the available ones

rancid tide
rancid tide
violet meadow
rancid tide
#

Ah yes true I can do that can I? The effect should have an origin field

#

It does reference that right?

violet meadow
#

I imagine that it triggers the special duration expiration flags, based on effect.origin and effect.parent for the special durations which are based on casterToken and effectAppliedToken respectively, if that makes sense 🤔

#

a small example ```js
if (!args[0].hitTargets[0]?.actor.system.traits.dr.value.includes("cold")) return;
if (args[0].macroPass === "preDamageRoll") {
const effectUpdate = {
changes:[{
key: 'system.traits.dr.value',
mode: CONST.ACTIVE_EFFECT_MODES.CUSTOM,
value: "-cold"
}],
label: "Ultramarine Cold resistance bypass",
icon: ${item.img},
flags: {dae: { specialDuration: ['isHit'] } }
}
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: args[0].targetUuids[0], effects: [effectUpdate] });
}

rancid tide
#

ah there's a effect.parent field, never noticed

#

yeah makes a lot of sense I even found an example I myself made xD

#

idk if I'm the only one but sometimes I catch myself not remembering stuff that I already made time ago ahah

#

thanks btw now I know what to do

violet meadow
#

Happens all the time for me too... I am even surprised by some things I have written in the past when looking through the discord 😄

rancid tide
#

Yeahhh same ahaha

#

Okay done, it works, thanks again!

rancid tide
#

I'm trying to make an item that has the following effect:
"On a hit, the target takes 1d6 lightning damage and can’t take reactions until the start of your next turn".
I tried making this with await CEInt.addEffect({effectName: "Reaction", uuid: theActor.uuid}) (with the help of CE) and it does trigger the Reaction Effect from CE, problem is that when it's the target's turn the reaction gets replenish, so it's not really "until the start of your next turn".
Any tips?

vast bane
#

cause thats not what shockign grasp says

rancid tide
#

Yes, it's not shocking grasp, it's a homebrew item

vast bane
#

I don't think you can stop the reaction coming back like that

#

the best you can do is put a dummy status marker on it like reaction blocked or something to remind everyone

rancid tide
#

Maybe with onUpdateTarget?

#

I check for updates on the effects field and if it's the Reaction effect that gets updated then I re insert it?

kind cape
#

Wait, you say the reaction comes back, at the start of their turn, isn't that intended?

rancid tide
kind cape
#

Have you tried giving them an effect that has a macro.CE that gives the Reaction effect?

rancid tide
#

Yes

#

It's how I've implemented the item in the first place, but it has the issue I stated above.

kind cape
#

So how does it look on them when you apply it? (Before the turn is advanced)

rancid tide
#

As it should, it works as I intended it to be (it triggers the Reaction effect as if they used their reaction so the can't use another) but when it's their turn they get their reaction back

sharp knoll
#

@coarse mesa @vast bane the template setting is released in A-A v 4.2.04. Made it a Client level setting with options for "Off" (default), "Show on Hover in Template Layer" and "Show on any Hover". Requires the Hover setting in TMFX (if active) to be disabled to avoid conflicts

rancid tide
kind cape
#

How did you do it? 🤔

rancid tide
#

created an effect via executeAsGM replicating the reaction effect from CE with the only change that instead of ending on the start of the target's turn it ends at the start of the source's turn

#

thankfully CE sees the Reaction effect and thinks it's its own

coarse mesa
coarse mesa
coarse mesa
#

@gilded yacht Just wanted to say how grateful I am for how you've sorted the DSN/optional bonus situation... it's perfect. Thanks heaps

#

What a great morning!!

spice oracle
#

Are there ways of toggling Astral Monk's Astral Arms feature with MidiQOL, or any of it's other duration abilities?

#

The class lets you expend one Ki to activate 'astral arms' for a minute, and while active your reach increases by 5, and you can use Wisdom instead of Strength for any strength saves or checks. I'm curious if that feature is doable, I.E. "If Astral Arms class feature is active, use WIS modifier instead of STR"

coarse mesa
#

~~@gilded yacht it looks like the new Anonymous integration is treating the other player tokens as unidentified – I'm not sure if there's something I need to do to address that. Working great for NPCs 🙂 ~~ Idle has fixed this at their end, one less thing to worry about!

coarse mesa
coarse mesa
opaque current
#

I presumed as any other token but I'm not at PC

coarse mesa
#

PCs don’t have that option on their HUD or combat tracker. I guess Anonymous just assumes they’re always revealed

opaque current
#

Interesting

coarse mesa
#

We have Limited ownership of each others actors anyway so it’d be a bit weird not to see their name lol

#

(Limited means you can see just each others bio/description on the character sheet and lets you have your whole party in MTB)

thorny solar
#

Can I ask for your help in setting something like this up? My game recently got a Ranger and I'm struggling setting up Favored Foe.

vast bane
#

Hmmm, I used advantage reminder for my ranger who had that, but I vaguely recall it being possible to just edit the premade hunters mark

thorny solar
#

I did see someone setting up some sort of "Prompt on hit" macro but I could not for the life of me figure it out

vast bane
#

Hunter's mark in midi sample items is automatic, it just adds the damage if its a special flagged actor

#

if you do not fast forward, you can just use an advantage reminder module flag instead

#

oh wow, just realized that AR's new grant flags would work great for favored foe/hunters mark

violet meadow
#

Flavored foe hmmm. I probably have shared a macro for that. Could be v9 though

#

Lol flavoured...

#

Phones...

thorny solar
#

You're good Bugbear.

coarse mesa
#

DDB importer set FF up for me automatically, I've not tested it yet tho

vast bane
#

pretty sure you can get the macros from primates git then

violet meadow
#

I tend to forget to take a look at MrPrimate's assortment of macros

coarse mesa
#

probably bugbear's originally 😂

violet meadow
#

Full disclosure: Most of the time I just want to make my own to see what I can do 😄

vast bane
#

I wonder if its got the newest thing where hunter's mark creates a move to new target feature

violet meadow
coarse mesa
#

looks like a modified Hunter's Mark?

#

similar anyway

violet meadow
#

It has a clever way to test for once per round

#

I wonder where is Babonus with the new stuff now though... 😄

thorny solar
#

I saw your post about it but I'm just like "Duuuh."

#

I have two people with Hunters Mark, might have a third. So that would be neat to set up

vast bane
#

The advantage reminder way:

coarse mesa
thorny solar
#

The moving of Hunters Mark, I mean

vast bane
#

the midiqol sample item of hunter's mark in the newest midi is pretty dope I'd go that route

coarse mesa
#

pretty sure it lets you move, if you 'recast' it retains duration and ignores slot use?

vast bane
#

Slot just adjusts the time it lasts I think

violet meadow
#

I should rewrite it just for the heck of it

coarse mesa
#

oh I like that warning

#

optional bonus damage?

coarse mesa
violet meadow
#

First I need to finish this one 😄

#

I keep postponing it 😅

violet meadow
#

with optional bonus flags

#

Is it the first attack per round though?

vast bane
#

for first attacks per round, just have the item recharge on 1

coarse mesa
#

oh yep

vast bane
#

The real problem though is when its a choice when they can use it

#

this is why I don't use sneak attack from midi sample items

#

the automation assumes the rogue has only one attack wants to sneak on the first

violet meadow
#

You can have the plain Sneak Attack from MidiQOL, without the Auto Sneak Attack secondary feature

#

It will then ask you

#

You should also be able to activate an optional bonus effect for the Sneak Attack now that I think about it more 🤔

#

Oh this might be interesting

coarse mesa
#

I'm all for optional bonuses now the roll is working 💪

violet meadow
#

Test the logic for Sneak Attack in a preDamageRoll hook and add the optional damage bonus effect if it's valid

#

Then if the player wants, they can just use it

violet meadow
coarse mesa
#

Twas Emboldening Bond I was having issues with

#

Guidance will benefit too tho 🤞

#

oh no, Guidance is rolling the extra d4.... and then another one 😱

#

(hang on I'll get rid of your world script)

#

yeah the CE Guidance is wonky now 😔

#

the d20 isn't rolling, but the d4 rolls twice (it's only added once tho)

violet meadow
#

Oh does it do that after a reload ?

coarse mesa
#

yeah, I'll clear my cache just to be sure

violet meadow
#

hmmm. That's with latest MidiQOL and DFreds CE?

#

I havent updated yet

#

Let me do it quickly

coarse mesa
#

And weirdly if you opt to not use the Guidance d4, it kills the AE but you're still concentrating

#

I'm sorry @gilded yacht

violet meadow
coarse mesa
violet meadow
#

Hmmm it was on another target

coarse mesa
#

yeah the Guidance is being removed whether you use the d4 or not for me

violet meadow
#

It behaves correctly for me. Strange!

vast bane
#

are you using dfreds in your method bugbear?

#

if I recall dfreds has issues with linking castdata

#

I can't help you guys test cause I have a session in 45 minutes and I have a self rule of not updating modules on the day of let alone within an hour of session start

violet meadow
#

Just MidiQOL DFreds CE automatic rec for Guidance

coarse mesa
#

This will be why... it's how DDB sets it up

violet meadow
#

Oh yes!

coarse mesa
#

That's probably a holdover from the earlier Guidance?

violet meadow
#

Probably. I think you were supposed to activate Guidance and then roll or something 🤷

coarse mesa
#

I'll bin that and just use the straight CE autorec

#

that's better – just the weird DSN issue, that's all

violet meadow
#

Note to self: I need to remember asking about DDB imports in these situations 🙂

nova lark
#

Hey ive got a weird interaction, its probably my fault on how i created the item. Some items and specific characters when they target an enemy and attack, the attack roll with midiQOL works just fine, but it wont apply damage to the token and i keep having to do it manually. It happens with a lot of random items and spells too

#

Example of it working fine

#

Transformed character using wild shape not doing any damage

#

His gutbuster armaments arent working

velvet tangle
#

I'm having issues automatically rolling the Other Formula for this feature. These settings don't say Feature. Is there another somewhere else in the Midi config?

#

Or do I need to reconfigure the feature into a weapon?

spice kraken
#

Try using a damage field with no damage type instead. I think Other only rolls when there is a damage roll but I could be wrong

velvet tangle
#

So that worked, but if the player is targeting a token, it will inflict the damage. I selected No Damage from the drop down and it seems to work fine
Thanks for the help!

coarse mesa
# nova lark

If some are working and some not it would seem that the broken items may not be set up well. Can you share the details tab for those?

nova lark
#

Absolutely