#MidiQOL
1 messages · Page 19 of 1
This one, right? On hover it shows "Actor #numbers#"
The chat promt in chat does not show. The one that tells you that the character may use a reaction now. But still no dialogue box like I saw in MidiQOL video
That is a button for quickly copying the id of the actor.
Double right-click the token.
Oh, I see. Yes, "Link Actor Data" is set
Damn. I will get back to you once I install that v10 Midi SRD
I don't even have that on v9
But did you try by unchecking this
Yep, it only affected the message that appears in chat
It stopped showing
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?
Yeah. Set that one on. Autorolling works fine, it's the reaction dialogue box that doesn't
Not what you have on the gif, just a plain text message when you set the option on.
Try these 2 things to be safe.
1. Restart foundry completely and test
2. Disable all modules except midi and its dependencies and test```
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.
If step 2 works we know it's a module conflict
make sure you don't have a rogue inactive shield sitting in the actors effects tab
that'll also throw all your troubleshooting off
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!
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
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
Bugbear just brought it up that you can turn off speak as tokens in v10, are you on v9?
you could also place tokens on splash screens to utilize the automation
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
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
Not exactly speak as tokens. But unchecking the box 👆 , should fix if its the same issue
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
That is unfortunately already off. The error is Could not get a target for self (actorname)
I just swear I used to cast spells that had self on without needing a token on the canvas
is the ae set to roll self?
There is no ae
require targets never?
yep
Do you have maybe a DAE with apply to self when item rolled?
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
Nope, another spell does it as well
that stuff should have been a toggle on/off for us instead of force feeding that change
and I refuse to believe tposney automated locate object
lol locate object is definitely not a spell you can do anything fancy with, what about spell animations
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
could it be spell animations failing?
what is the exact error again?
is it an active scene?
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
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.
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.
About Time API 😄
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...
I would love this for regeneration abilities
I was using that for recharging items, before this became core 😄
When I'm home I'll post it. I'm using midi-qol to apply the healing so it interacts well with other workflows.
I'll mess with the about time thing too
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.
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. 🤷
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.
Zero reason to actually set system.equipped to a new value to know if it changed. Confusing. Just read the value and read the update object.
For areEffectsSuppressed to work the item has to be in the post update state, i.e. with the changes made.
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. 🤷
Was this always the case?
Fix in 10.0.16
The effects in question are things macro.execute etc, which require specific additional calls based on suppression changing - which is why the code is there.
Don't suppose you know of any examples that use this function? The documentation for GameTime.doEvery is a bit vague.
Anyone know why Midi doesn't display Spell Description anymore?, even if you click the Druidcraft.
there is a section at the top of one of the workflow settings that hides various levels of the aspect of a card and you must have it set relaly high to hide all. , its a drop down at the top of misc or optional I forget, in v9, no idea in v10
Perfect 🙂
v10 is also found in Misc setting
I have this laying around in the discord. This is meant as an onUse Actor macro, that creates an event when a specific Item is used from the actor.```js
if(!args[0].item.name==="Item_Name") return; //Change the Item_Name to match the one you want recharged.
game.Gametime.doIn({minutes:1}, async () => {
await actor.items.getName(args[0].item.name).update({"data.uses.value": 1});
});
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 😛
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 😄
Oh yes. Got a couple of reactive damage type of macro'ed items. Are you v9 or v10?
Iam currently on V9
But i glady take both so iam future proof 😄
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
Big thx 🙂
Is that all? Then just compare the previous and new state, and if it changed, toggle the effects accordingly.
(Why do you do this in the pre hook anyway, that might get cancelled.)
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
flags.midi-qol.advantage.attack.all CUSTOM findNearby(1, tokenUuid, 5, 0).length > 0
V10.0.15 or later of midi-qol
You can probably do that in build a bonus as well
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?
babonus does not, and will never, touch adv or disadv.
In midi-qol you're probably heading into damage bonus macro territory. It's pretty simple, but would be a macro. If you show me a sample I'll give you a macro to do it.
something like that (in 5e it probably should be a roll instead of a flat damage)
ok that can be done with babonus. Just give them all a +5 dmg bonus aura with a range of 5 feet or something
wont work like that - If you have like a 1 boss and 2 henchmen - only boss should get +damage
Isn't the boss an ally of the gnoll claw fighter?
sure. just give the boss' attack something unique to filter against.
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)
sry i have no idea how to do that :/
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)
Here's the midi version to do the same thing.
thank you! - I'll test both soon on my unsuspecting players 😄
bro, don't test during a session
Wait, would this actually work though? Who is going to be the source aura?
Cause that source is supposed to get the bonus to damage if other allies are in radius.
and here's a sniper
the allies granting the boss +5 dmg
or just all gnolls granting each other +5 dmg? 🤷
idk, both are easy
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?
How does bab work out that there are 2 or more allies? I can see it working really well for one ally.
it don't
no it's addition
I have an item that does 1d6 extra damage when a charge is spent. Any good idea if this is at least semi-automatable?
a +1d6 damage bonus effect with Effect Macro to remove it when you make an attack roll? 🙂
Items with Spells module v10.
Put a "spell" with charges, targeting a creature and applying damage, emulating the charge spent 🤷 with a secondary roll by the player.
@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?
The object is passed to the core hooks.
I mean, it's also the basic use case for MIDI optional flags 😛
yeah but it will keep prompting each round roll and I find it a bit intrusive for that specific case 🤷
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
hmm I've finally got a chance to test it and I have an error when I try to apply damage to a target with this effect on
same with sniper
Strange its working for me. Are you on v9 or v10?
That error is strange. What are you targeting?
That is one hell of a check!! 🧠
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.
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
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?
however the amount of time burnt on this, I'd probably forego the movement macro and just do the aoe damage and animation
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.
If you are to do it do it in full 😄
its not pending if you are not playtesting v10 😉
No active auras needed though
yeah I didn't realize it was the air elemental
v10 isn't in testing anymore, though, right? it's released.
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
i get that, i was just wondering what the status is.
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
ok, thank you. I have not been tracking foundry stuff closely the last month
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.
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
Are you on v10?
Currently no, but that's a good idea. I'll look to include that in 10.0.16
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
Well that is something I had never considered!
yeah but tossing in directions is warpgate probably, time consuming for a creature thats gonna last 6 turns
not even a round
but... fun
sorry I'm jaded by the v10 mess
take the 🪠
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
Not that many things change, and for the most part, the older ones will still work due to shims
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
Now if you want Active Auras, that's a different story
hes warpgate, sequencer is wasp
ah, yes, of course. thanks.
Any news on that front?
There is a working install-able fork, but I haven't tested it tbh
I have used this ALL THE TIME for things like wing attacks from dragons and what not. Totally avoids using a template. Just set to, say, 15 feet creatures and all creatures in that range get targeted. Super simple.
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 😬
I use it for turn undead as well
Assuming you're on v9, here are versions that should work in v9 or v10.
although, that kind of aoe targetting des rely on the right settings for targetting in midi in one of the workflow tabs
They still have some system in the checks for actionType 😅
@molten solar is there even the remotest glimpse of hope you could turn your robust aura tech to AEs? Oil and water?
now you've done it
its already effectively an AE right? just a very very very short lived one?
as in, it modifies actor data
... 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
question is, is badger replying to you or his ping above
nah its about babonus
well his ping above was about the aoe ability, but thats not really an aura, its an instantaneous ae
it's friday evening. Badger's probably drunk.
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.
It's not a modification.
and in that sense, could an AE define a babonus? 🧠
You can put a babonus on an AE.
ah, neat, problem solved
... was there a problem?
the idea of AE+babonus from Lukas, above
but its been a long week and I should stay out of the midi thread 🤣
I dunno, I like drunken code discussions.
nah, I suspect the midi men want triggers and shit on their auras.
I just do bonuses.
if Kandashi was smart, he'd update AA and put it behind Patreon. 😏
yes I'm on 10. As afar as I know BAB doesnt work on 9. Apparently something is very wrong with me client then
help a Kandashi out and submit PRs 😩
(there already are)
AA already has the prs
Guy's just busy. You lot can suffer a bit while the rest of us have fun. 😇
Don't have to suffer if you stay on v9 🤔
We know that you are suffering. That much is pretty clear.
Most macro changes are pretty simple
does anyone know why I'm getting this warning all the time? Maybe this is why macro doesnt work :/
now do them x1000 for me
data.data to system
That covers 90% of it
That's just telling you to eventually fix it
It still works
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.
My plan is to migrate to V10 during the holidays when my players cancel on me for holidays.
What macro specifically? This is just a warning that shouldn't break it.
the one tpsoney created #1010273821401555087 message
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)
Auras is already buggy in v9 lol
High ping clients always have issues with AA in my games
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
babonus is sync 🧠
I know, that’s why I dream of tposney rolling them into DAE or Zhell remaking it 🛌
4600 auras on one scene? 0.5s latency
I am wondering how many things could be made sync
I am playing a bit with the babonus API
I'm 99% sure the client thinks it should be the one handling auras so stuff gets doubled up
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
why!
That's nuts
mostly was stress testing for the third floor of dotmm, its doable for most of us
Thank you! Feel like I’m shouting into the void about doubled up AEs sometimes. The other day we had serious lag and dozens of the same AE
If it uses hooks, and those hooks are called on all clients, yeah, sure - that's why you make all the filters at the top and return.
Luckily all the hooks babonus uses are not broadcast. Local only. 😎
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
I would just split up the map at that point
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
As far I know AA picks a client to run everything, but sometimes one client decides it also wants to run it
I was thinking about how many things could be dealt with creating flags with on tokens, checking them during relevant hooks and deciding what to do, instead of using Active Effects for the "Auras"
... wat
Quite frankly almost everything.
It's the "creating stuff dynamically and all the time" that is the issue, and hooking onto token movement
Atropos said auras could be handled in core as part of the templates update, whenever that gets voted in
If you have 2 gms on , auras only work when the right one is looking at the scene
Actually there is a way to do it now. If the preItemRoll macro registers a Hooks.once("dnd5e.preUseItem",fn) or Hooks.once("dnd5e.preItemUsageConsumption), those will get called by the dnd5e system and pass through config/options as parameters to the Hooks.call
🧠 Will try that shortly!
Believe it. babonus doesn't change a single core thing. (but doesn't use templates)
Sometimes if you have a player with lag or high ping auras get doubled up
Do they then get auras from multiple sources or multiple auras from one
Generally the same aura more than once.
Yea
This would explain why it happens often when you have several player tokens within the same aura
You can see why people are desperate to find an alternative to AA
OK, so what does AA do that cannot be made sync?
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?
It changes the stuff for me
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.
Auras are so intrinsic in 5E rules… not just aura abilities but any persistent aoe really (and there are a lot)
My pass without trace aura tends to give +20 from a doubled up aura
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
Even our pally’s aura goes from +3 to +6 or +9 etc quite often (we do run it outside of combat)
In reality people just want to apply flags with the aura
on whom?
Tokens around themselves or tokens in a template
Cus that is already what babonus does - the flag is on the source of the aura, and tokens within range read that flag.
Midi-qol flags is the big one
yeah but how would babonus replace things like evards tentacles or darkness?
Your module handles other stuff well
You're making the assumption that I know what you expect Evard's Black Tentacles or Darkness to do for you.
when they enter the area they gain blinded condition, when they walk out they lose it
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?
god have mercy on you poor poor dm. twlight cleric, paladin, a warlock, and a barbarian that resists everything?
Those are the most common
Yeah I see the issue with that one. Hooking onto token movement and adding/deleting an effect ten times per turn.
I have a paladin with three auras, a warlock, and a twilight cleric. 😆
Totems are Shepherd Druid… so DM has to deal with Conjure Animals lol
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
lol even worse
thats a rough table, they must be punching atleast 3 levels above their normal rating
my group is punching 1 level above
One is the +CHA to all saves (done!), the other is cold/fire resistance (no work needed), and the third is a limited range reaction (no work needed).
The twilight cleric just has a macro he can pop at the end of each turn.
We’re about to fight Xanathar so I hope so!
My Monday group has a similar setup, but they all also have ways to see through magical darkness
Yep I'd do sanctuary that way too, I aint havin any of that lazy tmp hp aura stuff, they want it, they need to earn it
They ask very nicely each turn, it's delightful. 🙂
I ended up making my own wordscript to handle vision rules in the darkness spell
My paladin is a devotion pally so I just put an advantage reminder in his aura of protection for courage and devotions
I just have the darkness spell apply an aura with an empty effect so I can mess with workflow attacks in the wordscript
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
Play a game of Wheel of Fortune with them, oh woops, "LOSE A TURN"
Ten minute turns are why we wanted fully automated Sanctuary… bugbear hooked me up
your turns did not last 10 mins. surely. It's literally not possible.
The thing I am missing now from v10, is my reactive macros cause I havent tested the v10 Active Auras 😄
Nah but as a player I wanted to speed up everyone else’s turn as much as possible
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
I can confirm that it works great.
But having him fiddling around every turn targeting and granting hp is tedious
Thats the point but to each their own.
It isn't really. It's a targeting, and then one click.
combat becomes really boring when the only people present on a turn is the active turn person and the DM.
Oh I just made a twilight sanctuary macro
if you can give everyone things to do on every turn then they are present and they can provide roleplay input
Well I’d like him to spend his time thinking of something more creative than Toll the Dead every round
lets try to stay on topic
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
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
isn't that like built into temp healing? I just assumed that, probably a bad assumption
I went one step further… it auto removes frightened, charmed… then grants temp hp if nothing to remove (zero player agency!)
Not sure but letting midi deal with it is easier than directly updating the temp hp
99% of the time that’s what you want anyway, otherwise can easily undo
core since 2.0.3
Actor.applyTempHP
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
undo box is $$$
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?
I think we found the problem
for some reason
Forge is not updating
midi-qol
past 10.0.12
What is your DAE and dnd version?
Is Midi's latest not 10.0.12?
.15
12 is the cut off where it shuts off if dae and dnd is too old
DnD5e is 2.0.3
DaE is 10.0.9
hmmmm
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"
maybe forge isn't handling that special rule right? try reinstallingmidi maybe you installed them in a wierd order?
but also midi is old
uninstall and reinstall might help.
But yeah no idea about Forge 🤷
still 10.0.12
he can't be the first forge user to use midi since that
Check the dropdown?
are you sure you are on dnd5e 2.0.3?
Yep, that's a Forge problem (or rather a combined Midi and Forge problem)
that is weird that its right at the point where tposney put the version requirement in
yeah 2.0.3
Forge not use the standard module installer?
Nope
I might suggest uninstalling both dae and midi, and then trying midi again?
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."
It's wierder then that - when I uninstall and then manually install via json Forge is still installing 10.0.12
Thing is that MidiQOL 10.0.12 needed v2.0.3 dnd or it would not install
So Oscar is past that
yeah
weirdness
put a ticket into forge I guess
or try reinstalling the 3 of them from scratch?
do midi last
nvm, Forge has registered it correctly
quick someone get a snapshot of z installing midi!
Ctrl+F5? Log out of of Forge and back in?
yeah trying that now
yeah could be a cache issue
Oh and check your Foundry version
wait is it ctrl, shit I been doin shift this whole time
ok it worked
for some reason Forge got me stuck
log-out -> log-in -> now I can see 10.0.15
never happened before
the time is ... near. When Moto upgrades to v10, it will be safe to let v9 gooooo 😄
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
@gilded yacht did you push MidiQOL 10.0.15 ...again?
Eventually they'll want something new and spiffy
nah, we're scarred by roll20, we just want to roll some dice
https://github.com/foundryvtt/dnd5e/pull/1881
issue closed 2 days ago
The vision changes are worth it alone
I don't know how to read that, whats it mean?
Hp bars fixed
health bar no thicc. health bar good.
slim jim health bars
for a later version right?
25% ~~ready ~~ complete 
with the thicc bars two bars on a small token looks really funny
I don't think they ever reach 100%. At a certain point, they cut off the stragglers and publish what is finished.
so basically the Activision method
With the exception that what doesn't make it gets done later, for free, not as paid DLC.
It feels like a big bump, 2.0.3 to 2.1.0, for sure it would take time 😄
good point
Naturally the most important change is that you can't accidentally delete an item off the sheet. 😂
alas no more modules for that! 1 more off the list
(for real though, this is neat https://github.com/foundryvtt/dnd5e/pull/1603 )
I see krbz999 is putting some work in over there
v2.0.0 broke a macro lul
It was much worse than that.
I was mildly inconvenienced.
I had to add three lines of code to fix the initiative macro.
Like this? 🤔
Is there usually any?
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
🤷 It's just a tiny world script
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?
Yes - maybe - dunno
Curious to see how you'd get it to work on a specific template.
Assigning a flag and checking for it in the wordscript?
Yeah I just gave the template flags.world.darkness = true
and gave the blinded condition that, too. To distinguish from Blinded from other sources.
What happens if you drag the token?
It's all movement regardless.
I feel like I'm witnessing a revolution
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
combat doesn't have simaltaneous movement anyway
Velociraptor stampedes are rare
but a token can move out and stop affecting 10 tokens easily 😄
If I have a bunch of identical npcs, I tend to just have them take their turn at the same time
yeah but they aren't moving at the same time, you just take each of their turns
Possibly. Sometimes. I agree it's rare.
looks really good though, just worried about the tech savvyness to get it working
Is this not what AA already did or
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.
AA added some goodies to the AE config screen
well sure, but I'm more thinkin for a v10 alternative to midi srd's darkness
What module was doing affected areas then
active auras was
but its in a very buggy PR version atm and I haven't heard anything on how it behaves
... bugbear you sly dog
I love how we're already referring to AA in the past tense 👀
but the midi srd premade item did most of the work
you tricked me into making the entire AA config in babonus
Why are you? It's just gonna get some merged PRs and then off you go.
I did no such thing! I just suggested ways to improve ... tststs
banaura get at me
Where is the disable while hidden button! Give options to the user
always on.
(i know)
This gives me an idea tho...
If I hooked onto preCreateTemplate....
and found the item that created it...
👀
I told you next step ... on templates
babonus, babonaura, babonarea 👀
babonodoor? shame on you for forgetting
On template would be neat
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)
gentle gasp
... Template Macro
Yes pls
it would be a logical next step to the evolution of macros on documents
No no no... the next brick in the foundation of the Document Macro empire is ||Window|| Macro™️.
But Windows break line of ... effect. We need to destroy them all
destroy them with Window Macros
I feel that ~75% of the posts in #1010273821401555087 are totally offtopic... We should really find another place for these conversations 😶🌫️
Need a place for automation that isn't module specific
There is the Gearheads discord, but never got enough traction
even if this thread was rebranded to 5e-automation ?
Zhell disappeared. I give it 20 mins till the template macro is live
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?
Template Macro could take care of a lot of 5e spells, like cloudkill etc? So then we just need templates that move with tokens and then no need for AA?
you need to include auto fail friendly in the item's description iirc
check the readme of MidiQOL up top in the pins
i'm a bit of a noob. Would you mind helping me find that?
edit spell, "description"?
trying to find a function that just gives true/false if a given (x,y) is within a template, and somehow failing
oh nvm
If you hover the text on the Description tab of a spell, it'll let you edit the spell description, just pop those three words in there anywhere
Template macros would be crazy useful for 5e
are you diving in PIXI?
adjacently?
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.
oh, that was easy
thanks guys
Now for token coordinates--
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?
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?
you can clone misty step in auto recog, and then rename the clone to Vortex Warp
oh wait vortex is another person....shit that ones hard
sooooo...do I just copy paste that, and create a new macro in my bar?
how does it gain the ability to move another persons token though? must be warpgate?
Could warpgate a feature into them
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.
Browse all of our free and Patreon-locked assets!
Then auto use it
I don't think i've used item macro
Welcome to Midi qol (Jurassic Park intro music plays)
I think that is Sequencer teleportTo
all I know is, it works great 🤷♂️
yeah but I think the misty step Automated Animation is a special thing
he'd have to resort to a warpgate/sequencer macro
Like the one I just posted 👆
The theme should be Welcome to the Jungle!
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?
Arbron does spawning, not movement...
@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
I have to say that this macro can be run as a hotbar too. Doesn't have to go through Midi
Hmm might be patron only – change the file path to one of the misty step ones maybe?
i'll try that
File paths are in the Sequencer Database Viewer in your toolbar
the script is 5 lines long! To find all templates you stepped into! Jeeeeeesus christ
the link I shared is cooler than the ingame one
modules/JB2A_DnD5e/Library/2nd_Level/Misty_Step/MistyStep_01_Regular_Blue_400x400.webm
that look right?
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
there ya go
ok great
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
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
just keeping it on topic 
Blessed be the way of midi, all hail
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?
Yeah that macro had a kind of intro 'rune' show up before the portals – you could probably delete that whole part
so preloader should be fine with just 1?
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
yeah only need to preload once
i'll play around with it a bit more and try to get it right
Is this Terror Frenzy (for Summon Shadowspawn) going to be complicated 🤔
I just used the versions that look like blue 1. Cause they work both ways and its less loading on machines
ez
Its very easy with advantage reminder 8)
I was thinking that might be the go
its my go to basically whenever the situational bonus is really situational lol
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)
v9?
lol beat me to it
bless you
what is that feature from Lukas?
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
They're way better for combat from a GM perspective.
Less total summons than the old spells
Throw Summon Shadowspawn and Terror Frenzy into that post for the blokes searching foundry discord months from now, that is a great macro
How many cupholders does it have?
What triggers does it have?
v10 here I come
well currently it just gets all templates you entered, all you left, and all you stayed inside
Specifically can we see how far a token moved inside the template?
spike growth?
we still need dfreds/ate bud, slow it down ;p
WASD?
my current setup for spike growth is "You better remember if you are summoning that cheese" messages directed at my druid player.
The automation I have for it relies on AA
My GM is under strict instruction to move using WASD through spike growth, to trigger each damage roll lol
So it's janky
yeah good luck getting out of that.
calculating length of movement? through an area? probably a thousand lines of code, idk
If he's jumping or flying over he can drag 
didn't the drag ruler author say he wanted to make a teleport keyboard shortcut?
there is one – M
I don't think that skips the movement, just hte animation right?
I use that all the time
oh yeah someone is working on making teleport not count for movement history in DR
My skip move animation key it alt
yeah, also the M is a monk feature
Not sure if that's default key
monk module feature
That's what I normally use it for lol
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?
OK I'll wait for Build-an-Aura then
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
AA so buggy tho 😦
I don't care, better than having to manually write a bunch of stuff
I don't mind ditching it
I live in a janky world man
I feel Iike it'd be easy to replicate most of those pretty quickly tho
Janky is my shiznit
Build a bonus already replaces most AA aura uses
Template Macro should take care of Cloudkill, Darkness, etc type spells
but are there premades of bab
All that's missing is setting flags with an aura
is there a way to share them here?
It'd bet they're saved into the item at least
It has a ui and tooltips galore. Do you NEED to share them?
Flags in actor, item, or effect
So exporting the item should work
yeah, thats the whole point of the community, we share macros and what not and then some folks build out premade compendiums.
Although I'd love a way to export just an active effect
With Actor OnUse macros – is there a way to reference ItemMacros in an item?... because only the Fury variant gets this feature, I'll make sure warpgate strips the item from other variants
Check the Item Macro documentation. It has an api
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
Create a DAE on the feature you want. Make it:
a. Transfer to Actor on Item Equip,
b. flags.midi-qol.onUseMacroName | Custom | ItemMacro.name of the item,preAttackRoll
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
Fey would be good for our druid, yes please
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
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?
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
That works for me... as long as they're not wailing on me lol
anyone got any cool automations for Spell reflection?
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
How do I enforce spell templates originiating from the caster?
You cannot
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?
Ty for quick answer 😛
Except if you target based on distance
No template placed, but the targets will be from the token outwards
10 | ft | enemies for example
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)
You would need a macro, yes. I am off to bed now, but if you want I can point you towards the right direction
https://gitlab.com/tposney/dae
And search for "flags.dae.onUpdateTarget" and "flags.dae.onUpdateSource"
needs a macro to do that after the damage has been calculated
can an effect on a creature, give resistance to its target maybe?
Again needs to be applied through a macro, before the damage is adjudicated by MidiQOL
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
Ahh that may work
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
Inventory Plus version?
it was an npc, but I fixed the problem, the server was doing maintenance and really really bogged down
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
can't you fire a macro every turn with dae? Make the macro be a dfreds macro
I'll give it a go... if we head into args territory I'll be lost
its just a carbon copy of dfreds premade macro only replace bane with whatever your ce is called
Oh I getcha now
I think you could also make it less messy with effect macro if effect macro stores the macros in the item
Could have a effect macro do it on turn start
I think the benefit of effect macro is you don't have to clutter up your folder macros with it
Effect macros also makes it stupid easy to get the right actor to apply it to
Not an arg in sight
This worked a treat thanks, I should use EM more often
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.
Oh interesting, so you let the target decide what they want? That’s a nice idea
Also less dangerous if AA does end up doubling up the AE
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
nice idea, there's some things you could do is like have it show an item card. the charmed and frighted could be lumped into 1 line with an includes.
It doesn't remove both, you have to pick one. That's why I had it separated.
right, this is checking if it's present
oh true
lol just wrote a version of Armor of Agathys that rats you out to your GM if your use it illegally
oh?
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}.,
I was just thinking of making a worldscript to do that too
I have a world script version written
Check the range during the worldscript so they can't use it wrong
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
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
I would just check the name of the effect
ahh figured it something.. players can delete their own chat cards
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?
Do I have to disable fast forward in order to make it work?
Just updated the foundry db, no changes.
There is a shortcut that moves a token without animation (alt by default). As far as the movement history is concerned it's not a teleport but a move though
@vast bane <#1010273821401555087 message>
The author of Drag Ruler 5e integration had such plans
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.
Is there a reason why you use a DAE macro.execute and not a MidiQOL Item onUse one?
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
If what you do works fine no need to change anything. All of these can be handled within the same Item onUse macro too just fyi.
For the damage part, I would put that in the same Effect Macro that applies the prone condition
that's the item so far.
Yeah you got an onCreate macro, just slap the 2d6 rolls in there and apply the damage
yeah, like I said, would that be a damageOnlyWorkflow?
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?
it's pretty simple. it's just 2d6 of falling damage they get from being tossed around
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.
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?
Same thing. You need to target all the failed saves creatures at once. Does a save reduces damage or its all or nothing?
all or nothing.
My suggestion is another onUse Macro | After Active Effects
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
}
thank you, sir
is there a way in midi to include token name here? (It's from chill touch 10.0.12)
wouldn't an other damage formula do the trick also? Its probably one of the beast attacks
Low automation, I'd probably just make a versatile roll
I'm curious, is it possible to interrupt a Midi workflow to prompt something, and continue the workflow when the prompt is done?
Well, you can always run a hook that awaits the prompt, the workflow will wait until all hooks have completed 🤔
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
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 🤔
Hook on the midi preCheckHits.
Create a new Roll for the damage and roll it.
Pass it to the workflow with a workfkow.setDamageRoll(roll)
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 😄
I think that there is in v9 too.
On my phone now so I cannot check rn.
Hmm it was after like the .70 something ?
does v10 not have the checkboxes at the bottom of items anymore?
They are still there
Sad times, even with setDamageRoll in preCheckHits :<
check out the guy in #513918036919713802
Can you also try the preDamageRoll hook? I am going off memory now 😁 😶🌫️
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)
});
But why use a hook instead of adding it as an item macro that's called on attack? 🤔
But are they different minions?
Aye, Matthew Colville's new book has a bunch, and being able to add an item called "Minion" and detect that automatically would be best
.evaluate({ async: false });
I think that it might break it
Hm?
That's a fair point, though if I remember the minion rules from MCDM they don't always just scale by *minion Count
Nah, is true, but I can just remove group action from those particular attacks
and handle that on a case to case basis
Fair 🤔
Just evaluate with await still does basic damage
May have to poke the big man 😄
AH SHIT
Yeah. I would try an async roll in the preCheckHits hook too a
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
pre hooks are typically sync, so the hook caller is blowing past your hook and the data is used by midi before you modify it
No, in this case it definitely waits
It doesn't show the damage roll popup until the dialog closes
Does it work without the dialog?
yea, thats because this function is async and it will wait internally
Just a plain new roll?
but modifying the workflow object isn't being latched because its being modified at an arbitrary point in time, right?
No, I mean, the default 5e damage roll dialog
Doesn't show up until I press OK on the warpgate one
Which indicates to me that the workflow is waiting
I'll give it a try
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 🤔
Ok so preDamageRoll
isn't there a option checkbox for this?
Tis what I have
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;
});
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

I will try to replicate when back on my pc cause I have used that successfully, but as an onUse macro iirc 🤔
Hook on preDamageRollComplete then it works 🤔
man i'm so confused 😄
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 😂
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
@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
Which new book is this?
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 😂
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.
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.
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
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?
Not sure how to handle this
The drop-down defaults to 0 ki spent, so this is taken care of
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
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?
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.
Hmmmm, this is making me have an idea, I wonder if ItemDelete module can track resources too
I'm having a difficult time following what the intent/problem is 😅
I think @dark canopy is right though. I can work around this by just using the traditional method for that part of it.
Haha yeah. It's kinda tricky to explain.
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.
Here's what I have atm
Seems like it gets caught in a loop somehow
If this is an on use macro, then the macro is part of the workflow and doing item.roll will loop it. I think you want MidiQOL.completeItemRoll(item)?
MidiQoL is not defined there
The macro is called before the item is rolled. Not sure if that makes a difference
MidiQOL instead of MidiQoL (Uppercase O)
rip me
Ok. Well that works, but it's still looping.
It also looks like it's not actually updating the damage dice at any point
Is there an option to have area effects not affect the caster? I've been told it has something to do with Range - Special
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
Thank you
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.
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.
Is all you're doing with this changing the damage?
According to how many ki points you put in extra, I mean
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
What feature is this for?
A variety of monk features
Just trying to get it working with Sweeping Cinder Strike for now
which is essentially the Burning Hands spell
Why not just have a burning hands spell that's renamed. Then have it's resource usage as Ki?
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?
It has other applications. I did consider that, though.
Yes, exactly
How would I update the workflow of the original item? Maybe I can work around the problem.
Are you just trying to change the damage it outputs?
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.
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.
Could just roll the item as normal, then change the workflow damage after the roll.
To empower it.
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?
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.
I don't know of a way specifically only for spells, but all healing can be adjusted by system.bonuses.heal.damage
@short aurora interesting - so maybe a negative "bonus"....I'll look at it. Thanks for the hint!
hrmm....multiplying the system.bonuses.heal.damage by .5 on either the caster or the target had no effect.... 😦
I believe that flag only takes flat values, what you need is a world script that hooks into post damage roll
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
I can whip something up in a moment that should work, gimme a minute
if you keep that up, I'm going to start singing Bette Midler songs 😉
"you are the wind beneath my......Foundry" 😉
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
@kind cape Pretty is less important than functional. Is this (https://foundryvtt.wiki/en/basics/world-scripts) still a valid guide for world scripts?
I haven't dealt with them before, so....
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 ^^
Mom always told me I shouldn't chug my macros ;). I'll grab the world scripter while I attempt to discern what that means 😄
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 😛
thank you for making it easy 😄
that also makes it easy to adjust as the effect strengthens....thanks again!
Also if you want it to round up instead of down then change floor to ceil
I has posted it
Gave it 👍 😄
MidiQOL is such a beast, I'm in awe
But knowing large code bases, statistically, this should happen 😄
Has anyone managed to automate Silvery Barbs?
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?
Did you end up finishing the minion damage calculator? I'd like to steal it and test it with the preview of that book, found it on their website
Yes, reload for world scripter macros to take effect
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);
});
<3 much love
Make sure the minion actor has a "minion" feature
Is execute as GM required as well?
It's not
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 
You can talk to things?! Preposterous!
@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"
How have you set the feature to run this macro? I just tried for testing purposes, and while the dice is not updated, I do not get thrown into a loop
Ah no, there we go, if you create a message with the new item. Hmm...
This is exactly it. I feel like I'm close, too. It seems like it must be doable.
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...
Ah. Yeah, mine does currently replace the existing chat message.
But I still have the loop issue
Is the problem that there are two messages created? That can just be toggled off.
Sounds like that's what Krig is running into
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
Won't that keep us from getting the new damage values?