#MidiQOL

1 messages · Page 34 of 1

vast bane
#

I personally use advantage reminder for player choice

idle crypt
#

is that a module?

dark canopy
#

and there is always the option of creating the divine smite feature as a level 1 spell

#

which would handle the "upcasting" innately

vast bane
#

the problem with just making it a spell in midi, and this is only a minor problem, is that it becomes 2 instances of damage, for concentration management

strong yew
#

Thanks for this. Essentially gave one of my characters a feat that lets them swap places with someone else

#

Trying to figure out how to implement that

vast bane
#

I personally make it an advantage reminder module entry so it all attaches to the same damage instance

strong yew
#

Figured warpgate could do it, would just need to swap both character's positions

dark canopy
idle crypt
#

this is getting a bit too complicated for me, I'll ask my smarter friend who can show me 😛

vast bane
#

the midi sample item also attaches it all into 1 instance I believe, but it always prompts the pally "Do you want to smite" even when they don't want to, so it is basically making fast forward redundant but to each their own, more than one way to skin a cat they say.

idle crypt
#

I mean, I havent quite figured out how to roll with advantage... Im used to it being hold down shift from better rolls xD

spice kraken
#

alt advantage, ctrl disadvantage

vast bane
#

isn't that the same across all rollers?

violet meadow
idle crypt
#

ah, in better rolls its: shift advantage, ctrl disadvantage, alt alternate dmg / versatile

spice kraken
#

v for versatile damage

idle crypt
#

can I change these bindings for all players in midi?

vast bane
#

make sure better rolls is didsabled, that module for some reason still shows up and gets in the gears of v10 foundry, its absolutely broken but if you leave it enabled you will have issues.

spice kraken
#

check the keybinds settings

#

I know shift is used for something in midi but idr what

idle crypt
#

I will endeavour to rid myself of better rolls 😄

vast bane
#

shift forces normal/normal in the popouts

spice kraken
#

Don't use any roller modules with midi

vast bane
#

do not use fast rolls, ready set roll, or roll groups with midi qol

#

or better rolls for 5e

#

and if for some reason you have managed to also install Minimal roll enhancements, don't use that either

#

bugbear missed it the other night, someone reported a problem with midi and it turned out the person had all the rollers installed

idle crypt
#

well cool guys, thanks for your help 🙂 Im sure I will be back..

celest bluff
#

You could have it apply an active effect on damage easily enough. Then set an expiry on healing, only issue is stacking. It will remove everything. So depends on if this is a 1 time debuff or not. Might be easier with a set of macros.

idle crypt
#

or maaybe just one last question... how do you make that flanking automation work? so it toggles the condition... is it on an enemy or the PC?

celest bluff
#

Though I do recall seeing a module which allowed you to save them per client

vast bane
idle crypt
#

client side means for all players?

violet meadow
celest bluff
#

Each browser, different settings. Everything is stored locally via cookies

idle crypt
#

ok

inland fossil
#

Hmmm, so the stacking would be an issue. How it stacks right not is separately. Each wound is a separate effect. So it does not say wound(3) instead it says:
Wound
Wound
and so one. Will that still pose the same issue?

vast bane
#

aren't your wounds just generic -1's to all skills/abilities/saves/attacks?

#

you might be able to automate your wounds with a world script on health percent

#

and then go back to using your hps for hps instead

celest bluff
#

Think a world script or click macro would better for this then setting expiry for healing.

#

You can filter the number of them, then remove the most recent one.

vast bane
#

I'm pretty sure hes adapting from another game system where you take wound damage not just generic hp, so a worldscript could adjust active effects based on the percent of health right?

inland fossil
#

Sorry yes was afk, they are generic a wound is negative 1 to all rolls

vast bane
inland fossil
#

Yes

#

If you remember the damage is divided by 6 to create the wound

vast bane
#

I can think of a really janky way to pull this off but a macro could pull it off even easier

inland fossil
#

Well it is a gloppy right now, but the ride is getting smoother since I started asking questions lol

vast bane
#

the janky way would be to make dfreds CE's exhaustions custom and edit them to be -1's to all rolls. Then have every weapon apply dfreds CE exhaustions.

#

oh wait we don't even need to use dfreds CE's exhaustion duh

#

dae or something allows for stacking

#

so yeah, make every weapon apply the same wound ae and have it stack

#

however you'lll need crymics method to heal it properly

#

actually

#

you could probably get a macro, that removes 1 wound or X wounds, if they knew that you were using stacking that would help so they don't try to remove the same named active effect.

#

if a heal spell heals for 4 points, then you could set an item macro to take the items roll, and remove that many active effects named X

#

I don't think you could ask macro polo, because you'd need to yoink the roll out of midi's workflow

#

well you could try but the guys who'd answer would lurk here more than there

dark canopy
#

this would be relatively simple world script territory

#

on preUpdateActor, check the updated HP vs the current HP, divide by 6, store it in the hooks options argument.

On updateActor, look for that flag and that the current user issued the update, if found, apply an AE as needed to that actor.

#

if its negative, you are instead removing some AE, or modifying a current one

vast bane
#

yeah I think the worldscript would be a better way, this way you don't have to edit every single weapon you made

#

however (I don't know how to do what badger suggested). But I bet you macro polo could do that!

inland fossil
#

I dont know how to do what he said either but it looks like it would work just based off of the language he used

vast bane
scarlet gale
#

@gilded yacht Is Damage Only Workflows correctly passing token information to levels cover? I'm getting a weird bug with covers getting passed a token document when it's expecting something else.

#

Cover is trying to do const baseZ = targetToken.document.elevation; but the TargetToken is already a token document. So TargetToken.document doesn't exist.

strong yew
#

Alright so, if I want to reference the location of the currently targeted token. Do I do something like game.user.targets[0].value.x and y?

violet meadow
strong yew
#

Is there like a primer or any documentation I can refer to, or did you guys learn by just reverse engineering everything?

scarlet gale
#

console.log and poking around pretty much

#

Module documentation can help too, but not everything is documented well

strong yew
#

I imagine stuff like targeting isn't module specific right?

#

It's more like core foundry?

scarlet gale
#

Yea

#

the targets are a set

#

and first() just gets the first item in the set

#

then after that you have the token document

strong yew
#

gotcha

#

Thanks for the explanation. I'm sure I'll pick up more as I go along and hit you guys with less questions

#

I appreciate all the help so far though

dark canopy
#

If you are looking at those commands

scarlet gale
#

@violet meadow Do you have any macros that use damage only workflows? Could you check if any of yours bug out with cover enabled? If you have that module.

vast bane
#

magic missile comes to mind, maybe a smite macro too

violet meadow
vast bane
#

isn't the levels cover a patreon only module?

scarlet gale
#

I think so

vast bane
#

might be why hes unable to test

#

is simbuls not an option for your setup?

scarlet gale
#

Yep, that looks like the same bug

#

I already use levels, so it made sense to use levels cover

vast bane
#

I hear ya there, I too like to reduce modules that way

dark canopy
#

It's also hard to have compatibility with an unpublished module

strong yew
violet meadow
#

I think tposney uses it, so sooner or later it will be fixed. Probably worth an issue

strong yew
#

just not clicking

dark canopy
#

They do assume a certain level of JavaScript knowledge, as most would. The wiki has more practical examples

scarlet gale
#

When I first started messing with warpgate the wiki had a page with an example for call lighting. But then it also said this doesn't currently work.

#

That threw me for a loop lol

dark canopy
#

Heh, yea, is a great example of various combinations, but the whole chain fell apart at some point

strong yew
#

yeah, I'll have to get into it

#

I work in DevOps but no java exp

quartz dragon
#

@vast bane Thanks for the help I was looking at the old version of Mace of Disruption. I'm trying to set up a weapon so that if it kills an enemy it grants an attack bonus on the next attack. Does "if damageItem.newHP <= 0" make sense as an activation condition?

vast bane
#

in the midi readme it uses examples where it implies target, unless you lead with @source so you just need to make a simple equation true, so targets hp value in the console = less than X, I don't think you want less than 0 cause nothing can go less than 0

#

I think the reason why mace doesn't use it in the activation condition is because that weapon has alot going on with it. You might wanna check out some other items for examples of activation conditions

#

My first thought is to try and see if a midi srd item like power words are automated there, and see if theres an activation condition you can rip from those

#

barring one of the guru's responding with THE answer

#

then again the other problem with midi srd is that it hides alot of the codes it uses, Divine Word would probably be a great item to steal the code from but its hidden in midi srd's files

#

target.actor.system.attributes.hp.value

violet meadow
quartz dragon
#

@violet meadow thanks very much

vast bane
#

for my own educational purposes did I pull the right code there bugbear?

#

I stole it out of toll the dead

#

that would be a neat interaction with roll self and activation conditions if it was possible though

violet meadow
#

So the issue is to make the effect target yourself after the activation condition evaluates to true. Testing

violet meadow
#

To understand what is available as target in Activation Conditions, select a token and give in console _token.actor.getRollData()

violet meadow
#

Activation condition target.attributes.hp.value < workflow.damageList[0].appliedDamage.

Tick the box near the bottom of the Details tab of the Item, which says that Activation Condition must be true to apply effects.

Create a DAE on the Item. In the Details tab of it tick BOTH boxes shown here

#

In the effect value create the bonus that you want. Give it also a Special Duration of 1Attack and I think you're good to go.

vast bane
scarlet gale
#

The wrench button I think works better, or at least saves time. Like it'll copy the feature image over to the effect when you create an effect that way.

#

I'm sure it does more.

vast bane
#

yeah I noticed that there are rare cases where a core ae creation doesnt' carry over the icon

#

well some cases, its more common than rare

violet meadow
#

Let me make 2 screenshots

strong yew
#

Anyone know how to get measuredtemplatedocument info from a target/character?

#

Trying to build one without using the crosshairs

#

but it's quite a large object

violet meadow
#

The differences are when you create an effect effect from the character sheet tab directly. It shows this.

strong yew
#

await warpgate.crosshairs.show(); basically what this returns, but trying to get it just from the token

violet meadow
#

Whereas the DAE title button will give you this

strong yew
#

Ooh, can I get that Genies Wrath you got

violet meadow
#

Sorry Wolfe, do you want to create one message after mine, cause it got a bit separated?

strong yew
#

Anyone know how to get measuredtemplatedocument info from a target/character?
Trying to build one without using the crosshairs
but it's quite a large object
await warpgate.crosshairs.show(); basically what this returns, but trying to get it just from the token

violet meadow
#

Hmm what do you mean "from the token"?

strong yew
#

if I have a target, then from that

#

or at least the space it occupies

violet meadow
#

Well if you use an item and that creates a template, you can get the Template id from the MidiQOL args[0]

scarlet gale
#

Are you trying to get the tokens that were in the template?

strong yew
#

Oh no, just the target's location to then be able to pass back

#

It seems like show() returns a large object with that information in it

scarlet gale
#

oh

#

you don't need warpgate for that

#

the token document has it's X and Y coords

violet meadow
#

yeah if you have the target you can dive in the document and get all you need

strong yew
#

So, I can definitely get the coords and have that working

#

But the way it's passed into this, I was trying to understand how to make that work without the crosshairs

#

.animation()
.on(target)
.teleportTo(position)
.snapToGrid()
.offset({ x: -1, y: -1 })
.waitUntilFinished(200)

#

the position variable here is the result of that show() from warpgate

#

so it's the object that gets returned

violet meadow
#

That is different. You will need to provide the "new" position and yes it is what the crosshair returns

strong yew
#

But the object isn't warpgate specific right?

violet meadow
#

const {x,y} = await warpgate.crosshair.show() will get you the coordinates iirc

scarlet gale
#

Are you just trying to get the coords of the target?

#

Or something that specifically needs a crosshair selection

strong yew
#

does .teleportTo() only need the coords in this case?

violet meadow
#

What is position in this case? Not sure about Sequencer's teleportTo(). You can check the readme

strong yew
#

Oh no, sorry if I'm not being clear, I'm trying to avoid using the crosshair

#

and get the information being passed into .teleportTo() some way else

#

position is the returned object from show() in warpgate

#

Which is a MeasuredTemplateDocument from what I can tell

violet meadow
#

You only need to pass x,y.

strong yew
#

Ah, yeah, so just much simpler than what I'm thinking

#

I've already got the x and y I need so I think I should be good

#

Just gotta mess around with it and test

vestal cedar
#

Any way I can use the Overtime function in MidiQol to just roll a die as part of the effect? No save, no damage, just a d10 that gets rolled when the actor's turn rolls around that I can then compare to a separate chart.

#

This is what I presently have that isn't working:

violet meadow
#

Use macroName and provide a roll in the macro

vast bane
#

sounds alot like confusion but midi srd's confusion is in the module file

strong yew
#

Woo, got it, thanks for your help guys

violet meadow
vestal cedar
vast bane
#

and midi srd does something in a macro each turn

violet meadow
strong yew
#

hmm, so looking at the pack tactics posted by posney, it seems to only activate when there's a friendly token within 5ft of your token

#

but isn't pack tactics if they're in melee with the enemy token?

vast bane
vestal cedar
vast bane
#

I had no idea tposney added his own, I am using bugbears

vast bane
strong yew
violet meadow
#

Type in console MidiMacros.confusion

strong yew
#

can I get that macro from you bugbear?

vast bane
strong yew
#

the one I grabbed that posney shared only works if you have an ally within 5ft of yourself

#

so that doesn't really work

#

I think I found bugbears further up in the discord

violet meadow
#

Yeah its somewhere here

#

hmm what's the tposney one?

vast bane
#
if (args[0].macroPass === "preAttackRoll") {
    if(!token || args[0].targets.length < 1) return;
    const target = args[0].targets[0].object;
    const creatures = MidiQOL.findNearby(CONST.TOKEN_DISPOSITIONS.HOSTILE,target,5);
    const validCreatures = arrayRemove(creatures, token);
    const workflow = await MidiQOL.Workflow.getWorkflow(args[0].uuid);
    if(validCreatures.length === 0 || validCreatures.filter(t=>t.actor.effects.find(i=>i.label === "Incapacitated")).length === validCreatures.length) return;
    else setProperty(workflow, 'advantage', true);
}

function arrayRemove(arr, value) {
    return arr.filter(function(ele){
        return ele != value;
    });
}```
#

NOTE: I renamed my item as a joke beware. This is Pack Tactics but you need to name it back the way it should be in the AE and the item name.

strong yew
violet meadow
#

delete that data in i=>i.data.label Moto for v10 and future proofing

vast bane
#

is that one of the shimmable things or that would throw a red error?

violet meadow
#

warning

violet meadow
strong yew
#

didn't work like this

#

but did work if my ally was behind the wolf

#

not even adjacent to the creature

strong yew
vast bane
#

I edited out the data in label hopefully you copied it after I did that fyi

violet meadow
#

@strong yew try this flags.midi-qol.advantage.attack.mwak | Custom | findNearby(-1, targetUuid, 5, 0).length > 1

For future reference, Pack Tactics MidiQOL findNearby

vast bane
#

you know it could be that his dispositions are wrong

#

for tposney's

violet meadow
#

Nah the original one was actually checking for allies 5 ft away from the attacker.

#

In the edited one, it checks for more than 1 unfriendly to the target creatures within 5ft

strong yew
#

Oh interesting

strong yew
#

very simple, love it

violet meadow
#

Yeah these small additions make some macros obsolete 😄

#

And with that, bugbear goes back to his cave 👋

strong yew
#

Oh, you know what, I think I get what you guys were talking about with warpgate and the item stuff finally

#

is it done using the mutate?

vast bane
#

the delete message happens only once, and only after the second phantom deletion.

#

I have no clue which author I should ping between the two of you

vast bane
#

how difficult would it be to have an active effect end when the actor loses all its temp hp?

glad veldt
#

How can I call up a workflow that applies midi qol's divine smite?

vast bane
#

How do you make a square template an aura with active auras? the aura settings seem to expect ONLY spheres/circles???

coarse mesa
vast bane
#

Grease, Faerie fire, and now spreading spores for spore druid, but I figured it out, you leave that field blank

coarse mesa
#

Oh gotcha, I was thinking aura as in on a token

#

I need to set up a spores Druid soon too. Hopefully not too tricky

violet meadow
#

All of them can delete an effect on trigger.
I would go with the 1st option and in the trigger would just do a effect.delete()

vast bane
violet meadow
#

I have actually shared something similar lately 🤔

violet meadow
sudden crane
violet meadow
#

Oh that sounds messy yeah!

#

Is it always on?

vast bane
sudden crane
#

In theory when you receive temp hp you could refuse them, for exemple if the new total is lower than you current total, or in some case when the pool is associated to some feature that is active as long as you have the original pool from the feature

violet meadow
#

@grim bane the DAE midi flags should be used most of the time with CUSTOM

CUSTOM: system/module specific calculation. DAE specifies lots of CUSTOM effects.

sudden crane
#

@violet meadow I looked into it for Armor of Agathys, and haven’t decide yet how to handle it…

grim bane
violet meadow
vast bane
#

I'm able to get stones endurance to work fyi

violet meadow
#

As a reaction

grim bane
#

Therefore the inline roll

vast bane
grim bane
#

As an automated reaction?

vast bane
#

yessir

grim bane
#

Or have you created the effect directly?

vast bane
#

its a reaction

#

were you using the wrong DR key?

violet meadow
#

Yeah it creates the effect when needed, 1hit or somthing

grim bane
#

Nope, completely the same.

vast bane
#

I did reaction cause I wasn't sure if reaction damaged would work

grim bane
#

100% the same

vast bane
#

do you have another roller?

grim bane
#

Nope, just Midi

vast bane
#

and what is your midi/dae versions

grim bane
#

Never cross beams... 😉

violet meadow
#

Wait. The issue is the DRs are not both respected?

grim bane
vast bane
#

where are the multiple dr's from?

#

you can't do add in DR, its a subtraction value

grim bane
#

Stone's Endurance & Heavy Armor Master

vast bane
#

this is one of those 1 in a million priority cases

grim bane
grim bane
vast bane
#

use priority, include heavy armor master in stones endurance

#

which is stronger, higher or lower in priority?

grim bane
#

Oh, haven't thought about priority... damn. But nevertheless, as soon as I'm using inline rolls, no damage is applied and the error above occurs

grim bane
#

My versions are:
Foundry 10.288
DnD 2.0.3
Midi 10.0.22
DAE 10.0.13

vast bane
#

I have foundry 290, otherwise same as you

#

take a picture for the archives guys, we got a priority case finally

#

only error I get is my crusher feat I still haven't fixed lol

grim bane
#

Without the inline roll everything's fine (besides the dice throw is missing)

vast bane
#

I ponder if HAM is suppose to stack though

#

also I think the ac issue is just cause its a system flag and ac generally is weirder anyway, it does not like dice equations

#

it really wants an integer

#

Theres a few weird ones like that, I believe initiative is similar if they haven't fixed that in 2.0.3

violet meadow
vast bane
#

mines rolling?

#

turn on inline rolls for dae

#

its a client side setting so if you aren't the goliath player, tell them to do it on their end

grim bane
#

Hmm... I'm not sure if I want it THAT badly... 😉

vast bane
#

I turned it on for things like spirit guardians and such, my players are very paranoid with dice rollls

grim bane
# vast bane I have foundry 290, otherwise same as you

I did a clean install for 290, no other modules than midi and dae, and still the inline rolls don't work. The dice are rolled but the effect value is still the formula within the double square brackets. I give up...

violet meadow
#

It depends on how you add the effect on the actor. I can replicate as I told you before.

vast bane
violet meadow
#

Moto probably uses a different way

vast bane
#

I just made a basic feature

#

want me to send you the feature?

grim bane
vast bane
#

my actor had 10 con, so I just kinda guessed I was using the right attribute but it should work

#

so your issue is that it works, but the inline roll isn't shown?

#

You are 1000% sure you have this setting checked?

grim bane
#

The roll is made but not inserted within the effect

vast bane
#

um yes it is

#

thats not the effect on the actor

#

thats the effect on the item isn't it?

grim bane
#

It is the effect on the actor

vast bane
#

find the culprit

#

I guess my con mod was wrong, unless that guys got 10 con too

grim bane
#

it's right, the guy is just a test actor. Changed the con to 16...

vast bane
#

oh I see what I did wrong

#

for the record, priority is higher not lower

#

so change the reaction to 50, and change the passive to 1

#

or just lower

#

I assumed lower was better

#

stones endurance just absolutely has to have a higher priority than HAM

#

its just so rare nobody told us what way it goes

grim bane
#

Hasn't changed anything. I don't even have HAM right now, only your feature. And it still doesn't calculate the inline roll within the effect value.

vast bane
#

show me chat

grim bane
vast bane
#

you aren't using enhanced damage dialog

#

DR requires it

#

if its off its not applying damage automatically nor how does it know what the damage type is

grim bane
#

Why should I need that? I don't roll damage right now, I only activate the feature which should give me DR

violet meadow
#

I have never used that in my life

vast bane
#

what do you think DR is?

violet meadow
#

I use DR just fine without

vast bane
#

DR is damage reduction not resistance

violet meadow
#

yeap

vast bane
#

you won't see it till you take damage

violet meadow
vast bane
#

I meant the damage card

#

but I'm pretty sure there is no way to show DR is active on an actor until they actually take the damage

#

in midi terms, DR is damage reduction and dr is damage resistance just cause of how the keys are in dae

vast bane
grim bane
#

I'm talking about DR (Damage Reduction). And no, enhanced damage dialog didn't change anything. Here's the error:

vast bane
#

find the culprit maybe?

grim bane
#

How do I use that? I've already installed it

vast bane
#

manage modules bottom right

#

midi, dae, socketlib, libwrapper

#

let me test mine on a pc, its currently on an npc

violet meadow
#

So DAE sends that stringTerm to a Dice Roll evaluation and Foundry complains (midi catches that error and displays it)

grim bane
#

😄 these are the only modules installed...

violet meadow
#

You should be seeing a couple of more warnings from MidiQOL just before that one

vast bane
#

its pc's

grim bane
vast bane
#

npc works fine, pc does not

#

something about pc's are breaking it

grim bane
#

I know that DR is functioning. It's just that the inline roll isn't working as intended

grim bane
violet meadow
#

Linked/unlinked or PC/NPC only?

vast bane
grim bane
#

Only linked. I just unlinked the pc and everything works

violet meadow
#

update the created issue with all the info 😉

grim bane
violet meadow
#

and an actor with the item on and which item is it that does it etc

grim bane
vast bane
#

just tell him how to replicate it

violet meadow
#

ahhh nooooo just the linked/unlinked pc/ncp and an actor that show cases the issue

grim bane
#

Just kidding... not my first neither last issue... 😄

vast bane
#

tell him to drag out the aboleth, make sure its unlinked, give it the feature he will totally see it, but also snippet the error too

grim bane
#

And @vast bane & @violet meadow Thanks a lot for your help! 🤩 🥳

vast bane
#

really odd behavior though, what an insidious bug

violet meadow
#

Also I am not sure if the DR doesn't accumulate house rule option does anything tbh

vast bane
#

I always lean towards fucking up my combat dummies before player characters so thats why I was using an npc that whole time

vast bane
#

they stack if you include it all and then set the priority, the passive HAM is ignored for the attack

grim bane
#

Hmm... is it a Midi or DAE issue? 🤔

violet meadow
#

I mean there is an option that should allow all DRs to be accumulated in the Misc tab, but not sure what it does

vast bane
#

its a midi flag

#

unless bugbear can clarify, its not that big of a deal hes the author of both

#

DAE has less issues though hehe

violet meadow
#

The evaluation error points to DAE

vast bane
#

I ran into that overtime bug in 22, kinda hoping he drops a fix by saturday so I don't have to step back down

violet meadow
#

Is it for spirit guardians OT? I stopped using this kind of workflow for such spells, after I made the Template Macro one 😅

I just dropped them all and went back to creating attack Items on the inventory of the caster and tell them to use that when needed.

vast bane
#

its the spores druids level 10 feature spreading spores

violet meadow
#

well that's a new one

vast bane
#

an active auras square aura that is an overtime effect

#

want the feature?

#

I think its the Elwin reported bug isn't it?

#

tposney responded saying its fixed in 23

#

I dunno, I just assumed it was

#

I'm using active auras aa helpers macro for it so that the spores template applies to all within

#

wait...I think I copied the v9 aa helpers, is there a difference lol

#
if (!game.modules.get("advanced-macros")?.active) { ui.notifications.error("Advanced Macros is not enabled"); return }
if(args[0].tag === "OnUse"){
AAhelpers.applyTemplate(args)
}```
violet meadow
#

Should be the same

vast bane
#

utils is probably dae right?

#

so its something in tposneys stuff not kandashis

violet meadow
#

Nope its MidiQOL

#

Do you have a save Magic in the OT?

vast bane
#

yes

#

oh shit

#

its a capital t

violet meadow
#

Do you have it as "True"?

vast bane
#

calling doovertime

violet meadow
#

Yeah that's not an actual error. Only a forgotten console.error in the utils.js

#
for (let effect of actor.effects) {
    if (effect.changes.some(change => change.key.startsWith("flags.midi-qol.OverTime"))) {
        console.error("Calling dooverTime effect", actor, effect, startTurn);  //that one 
        await doOverTimeEffect(actor, effect, startTurn);
  }
}
vast bane
#

is that an issue to post?

violet meadow
#

It's in utils.js:1329

wind fossil
#

can activation conditions filter by status effects?

#

also is hte syntax different in the details tab vs the active effects field?

violet meadow
wind fossil
# violet meadow not sure what you mean 🤔

the chill touch sample item uses an effect activation condition targetId === "@token" && details.type.value === "undead" which looks different to how dragon slayer sample item is set up in details tab

#

i assume cause different points in the workflow?

wind fossil
violet meadow
violet meadow
# wind fossil example pls :)?

Array.from(workflow.hitTargets)[0].actor.effects.some(eff=>eff.getFlag('core','statusId') === "Convenient Effect: Blinded")

wind fossil
#

wow that's a mouthful!

violet meadow
#

Depending on what the statusId is

#

you can filter with label too ```
Array.from(workflow.hitTargets)[0].actor.effects.some(eff=>eff.label === "Blinded")

wind fossil
#

Cool thanks bugbear!

violet meadow
worthy viper
#

So I was wondering how would I write up a macro or an automated Aberrant Ground aura for a Gibbering Mouther, if token starts its turn in the aura it must make a save or be knocked prone if they do fail it automatically applies the "Prone" condition from Dfred

violet meadow
worthy viper
violet meadow
worthy viper
#

so like this?

strong yew
#

Hmm. So I'm trying some of the sleep macros posted, but I can't seem to get a decent result

#

It rolls damage, but then nothing else happens

#

Do I need to create a CE for sleep?

#

or a dae I guess

#

also secondary question. Have a Hideous laughter macro, but it's only applying prone on fail

#

Is there something I need to adjust to apply multiple statuses?

wind fossil
# strong yew

ive had similar annoyance with this, try using macro.CE

wind fossil
strong yew
#

I have an enemy in it with 11 hp, rolled a 20ish

#

but no effects applied

violet meadow
wind fossil
violet meadow
strong yew
#

on fail, but it should also apply incapacitated

strong yew
#

I'll keep that in mind for others as well

#

Do you guys use any kind of automation for wild magic surges?

dark canopy
#

helpers/simbul's are my recs

#

v9/v10 respectively

violet meadow
strong yew
#

oh wow, is helpers not going to be updated for v10?

#

and thanks for the suggestions. I'll check these out. Simbul's seems good to have anyway

spark briar
#

Hey guys, I am working on Midi, and it used to be that if I cast shield, the caster gets the bonus. But now I have to target someone. Any help?

strong yew
#

Have a wild magic sorc in my 1 shot, but I also have a custom magic item I gave my warlock in my main campaign I'm going to try to get working. Eldritch Blast on a 20 gets a spell slot back, on a 1 rolls on the wild magic table

violet meadow
strong yew
#

in the details on the spell

dark canopy
#

the simbuls version has the helper's API that lets you create custom wild surge rules with very little effort

thread with discussion: #960219012443279450

spark briar
violet meadow
#

3rd box

spark briar
violet meadow
#

Target: blank | blank | Self

spark briar
#

ho, no @ then?

violet meadow
#

@self

spark briar
violet meadow
spark briar
#

I fixed it

violet meadow
#

Character sheet => Shield spell => edit it => Details tab

strong yew
#

Oh, no it should be in details

#

target

spark briar
#

I found the culprit

#

This was on do not apply

#

so it gave the prompt

violet meadow
# spark briar

This is wrong. Well it was being used at some point.
Now just use system.attributes.ac.bonus | Add | +5

spark briar
#

okay, changed it, thanks man

#

Do you guys know how I, when I cast detect magic or such, to make the template move with me?

violet meadow
#

Make sure that when you cast the spell, you place the created template on the actual token to have it centered

spark briar
#

Like so?

#

Btw, all of this is really appreciated

violet meadow
# spark briar Like so?

Oh no. Create a script macro in your macro folder.
Then call that macro from the onUse MidiQOL macro field on the spell details page

The macro would be something like ```js
const {templateId} = args[0];
const template = canvas.scene.templates.get(templateId)
tokenAttacher.attachElementsToToken([template], token, false);


and the onUse Macro call would be something like `name of the macro you created | Only called once a template is placed`
strong yew
#

Also, thanks for this one, tried it this morning and mind sliver is working properly now

dark canopy
strong yew
dark canopy
#

editing effects on items on an actor is a great way to confuse yourself

violet meadow
#

Call the Attach-token from that field

#

I would avoid using - in the name, but 🤷

strong yew
spark briar
spark briar
strong yew
#

But that's like one extra step it feels like when testing small changes

spark briar
#

it didnt work

dark canopy
violet meadow
spark briar
#

I do

#

and didnt change any settings

violet meadow
#

I was going off memory 😄

spark briar
#

sure thing

violet meadow
#

It needs the actual template and not the template.id

spark briar
#

Brilliant

#

it works

#

what does args[0] mean?

#

constant 0?

#

so, False?

violet meadow
#

Its a call to the arguments MidiQOL makes available to macros!

#

Create a script macro ```js
console.log("args":,args)
console.log("args[0]:",args[0])
console.log("workflow:",this)

Use an item onUse macro and put the name of that macro in the onUse call `name of the macro | After Active Effects`.

Use that item to make an attack for instance.
#

Check the console

spark briar
#

jezus, my programming is worse than I thought

#

But I really appreciate all of this guys

strong yew
#

Also, do you guys use a module for cover calculation with midi

#

I see there are two options in the settings

dark canopy
#

people both do and dont -- the big question is: Is cover automation important to your gameplay?

strong yew
#

Yeah I'll try it out. I've been trying to make combat maps more dynamic. Having different levels/cover seems to be more interesting for players

dark canopy
#

"seems" carries a lot of weight there

#

making anything multilevel increases prep time exponentially

#

and keep in mind, 2 hours of graphical/animation work could be replaced by 10 minutes of expanding the encounter to have more elements -- resulting in the same amount of "awe" from players

violet meadow
#

And don't get me started on automation macros 😁🤣.
I just do it to learn what I can achieve, but boy oh boy most of the time it's time ... "wasted" 🤯

strong yew
#

?

#

I have some players that really enjoy combat, but some that really don't. The ones that done tend to respond better to when the map is more dynamic

dark canopy
#

well, the fact that you have wall heights mentioned, i think blocks helpers/simbul's from working, cause I dont consider external mods like that

strong yew
#

Had a fight pit kind of fight where they were on an ice platform with water under, and it was breakable and what not

dark canopy
#

(unless simbul expanded it somehow)

strong yew
#

Most of the automation I'm doing is actually for my wife's benefit. She's DMing for the first time for a one shot, so trying to make everything as easy as possible

dark canopy
#

yea, we are playing on a virtual tabletop, which is 2D -- if you want 3D terrain, FVTT isn't exactly the best option

dark canopy
#

In fact, i would recommend no modules

#

as it will be far far far less frustrating and confusing

strong yew
#

She's used foundry as a player before

#

She's in my main campaign, but just never Dmd

#

But yeah I think I'll shy away from the cover stuff for now

#

thought it might be easy but it sounds like it takes a bit of investment

dark canopy
#

your call, simul's cover calc is very easy to use if you have half decent walls

#

but it has no integration with levels or wall height, or anything like that

strong yew
#

Interesting. Does Core foundry have like half walls and stuff?

#

I make most of my maps in dungeon draft

#

Figured I'd have to come in post import to edit them

dark canopy
#

i personally have not come across a situation in play where representing it all as a flat surface was an impediment to play. If i really really needed some other area, i'll drop a tile and wall it then move the token there

strong yew
#

Well, like short walls for half cover

dark canopy
#

again, foundry is 2D, so the concept of "height" is barely considered

#

simbul's cover calc adds a cover property to walls, however

violet meadow
#

And is integrated in MidiQol

strong yew
#

Hmm. I'll play around with it on a test world. It's not imperative to have the cover and stuff, just a nice to have

#

Some of my players like to play around with heights and things for like shoves and what not

violet meadow
#

Same with Token Alternative visibility. Might have the wrong name but close

strong yew
#

But that can kind of just be done manually

#

Just saw the Cover options part of Midi and figured I'd ask

dark canopy
#

yea, its generally an easy integration short of wall height getting involved

#

(everything in the original helper's mod was designed to be plug and play)

strong yew
#

Yeah I'll have to figure out the best strategy. There's already so much prep I'm doing since it's a homebrew campaign. My wife took over keeping Kanka updated for me since it was just too much to do with how exhausted I am from work

glad veldt
#

Where should I write DamageOnlyWorkflow like divine smite macro?

unique cape
#

I've been troubleshooting why flasks don't deal other damage and it turned out a script I've found for Piercer feat (I don't remember from where) doesn't seem to detect piercing damage properly - it applies to any attack with any damage. Can this be somehow tweaked?

//Piercer Feat 5e macro for MidiQOL/DAE/ItemMacro as currently stands.
if (args[0].hitTargets.length < 1) return {};
const target = canvas.tokens.get(args[0].hitTargets[0].id);

token = canvas.tokens.get(args[0].tokenId);
actor = token.actor;

const roll = args[0].damageRoll;
const dieSize = roll.terms[0].faces;
const lowDice = Math.min(... roll.terms[0].values)
const isCrit = args[0].isCritical;

if (args[0].tag === "DamageBonus" && args[0].item.data.damage.parts[0][1] === "piercing"){
    if(isCrit) return {damageRoll: `1d${dieSize}[piercing]`, flavor: "Critical Piercer Feat extra damage"}
}

if (args[0].macroPass === "postDamageRoll") {
    let workflow = MidiQOL.Workflow.getWorkflow(args[0].uuid)
    let response = await Dialog.confirm({
        title: 'Piercer feat',
        content: `<p>${token.name} rolled a ${lowDice} on 1d${dieSize}. Reroll?</p>`,
    });
    if(!response)return;
    let damageRoll = new Roll(`1d${dieSize}`)
    await damageRoll.toMessage({flavor:"the rerolled result"});
    
    if (args[0].isCritical) {
        if (workflow.damageRoll.dice[0].results[0].result > workflow.damageRoll.dice[0].results[1].result) workflow.damageRoll.dice[0].results[1].result = damageRoll.total
        else workflow.damageRoll.dice[0].results[0].result = damageRoll.total
    }
    else workflow.damageRoll.dice[0].results[0].result = damageRoll.total
}
#

Disclaimer, I don't really know how macros work, just hoping there's a simple solution. If not, no big deal

strong yew
#

question about incorporating saves
tried to look at the toll the dead macro to see how it handles only applying on a save
but it doesn't seem to handle that in the macro itself. It is applied in the spell details
Is that right?

coarse mesa
#

Yeah not in front of Foundry right now but it’s either those buttons down the bottom of details, or I think that might be handled with how midi parses descriptions for keywords?

strong yew
#

Hmm. So I'm working on something right now for Telekinetic Shove since one of my players took the feat

#

I have it working, but am trying to just get some logic around making it work smoothly

#

I have some if statements in there surrounding no target/multiple targets

#

and it stops it from working if multiple targets are selected, however it still prompts for the saves before that

#

even changed when the itemmacro is called to "before the item is rolled" thinking that would work

coarse mesa
#

Just make it target one creature in the details tab, midi does the rest

strong yew
#

Yeah I did that as well

coarse mesa
#

Oh do you not have midi requiring targets?

#

It’ll throw a notification banner

strong yew
#

hmm, let me check on that

#

Is it this section in workflow?

coarse mesa
#

Are you testing out of combat?

strong yew
#

Oh, I have it set to in comba

coarse mesa
#

Yeah I just have Always

strong yew
#

Ah so this is why the if statements for targeting aren't in a lot of macros

#

cause it takes care of it for you

violet meadow
strong yew
#

Is there a way to set an item macro to be called only on a failed save?

wind fossil
strong yew
#

hmm so if I put in my item macro let save = await actor.rollAbilitySave('int');

#

That will trigger a second saving throw yeah?

vast bane
strong yew
#

Telekinetic Shove. I have it all working aside from only triggering on a failed save

vast bane
#

oh wait, thats just a save

strong yew
#

I used a couple different macros as a base, but mainly pulled from crusher since it's also a move 5ft

#

Even on a successful save it still allows the move basically

#

trying to retrieve the results of the prompted save, then use that boolean to determine whether or not to call the next part of the macro

vast bane
#

did you check the WG wiki?

strong yew
#

Hmm, no I didn't. I'll check now and see if I can find something

dark canopy
#

warpgate doesnt have much, if anything, to do with midi's workflow

vast bane
#

he just needs to make a save feature that applies ae on failed save. Then use item macro in the ae

#

and make a crosshair movement in the IM

#

probably better to just plagerize crusher lol, I can't understand that link

strong yew
#

Yeah I have all the movement stuff working

dark canopy
strong yew
#

have midi in debug, looks like "after saves" is an option to call the macro, and then there's some info on the saves and who the target was in there, so I'm gonna look around

vast bane
coarse mesa
vast bane
#

if they fail the save, ae happens, put item macro key in ae

#

or use EM

#

On create: crosshairs movement

strong yew
vast bane
#

it would be on the item?

coarse mesa
#

Gimme a sec. @violet meadow has a one-liner

strong yew
#

So I can do like if (yes) do the thing, if (no) don't

vast bane
#

you don't need to do that

#

midi already handles that calculation when you make a save feature/item

#

it will apply an active effect if they fail the save

#

then its just a matter of finding the item macro key in dae and writing the crosshairs macro

#

though I'd use EM

coarse mesa
#

you don't need an AE for shove though

vast bane
#

you do if you don't want it all in the macro

strong yew
#

I feel like it would be cleaner if it was just in the macro

#

I'm sure there's a way I can retrieve the data from the save that was triggered

vast bane
#

you could also look at more automated features shoving attack

#

but his macros are really complex

dark canopy
coarse mesa
#

@strong yew something along these lines:
if (args[0].failedSaves.length !== 0) {

#

so it only works on failed save

#

just do a search on failedSaves – bugbear uses it all the time

vast bane
dark canopy
#

that target.update looks sketchy re: permissions

vast bane
#

I don't think he uses warpgate

coarse mesa
vast bane
dark canopy
#

nah, not syntax, just core foundry permissions issues

#

which were present in v9 as well

vast bane
#

do overtime template effects need the template to stay?

#

I feel like this is a dumb question but I swear I removed these in v9 with Automated animations

coarse mesa
#

does A-A actually delete the template or just hide it? mine show up again on hover, but maybe that's a different module

vast bane
#

I want that hide module lol

coarse mesa
#

I like it that way so you can check anytime exactly which squares are affected

coarse mesa
#

I use TMFX to give a lil flavour to any default templates that A-A isn't working on... eg most SRD creatures

vast bane
#

I must have a conflicting module cause I have that setting and its not happening

#

is enable automatic template effects part of it? I thought that was the graphic images in templates?

coarse mesa
#

presumably, but they might be linked

vast bane
#

does the dm always see templates?

coarse mesa
#

oh that could be it

vast bane
#

I tried FTC with just TMFX on and it still happened

#

tested on player client too, that setting does nothing for me

#

are you on v9 or v10?

strong yew
#

is it bad to put a warn notification as a response if the target resists the shove? I don't want to output all saves to chat, since I have that as just the GM rightn ow

#

So on a failed save > it lets you move them, on a success save > it outputs a ui warning of "target resists your shove"

#

If I just have it not continue, it just kind of doesn't do anything and seems off

unique cape
#

The weapons worked just fine, but the consumable did not

coarse mesa
coarse mesa
strong yew
#

ah ok thanks

coarse mesa
#

Pretty much how bugbear's works

#

That uses the names in the notification banners too

unique cape
violet meadow
violet meadow
coarse mesa
#

@strong yew is remaking your macro we gave them someone else yesterday 😆

violet meadow
#
if (!args[0].failedSaves) return;
``` stops if noone failed save
coarse mesa
#

Note that's v9 tho, but you get the idea
Edit: just realised you're talking telekinetic still... anyway, this is good info on how to do notifications 🙂

violet meadow
vast bane
#

what is the base item of the holy water

violet meadow
#

I need to update Piercer and Slasher for v10 in the meantime too ✍️

strong yew
#

but this if(result && args[0].failedSaves.length !==0) works correctly

unique cape
violet meadow
#

Was the noDamage throwing it off? 🤔

unique cape
#

It didn't work for hoyl water, just no damage at all

violet meadow
#

Yeah cause you had it as noDamage

#

Lets take it back a bit. Is Piercer working OK by differentiating between piercing and non-piercing weapons?

coarse mesa
#

I'm curious if you can get something going, my telekinetic shove could use some love lol

strong yew
#

a dialog popup I liked from crusher

#

I'll post it here, I wouldn't mind some critique since it's still early for me for creation

#

but it's working 100% so far so

#

is there a better way to post a whole codeblock than ``

violet meadow
#

```js
code here
```

unique cape
coarse mesa
#

👆 I don't know how to type that without it actually turning into a code block lol

unique cape
#

A holy water didn't even proc

violet meadow
unique cape
#

As in, no damage roll

unique cape
violet meadow
unique cape
#

There was. You know, when I have access to foundry again, I will double check and get back to you with a proper log error and reproduced issue

#

Cause I can't right now unfortunately

strong yew
#

ah damn it, do I need nitro?

#

message is too long lol

#

May as well try the free trial

#
// Telekinetic - Shove
// Requires Midiqol, warpgate, and item macro modules

let combatTime;
if (game.combat) {
    combatTime = `${game.combat.id} - 100*${game.combat.round} + ${game.combat.turn}`;
    const lastTime = actor.getFlag('world', 'TelekineticShoveUsed');
    if (combatTime === lastTime) return;
}

if(args[0].failedSaves.length !==0) applyTargetMove(combatTime);
else {
         ui.notifications.notify("Target resists your shove!");
         return;
       }

async function applyTargetMove(time) {
    const targetDoc = game.user.targets.first().document;
    const targetToken = targetDoc.object;
    const targetCenter = targetToken.center;
    const maxRange = 5;
    let distance = 0;
    let ray;
    const checkDistance = async (crosshairs) => {
        while (crosshairs.inFlight) {
               await warpgate.wait(100);
               ray = new Ray(targetCenter, crosshairs);
               distance = canvas.grid.measureDistances([{ ray }], { gridSpaces: true })[0]
            //console.log(ray)
               if(canvas.grid.isNeighbor(ray.A.x/canvas.grid.w,ray.A.y/canvas.grid.w,ray.B.x/canvas.grid.w,ray.B.y/canvas.grid.w) === false || canvas.scene.tokens.some(i=>i.object.center.x===ray.B.x && i.object.center.y===ray.B.y)) {
                crosshairs.icon = 'icons/magic/air/wind-vortex-swirl-purple.webp'
            } 
            else {
                crosshairs.icon = targetDoc.texture.src
            }
            crosshairs.draw()
            crosshairs.label = `${distance}/${maxRange} ft`
           }
    }
    const callbacks = {
            show: checkDistance
    }
    let distanceCheck = await warpgate.crosshairs.show({ size: targetDoc.width, icon: targetDoc.texture.src, label: '0 ft.', interval: -1 }, callbacks);

    while (canvas.scene.tokens.some(tok=>tok !== targetToken && tok.object.center.x===ray.B.x && tok.object.center.y===ray.B.y || distance > 5)) {
        ui.notifications.warn(`Telekinetic Shove: Cannot move ${targetDoc.name} on top of another token or further than 5ft away`);
        distanceCheck = await warpgate.crosshairs.show({ size: targetDoc.width, icon: targetDoc.texture.src, label: '0 ft.', interval: -1 }, callbacks);
    let {cancelled} = distanceCheck;
    if (cancelled) return;
    }
    const {x,y,cancelled} = distanceCheck;
    if(cancelled) return;
    const newCenter = canvas.grid.getSnappedPosition(x - targetToken.w / 2, y - targetToken.h / 2, 1);
    const mutationData = { token: {x: newCenter.x, y: newCenter.y}};
    await warpgate.mutate(targetDoc, mutationData, {}, {permanent: true});
    if(game.combat) await actor.setFlag('world', 'TelekineticShoveUsed', `${time}`);
    else if(!game.combat && actor.getFlag('world','TelekineticShoveUsed')) await actor.unsetFlag('world','TelekineticShoveUsed');
}

This is a macro for Telekinetic Shove
mostly cannibalized from @dark canopy Crusher macro

dark canopy
#

Good Lord, lol

#

All that for a push?

strong yew
#

hmm, what do you guys do to get the formatting and color coding in your snippets?

coarse mesa
#

See bugbear's reply to you above 👆

strong yew
coarse mesa
#

I probably wouldn't bother with the dialog btw, but it is well done. I always want to move them when I hit the item in my hotbar

dark canopy
#

and if you are already using warpgate, might as well use its dialog helpers and reduce the boilerplate dialog code (if you are gonna keep it)

strong yew
#

the dialog box is straight from the crusher macro

#

I just changed the word "crusher" to "telekinetic shove" lol

vast bane
strong yew
#

Fair point though, I'll just edit it. It's a little redundant to ask

#

const targetDoc = game.user.targets.first().document;

spice kraken
#

there's no js at the beginning on its own line

strong yew
#

lol, got it, I thought it was just "js code here" he was typing as an example

#

Thanks for clearing that up

scarlet gale
#

And if it's really long you can save it as a .js file and just drop the file here. It'll show up similar to the code block (at least for Desktop users)

strong yew
#

much better, thanks for that

vast bane
#

you can't drag files to discord if discord has elevated access, which happens alot with some folks who use multiple cam/voice applications in windows

dark canopy
#

I've never heard of that one 🤣 and I'm a pro at breaking stuff

scarlet gale
#

I feel like there is a better fix for whatever issue you're having for that

#

Running Discord as elevated seems like a bad idea

dark canopy
#

Running apps elevated in general is a bad idea

#

Foundry included

vast bane
#

I dragged out the aura of protection using bab and I have no clue what it is doing, I feel like the menu is broken?
What is the point of a premade if I have to make it?

violet meadow
#

Where is that one on?

vast bane
violet meadow
#

When did you update babonus last?

vast bane
#

I will upddate now

#

can you only use bab when its on an actor?

#

I dragged the bab version to the paladin and rolled a save and its not showing a bonus

strong yew
#

Is there a midi flag for damage immunity?

#

Trying to make a CE for silence

vast bane
#

.di should autocomplete it for ya

strong yew
#

Ah yeah, don't know how I missed that, thanks

vast bane
#

just updated bab, went to midi sample items, dragged out bab version of aura of protect onto an actor, no saves are modded, when I click the badger icon at the top I get this:

scarlet gale
#

Anyone got a good chaos bolt macro? I was previously using ASE for it.

violet meadow
#

v9 still though

scarlet gale
#

Sounds good, I'm sure it'll be easy enough to convert to v10

#

Is it the same one that you've previously posted when I search for it, or has it been changed since then?

violet meadow
#

Oh yeah I haven't used it yet on v10 and I forgot to update it

#

Not 100% sure I haven't changed anything though 🤔

honest osprey
#

is this a MIdI QOL setting? Or this from another Module to show the actual Roll of the D20 Dice just wondering if anyone would know?

scarlet gale
#

Part of me just wants to see how hard it would be to copy it from ASE and make it function without the module

scarlet gale
#

Or whatever it's v10 version is called

honest osprey
#

better rolls ok i'll check it out thanks!

vast bane
#

that probably means showever that is, is crossing the streams

scarlet gale
#

I wouldn't use it

vast bane
#

does anybody here use the bab version of aura of protection in themidi sample items? I'm unable to understand what its purpose is. I drag it to a sheet and I don't know what it does no saves change at all

strong yew
#

Hey who was it that had a call lightning macro?

scarlet gale
strong yew
#

bugbear did you finish it with the item creation?

vast bane
strong yew
#

I'm trying to make vampiric touch and it seems like a good candidate for a similar approach

scarlet gale
#

I have one of those too lol

violet meadow
vast bane
strong yew
violet meadow
#

Warpgate! 😅

scarlet gale
#

I mutate the token to give it an extra feature

strong yew
#

Or whatever the thing is called

#

yeah that

scarlet gale
#

I also auto favorite it

strong yew
#

Could I get those from you? lol

vast bane
violet meadow
#

Oh my summoning spell worked

dark canopy
violet meadow
#

@vast bane that's nothing actually. Just empty 🤔

scarlet gale
#

I actually have plans to rework both my call lightning and vampiric touch for v10. So you might want bugbears unless his is also out of date

vast bane
#

I made a midi compatible aura of vitality that is the same concept but the WG wiki for creating an item, is perfectly setup with a midi example

gilded yacht
strong yew
#

I think the aura one works if the target starts their turn in there

#

but I tried to do the other part with entering for the first time as well and couldn't get it to work

#

but I was looking at spirit guardians and have gotten a lot more comfortable since then so I may retry

#

the midi spirit guardians that checks for first entry I mean

#

Or actually, for something like vampiric touch, I wonder if I could do something like the new hunters mark tposney posted? Just have a check to see if it's already being concentrated on and skip the dialogue to consume a resource while keeping the concentration duration consistent

vast bane
gilded yacht
vast bane
dark canopy
#

i think they are otters?

vast bane
#

I just kinda assumed hehe

coarse mesa
#

otters only pretend to build

vast bane
coarse mesa
#

You can put babonuses on the item or on the AE… did you check both?

vast bane
coarse mesa
#

OK maybe @molten solar’s UI overhaul broke Tim’s pre-made?

#

Deliberately? squint

scarlet gale
#

(The macro has since been changed to edit the workflow and not use a damage only workflow)

molten solar
#

The automatic migration would have updated all items in all unlocked compendiums.

coarse mesa
#

I see why you don’t like sample compendiums

molten solar
#

Can't say it's a great concern of mine. The API has a function to update a pack. 👍

vast bane
#

k I'll just issue it in midi

#

unless someones got a functional I can send tposney

coarse mesa
#

You can build it @vast bane - I believe in you

violet meadow
#

Dead and Unconscious are the Blocking conditions

molten solar
#

In fear of measuring on the Richter scale with the ensuring eye rolling I am about to provoke...

vast bane
coarse mesa
molten solar
#

All fields that are a semicolon separated list of conditions are not validated for their contents (except trailing spaces). You can make it work for non-CE users too.

vast bane
violet meadow
#

Granted

molten solar
#

The core status ids are 'dead' and 'unconscious'.

violet meadow
#

I just used the keys from the list 🤷

molten solar
#

The tooltips should explain it all.

vast bane
#

Thanks guys

molten solar
violet meadow
#

you did well

molten solar
#

It's just all the ids from CONFIG.statusEffects, which CE changes

coarse mesa
#

I sensed no eye rolling

violet meadow
#

nah its fine

molten solar
#

The neat thing with that is that you can make any effect you like, give it a status id, put the same status id in the babonus, and boom, hunter's mark, hex, hexblade's curse, all the marks

violet meadow
#

Yeah, I went the long way around, cause why not ... and got some flags going to get only the correct targets to trigger the Mark

#

but its sexy!

molten solar
#

(and for you DAE folks: The 'force display on token' is the status id field.)

coarse mesa
#

That actually would make it super easy to move your mark 🤔

#

While keeping the same spell running

molten solar
#

That's the idea.

coarse mesa
#

Hex is a little more fiddly due to the debuff being variable

molten solar
#

I don't actually remember what hex does lol I just know I'm in a campaign where a player uses babonus for it

coarse mesa
#

Tbh the hex debuff doesn’t really need automation

#

Just disadv to ability checks of one stat (not saves)

#

Is there a way for babonus to work only on one successful attack per round (thinking Favored Foe)?

molten solar
#

Define 'successful attack' and let us remind ourselves that the babonus dev is not a Midi user.

violet meadow
#

Or actually not combat start

#

but you get the idea

coarse mesa
vast bane
#

I just throw favored foe and hmark on the advantage reminders lol

violet meadow
#

What I have done in a similar fashion is have the babonus as inactive on the Item. When rolled, activate it and then play with turns etc making inactive/active

molten solar
#

Oh. Well if it doesn't matter if you miss 17 times in a row before your first hit, then that's easy yeah. Disable it after the first damage roll, re-enable it when your turn starts.

vast bane
#

favored foe is a You can feature so you have to use the always prompt method unless the player wants to play it like always first damage

coarse mesa
#

Yeah true

vast bane
#

You can means player decides when it applies

coarse mesa
#

Might be better as a babonus toggle

vast bane
#

sneak attack I think is the same way

#

but the normal midi methods treat it as first damage

violet meadow
#

Auto sneak does that. Otherwise it posts a dialog

coarse mesa
#

I think midi prompts on every valid hit until you use it

scarlet gale
#

Only if you don't use autosneak

vast bane
#

it is also kinda rare for a rogue to get 2 attacks, they'd have to two weapon fight or multiclass 5 into another martial

#

or be hasted

coarse mesa
#

It’s actually really slick, we often find midi correcting us on when we can use sneak

scarlet gale
#

Midi works fine when they get a reaction attack IIRC

vast bane
#

in my first campaign our rogue player was constantly trying to bargain for sneak so I never had to worry about it being forgotten lol

coarse mesa
#

Sometimes you miss that an ally is nearby etc

honest osprey
#

when you're using midi-qol do you need both of these or just the second one?

scarlet gale
#

Only the bottom one

#

IIRC DAE SRD is defunct

vast bane
#

the million dollar question is why does dae SRD install in v10 but midi srd needs a fork lol

#

same with better rolls for 5e that thing somehow survives to be a problem in v10

coarse mesa
#

It seems like a lot of folk are using Module Management + ... it's a shame incompatibilities aren't showing in there a bit more (aside from Tidy UI and MM+). Like the whole ghostbusters thing could be cut right down if those were flagged. But I guess that's on the devs

#

The feature is there, it's just not being utilised

vast bane
#

I assumed at first that the old modules would not install kinda how drag ruler and midi srd behaved

#

but apparently some modules make it in

inland fossil
#

Is there anyone that can make a world script that can make -1 to all rolls for each point of health that is missing from a token? Snippet included to show -1's

strange dagger
#

What are some basic things I can do with midiqol to help myself, given I know nothing about it as of right now?

vast bane
molten solar
#

Not for the ability checks and init tho

errant gull
#

Am I crazy? Or did using Parry used to negate damage? I could have sworn you could use Parry, get the popup, use it, and it'd negate the damage if the boost to your AC was enough. Now the popup occurs, but I still take damage.

errant gull
#

No. AC is 15, with Parry it's a 17, the attack was a 15.

vast bane
#

show me the chat

#

(witholding a don't cross the streams warning)

errant gull
#

Just in case anyone else looks at this, we DMd, I needed to create a Dfred's Convenient Effect for Parry.

keen mango
#

At one point I updated to 0.9.74 and saw that the concentration icon would also have the spell that was being concentrated on. Has an option been added to not have the text float up stating what the spell is?

vast bane
obsidian orbit
#

is there a macro formula to do half damage? I want to create an effect that applies on hit, that makes their next attack do half damage

vast bane
#

how often are you going to reference this feature, if its a throwaway, I'd just put a blank effect in and manually handle it in the damage card

obsidian orbit
strong yew
#

what's the proper way to call a preItemRoll?

#

Is this incorrect?

scarlet gale
#

There a module that can give a detection mode with an effect?

strong yew
#

Is there a way I can call the item macro on concentration loss?

coarse mesa
scarlet gale
#

Oh cool

#

I figured, but I didn't see it on the documentation

coarse mesa
#

Kaelad made it happen

coarse mesa
coarse mesa
violet meadow
# strong yew Is this incorrect?

Yeah incorrect. That is a DAE execution method of a macro.
It will always be executed when the effect is created or deleted or if you have a repetitive option selected in the duration tab of the effect.

#

If you want to execute a macro preItemRoll, you will need to use a MidiQol onUse macro, calling it from the corresponding field in the Item's Details tab when you edit it

violet meadow
# obsidian orbit is there a macro formula to do half damage? I want to create an effect that appl...

When is this supposed to be applied? During a specific weapon attack? You might get away with creating an effect on that attack that will give damage resistance on the target for 1 attack.
But that means you will need to be sure that the next attack on the target will be made by the creature you want to do the half damage.

Other than that you could use an onUse macro on the weapon, which will be looking for a specific flag to designate when you need to do half damage and then set the damage roll to what it needs to be.

But would need some more info as to how frequently that is happening. Like, is it like every other hit of the specific weapon no matter what?

strong yew
#

If you have multiple BonusDamage macros, how does it determine which one gets processed first?

violet meadow
scarlet gale
#

I'm having trouble understanding the API docs for warpgate. Is there a method to find if a specific mutation name exists on token?

#

warpgate.mutationStack(tokenDoc).getName It appears

violet meadow
#

I have to say, I love MidiQOL + Babonus interaction 😄

scarlet gale
#

I'm still surprised Zhell made did some work for compatibility

violet meadow
scarlet gale
#

Oh neat

#

I just finally got my own game on v10 now. So I've been modernizing all my old automations. I really need to check what can be done with that module too

signal kettle
#

Hey guys, what does everyone use here to incorporate cover mechanics to MIDIQOL automation ? Is there a way we can change the cover condition of combatants manually?

scarlet gale
#

Convenient effects has some premade effects if you want to handle it manually, otherwise Midi in v10 has built in support for a few cover modules

#

Simbul's Cover and Levels Auto Cover

#

I personally use the 2nd

molten solar
sudden crane
# violet meadow

I just see a problem with the damage flavor… It will be ignored in the auto damage application if the target has slashing damage resistance…

violet meadow
sudden crane
#

@violet meadow Ok, so no flavor or an unknown flavor of damage equals to the one from the first line of the damage parts

scarlet gale
#

@gilded yacht Don't suppose we can get a Special Duration for DAE for "Rolls a concentration save"

violet meadow
#

Hunter's Mark with MidiQOL and Babonus with DFreds CE.
You need:

  1. MidiQOL adding an Effect on the target with a statusId of Convenient Effect: Hunter's Mark - Thorin (using the caster's token name to differentiate)

  2. On the Hunter's Mark Spell, a babonus as shown in the attachment, with a target condition filter of: Convenient Effect: Hunter's Mark - Thorin


Optional (using Effect Macro).
3. For changing targets, a custom DFreds, with a Force display on token Convenient Effect: Hunter's Mark - Thorin and an EM which will take care of grabbing the correct duration remaining and changing the initial concentration effect targets (...).

  1. The player to change the target will need a macro that will add the effect to a new target and delete it from the older one or if they have permission to use the DFreds CE button on the Token Controls sidebar, use that instead

If someone doesn't care for the duration and targets changing, the whole thing takes 1 minute to setup 😄

Take care that you'll need to make sure, if you use the link concentration to effect in MidiQOL settings, add first the new target and then delete the old one if you use the DFreds button

Forgot to include the EM macro on the DFreds CE (will link a new post here to actually fit better)
<#1010273821401555087 message>

molten solar
#

Deleting it from the old target can just be added to the EM as well when you set the duration

violet meadow
#

Yeah I didn't mention it explicitly, but it was meant to be included in the "changing of the initial concentration effect targets".

scarlet gale
#

The cursed target has disadvantage on the next CON saving throw it makes to maintain concentration before the end of your next turn.

#

Would be fairly simple with a special duration of next concentration save.

#

Right now I have it at con save, and that could be triggered from something else

orchid folio
#

Is there a default Midi-QOL settings file I can use to get a fresh start? Or someway to otherwise reset to how it was initially configured?

violet meadow
#

You can click the No automation probably

orchid folio
#

That didn't quite do it. I'll see if re-installing the module gets me there

vast bane
violet meadow
#

Yeah that would do it. I wonder what is different to no automation now 😄

#

Maybe the outer menu settings 🤷

vast bane
#

Some stuff is never touched by quick settings

orchid folio
#

Exporting settings from a fresh world seemed to work. I was trying to customize saving throw,card, and damage display settings for players triggering a trap, and somehow lost the damage display along the way

spark briar
#

Does anyone know how that the premade "deflect missiles" works?
It ether always calculates the damage reduction, or never. I feel like I'm missing something.

violet meadow
vast bane
#

the premade deflect missiles, last I checked is improperly setup, it expends a ki point every time its used

#

you only spend ki to return the ammo

violet meadow
#

Effect Macro for the Hunter's Mark changing targets to be used with <#1010273821401555087 message> ```js
const statusId = "Convenient Effect: Hunter's Mark - Thorin" //change that to match yours
const spellName = "Hunter's Mark"; //change to match yours
const concentrationStatusId = "Convenient Effect: Concentrating"
const casterName = effect.label.split('- ')[1]; //For an effect label matching the format: Hunter's Mark - Thorin
const casterActor = canvas.scene.tokens.getName(casterName).actor

const concentrationEffect = casterActor.effects.find(eff=>eff.getFlag('core','statusId') === concentrationStatusId)
if (!concentrationEffect) return;
const {duration, parent:{flags:{"midi-qol":{"concentration-data":{targets}}}}} = concentrationEffect;
await effect.update({duration, 'origin': casterActor.items.getName(spellName).uuid})

await casterActor.update({'flags.midi-qol.concentration-data.targets':[{tokenUuid:token.document.uuid},{actorUuid:casterActor.uuid}]})

const initialTargetActor = fromUuidSync(targets[0].tokenUuid);
const initialTargetEffect = initialTargetActor.effects.find(eff=>eff.getFlag('core','statusId') === statusId);
if (initialTargetEffect) await MidiQOL.socket().executeAsGM("removeEffects", { actorUuid: initialTargetActor.uuid, effects: [initialTargetEffect.id]});

spark briar
spark briar
strong yew
#

For Starry form Dragon getting min10 on Concentration saves

violet meadow
strong yew
#

I was asking about the order of DamageBonus macros when working on Piercer last night

#

Right now it works, but if you crit, it doesn't let you choose to reroll from all 3 dice including the extra die you get

violet meadow
violet meadow
strong yew
#

Ah, I thought it might be useable to create a bonus for piercer

#

but that doesn't put an effect on the target

violet meadow
strong yew
#

Basically, if on a crit, instead of doing Main roll + Bonus Damage roll for extra piercer die

#

I'm looking to do Die + Crit + Bonus Die on one roll

#

But I wonder if I could do a like post hit roll call or something

#

intercept the incoming formula, and then alter it, and send it back?

violet meadow
#

So you dont want the damageBonus because its a different roll?

strong yew
#

Yeah, so that way the "reroll" part can look at all three dice rolled and the player can reroll the lowest of the three

#

cause on a crit right now, they have to choose if they reroll the original die + crit before the DamageBonus even comes out

violet meadow
#

But does the Piercer work like that?

strong yew
#

So if they reroll a 3 on the first die + crit, but then get a 1 on the bonus die

#

they can't reroll that 1 even though it's on the same turn

#

and they'd have chosen that instead

#

Isn't it? Once per turn reroll one piercing die

#

I'd typically have my player roll die + crit + bonus all at once, then choose the lowest of those three to reroll if they wanted

#

irl of course

strong yew
#

Huh, but then hunter's mark actually is the original damage type too isn't it

violet meadow
violet meadow
# spark briar I did and he does.

If the Deflect Missiles is the only reaction that is not getting triggered, you probably have something set incorrectly.

The triggering part at least works OK for me

orchid folio
#

I'm using this example as the basis for a basic exploding mine trap, combining MidiQOL, Sequencer, and Monk's Active Tiles: https://github.com/fantasycalendar/FoundryVTT-Sequencer/wiki/Traps-with-effects-and-optional-damage-with-MidiQOL
My macro looks like this:

//const trapActor = game.actors.getName("Trap: Mine APL6");
const trapActor = await fromUuid("Compendium.helianas-guide.creatures-polyhedrooze.uHcWlvs1jG9GPhl2");
const trapItem = trapActor.items.getName("Dynamite");

new MidiQOL.TrapWorkflow(trapActor, trapItem, [token]);

Hooks.once("midi-qol.RollComplete", async function(result) {

    new Sequence().wait(100)
    .effect()
        .file("modules/JB2A_DnD5e/Library/Generic/Explosion/Explosion_01_Orange_400x400.webm")
        .atLocation(token)
    .play()
});

I've tried removing all MidiQOL roll automation in the settings, but for the life of me I cannot figure out how to let the triggering actor manually make the saving throw. I wouldn't mind it if the end result was just displaying the item card and letting the group resolve through the damage/save buttons

obsidian orbit
# violet meadow When is this supposed to be applied? During a specific weapon attack? You might ...

Well the idea is a magic weapon that “saps” the enemy’s ability to fight back. So on hit the enemy would need to make a con save or their next attack would deal half damage. So if possible I’d want an effect applied to target that expires after the next attack that hits. I have figured out how to do all that I just don’t have a formula to make it do half. Only reduces damage by a specific number.

orchid folio
#

I've tried the No Automation setting and setting auto check saves to off. Are there any other ideas?

idle crypt
#

I've had some issues with rolling last night - weapon attacks wouldn't roll when players pressed the thumbnail of the weapon in their inventory. I've recently transitioned away from Better rolls to fully midiqol. Is there a setting I have missed or is it just a item bug? They had to click on the item, and then press 'Standard roll'..

spark briar
#

Ty

violet meadow
#

Did you change the Resource Consumption to match the Ki resource attribute?

violet meadow
vast bane
# spark briar I did and he does.

link the reaction to the resource, common mistake when dragging items out to actors, and also it needs to be a resource, not an item with charges.

violet meadow
idle crypt
violet meadow