#MidiQOL

1 messages · Page 19 of 1

unique cape
#

Will do, currently seeing if I can find that v10 version

spice kraken
#

What happens when you uncheck this?

#

These are mine

unique cape
#

This one, right? On hover it shows "Actor #numbers#"

unique cape
molten solar
#

Double right-click the token.

unique cape
#

Oh, I see. Yes, "Link Actor Data" is set

#

Damn. I will get back to you once I install that v10 Midi SRD

spice kraken
#

I don't even have that on v9

spice kraken
unique cape
#

It stopped showing

spice kraken
#

Also do you have automate roll settings on or whatever it's called. In the midi settings, not the workflow settings

#

It used to show?

unique cape
#

Yeah. Set that one on. Autorolling works fine, it's the reaction dialogue box that doesn't

unique cape
spice kraken
#

Try these 2 things to be safe.

1. Restart foundry completely and test
2. Disable all modules except midi and its dependencies and test```
vast bane
# unique cape Damn. I will get back to you once I install that v10 Midi SRD

all midi srd does is fix the errors, I'm pretty sure all the differences for shield is the ae is not inactive, and the first tab of the ae has no boxes checked so its a standard transfer effect, obviously set reaction. Also we should probably rule out the fact that another roller would totally mess all this up too. Better rolls for 5e, Minimal Roll Enhancements, Roll Groups, and Ready Set Roll should not be installed if you want midi to work right.

spice kraken
#

If step 2 works we know it's a module conflict

vast bane
#

make sure you don't have a rogue inactive shield sitting in the actors effects tab

#

that'll also throw all your troubleshooting off

unique cape
#

Alright, update - turns out it was somehow caused by me being a player with GM rights. The GM can see the prompts like in the gif just fine. Without GM rights I can also see them.

#

What a weird interaction. Thanks for the help everyone!

vast bane
#

if you have gm powers, you aren't a player

#

still odd that it only prompts the highest GM, curious what it picks when two pure GM's are logged in

#

I bet if you assigned the assistant GM that player character in the bottom left they would begin getting the prompts

short aurora
#

Midi has started failing with workflows that target Self without a token present on the canvas. I saw it reported earlier, so it seems on the radar, in the interim, can I prevent Midi from trying to do whatever it's failing with and keep the regular workflow of consuming resources etc.? I use splash images for scenes often so canvas are not always present and it's doing it on items I don't even have automated

vast bane
#

you could also place tokens on splash screens to utilize the automation

short aurora
#

What do you mean speak as tokens? v10. This ability doesn't even have automation as far as I can see, and it still tries to do it

#

It's this error #1010273821401555087 message by the way, tposney did fix the error to display an actual error, but I swear I used to just roll items without needing to consider this and it just stops rolls dead

vast bane
#

midi speaks as tokens, and if no token is on the scene, it fails to print its workflows, theres a setting in v10 I believe somewhere but I don't have v10 to show you

violet meadow
#

Ah yes.

#

In MidiQOL settings => Workflow settings => Misc tab

violet meadow
vast bane
#

I wonder if tim could somehow utilize the player assigned character from the bottom left window like alot of other modules utilize

#

though a DM would have weird itneractions probably why he hasn't done it

short aurora
#

I just swear I used to cast spells that had self on without needing a token on the canvas

vast bane
#

is the ae set to roll self?

short aurora
#

There is no ae

vast bane
#

require targets never?

short aurora
#

yep

vast bane
#

hmmmm

#

what is the ability?

violet meadow
#

Do you have maybe a DAE with apply to self when item rolled?

short aurora
#

It's See Invisibility, maybe there's automation added beyond the usual because of the new v10 vision modes. There's no DFred nor AE on the item

vast bane
#

lol you snooze you lose bugbear ;p

#

oh yeah, v10 shenanigans

short aurora
#

Nope, another spell does it as well

vast bane
#

that stuff should have been a toggle on/off for us instead of force feeding that change

short aurora
#

and I refuse to believe tposney automated locate object

vast bane
#

lol locate object is definitely not a spell you can do anything fancy with, what about spell animations

short aurora
#

If target self and no token on canvas it spits out that error <_> I'll raise an issue, if someone figures out a work around on an onuse macro or something that can still consume spell slots and whatnot hmu

vast bane
#

could it be spell animations failing?

#

what is the exact error again?

#

is it an active scene?

short aurora
#

It's the error/function thatlonelybugbear commented on earlier that I linked here <#1010273821401555087 message>, this error in this function;

export function getSelfTarget(actor) {
    if (actor.token)
        return actor.token.object; //actor.token is a token document.
    const token = tokenForActor(actor);
    if (token)
        return token;
    /*
    const speaker = ChatMessage.getSpeaker({ actor })
    if (speaker.token) return canvas?.tokens?.get(speaker.token);
    // return new Token(await actor.getTokenDocument())
    */
    throw new Error(`Could not get a target for self ${actor.name}`);
}```
#

So it's clearly on the radar, it's handled, my workflow just used to work and now doesn't

vast bane
#

you could toggle off midi when you go totm /shrug

#

but that brings up a really good point of something I wished was made but hasn't been yet, macros that open the sub setting menus like midi's workflow button and automated animations auto recog window.

scarlet gale
#

Game time, but I just instead went with a macro tied to combat ending instead. 99% of the time the player won't get into combat again in short enough of a time to worry about partial regeneration.

violet meadow
#

About Time API 😄

scarlet gale
#

I'll keep that in mind if I need in the future

#

It does sound cool to watch the health tick up slowly after combat however...

vast bane
violet meadow
#

I was using that for recharging items, before this became core 😄

scarlet gale
#

I'll mess with the about time thing too

gilded yacht
#

Turns out this is a slight exaggeration. DAE broke two preUpdateItem fields, system.equipped and system.attunement. I thought that making changes to the item (via item.system.equipped = ) would not be transferred into the final update. (I need to modify those to work out the new suppressed state for the item). I'll forcibly reinstate them after that check and that seems to fix the problem.

molten solar
#

lol. Just store the state in the third object passed to the hook.

#

Why are you--

#

no, don't answer that. 😂

#

Just because the correct way of performing an update to an item is via the async update doesn't mean treating the document as an object does not change the data locally. This is no surprise. 🤷

gilded yacht
# molten solar no, don't answer that. 😂

I actually did not intend to change the item at all in the hook. I just need to work out if the supression status of the item changed so that active effects can be toggle on/off and to do that I need to call item.areEffectsSuppressed with the new item settings. I should probably have made a clone of the item then done the changes.

molten solar
gilded yacht
#

For areEffectsSuppressed to work the item has to be in the post update state, i.e. with the changes made.

molten solar
#

Just check if it can be equipped and if it is. Why do you need to disable effects anyway? They become suppressed automatically if their source item is unequipped or unattuned.

#

Effect#isSuppressed is true if the origin is unequipped or unattuned

#

All you really need. 🤷

violet meadow
#

Was this always the case?

gilded yacht
scarlet gale
stoic terrace
#

Anyone know why Midi doesn't display Spell Description anymore?, even if you click the Druidcraft.

vast bane
stoic terrace
#

Perfect 🙂
v10 is also found in Misc setting

violet meadow
#

I don't have one for .doEvery but the function seems similar enough

game.GameTime.showQueue() and game.GameTime.flushQueue() can help restore some balance to the world 😛

solemn narwhal
#

Hi guys, is it possible to create an effect das deals damage to a creature attacking the one effected?
Iam talking about Shadow of Moil for reference 😄

violet meadow
solemn narwhal
#

But i glady take both so iam future proof 😄

violet meadow
#

As what I am doing relies on Active Auras, the macro is good for v9 only (requires Warpgate,Active Auras (and MidiQOL/DAE)).

This explains how to set it up: <#994929221182959616 message>

I will take another look at that later to check if it's the correct version

molten solar
acoustic jasper
#

is it possible to grant bonuses like "Pack Tactics" to effects via Midi (or maybe Build-a-Bonus)? I want to copy some 4e monsters that gain bonuses based on their allies being (or not being) around

gilded yacht
acoustic jasper
#

great - but it's just advantage right now? I can't give my monster +bonus damage if fore example he is shooting at an isolated target? Or he have some buddies nerby?

molten solar
gilded yacht
acoustic jasper
#

something like that (in 5e it probably should be a roll instead of a flat damage)

molten solar
#

ok that can be done with babonus. Just give them all a +5 dmg bonus aura with a range of 5 feet or something

acoustic jasper
#

wont work like that - If you have like a 1 boss and 2 henchmen - only boss should get +damage

gilded yacht
molten solar
#

sure. just give the boss' attack something unique to filter against.

acoustic jasper
#

or the negation - when a creature is trying to snipe lonely targets (I think 4e had some really cool abilities - it was just a nightmare to track them without vtt)

acoustic jasper
molten solar
#

give the item a recovery formula: "steve"

#

and then only apply the filter to items with @item.uses.recovery | = | steve

#

yeah this works (and is very stupid)

gilded yacht
acoustic jasper
#

thank you! - I'll test both soon on my unsuspecting players 😄

molten solar
#

bro, don't test during a session

violet meadow
gilded yacht
molten solar
#

or just all gnolls granting each other +5 dmg? 🤷

#

idk, both are easy

violet meadow
#

So you would need the babonus to be on the allies of the boss, being implemented only when an attack with the "Steve" item is happening .

And wouldn't that multiply the bonus from all sources if there are multiple in range?

gilded yacht
#

How does bab work out that there are 2 or more allies? I can see it working really well for one ally.

molten solar
#

it don't

solid mountain
#

I have an item that does 1d6 extra damage when a charge is spent. Any good idea if this is at least semi-automatable?

molten solar
violet meadow
violet meadow
#

@gilded yacht with the new ```js
item.use({
createMeasuredTemplate: false,
consumeQuantity: false,
consumeRecharge: false,
consumeResource: false,
consumeSpellLevel: false,
consumeSpellSlot: false,
consumeUsage: false
}, { configureDialog: false });


Can we somehow in a `preItemRoll` onUse macro, change the workflow passing any of these parameters?
molten solar
#

The object is passed to the core hooks.

kind cape
violet meadow
violet meadow
# molten solar no it's addition

I meant that if there are 2 sources in that case (2 allies with that bab aura), the boss with the "steve" weapon will get the sum of the 2 bonuses

acoustic jasper
#

same with sniper

violet meadow
#

That error is strange. What are you targeting?

violet meadow
hot flower
#

there must be a fun way to automate this: ```Each creature in the elemental's space must make a DC 13 Strength saving throw. On a failure, a target takes 15 (3d8 + 2) bludgeoning damage and is flung up 20 feet away from the elemental in a random direction and knocked prone.

If a thrown target strikes an object, such as a wall or floor, the target takes 3 (1d6) bludgeoning damage for every 10 feet it was thrown. If the target is thrown at another creature, that creature must succeed on a DC 13 Dexterity saving throw or take the same damage and be knocked prone. If the saving throw is successful, the target takes half the bludgeoning damage and isn't flung away or knocked prone.```

#

i could see some nice FX on the tokens too, like spinning them, and throwing them away in a random direction.

vast bane
#

Animations could be handled by automated animations, the damage could be an active aura and the movement could be done via an item macro with warpgate

hot flower
#

it's a large air elemental (5e) so you could move the token so that it covers other tokens. Then when you hit the feature, it will grab the targets/tokens that are inside the elemental's token, no?

vast bane
#

however the amount of time burnt on this, I'd probably forego the movement macro and just do the aoe damage and animation

hot flower
#

what's the latest on active auras? Is it still pending? I've been out of the country and not tracking on kandashi's work on it.

violet meadow
#

If you are to do it do it in full 😄

vast bane
#

its not pending if you are not playtesting v10 😉

violet meadow
#

No active auras needed though

vast bane
#

yeah I didn't realize it was the air elemental

hot flower
#

v10 isn't in testing anymore, though, right? it's released.

vast bane
#

thats a pb ae ability, so a simple item macro on roll no aura needed

#

everything is in testing still if its a module

#

the last release of foundry v10 states you should be patient with module and system authors as they adapt their stuff to the new build

hot flower
#

i get that, i was just wondering what the status is.

vast bane
#

the original author has not updated any of their projects to v10 and everything is being done by other community members in the form of Pull request installs

hot flower
#

ok, thank you. I have not been tracking foundry stuff closely the last month

vast bane
#

I'm not on v10 cause I've built a ton of monsters and features and items based on midi automation that use macros that break in v10 and I can't justify updating, its not giving me anything but a headache.

hot flower
#

sounds like a wise move on your part. I have updated my install because my group has taken a break since August. We'll pick up in November

gilded yacht
gilded yacht
hot flower
#

oh, neat. I set the target of the feature like this and it will only target other tokens that overlap the elemental:

#

set the range to "special" and it won't target the elemental

violet meadow
vast bane
#

yeah but tossing in directions is warpgate probably, time consuming for a creature thats gonna last 6 turns

#

not even a round

violet meadow
#

but... fun

vast bane
#

sorry I'm jaded by the v10 mess

violet meadow
#

take the 🪠

vast bane
#

Trying hard not to make macros on my new automation stuff just cause I know eventually I will have to do it again in v10

violet meadow
#

Not that many things change, and for the most part, the older ones will still work due to shims

hot flower
#

well, now that core and midi can handle the targeting, damage, and saving throw, I'll head over to talk with @dark canopy about how to use sequencer for the fun visual effects

violet meadow
#

Now if you want Active Auras, that's a different story

vast bane
#

hes warpgate, sequencer is wasp

hot flower
#

ah, yes, of course. thanks.

vast bane
#

but also, just go to their wiki's

#

authors are busy men

#

and women

#

and robots

coarse mesa
violet meadow
#

There is a working install-able fork, but I haven't tested it tbh

hot flower
coarse mesa
#

I’ve heard mixed reports. Think I’ll wait for a proper release. That and a few DF things (which seem to be happening now) then I’ll pull the pin on v10 😬

vast bane
#

I use it for turn undead as well

gilded yacht
vast bane
#

although, that kind of aoe targetting des rely on the right settings for targetting in midi in one of the workflow tabs

violet meadow
coarse mesa
#

@molten solar is there even the remotest glimpse of hope you could turn your robust aura tech to AEs? Oil and water?

violet meadow
#

now you've done it

molten solar
#

Let me know when creating an active effect is sync.

#

is this surprising or

dark canopy
#

its already effectively an AE right? just a very very very short lived one?

#

as in, it modifies actor data

molten solar
#

... what?

#

No

#

I just gather up some data and slap it in an array with tons and tons of filtering.

#

Basically making extremely good use of rollConfig.parts in all the pre roll hooks

vast bane
#

question is, is badger replying to you or his ping above

violet meadow
#

nah its about babonus

vast bane
#

well his ping above was about the aoe ability, but thats not really an aura, its an instantaneous ae

molten solar
dark canopy
# molten solar ... what?

i mean more in the abstract functional sense. You are defining a modification to be applied under certain circumstances. Mutations (and reverting) in warpgate are a similar thing.

molten solar
#

It's not a modification.

dark canopy
#

and in that sense, could an AE define a babonus? 🧠

molten solar
dark canopy
#

ah, neat, problem solved

molten solar
#

... was there a problem?

dark canopy
#

the idea of AE+babonus from Lukas, above

#

but its been a long week and I should stay out of the midi thread 🤣

vast bane
#

I dunno, I like drunken code discussions.

molten solar
#

I just do bonuses.

vast bane
#

midi men just want Active Auras 😭

#

(And Active Token Effects)

molten solar
#

if Kandashi was smart, he'd update AA and put it behind Patreon. 😏

acoustic jasper
dark canopy
#

help a Kandashi out and submit PRs 😩

molten solar
scarlet gale
#

AA already has the prs

molten solar
#

Guy's just busy. You lot can suffer a bit while the rest of us have fun. 😇

vast bane
#

Don't have to suffer if you stay on v9 🤔

molten solar
scarlet gale
#

Most macro changes are pretty simple

acoustic jasper
#

does anyone know why I'm getting this warning all the time? Maybe this is why macro doesnt work :/

vast bane
#

now do them x1000 for me

scarlet gale
#

data.data to system

#

That covers 90% of it

#

That's just telling you to eventually fix it

#

It still works

vast bane
#

I'm not suffering at all, I'm enjoying my sessions with my players. Lil mad at how badly the UBI module is behaving lately, having to manually do walls is sucky.

scarlet gale
#

My plan is to migrate to V10 during the holidays when my players cancel on me for holidays.

scarlet gale
acoustic jasper
coarse mesa
# dark canopy help a Kandashi out and submit PRs 😩

Yeah Kaelad sorted out AA and ATL weeks ago, just waiting for Kandashi to give them the once over. I could use those versions but I’ve heard they’re still a bit buggy… and we use auras a lot (I’m in the process of adding yet another for Summon Shadowspawn… ruh roh)

scarlet gale
#

Auras is already buggy in v9 lol

#

High ping clients always have issues with AA in my games

vast bane
#

my main table is a unanimous vote table, we don't change things unless everyone agrees, which is why I can't use Tidy 😭 , I don't see us updating till the next session 0 if at all. We really like the stability of v9 coming from a shit show that was roll20

molten solar
#

babonus is sync 🧠

coarse mesa
molten solar
#

4600 auras on one scene? 0.5s latency

violet meadow
#

I am wondering how many things could be made sync

#

I am playing a bit with the babonus API

scarlet gale
#

I'm 99% sure the client thinks it should be the one handling auras so stuff gets doubled up

vast bane
#

I don't have any problems with active auras lag, I have graphic lag problems, but thats cause my maps are 20kx20k with 3k walls and 300 lights

violet meadow
#

why!

scarlet gale
#

That's nuts

vast bane
#

mostly was stress testing for the third floor of dotmm, its doable for most of us

coarse mesa
molten solar
#

Luckily all the hooks babonus uses are not broadcast. Local only. 😎

vast bane
#

I actually delete the walls in the already explored areas and all the tokens are deployed via MEJ on demand so I don't hav ethem out

scarlet gale
#

I would just split up the map at that point

vast bane
#

I already did that for 1 and 2 and we felt lost cause of all the map loading, didn't get a feel for exploration with the map broken up

#

my next attempt on 4 is to go to 50px instead of 70 cause it works, its just a lil graphic laggy

scarlet gale
violet meadow
molten solar
#

It's the "creating stuff dynamically and all the time" that is the issue, and hooking onto token movement

coarse mesa
#

Atropos said auras could be handled in core as part of the templates update, whenever that gets voted in

scarlet gale
#

If you have 2 gms on , auras only work when the right one is looking at the scene

gilded yacht
violet meadow
molten solar
scarlet gale
#

Sometimes if you have a player with lag or high ping auras get doubled up

molten solar
#

Do they then get auras from multiple sources or multiple auras from one

gilded yacht
#

Generally the same aura more than once.

scarlet gale
#

Yea

coarse mesa
scarlet gale
#

You can see why people are desperate to find an alternative to AA

molten solar
#

OK, so what does AA do that cannot be made sync?

vast bane
#

I get this all the time, but only really if you use the always on setting which kandashi doesn't recommend

#

if you are in combat you very rarely see it

#

and its just a visual glitch afaik, they don't roll +10 to saves with aura of protection

#

unless the aura is set to stack?

scarlet gale
#

It changes the stuff for me

molten solar
#

I very much doubt an ActiveEffect can 'visually glitch' to appear twice while only being applied once.
Nothing can stop an ActiveEffect from being applied once that's in motion, unless you are in the preHook.

coarse mesa
#

Auras are so intrinsic in 5E rules… not just aura abilities but any persistent aoe really (and there are a lot)

scarlet gale
#

My pass without trace aura tends to give +20 from a doubled up aura

vast bane
#

I don't use an aura for that, I actually don't think its written that way, its weirdly worded, I think its a pulse spell, instant and then the duration lasts on each guy like water walking or water breathing

coarse mesa
#

Even our pally’s aura goes from +3 to +6 or +9 etc quite often (we do run it outside of combat)

scarlet gale
#

In reality people just want to apply flags with the aura

scarlet gale
#

Tokens around themselves or tokens in a template

molten solar
#

Cus that is already what babonus does - the flag is on the source of the aura, and tokens within range read that flag.

scarlet gale
#

Midi-qol flags is the big one

vast bane
#

yeah but how would babonus replace things like evards tentacles or darkness?

scarlet gale
#

Your module handles other stuff well

molten solar
vast bane
#

when they enter the area they gain blinded condition, when they walk out they lose it

coarse mesa
#

In almost every session we use auras for: Aura of Protection, Twilight Sanctuary, Spirit Guardians, Darkness, Hunger of Hadar, Spike Growth, Spirit Totems… I think there are more, Spirit Shroud?

vast bane
#

god have mercy on you poor poor dm. twlight cleric, paladin, a warlock, and a barbarian that resists everything?

scarlet gale
#

Those are the most common

molten solar
#

I have a paladin with three auras, a warlock, and a twilight cleric. 😆

coarse mesa
vast bane
#

you must have to over consider every premade encounter lol

#

I put all the auras on the same ability for the paladin I host for

vast bane
#

thats a rough table, they must be punching atleast 3 levels above their normal rating

#

my group is punching 1 level above

molten solar
coarse mesa
scarlet gale
#

My Monday group has a similar setup, but they all also have ways to see through magical darkness

vast bane
molten solar
#

They ask very nicely each turn, it's delightful. 🙂

scarlet gale
#

I ended up making my own wordscript to handle vision rules in the darkness spell

vast bane
#

My paladin is a devotion pally so I just put an advantage reminder in his aura of protection for courage and devotions

scarlet gale
#

I just have the darkness spell apply an aura with an empty effect so I can mess with workflow attacks in the wordscript

vast bane
#

I don't modify the players sight on the visual aid, I just put blinded conditions on tokens. I don't need my 10 minute turns to be any longer cause the player can't see anything

#

and a really pretty jb2a darkness animation

molten solar
#

Play a game of Wheel of Fortune with them, oh woops, "LOSE A TURN"

coarse mesa
#

Ten minute turns are why we wanted fully automated Sanctuary… bugbear hooked me up

vast bane
#

I'm bound by our session zero rules

#

unanimous consent to change anything

molten solar
violet meadow
#

The thing I am missing now from v10, is my reactive macros cause I havent tested the v10 Active Auras 😄

coarse mesa
vast bane
#

I'd use zhell's method just to keep the dang players from afking off turn, that would lock the cleric to paying attention more

molten solar
#

I can confirm that it works great.

coarse mesa
vast bane
molten solar
#

It isn't really. It's a targeting, and then one click.

vast bane
#

combat becomes really boring when the only people present on a turn is the active turn person and the DM.

scarlet gale
#

Oh I just made a twilight sanctuary macro

vast bane
#

if you can give everyone things to do on every turn then they are present and they can provide roleplay input

coarse mesa
dark canopy
#

lets try to stay on topic

scarlet gale
#

Remind me to post it when I'm home, it prompts the player if they want to remove charmed or frightened. And if they have neither uses a midi call to apply the temp hp

vast bane
#

oh I didn't realize it did that too

#

I just remember the temp hp cheese

scarlet gale
#

If you apply it with the midi apply damage function it won't overwrite their temp hp if they roll less than what they already have

vast bane
#

isn't that like built into temp healing? I just assumed that, probably a bad assumption

coarse mesa
#

I went one step further… it auto removes frightened, charmed… then grants temp hp if nothing to remove (zero player agency!)

scarlet gale
#

Not sure but letting midi deal with it is easier than directly updating the temp hp

coarse mesa
#

99% of the time that’s what you want anyway, otherwise can easily undo

molten solar
#

Actor.applyTempHP

scarlet gale
#

I use a turn ends macro effect to make a dialog

#

Good to know

#

It'll also add the midi undo damage box

#

So no reason to change it now

vast bane
#

undo box is $$$

violet meadow
#

Yeah if you go MidiQOL and don't use it is kinda anticlimactic 😛

#

@acoustic jasper can you disable all the warnings from the console and keep only the errors active when using the macro?

acoustic jasper
#

I think we found the problem

#

for some reason

#

Forge is not updating

#

midi-qol

#

past 10.0.12

vast bane
#

that is the rule where all 3 must be past a version

#

your dae or dnd5e are too old

violet meadow
#

What is your DAE and dnd version?

molten solar
#

Is Midi's latest not 10.0.12?

violet meadow
#

.15

vast bane
#

12 is the cut off where it shuts off if dae and dnd is too old

acoustic jasper
#

DnD5e is 2.0.3

vast bane
#

dae must be pre 8

#

or absent?

acoustic jasper
#

DaE is 10.0.9

vast bane
#

hmmmm

molten solar
#

If you go to the Forge module bazaar thingamajic, you can select what version to install.

#

They uhhhhhh, do their own thing when determining what version is "latest"

vast bane
#

maybe forge isn't handling that special rule right? try reinstallingmidi maybe you installed them in a wierd order?

#

but also midi is old

violet meadow
#

uninstall and reinstall might help.

acoustic jasper
#

nope - I've installed from the json manually

violet meadow
#

But yeah no idea about Forge 🤷

acoustic jasper
#

still 10.0.12

vast bane
#

he can't be the first forge user to use midi since that

molten solar
#

Check the dropdown?

acoustic jasper
#

so yeah it's a Forge problem

vast bane
#

are you sure you are on dnd5e 2.0.3?

molten solar
#

Yep, that's a Forge problem (or rather a combined Midi and Forge problem)

vast bane
#

that is weird that its right at the point where tposney put the version requirement in

acoustic jasper
#

yeah 2.0.3

scarlet gale
#

Forge not use the standard module installer?

molten solar
#

Nope

vast bane
#

I might suggest uninstalling both dae and midi, and then trying midi again?

molten solar
#

I ran into that myself, mistakenly thinking Effect Macro 10.0.5a would be "later" than 10.0.5. Forge was like, "soooo it's alpha? Cool, we'll ignore it."

acoustic jasper
#

It's wierder then that - when I uninstall and then manually install via json Forge is still installing 10.0.12

violet meadow
#

Thing is that MidiQOL 10.0.12 needed v2.0.3 dnd or it would not install

#

So Oscar is past that

vast bane
#

yeah

#

weirdness

#

put a ticket into forge I guess

#

or try reinstalling the 3 of them from scratch?

molten solar
vast bane
#

do midi last

molten solar
#

nvm, Forge has registered it correctly

vast bane
#

quick someone get a snapshot of z installing midi!

acoustic jasper
#

wow

#

now I'm really confused

molten solar
acoustic jasper
#

yeah trying that now

vast bane
#

yeah could be a cache issue

molten solar
#

Oh and check your Foundry version

vast bane
#

wait is it ctrl, shit I been doin shift this whole time

violet meadow
#

ohhh are you not on latest Foundry v?

#

Midi 10.0.14 needed 10.286+ iirc

acoustic jasper
#

ok it worked

#

for some reason Forge got me stuck

#

log-out -> log-in -> now I can see 10.0.15

#

never happened before

violet meadow
#

the time is ... near. When Moto upgrades to v10, it will be safe to let v9 gooooo 😄

vast bane
#

I can't man, theres too many visual differences and I'd violate my table agreement

#

the health bars look way different in v10

#

they are thicc

violet meadow
#

@gilded yacht did you push MidiQOL 10.0.15 ...again?

scarlet gale
#

Eventually they'll want something new and spiffy

vast bane
#

nah, we're scarred by roll20, we just want to roll some dice

scarlet gale
#

The vision changes are worth it alone

vast bane
scarlet gale
#

Hp bars fixed

molten solar
#

slim jim health bars

vast bane
#

for a later version right?

molten solar
#

diet health

#

2.1.0

violet meadow
#

25% ~~ready ~~ complete stress

vast bane
#

with the thicc bars two bars on a small token looks really funny

molten solar
vast bane
molten solar
violet meadow
#

It feels like a big bump, 2.0.3 to 2.1.0, for sure it would take time 😄

vast bane
#

good point

molten solar
#

Naturally the most important change is that you can't accidentally delete an item off the sheet. 😂

violet meadow
#

alas no more modules for that! 1 more off the list

molten solar
coarse mesa
#

I see krbz999 is putting some work in over there

molten solar
#

oh shit, off topic.

#

anyway, boo midi etc etc

molten solar
coarse mesa
#

Hit you where it hurts

#

Right in the macros

molten solar
#

It was much worse than that.

#

I was mildly inconvenienced.

#

I had to add three lines of code to fix the initiative macro.

vast bane
#

the latency on that is amazing

#

and yes

molten solar
#

Is there usually any?

vast bane
#

with a live session there typically is, feels like the second you get many players in a session things start to go on a delay

#

could just be my setup in my home that causes things

molten solar
#

🤷 It's just a tiny world script

vast bane
#

but that lookks amazing regardless

#

does it use a hook that would work in worldscripter and is it v9 capable?

#

and will it break midi?

molten solar
#

Yes - maybe - dunno

scarlet gale
#

Curious to see how you'd get it to work on a specific template.

#

Assigning a flag and checking for it in the wordscript?

molten solar
#

Yeah I just gave the template flags.world.darkness = true

#

and gave the blinded condition that, too. To distinguish from Blinded from other sources.

violet meadow
molten solar
#

It's all movement regardless.

coarse mesa
#

I feel like I'm witnessing a revolution

molten solar
#

You're never gonna get a really smooth experience when hooking onto token updates

#

Even this sort of chokes on 20+ tokens constantly moving in and out of darkness at the same time

vast bane
#

combat doesn't have simaltaneous movement anyway

coarse mesa
violet meadow
#

but a token can move out and stop affecting 10 tokens easily 😄

molten solar
#

If I have a bunch of identical npcs, I tend to just have them take their turn at the same time

vast bane
#

yeah but they aren't moving at the same time, you just take each of their turns

molten solar
#

Possibly. Sometimes. I agree it's rare.

vast bane
#

looks really good though, just worried about the tech savvyness to get it working

molten solar
#

Is this not what AA already did or

vast bane
#

AA was a module that would be installed, and then it was a midi srd premade item we dragged to the sheet

#

then whenever the players cast the spell, or npc, it just happens.

coarse mesa
#

AA added some goodies to the AE config screen

vast bane
#

well sure, but I'm more thinkin for a v10 alternative to midi srd's darkness

molten solar
#

What module was doing affected areas then

vast bane
#

active auras was

coarse mesa
vast bane
#

but its in a very buggy PR version atm and I haven't heard anything on how it behaves

molten solar
coarse mesa
#

I love how we're already referring to AA in the past tense 👀

vast bane
#

but the midi srd premade item did most of the work

molten solar
#

you tricked me into making the entire AA config in babonus

molten solar
violet meadow
#

I did no such thing! I just suggested ways to improve ... tststs

coarse mesa
#

banaura get at me

violet meadow
#

Where is the disable while hidden button! Give options to the user

violet meadow
#

(i know)

molten solar
#

This gives me an idea tho...

#

If I hooked onto preCreateTemplate....

#

and found the item that created it...

#

👀

violet meadow
molten solar
#

babonus, babonaura, babonarea 👀

violet meadow
#

babonodoor? shame on you for forgetting

molten solar
#

No!

#

Door Macro is system agnostic. It cannot be touched. Sacred.

scarlet gale
#

On template would be neat

violet meadow
#

I have been playing with the different hooks to drop bonuses on templates.

Now I need to find the proper way to make them trigger macros on moving in. Need to turn MATT to AAapplyOnTemplate 😄

#

(Midi macros)

molten solar
#

gentle gasp
... Template Macro

scarlet gale
#

Yes pls

violet meadow
#

it would be a logical next step to the evolution of macros on documents

molten solar
#

No no no... the next brick in the foundation of the Document Macro empire is ||Window|| Macro™️.

violet meadow
#

But Windows break line of ... effect. We need to destroy them all

coarse mesa
#

destroy them with Window Macros

violet meadow
#

I feel that ~75% of the posts in #1010273821401555087 are totally offtopic... We should really find another place for these conversations 😶‍🌫️

scarlet gale
#

Need a place for automation that isn't module specific

violet meadow
#

There is the Gearheads discord, but never got enough traction

coarse mesa
#

even if this thread was rebranded to 5e-automation ?

violet meadow
#

Zhell disappeared. I give it 20 mins till the template macro is live

terse briar
#

hey guys. Do any of you know how I can set up a spell to allow for automatically failing a saving throw? Levitate for example?

coarse mesa
violet meadow
#

check the readme of MidiQOL up top in the pins

terse briar
#

i'm a bit of a noob. Would you mind helping me find that?

#

edit spell, "description"?

violet meadow
molten solar
#

oh nvm

coarse mesa
scarlet gale
#

Template macros would be crazy useful for 5e

violet meadow
#

are you diving in PIXI?

molten solar
#

but nah

#
document.addEventListener("click", (event) => {
  const { x, y } = canvas.app.renderer.plugins.interaction.mouse.getLocalPosition(canvas.app.stage);
  const template = canvas.scene.templates.get("6so1ISBAV47XvPj7");
  const has = template.object.shape.contains(x - template.x, y - template.y);
  console.log(has);
});

just getting whether mouseclicks are within a template.

terse briar
#

thanks guys

molten solar
#

Now for token coordinates--

terse briar
#

are you guys familiar with the "misty step" animation in automated animations?

#

i'm trying to use that for vortex warp to teleport my target to my selected location instead of myself. Is this do'able?

coarse mesa
#

I found a great macro for Vortex Warp here yesterday, hang on

#

I just used this one – works a treat (has a different anim to misty step but you can change that) #macro-polo message

#

and I of course added auto fail friendly to the spell 🙂

#

do you know how to use ItemMacro?

vast bane
#

oh wait vortex is another person....shit that ones hard

terse briar
#

sooooo...do I just copy paste that, and create a new macro in my bar?

vast bane
#

how does it gain the ability to move another persons token though? must be warpgate?

scarlet gale
#

Could warpgate a feature into them

vast bane
#

but...I can give @terse briar a good answer here:

https://www.jb2a.com/Library_Preview/ the code for macros is in the bottom right when you find the animation you want.

scarlet gale
#

Then auto use it

terse briar
vast bane
#

Welcome to Midi qol (Jurassic Park intro music plays)

violet meadow
coarse mesa
#

all I know is, it works great 🤷‍♂️

vast bane
#

he'd have to resort to a warpgate/sequencer macro

coarse mesa
violet meadow
vast bane
#

yeah its a bummer though, macros for animations makes it so your players can't edit and make their own choices for animation without asking you to do it

#

one of the coolest things about aa is that its user friendly and you can avoid giving your players macro access

#

I wonder if arbron can handle it?

molten solar
#

Arbron does spawning, not movement...

coarse mesa
# coarse mesa

@terse briar if this wasn't clear... hit the Item Macro button in the title bar, pop the macro in and save it. Then put ItemMacro in On Use Macros in the spell details

violet meadow
# coarse mesa

I have to say that this macro can be run as a hotbar too. Doesn't have to go through Midi

terse briar
#

I think I got it, but I didn't have the animation file

#

got an error

coarse mesa
terse briar
#

i'll try that

coarse mesa
#

File paths are in the Sequencer Database Viewer in your toolbar

terse briar
#

stupid question, but where would I...

#

ok

molten solar
vast bane
#

the link I shared is cooler than the ingame one

terse briar
#

modules/JB2A_DnD5e/Library/2nd_Level/Misty_Step/MistyStep_01_Regular_Blue_400x400.webm

#

that look right?

vast bane
#

see no

#

the right hand link on the site is what you want for macros

#

if its for a macro, then you want the sequencer database link

#

if its for automated animations custom import, then you want the left hand module path

terse briar
#

jb2a.misty_step.02.blue

#

so just this?

vast bane
#

there ya go

terse briar
#

ok great

vast bane
#

yeah that looks like the basic misty step animation

#

the only reason you would want the left hand entry is if you wanted to use an aura animation on an on token effect in automated animations, cause it doesn't let you pick them, so you have to go custom and then use the filepath

coarse mesa
# terse briar ok great

note you'll need to change the preload at the top and also the sequences below – because it's a different animation you might also want to play around with the wait parts

terse briar
#

It worked!!

#

woot!

#

you guys are the best

vast bane
#

Blessed be the way of midi, all hail

terse briar
#

I think it's playing the misty step animation a few to many times when I execute. Pretty sure this is because I just replaced everyone of your JB2A spell effects (intro / outro) with just "jb2a.misty_step.02.blue",

#

might have to remove a few of them?

coarse mesa
terse briar
#

so preloader should be fine with just 1?

coarse mesa
#

Also I think there's a difference between misty step 01 and 02 – one is the exit, one is the entrance

#

you may want to try both

terse briar
#

yea I just noticed that

#

I was using 2, but 1 is better

coarse mesa
#

yeah only need to preload once

terse briar
#

i'll play around with it a bit more and try to get it right

coarse mesa
#

Is this Terror Frenzy (for Summon Shadowspawn) going to be complicated 🤔

vast bane
#

I just used the versions that look like blue 1. Cause they work both ways and its less loading on machines

vast bane
#

Its very easy with advantage reminder 8)

coarse mesa
vast bane
#

its my go to basically whenever the situational bonus is really situational lol

violet meadow
#

Keywords for future reference.
Advantage to attacks if target frightened. Advantage to attacks when condition is met.
Summon Shadowspawn, Terror Frenzy

if(args[0].hitTargets[0].actor.effects.find(eff=>eff.data.label === "Frightened")) foundry.utils.setProperty(this,'advantage',true)
#

as anActor onUse macro preItemRoll or preAttackRoll (too sleepy to check now)

coarse mesa
#

v9?

vast bane
#

lol beat me to it

coarse mesa
#

bless you

vast bane
#

what is that feature from Lukas?

coarse mesa
#

Summon Shadowspawn

#

I've only just twigged how decent the Tasha's summons are... and way easier to run than Conjure spells

#

Just a bit more setup

#

There are some macros floating around that let you choose the variant on spawn now

scarlet gale
#

They're way better for combat from a GM perspective.

#

Less total summons than the old spells

vast bane
molten solar
#

so anyway I made Template Macro™️

#

it's 30 lines of code.

vast bane
#

How many cupholders does it have?

scarlet gale
#

What triggers does it have?

coarse mesa
#

v10 here I come

molten solar
scarlet gale
#

Specifically can we see how far a token moved inside the template?

vast bane
scarlet gale
#

I hate my current setup for it

coarse mesa
vast bane
#

my current setup for spike growth is "You better remember if you are summoning that cheese" messages directed at my druid player.

scarlet gale
#

The automation I have for it relies on AA

coarse mesa
#

My GM is under strict instruction to move using WASD through spike growth, to trigger each damage roll lol

scarlet gale
#

So it's janky

molten solar
#

calculating length of movement? through an area? probably a thousand lines of code, idk

coarse mesa
#

If he's jumping or flying over he can drag thinksmart

vast bane
#

didn't the drag ruler author say he wanted to make a teleport keyboard shortcut?

coarse mesa
#

there is one – M

vast bane
#

I don't think that skips the movement, just hte animation right?

#

I use that all the time

coarse mesa
#

oh yeah someone is working on making teleport not count for movement history in DR

scarlet gale
#

My skip move animation key it alt

vast bane
#

yeah, also the M is a monk feature

scarlet gale
#

Not sure if that's default key

vast bane
#

monk module feature

coarse mesa
#

Alt gets you through walls if pathfinding is turned on

#

(for GMs)

scarlet gale
#

That's what I normally use it for lol

coarse mesa
#

So, is there an easy way to attach a template to a token (other than token attacher) so we can use Template Macro for auras?

scarlet gale
#

Lol

#

That sounds overly complicated

coarse mesa
#

OK I'll wait for Build-an-Aura then

vast bane
#

Kinda think we all still need aa to exist, think of all those broken items in midi srd and midi sample items if we move on from it

scarlet gale
#

AA so buggy tho 😦

vast bane
#

I don't care, better than having to manually write a bunch of stuff

scarlet gale
#

I don't mind ditching it

vast bane
#

I live in a janky world man

coarse mesa
#

I feel Iike it'd be easy to replicate most of those pretty quickly tho

vast bane
#

Janky is my shiznit

scarlet gale
#

Build a bonus already replaces most AA aura uses

coarse mesa
#

Template Macro should take care of Cloudkill, Darkness, etc type spells

vast bane
#

but are there premades of bab

scarlet gale
#

All that's missing is setting flags with an aura

vast bane
#

is there a way to share them here?

scarlet gale
#

It'd bet they're saved into the item at least

molten solar
#

It has a ui and tooltips galore. Do you NEED to share them?

molten solar
scarlet gale
#

So exporting the item should work

vast bane
#

yeah, thats the whole point of the community, we share macros and what not and then some folks build out premade compendiums.

scarlet gale
#

Although I'd love a way to export just an active effect

vast bane
#

you can do that in dfreds CE

#

sorta

coarse mesa
molten solar
#

Check the Item Macro documentation. It has an api

vast bane
#

You could probably put it on an attack that is labeled as Fury only pre item roll

#

since its an npc that has a singular attack

#

as in put the macro in itemmacro on the attack pre item roll

violet meadow
vast bane
#

also fyi with summons like that, I dunno about starspawn, but for the fey one, dont waste your time on the other two options lol players don't use the inefficient options in combat, they always go for the combat centric one

#

do you need a fey spirit macro? cause I totally made that one, was quite proud of myself

coarse mesa
vast bane
#

oh actually it was stupid easy, just give it always advantage, like they wouldn't NOT blink to the same location to get the advantage

#

its kinda a broken ability, bonus action blink, attack at advantage, every turn

#

I cheesed its blink and put ( Misty Step ) in its name lol so it would do animations

coarse mesa
#

This is the kicker for Summon Shadowspawn... Weight of Sorrow (Despair Only). Any creature, other than you, that starts its turn within 5 feet of the spirit has its speed reduced by 20 feet until the start of that creature’s next turn.

#

No saving throw...

#

Can babonus do this?

vast bane
#

I wouldn't use it, monsters don't disengage that often and they definitely don't eat op attacks for any reason, they'd wail on the shadowspawn before moving

coarse mesa
#

That works for me... as long as they're not wailing on me lol

vast bane
#

anyone got any cool automations for Spell reflection?

violet meadow
#

I think I will give it a try over the weekend.
Setting flags on a token that:
it has an aura active, and the itemUuid of the item responsible, if a macro is involved, turn start/end, allied etc, radius

Then on the turn of each combatant, hook on updateCombat probably, check for flags, recreate the aura as needed on the combatant and do what needs to be done.

Mostly for triggering macros, overTime effects etc

feral kestrel
#

How do I enforce spell templates originiating from the caster?

chrome gale
#

I think I know how to set up an effect which reduces the damage dealt by a creature by a flat amount (eg -5 damage per hit) but is there a way to do it by a percentage?

feral kestrel
violet meadow
#

No template placed, but the targets will be from the token outwards

#

10 | ft | enemies for example

feral kestrel
#

Second question, is there a macro or effect setting I can trigger when a character takes damage. Id like to trigger a wisdom save (cursed weapon)

violet meadow
violet meadow
chrome gale
#

can an effect on a creature, give resistance to its target maybe?

violet meadow
#

If you use an Active Aura though you might be able to pull it off. Create it so it targets Enemies and the AE gives the resistance you want

chrome gale
#

Ahh that may work

vast bane
#

I'm having a weird issue with midi. I can't add or subtract an item on use macro field from items on creatures in compendiums that are unlocked

#

this is the only error I see when accessing the sheet

scarlet gale
#

Inventory Plus version?

vast bane
#

it was an npc, but I fixed the problem, the server was doing maintenance and really really bogged down

coarse mesa
#

is there an easy way to apply a CE using an OverTime effect? I guess having the OT effect call a macro that triggers the CE? I want a CE applied at the start of a turn when the effect is active

vast bane
#

can't you fire a macro every turn with dae? Make the macro be a dfreds macro

coarse mesa
#

I'll give it a go... if we head into args territory I'll be lost

vast bane
#

its just a carbon copy of dfreds premade macro only replace bane with whatever your ce is called

vast bane
#

I think you could also make it less messy with effect macro if effect macro stores the macros in the item

scarlet gale
#

Could have a effect macro do it on turn start

vast bane
#

I think the benefit of effect macro is you don't have to clutter up your folder macros with it

coarse mesa
#

That might be easier for me to figure out

#

Thanks folks

scarlet gale
#

Effect macros also makes it stupid easy to get the right actor to apply it to

coarse mesa
#

Not an arg in sight

coarse mesa
scarlet gale
#

My effect macro for Twilight Sanctuary. Setup as a end of turn effect macro. Needs warpgate to make the dialog menu. Should be setup as an Active Aura effect. Made for v10 Foundry.

coarse mesa
#

Also less dangerous if AA does end up doubling up the AE

scarlet gale
#

It doesn't prompt if they don't have either condition.

#

But would be easy enough to change it to always ask

#

with an option being nothing

celest bluff
scarlet gale
celest bluff
#

right, this is checking if it's present

scarlet gale
#

oh true

celest bluff
#

lol just wrote a version of Armor of Agathys that rats you out to your GM if your use it illegally

scarlet gale
#

oh?

celest bluff
#

later on I'll write a world script to manage it instead

#

<b>${tokenD.name}</b> used thier reaction illegally.<br>This spell requires a <b>Melee Attack</b> to trigger.<br>Make sure to <b>undo</b> the damage dealt to:<hr>${workflow.actor.name}.,

scarlet gale
#

I was just thinking of making a worldscript to do that too

celest bluff
#

I have a world script version written

scarlet gale
#

Check the range during the worldscript so they can't use it wrong

celest bluff
#

yeah, was thinking of setting their reaction to 0

#

so it just won't trigger

scarlet gale
#

why not just have the worldscript do the damage

#

since it's not even a reaction

#

if attack is type melee, apply cold damage back

#

check the effect origin for scaling

celest bluff
#

yeah my world version does that

#

I just store info on the attacked target's active effect

#

only issues with world script is renaming items

scarlet gale
#

I would just check the name of the effect

celest bluff
#

ahh figured it something.. players can delete their own chat cards

late briar
#

I am currently trying to implement Divine Smite. I am using the version from the Midi-SRD, "Divine Smite - no macro - 10.0.10".
Critical Hits don't seem to work with it. Or at least I can not choose any option to make in one. Holding the keybind does not work either.
It has the Midi-qol Item Property "Critical Other" what does that do?

late briar
#

Do I have to disable fast forward in order to make it work?

gilded yacht
glass lynx
violet meadow
hot flower
#

if i just wanted to apply 2d6 bludgeoning damage as part of an AE, what would be the best way to do that? I don't really understand how the damageOnlyWorkflow works, so hoping it's not that... 😕

#

i've got an AE Macro that moves a token 20 feet, applies the CE prone, and i want to apply 2d6 damage as well.

violet meadow
#

Is there a reason why you use a DAE macro.execute and not a MidiQOL Item onUse one?

hot flower
#

because i'm using an onUse for a sequencer effect

#

there's a lot of moving parts with this. the attacking creature spins (the sequencer effect)... targeted creatures make a save, and if failed, they are thrown 20 feet, knocked prone (handled by Effect Macro) and then take 2d6 damage

violet meadow
hot flower
molten solar
#

Yeah you got an onCreate macro, just slap the 2d6 rolls in there and apply the damage

hot flower
#

yeah, like I said, would that be a damageOnlyWorkflow?

violet meadow
#

Can be. Are you as the GM executing the macro?

#

nvm that

#

so you need 2d6 of that damage?

#

And more importantly, do you need MidiQOL to pick it up?

hot flower
#

it's pretty simple. it's just 2d6 of falling damage they get from being tossed around

violet meadow
#

Cause as you have structured the macro right now, if you include it in the effect macro for every instance, it will create a new damageOnlyWorkflow for each one.

hot flower
#

right. there might be more than one target in the space of the creature's whirlwind

#

so there might up to four targets.

#

would applyDamage be better?

violet meadow
#

Same thing. You need to target all the failed saves creatures at once. Does a save reduces damage or its all or nothing?

hot flower
#

all or nothing.

violet meadow
#

My suggestion is another onUse Macro | After Active Effects

hot flower
#

ok

#

i'll give that a look, thanks.

violet meadow
# hot flower ok
const roll = await new Roll('2d6[piercing]').evaluate();
const msg = await roll.toMessage({flavor:"The thrown creatures' damage"});
game.dice3d?.waitFor3DAnimationByMessageID(msg.id);
await MidiQOL.applyTokenDamage( [{type: "piercing", damage: roll.total}], roll.total, new Set(args[0].failedSaves), null, new Set(),{});
#

You can even use the same ItemMacro as the Sequencer effect and wrap it in ```js
if (args[0].macroPass === "postActiveEffects") {
//code from above
}

hot flower
#

thank you, sir

acoustic jasper
#

is there a way in midi to include token name here? (It's from chill touch 10.0.12)

vast bane
#

Low automation, I'd probably just make a versatile roll

jagged bear
#

I'm curious, is it possible to interrupt a Midi workflow to prompt something, and continue the workflow when the prompt is done?

kind cape
#

Well, you can always run a hook that awaits the prompt, the workflow will wait until all hooks have completed 🤔

jagged bear
#

Oh that's nice

#

Wait, can the hooks be async? Interesting.

#

SO IT DOES

#

Nice!

#

Thanks!

#

Hm, I'm trying to automate minions, who only make one attack no matter how many are surrounding the players, but does flat damage based on how many there are in that group attack, and I've got this in my world script:

Hooks.on("midi-qol.preDamageRollComplete", async (workflow) => {

    const isMinion = workflow.actor.items.some(i => i.name === "Minion");
    const isGroupAttack = workflow.item.data.data.activation.condition.toLowerCase() === "group action";

    if(!isMinion || !isGroupAttack) return;

    const title = "Minion Attack"
    const options = {
        "inputs": [{
            label: `<p>How many of this minion attacked?</p>`,
            type: "number",
            options: 1
        }],
        "buttons": [{
            label: "Attack"
        }]
    }

    const result = await warpgate.menu(options, { title, options: { height: "100%" }});

    const numMinionsAttacked = Number(result.inputs[0]) || 1;

    workflow.damageTotal = workflow.damageTotal * numMinionsAttacked;

    workflow.damageDetail[0].damage = workflow.damageDetail[0].damage * numMinionsAttacked;

});
#

It doesn't seem to actually change the outcome of the damage, is there a better way to modify the damage before it's applied?

#

I guess changing the damageRoll may be better

#

Oh, it might actually be changing it, but the damage roll html wasn't updating lol

kind cape
#

You will want to set a new damage roll instead IIRC. Though this feels like it should be a macro on the attack item instead 🤔

violet meadow
jagged bear
#

ah nice!

#

I assume setDamageRoll is a v10 only thing?

#

My main game has yet to migrate, not exactly itching to do so in the middle of my campaign 😄

violet meadow
#

I think that there is in v9 too.
On my phone now so I cannot check rn.

jagged bear
#

Apparently not

#

I may be behind on updates, lemme check

violet meadow
#

Hmm it was after like the .70 something ?

jagged bear
#

Ah yep

#

It was indeed

#

Thanks!

vast bane
#

does v10 not have the checkboxes at the bottom of items anymore?

violet meadow
#

They are still there

jagged bear
#

Sad times, even with setDamageRoll in preCheckHits :<

vast bane
violet meadow
jagged bear
#

Nay, seems to not work either

#

Here's what I've got:

Hooks.on("midi-qol.preDamageRoll", async (workflow) => {

    const isMinion = workflow.actor.items.some(i => i.name === "Minion");
    const itemData = workflow.item.data.data;
    const isGroupAttack = itemData.activation.condition.toLowerCase() === "group action";

    if(!isMinion || !isGroupAttack) return;

    const title = "Minion Attack"
    const options = {
        "inputs": [{
            label: `<p>How many of this minion attacked?</p>`,
            type: "number",
            options: 1
        }],
        "buttons": [{
            label: "Attack"
        }]
    }

    const result = await warpgate.menu(options, { title, options: { height: "100%" }});

    const numMinionsAttacked = Number(result.inputs[0]) || 1;

    const totalDamage = Number(itemData.damage.parts[0][0]) * numMinionsAttacked;
    const damageType = itemData.damage.parts[0][1];

    const damageRoll = new Roll(`${totalDamage}[${damageType}]`).evaluate({ async: false });

    workflow.setDamageRoll(damageRoll);
    workflow.rollOptions.fastForwardDamage = true;

    console.log(workflow)

});
kind cape
#

But why use a hook instead of adding it as an item macro that's called on attack? 🤔

jagged bear
#

Because I field a lot of minions

#

It would cut down prep time

kind cape
#

But are they different minions?

violet meadow
#

Wrong reply but still

jagged bear
jagged bear
violet meadow
#

I think that it might break it

jagged bear
#

Hm?

kind cape
#

That's a fair point, though if I remember the minion rules from MCDM they don't always just scale by *minion Count

jagged bear
#

Nah, is true, but I can just remove group action from those particular attacks

#

and handle that on a case to case basis

kind cape
#

Fair 🤔

jagged bear
#

May have to poke the big man 😄

#

AH SHIT

violet meadow
#

Yeah. I would try an async roll in the preCheckHits hook too a

jagged bear
#

setDamageRoll is async

#

that's why

#

Figures checking the code would be a good way 😄

#

shit, still doesn't, what

#

debugger is goin down now

#

It's calling the function alright, the workflow has definitely set the damage roll to the new one, but as soon as it moves on, it reverts back to the old damage roll

dark canopy
jagged bear
#

No, in this case it definitely waits

#

It doesn't show the damage roll popup until the dialog closes

violet meadow
#

Does it work without the dialog?

dark canopy
violet meadow
#

Just a plain new roll?

dark canopy
#

but modifying the workflow object isn't being latched because its being modified at an arbitrary point in time, right?

jagged bear
#

Doesn't show up until I press OK on the warpgate one

#

Which indicates to me that the workflow is waiting

dark canopy
#

ah

#

fair, we have reached the edge of my knowledge

#

carry on!

jagged bear
kind cape
#

The passed workflow is "live" so changes will affect subsequent actions. In particular preAttackRoll and preDamageRoll will affect the roll about to be done.

#

Just to be clear, it should work 🤔

violet meadow
#

Ok so preDamageRoll

vast bane
#

isn't there a option checkbox for this?

jagged bear
#

I made it do this:

const damageRoll = new Roll(`50`).evaluate({ async: false });

await workflow.setDamageRoll(damageRoll);
workflow.rollOptions.fastForwardDamage = true;

console.log(workflow)
#

it definitely fast fowards

#

but it does NOT update the damage roll

#

So yeah, I think I've found ze bug

#

it'd be helpful if someone else could try this too

#

just run this in yer game:

Hooks.on("midi-qol.preDamageRoll", async (workflow) => {

    const damageRoll = new Roll(`50`).evaluate({ async: false });

    await workflow.setDamageRoll(damageRoll);
    workflow.rollOptions.fastForwardDamage = true;

});
kind cape
#

Tried out the original code, yeah it does not change my damage

#

Let me just check one of my old macros I have that modifies damage

jagged bear
violet meadow
#

I will try to replicate when back on my pc cause I have used that successfully, but as an onUse macro iirc 🤔

kind cape
jagged bear
#

man i'm so confused 😄

kind cape
#

I would still argue that its a bug, but at least that works

#

I just found my old macro (which did a form of DR), so it had to hook a bit later, then figured I would try that in this one 😂

jagged bear
#

Aye, it works on preDamageRollComplete

#

That'll do for now!

#

Alright, I'll report this bug after my session

#

I should have spent this 30 minutes prepping instead lmao

#

OH WELL

vast bane
#

@violet meadow so if we ever got that MTB macro that fails when a non gm uses it, to finally be able to apply and remove status effects, you could automate hide with it in MTB/Midi. Cause then the percieving player could roll perception vs the hiding players stealth OR have the MTB macro read a flag that has the bankd stealth in it? if thats even a thing

#

cause you can set a DC in MTB macros

jagged bear
#

Not out yet

kind cape
#

But there are "pre-release" packets that contain a lot of cool creatures for people who kickstarted it 😉

#

Speaking of MIDI bugs, I discovered a bug in MIDI with one of those monsters as well 😂 The Voiceless talker has an effect that "steals" memory, decreasing target prof mod and increasing the talkers damage, so I did an ability with 2 effects, one for target and one for caster. Turns out, there is a bug that causes that to not work, so it applies both to target and only one to caster 😂

raven ore
#

Is there a way to add to the existing Usage Configuration window for a feature or spell that provides the "Place Measured Template" option?
I'm running into an order of operations challenge with On Use Macros.

#

I am attempting to build out a generic macro for certain Monk features, so I want to have a drop-down option to choose a number of extra ki points spent. The problem is, I don't want the player to be able to X out of the drop-down window without it consuming the ki points.

Currently, I have two separate Usage Configuration windows popping up: one for the ki point selection, and one to Place Measured Template.
Once they select Use Ability on the Place Measured Template prompt, it gives them the Damage button on the Chat Card. At that point, they can just X out of the other window and it won't spend the ki.

#

I've tried using a secondary On Use Macro step after Active Effects, but then I can't pass the selected value from the drop-down list to subtract the extra ki points.

dark canopy
#

could make the close callback submit the default ki?

#

or, alternatively, output a message with the amount of ki spent -- maybe there are some instances where you do want to just roll the ability and not use ki? So if they close it, no consumption message appears.

formal heron
#

Trying to build the new Durable feat from One D&D as an item, which is basically: Expend one hit die to get one hit die's worth of healing as a bonus action.

Based on this post, it sounds like there isn't an attribute key I could use to roll the hit die for the healing part? #1010273821401555087 message

manic tendon
#

Is there a way to create an effect that grants advantage on saving throws if the ability that forced the save contains "frightened" or "charmed" in the description/effect?
Perhaps using Build a Bonus?

raven ore
raven ore
#

Or do you mean 0 ki at all?

#

These features always use at least some ki

#

Hmmm maybe I could have the initial ki spent via the conventional resource consumption method from the item details

#

I still don't like the aesthetic of the two separate prompts, but at least that might get around the mechanical issue

kind cape
#

Just to be clear, you just want it so that if the player closes the second dialog (or chooses 0 points) that nothing happens and no ki is consumed?

raven ore
#

Oh. No, the problem was that they could X out of the second dialog box and it wouldn't consume ANY ki. Not just whatever they added from the drop-down.

#

The macro also consumes a default amount, based on the feature being used.

vast bane
#

Hmmmm, this is making me have an idea, I wonder if ItemDelete module can track resources too

kind cape
#

I'm having a difficult time following what the intent/problem is 😅

raven ore
#

I think @dark canopy is right though. I can work around this by just using the traditional method for that part of it.

raven ore
raven ore
#

Ok. So now I'm running into a new challenge. The first prompt works just fine. It will consume the default resources.
Then, if I select "0 points" or close the second window, all is good. It works as intended.
But if I select something greater than 0 from the drop-down, it prompts me with both windows again and the Damage button disappears from the Chat card.

#

Seems like it gets caught in a loop somehow

short aurora
raven ore
#

The macro is called before the item is rolled. Not sure if that makes a difference

kind cape
#

MidiQOL instead of MidiQoL (Uppercase O)

short aurora
#

rip me

raven ore
#

Ok. Well that works, but it's still looping.

raven ore
raven ore
#

It also looks like it's not actually updating the damage dice at any point

pseudo tiger
#

Is there an option to have area effects not affect the caster? I've been told it has something to do with Range - Special

vast sierra
#

Under the item details, there is a line called Range.. make the third box on that line, as special. This means ignore the caster of said item

pseudo tiger
#

Thank you

vast sierra
carmine ridge
#

I've created a homebrew sword that does special stuff on a critical hit. The bonus feature affects only undead or fiends. It deals damage instantly (e.g Divine Smite) and applies a minor faerie fire effect for a single turn to any targets that failed their save.

The Item is currently setup to target creatures within range (using a range of Special to not target the wielder) . The OnUse macro is set to 'Before Save'. The item has a DAE which is being applied on failed saves for the FF effect.

What I'm trying to accomplish is removing any targets that are not undead from the workflow's targets before the saves are processed (hopefully not making unaffected targets save). I simply cannot seem to accomplish that. Any suggestions on where I'm going wrong?

const workflow = MidiQOL.Workflow.getWorkflow(args[0].uuid);
if (args[0].macroPass === 'preSave') {
  workflow.targets.forEach(t => {
    //remove the non-undead or fiends
    let theDead = ["undead", "fiend"].some(i => (
      t.actor.data.type === "character"
      ? t.actor.data.data.details.race
      : t.actor.data.data.details.type.value
    ).toLowerCase().includes(i));
    // console.log(`${t.actor.name} is ${theDead}`);

    // if this target aint undead/fiend remove it
    if (!theDead) {
      workflow.targets.delete(t);
      workflow.hitTargets.delete(t); // need both of these?
    }
  });
}

(edited for confusing variable name)
I'm on V9 not v10.

raven ore
#

I've updated this macro, but it is still running into a loop.
I think the problem might be that it is starting a new workflow when it executes MidiQOL.completeItemRoll(item)?
Are there any good examples out there of a proper execution of something like this?

#

I want it to update the existing Chat Card with a new damage roll, based on how many ki points are spent.

short aurora
#

Is all you're doing with this changing the damage?

#

According to how many ki points you put in extra, I mean

raven ore
#

Pretty much. It should consume extra ki points, depending on the selected option, then change the damage to be rolled.

#

But not all features that will use it have a damage formula

scarlet gale
#

What feature is this for?

raven ore
#

A variety of monk features

#

Just trying to get it working with Sweeping Cinder Strike for now

#

which is essentially the Burning Hands spell

scarlet gale
#

Why not just have a burning hands spell that's renamed. Then have it's resource usage as Ki?

short aurora
#

If it's only updating damage, I'd update the workflow of the original item, but if I remember monk correctly, it sometimes empowers to do something else entirely, right?

raven ore
raven ore
#

How would I update the workflow of the original item? Maybe I can work around the problem.

scarlet gale
#

Are you just trying to change the damage it outputs?

raven ore
#

That's part of it

#

See above

scarlet gale
#
workflow.damageRoll = await new Roll(damageFormula).roll({async: true});
workflow.damageTotal = workflow.damageRoll.total;
workflow.damageRollHTML = await workflow.damageRoll.render();```
#

This will swap out the damage with whatever you plug in

#

This is done during postDamageRoll

#

I have a focused aim macro that uses workflows if you want it.

#

I feel like the best way to handle what you're trying to do would be to just have the macro roll another item depending on what they select

#

Instead of trying to mess with the workflow.

short aurora
#

That seems to be what they're doing, but without having the item on the actor - cloning the item and making the changes, then rolling that. I'll have a look at it later if no one helps by then, sounds like an interesting mechanic for empowered features in general.

scarlet gale
#

Could just roll the item as normal, then change the workflow damage after the roll.

#

To empower it.

sudden grove
#

Howdy all - I want to apply an effect on healing spells for tonight's game (cuz not being able to heal as effectively is SCARY! 😉 ) - is there a method by which I could apply a passive effect to healing spells so that they only heal a percentage of the roll?

short aurora
#

That'd just work for this, it seems they want a compact way to make an existing feature do something also when empowered, in this case, it's just more damage.

short aurora
sudden grove
#

@short aurora interesting - so maybe a negative "bonus"....I'll look at it. Thanks for the hint!

sudden grove
#

hrmm....multiplying the system.bonuses.heal.damage by .5 on either the caster or the target had no effect.... 😦

kind cape
#

I believe that flag only takes flat values, what you need is a world script that hooks into post damage roll

sudden grove
#

yeah, that's not likely to happen in the next two hours :D. I'll just have to manage it manually. Thanks for the insights @kind cape

kind cape
#

I can whip something up in a moment that should work, gimme a minute

sudden grove
#

if you keep that up, I'm going to start singing Bette Midler songs 😉

#

"you are the wind beneath my......Foundry" 😉

kind cape
#

So this should do it:

Hooks.on("midi-qol.preDamageRollComplete", async (workflow) => {
    if(!workflow.damageFlavor.includes("Healing")) return;
    
    const damageRoll = new Roll("" + Math.floor(workflow.damageTotal*0.5));

    await workflow.setDamageRoll(await damageRoll.evaluate());
    workflow.damageTotal = workflow.damageRoll.total;
    workflow.damageRollHTML = await workflow.damageRoll.render();
});

It ain't pretty though @sudden grove

sudden grove
#

I haven't dealt with them before, so....

kind cape
#

Not the right kind of world scripts

#

Get the "World Scripter" module, it will give you a compendia where you can chug the macro and then reload to have it applied ^^

sudden grove
#

Mom always told me I shouldn't chug my macros ;). I'll grab the world scripter while I attempt to discern what that means 😄

kind cape
#

Create a macro, open the world scripter compendia, drag it in there 😛

#

And make sure that the macro is set to script and not chat 😛

sudden grove
#

thank you for making it easy 😄

#

that also makes it easy to adjust as the effect strengthens....thanks again!

kind cape
#

Also if you want it to round up instead of down then change floor to ceil

jagged bear
#

I has posted it

kind cape
#

Gave it 👍 😄

jagged bear
#

MidiQOL is such a beast, I'm in awe

#

But knowing large code bases, statistically, this should happen 😄

covert mason
#

Has anyone managed to automate Silvery Barbs?

sudden grove
#

just to make sure I'm not missing a step here: world scripter module is installed and the macro is in the compendium, but I'm not seeing a change in the effect?

#

restart?

short aurora
kind cape
jagged bear
# short aurora Did you end up finishing the minion damage calculator? I'd like to steal it and ...
Hooks.on("midi-qol.preDamageRoll", async (workflow) => {

    const isMinion = workflow.actor.items.some(i => i.name === "Minion");
    const itemData = workflow.item.data.data;
    const isGroupAttack = itemData.activation.condition.toLowerCase() === "group action";

    if(!isMinion || !isGroupAttack) return;

    workflow.rollOptions.fastForwardDamage = true;

});

Hooks.on("midi-qol.preDamageRollComplete", async (workflow) => {

    const isMinion = workflow.actor.items.some(i => i.name === "Minion");
    const itemData = workflow.item.data.data;
    const isGroupAttack = itemData.activation.condition.toLowerCase() === "group action";

    if(!isMinion || !isGroupAttack) return;

    const title = "Minion Attack"
    const options = {
        "inputs": [{
            label: `<p>How many of this minion attacked?</p>`,
            type: "number",
            options: 1
        }],
        "buttons": [{
            label: "Attack"
        }]
    }

    const result = await warpgate.menu(options, { title, options: { height: "100%" }});

    const numMinionsAttacked = Number(result.inputs[0]) || 1;

    const totalDamage = Number(itemData.damage.parts[0][0]) * numMinionsAttacked;
    const damageType = itemData.damage.parts[0][1];

    const damageRoll = new Roll(`${totalDamage}[${damageType}]`).evaluate({ async: false });

    await workflow.setDamageRoll(damageRoll);
    
});
short aurora
#

<3 much love

jagged bear
#

Make sure the minion actor has a "minion" feature

sudden grove
kind cape
jagged bear
#

and that the condition on the attack has "Group Action" on their attack's activation condition field

#

it just allows you to better filter when to not use the automatic workflow

#

(not session tested yet, the session was a social one)

#

Though next one strahdtoast

kind cape
#

You can talk to things?! Preposterous!

jagged bear
#

Lol

#

Barovia tends to do that yeah

#

Nothing is ever straightforward there

sudden grove
#

@kind cape "Did you ever know that you're my hero
And everything I would like to be?
I can fly higher than an eagle
For you are the wind beneath my Foundry-things"

#

<WARNING> - May generate bug reports if you have "wind" beneath your "Foundry-things"

short aurora
#

Ah no, there we go, if you create a message with the new item. Hmm...

raven ore
short aurora
#

I think my expertise is coming short here, I fixed the looping part by making sure the cloned item had no itemMacro (I made mine an item macro) to run, but I can't figure out how to only get 1 total chatMessage out of rolling the cloned item.

#

I could create a chat message from scratch but it just feels like there's a function unused to get there smoother...

raven ore
#

Ah. Yeah, mine does currently replace the existing chat message.

#

But I still have the loop issue

molten solar
#

Is the problem that there are two messages created? That can just be toggled off.

raven ore
#

Sounds like that's what Krig is running into

short aurora
#

Any time I pop in options to not do chat messages, I get zero. If you've got better luck Dialectikal, my fix for the looping was just to remove the macro from the clone, in the case of item macro it's js item = item.clone({ "data.damage.parts": newDamage, "flags.itemacro.macro.command": "" }, { keepId: true });

#

If you run it by a macro name, change the macro name or toggle "on use macros" off, whichever, should be the same result. I could not make the feature actually execute without throwing two messages, else it popped one message and deleted it, lol

raven ore
#

Won't that keep us from getting the new damage values?