#MidiQOL
1 messages ยท Page 64 of 1
You have a token, actor, item, or effect with "undefined" as an image or icon.
Macro unrelated.
could it be a macro without an icon?
if I exported the actor could I search its json for undefined and find it?
its definitely the druids sheet
If the img is undefined, it won't show ๐คท
the latter
If a reaction is supposed to reduce damage, is that possible to do so in the workflow? I turned autodamage off as to avoid people dropping concentration and possibly killing effects when damage would be prevented somehow
This is for the Projected Ward reaction. I managed to link everything and reduce the resource on the source of the ward, but don't want to apply the damage in it's macro
you can turn off auto remove conc instead I find thats simpler if the only reason for turning off auto damage was conc shutting off
Still, I would have to go with a setTimeout to wait for autodamage then heal the character I guess?
can't you use damage reduction?
Should I apply a DR effect with a flat value of the absorbed amount then?
I wasn't sure if DR was resistance or flat values
oh ok you don't know that yet
dr is damage resistance, DR is damage reduction
in flags keys
if its a midi flag, its damage reduction and it takes integers, if you do negative values it will do damage bonus instead of reductions
the system flag will be damage resistance
when you pop .dr into an active effect using dae's auto complete
Got that! I am thinking of making a CE expiring on damage taken and editing the value to the absorbed amount
you'd still have to worry about applied effects on hits
if you reduce the damage to 0 you are still hit
What happens if they roll a natural 20?
this can happen just sayin...
no crit flag and you good. Or return false to the Hook. Baby steps
Many other issues to solve before that ๐
is crit flag related to natural 20?
I thought they were technically seperate
they are in table top dnd
dont serialize documents!
Yeaaaahhhhhhh
it was a Requestor request going through some hoops. Will get there ๐
There is a reason Requestor's readme tells you to pass strings.
I just noticed that the target's fire resistance is being ignored.
Maybe I should just make the fire damage separately/manually at this point.
Yeah cause the extra damage is slashing in this example.
Just change the js "parts": [[damage, "slashing"]] to ```js
"parts": [[damage, "fire"]]
in the macro
That's not making a difference. I'm good with the slashing being what's "booming" out, but the fire on the initial target isn't being halved.
Which kind of matters because all the PCs currently have a Fire Resistance potion on them.
mouse over that image of the orc in the damage button
It is halved from what I can see. You do 23 points of damage and then the 1/2 of that one is transfered
If Fire was not reduced, it would be 27/2 floored
whyis it rounding up?
Ohhhh!
I didn't notice the parentheses.
Ok, well I'm seeing the boom occurring to the original target too, and adding code for setting range to "special" doesn't seem to help.
Rows of what?
I think you are changing the wrong drop down
if you look at an item, to prevent self inclusion you change the bottom of the two rows but I don't have access to a world to show you
get it again
edited
No matter what you change on the actual Item, it will not affect the pseudoItem you roll for the extra attack.
All must be done in the macro
Yeah, that's probably what happened. Is there a way to give the psuedoitem no damage on save?
@sleek pulsar
Sources of premade stuff for Midiqol:
Midi Sample Items Compendium(comes with the module)
Midi SRD's compendiums
https://raw.githubusercontent.com/thatlonelybugbear/midi-srd/master/module.json
More Automated Spells Items and Features compendiums
https://foundryvtt.com/packages/more-automated-spells-items-and-feats
Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros
Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros
DAE and Midi-QOL
damageRoll=1d4+5,
dmageType=psychic,
Using the flags.midi-qol.OverTime feature:
Is there a way to change to +5 to the the spell level?
And I am done for the day ๐
```js
if (!args[0].hitTargets[0]) return;
const damage = Math.floor((args[0].damageList[0].appliedDamage)/2);
const itemData = {
"name": "Radius boom",
"type": "feat",
"img": "icons/svg/sword.svg",
"flags": { "midiProperties": {"nodam":true} },
"system": {
"activation": { "type": "special", "cost": null, "condition": "" },
"duration": { "value": "", "units": "inst" },
"target": { "value": 5, "width": null, "units": "ft", "type": "creature" },
"range": { "value": null, "long": null, "units": "spec" },
"actionType": "save",
"damage": { "parts": [[damage, "slashing"]] },
"save": { "ability": "dex", "dc": 19, "scaling": "flat" },
"type": { "value": "feat", "subtype": "" }
},
"_id": "Lb6zmde1jWwncmQx"
}
const pseudoItem = new Item.implementation(itemData, {parent: args[0].hitTargets[0].actor})
await MidiQOL.completeItemUse(pseudoItem, {}, {});
*Back to <https://foundryvtt.com/packages/automated-conditions-5e> *
Thank you Supernaafeh
Also, you prolly need more values there like turn=start
Look at the midi readme and and the overtime section
Yeah, that's in there. I only copied the damage portion for brevity.
and when it is spellLevel, I think its @spellLevel

The midi readme is the best place to get help for overtime, and make sure you select the v10 branches readme
unless you are on v9 midi, then use the master's readme
they can see these, but htey shouldnt, and they are the only "player" who can
I am totally bookmarking this for how to make a synthetic item lol
that is the player version of the card, that player has permissions to the monster/damaged target
ok, now i know whats going on
its because i gave them all limited ownership for shared vision to work
thx for rubber ducking for me ๐
pretty sure if you have damage automation on those cards don't get buttons anymore
@vast bane Moto, once again pointing me in the right direct. Thanks. Didn't even notice the branches. Seems they added spellLevel = spell/item level to V10
when dmage auto apply is on, I think only the DM gets that card to undo
I only know they are different mainly cause v10 has actionSave while the master(v9) does not
I think its prolly something he wants to fix but hes a busy man, he set the master to v9 I think during the v9/v10 update window cause things were messy and many stayed on v9
Does foundry prevents effects from applying if the target takes no damage? I can't think of reasons why I would prevent hits from happening if the target takes no damage
Foundry doesn't do squat
I guess it depends on the item and the rulings
If the attack misses effects would not be applied. However, you would need to be using Dynamic After Effects and Midi-QOL mod to apply effects on hit.
I'd hope they were using those if they were here ๐
The only one who hangs out here who doesn't use them is Zhell
I know enough to be a danger to myself. ๐
Thanks! The only one of those I don't have (and routinely look at) is MASIF. Just so I'm clear, though, you have @violet meadow's fork of Midi SRD, because it's been updated for v10, correct?
I'm looking at Midi-QoL macros and stuff because I'm trying to get the most out of it, and learn JS in the process. So, fits and starts, mostly.
Hi there. May I ask again for some help: I want to use the twinned metamagic option from the Midi sample items. But if used e.g. with Invisibility it only consumes 1 instead of 2 sorcery points. I've read out the appropriate variables (consume, item.system.consume.amount) and they show the right amount. Any ideas?
yes the author of midi srd is on hiatus so Bugbear is a good lil bugbear and is keeping it alive for us
show me the details tab of the feature twinned spell
did you follow the instructions in the description of twinned spell?
I did. I also put the right resource consumption in. Problem is, that this amount isn't changed according to the spell level you choose.
show me the details tab of the item
I'm not troubleshooting with assumptions
midi is not detecting your rolls
you know whats next...
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
Can DAE be used to remove a specific effect while leaving others? Specifically Concentrating.
Misty step
Do you mean midi?
Possibly, I'm getting them confused running DAE to activate Midi.
Either can do it, aeither a dae that runs an item macro that removes the ae, or midi on use macro that removes the ae
If you have dfreds CE it'd be easier to make the macro
Trying to set up Breaking Concentration ability that breaks concentration and does damage. I know how to apply statuseffects and how to remove all of them entirely. But not specific effect.
Thanks for your ideas, but in that case I know about all that and don't use any of those modules. Have you tried those 2 metamagic options out of the box on your own? From my pov it looks like the consume.value isn't send correctly to the appropriate field, therefore it uses the quantity which is already put into the field, which is in case of twinned spell 1. Even if I don't put a number in the field, it uses 1.
dfreds ce gives you a compendium of macros you can use to remove effects, if you have that module that will be the simplest, otherwise you gotta wait for a guru to take up the cause
I don't have access to a world atm, you could try to see if maybe chris, MASIF or mrprimates premade repositories has a twinned spell macro
The ability automatically breaks concentration, it does not require a save from the target?
If that case, you effectively need to remove the concentration yourself in a macro.
Midi has a helper fonction to get the concentration effect :
MidiQOL.getConcentrationEffect(actor)
After that you could use MidiQOL.socket().executeAsGM("removeEffects", โฆ)
That is correct, it's a Legendary Action.
It breaks concentration on target ?
Breaks the targets concentration on spell cast.
Ok, then you should use the method I suggested
. Sorry need coffee and I have never used this ...
except if item is defined
Wait a minute ๐ค
... deleted
Something is a bit off
Oh... Ok. ๐ Coffee is always the right solution... โ
is there a way to add the value for [canvas.tokens.controlled.length] to the attack roll of an actor? If I try to add it this way I get a Uncaught (in promise) Error: Unresolved StringTerm [canvas.tokens.controlled.length] requested for evaluation so I'm not sure if it's just a matter of turning that into an integer or what
that snippet is "script code" and is not compatible with AE value fields
is there a way to get the same result with an AE compatible formula?
would that work with midi workflows?
yeah, the idea is that MCDM Minions get a group attack and they get a +1 to hit for every Minion that is part of the attack
didn't wasp make that for midi?
so it's a variable number
or worked on it atleast
Someone did that I forget who, it was definitely a module author
Could prolly make an ally only aura that utilizes ##stackCount
omg noooo
active auras is great when sparsely used
I like to live dangerously, haha
lol
when you get him to make that, and its generating crazy results, I want to see the bug report to Mr. Primate on it lol
yeah, having 40 auras all influencing each other would probably be bad times ๐คฃ
I tried, but I can't use that code in it
I'll check with him though, I was chatting him up already in #macro-polo
I think it could also be done with a Babonus ๐ ๐
Hmm, well, an on-use macro should be pretty simple, I can't remember if its all of the attacks or only some specific ones that get the bonus?
can an Effects effect set visibility state? ie for invisible set visibility none
AEs cannot modify token properties by default
๐ค
@scarlet stump An on-use macro that ensures that it only counts selected tokens with the right name, then gives a bonus effect to the attack:
let minions = canvas.tokens.controlled.filter((con) => con.actor.name === args[0].actor.name);
if(minions.length <= 1) return;
if(minions.length > 5) {
ui.notifications.info("MCDM minion group attacks are only supposed to use up to 5 minions at a time.");
}
const attacker = (await fromUuid(args[0].tokenUuid)).actor;
let newEffect = {
"label": "Grouped attack",
"icon": "icons/weapons/swords/greatsword-evil-green.webp",
"origin": "",
"duration": {
"rounds": null,
"startTime": null,
"seconds": null,
"combat": null,
"turns": null,
"startRound": null,
"startTurn": null
},
"disabled": false,
"changes": [
{
"key": "system.bonuses.All-Attacks",
"mode": 2,
"value": minions.length,
"priority": 20
}
],
"tint": null,
"transfer": false,
"flags": {
"dae": {
"transfer": true,
"specialDuration": [
"1Attack"
],
"stackable": "multi",
"macroRepeat": "none"
},
"core": {
"statusId": ""
}
}
}
await attacker.createEmbeddedDocuments('ActiveEffect', [newEffect])
Should be run in the preAttackRoll phase.
(Also attached is a drag-and-drop feature you should be able to put on any minion to just make it work)
@kind cape and @scarlet stump, Wasp's way with the valuable help of tposney, to do that without AEs, plainly using the system Hooks.
#1010273821401555087 message
But mine requires no world-script AND requires no dialog ๐
Of course Wasp's also handles damage, so it does a bit more
Actually just realized, Wasp's only deals with the damage, not with the bonus to hit
we are in midiqol...and ATE is basically a silent requirement for midi lol
Badger forgot to add on the end that you can't do that in core, with midi and Active token effects you can do that
oh what's the flags then?
i answered the question presented ๐
not the Condition Effect, the actual visibility state
must preface all my questions with : I have all the modules.
i barely know what midi uses to begin with, let alone non-listed module dependencies ๐
do you want a token to be invisible to all?
or do you want to change its detection mode?
I'm trying to setup Precision Attack and taking a stab at it with the optional flags but I don't really get how to setup the fields
Does this make any sense?
Attack gets rolled twice apparently
I fixed the count value with @resources and it kinda works but I don't get why it rolls the atk twice
Is that a battlemaster maneuver?
because you should not need to make anything for a battlemaster
Where would I find those?
Unrelated question: where can I look for infos on creating a light source in a macro? I have some weird features on my monsters that create 5ft-radius darkness spots where they hit targets and if their target is in darkness, they deal additional dmg
So I wondered if that could be automated
Me wondering why I can't find the module
more automated spells, items and features
So I drag the Superiority Die feature on the actor then the maneuvers, right? Cause that's not working ๐
oh god, I think you should just search posts by me using "superiority die" cause i've done this like 5 times now and I can't help now
does the actor have a proper battlemaster subclass?
Gonna search
do you have item macro?
the instructions are in the item macros for MASIF even though it doesn't require item macro to install lol
one of the time sI helped someone here, their battlemaster subclass was not matching what the macros look for
I think you also have to set a resource pool
and you can't have more than one item called supieroirty die or whatever
I have the resource but actor is a multiclass of a homebrew and doesn't have the proper subclass
oh I made that hang on
whats the name of the fighting style
you can replace the original const with the special subclass
I think thats what that guy did, he just defined battlemaster as paladin
Ok!
Stuff works, but gonna make distracting strike a prompt with DamageBonusMacro probably
I can't believe how much stuff my players forget to use if they don't get prompted to
I actually dont' fast forward and use advantage reminder module
I find it far better for that than optionalnamemacros
plus AR is easier to work with
If I could bother you again, where can I read about template/light source apis?
Like, what if I want to create one of those in a macro?
I don't know what that is, I just use dfreds CE+ATE
#macro-polo Would be a better place for that kind of stuff.
It would be invisible to all.
I am trying to set up a convenient effect for the following:
Starry Form Dragon. A constellation of a wise dragon appears on you. When you make an Intelligence or a Wisdom check or a Constitution saving throw to maintain concentration on a spell, you can treat a roll of 9 or lower on the d20 as a 10.
I have it all working except I am struggling with Constitution Saving throw only when concentrating.
Any suggestions?
is it posable to auto destroy an item after 24 hours?
Yes, create the item using an AE (macro.createItem) then it will disappear when the AE does
I need to do something when the effect target reaches a certain % of hp, am I missing some args in the value?
Do you Transfer the Effect to Actor on Item Equip?
Create an Item on the sidebar.
Create a DAE with that flag as you have it (not Transfer to Actor on Item equip).
Make the Item Target Self in the 3rb box in its Details tab.
Then drag it on the actor.
Roll it once.
Should be now OK
After transformInto, how do I restore transformation to the previous form on 0 hp?
revertOriginalForm function I think, but better ask in #macro-polo
Thanks!
@obsidian vortex workflow.targets.first().actor.effects.some(eff => eff.label === "Prone")
Thanks. I thought it would be something similar to the documentation of "@target.details.type.value".includes("dragon")
Effects are not included in the actor's rollData (yet at least, I hope tposney might include them for MidiQOL users).
To check what you can reference directly like you showed, select a token, open console and type ```js
_token.actor.getRollData()
When I do that I see an effects collection
So they might have been included already.
OK so even better. Do ```js
target.effects.some(eff => eff.label === "Prone")
I'll give that a go!
Hey. I'm configuring a Wand of Entangle with Magic Items and midiQOL enabled, and trying to follow the advice in the readme: "The only issue is that spell templates for spells in a magic item are not auto-placed on casting. Once placed everything works as expected. Spells/features that can be rolled will work." When I trigger the wand first, then place a template manually, the chat card appears in the chat, but nothing else happens. If I first manually apply a template (with auto-select enabled), then trigger the wand, the AA kicks in, the spell card appears in the chat, but none of the mechanics kick in.
On the Details tab, the type is wand, and it's attuned, equipped and identified, 1 action activation cost
On the Magic item tab, it's a magic items, equipped, attuned and the rest as expected. Any idea what's going on?
Not a direct answer unfortunately. I haven't used that module for a long time.
Just that I would suggest to try the same with the module Items with Spells.
It seems more manageable!
Thanks, I'll check it out. ๐
Hi I have a question for DAE. Is it possible to write a effect that is only applied/activated when the player's hp is less than 50%. It doesn't seem the effect macro can do this, are there any better approach? Thanks a lot
Starting from here same question: <#1010273821401555087 message>
This DAE will monitor the HP of the actor that has the effect on and then in the Item Macro you can check for 50% of HP and do stuff.
Search the discord for flags.dae.onUpdateTarget, there should be some macros
For instance an example that actually creates the DAE as well is this one: <#1010273821401555087 message>
I cannot help right now more, so I hope someone else can chime in
Ah Thank you! I will go do some reading
Injecting reactions in other users workflows ๐ค
There is some basic infrastructure but needs some more work
Oh wow this means stuffs like cutting words can finally work?!
At some point... ๐
There are so so many reaction abilities that trigger on other people's turn
Indeed! There are many things that need sorting before something like that would become available (if at all) ๐ค
About reactions, there isn't a way to make reaction damaged works only with one type of attack, like melee/ranged, or damage type, like fire/radiant?
I always though some parameter like these could be pass, but didn't found anything in readme
That is another issue which hopefully can be sorted out alongside what I am doing above.
So if that idea works, it can be expanded afterwards
(But still that one would be better handled in MidiQOL)
Maybe the ultimate goal is to create the feature of Black Pudding(when it take lightning/slashing damage, it split into 2 smaller puddings)
oh lol
so complicated, so unnecessary
That can be done with the update Target from DAE
Have the feature on the Pudding, check for being damaged and then what was the damage so as to trigger a Warpgate mutation ๐
(not sure if the damageTypes are being passed along, but shouldn't be that hard to include this info)
Okay I will go check it out when I have the time. And thanks for the help on the 50%hp conditional effect question. It is working now!
Nice!
Really curious how you're doing that. Reactions for stuff on others opens so many options.
Basic premise.
There is a Hooks.callAll("midi-qol.ReactionFilter") provided by MidiQOL, for which I changed locally my module to hook on and inject Reactions that can be "found" by checking "around" the target for actors with relevant Items.
The Hook is triggered on the client that is being attacked, so if you trick that one to believe that it has the Item, it will be shown on the available reactions dialog.
Several caveats though. First and foremost, as things are now, the actor being attacked NEEDS to have at least 1 relevant reaction Item, as the hook doesn't seem to trigger otherwise.
I haven't gone through Tim's code to see what's up with that
It seems Items with Spells is allergic to Token Action HUD. I wrote a github ticket.
This is from a staff with 18 wild magic surge spells, which the player equips when surging to launch the one he rolls (I couldn't think of a better way to do it).
Anyone have an example they could point me to to try to solve this. Thanks.
#1010273821401555087 message
Thanks for this @vast bane - Any way to get the effect to be applied with CUB instead of CE?
Have you tried flags.midi-qol.min.ability.save.con | Override | 10
Entangle is not an aura
this isn't midiqol, but you can change their action economy and even world script in a "wildmagic surge" action type to categorize them.
CUB is kinda meh for midi users
Is that a no?
What are you trying to do?
I don't know cubs api
its the contested roll macro that bugbear made a while back
My guess is they want a cub version of this:
let results;
const hider = canvas.tokens.get(args[0].tokenId);
const target = await fromUuid(args[0].hitTargetUuids[0]);
results = await game.MonksTokenBar.requestContestedRoll({
token: hider,
request:'skill:ste'
},{
token: target,
request:'skill:prc'
},{
silent:true,
fastForward:false,
flavor: `${hider.name} attempt to hide from ${target.name} `,
callback: async () => {
const hiderTotal = results.getFlag("monks-tokenbar", `token${hider.id}`).total;
const targetTotal = results.getFlag("monks-tokenbar", `token${target.id}`).total;
if (hiderTotal >= targetTotal) {
if(!game.dfreds.effectInterface.hasEffectApplied('Hidden', hider.actor.uuid)) {
await game.dfreds.effectInterface.addEffect({ effectName: 'Hidden', uuid: hider.actor.uuid});
ui.notifications.info(`${hider.name} Successfully hides from ${target.name}`)
}
}
else ui.notifications.info(`${target.name} has keen eyes and ${hider.name} was unsuccessful in hiding`)
}
});
could probably use an executeAsGM socket
Elwyn's last messages here answered something like this with an executeAsGM instead of dfreds
this way we don't have to go dig out cubs archaic code and can just leverage midi
I feel like this is the right place to ask but I can't for the life of me figure out how to get Concentration added to a character automatically when casting a spell. I turned on "Enable Concentration Automation" but it doesn't seem to do anything.
i started playing around with something similar recently in warpgate. You could potentially use the event system to say "A attacking B, any reactions?", if you then wait for all clients to respond "go ahead" or "go ahead, and here is modified data to use", you could maybe make some sanity out of this ๐ค
does the spell have concentration checked at the top of its details?
Yeah all of them do
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things..
Then another roller is rolling the items
or you have roll automation off in midi for some other reason
If its not one of the above can you say what it is so that I can add it to the pile
Ahhh I missed Better Rolls. Ok, thank you, thought I was going mad
BR is dead in v10 too even though it somehow survives the update
Err wait no, I have Ready Set Roll, sorry
yeah both module authors say this, do not use them together
I was messing with trying to automate Silvery Barbs with prompting all the players around with sockets. I gave up after realizing how quickly it bogged down combat.
There really just needs to be a more elegant way to do reactions that doesn't involve prompts.
For emboldening bonds upgraded protective bond I was able to just put an item on all of the bondees and rely on the target to alert the whole group to use their reactions
its actually initiated by the target too
Beyond the scope of midi, but something an event based system that can do rollbacks to would be the way probably.
you could create a global reaction item kinda like how argon gives everyone dodge
that is cutting words
or in my case, I'd make it an advantage reminder for attack and damage
then leverage the human brain for if it applies to the situation
I just have them manually roll another d20 and if changes the outcome undo the damage and remove any spell effects.
Doesn't happen enough to be too much of a bother
yeah me too
the only third party reaction I have is that bonded thing, but it works really nice
before I created the reaction item, they NEVER remembered to use it. Now they use it constantly
If I could trust my players to be more attentive in combat and be quick to dismiss dialogs I would try again
The bond you forge between people helps them protect each other. When a creature affected by your Emboldening Bond feature is about to take damage, a second bonded creature within 30 feet of the first can use its reaction to teleport to an unoccupied space within 5 feet of the first creature. The second creature then takes all the damage instead.
I give them 10 seconds for reactions and no ifs ands or buts about it
also it tells the DM when someones being prompted for reactions so I usually say something outloud to speed it along
omg
can we hook at that message?
please tell me we can worldscript hook on a message automated by midi
Then yes
chat messages are a bit outside the scope of this channel, but doing a chat hook is simple enough
I don't think the jeopardy sound is copyrighted or long enough to matter
I gotta go drive to dunkins so I'm unable to chat for a bit
I need to create an effect that reduces wisdom by 1d4 and expires on a long rest. Does system.abilities.wis.value ADD <xx> accept die rolls?
Put between [[ and ]] or every time you look at the sheet it'll be a different roll
if you have DAE installed you can, I know its pretty much mandatory for this channel but just makin sure we cover the bases
I just did this today for Shadow str drain. why does it need [[ ]] ?
because that field on the sheet only accepts integers and the d is not an integer so it leverages DAE's inline roll feature to change it before it goes in the field. This is a loose translation of whats occurring
Oh does that make it show the roll in chat? because I did mine by Active Effects flags and worked fine
no chat message though.
if you have the setting on yes
did you have your drop down set to custom for the -1d4?
I did notice that dae is doing it automatically without the [[]] in v10 alot more
it's probably add -1d4
Every roll would have been a different number
are you targetting the right key?
and did you actually test it
yeah it works. stacked effects all draining STR until rest
If you care for it, I have a item macro for str drain that will properly stack onto one effect.
STR Drain DAE ? I dunno what modules it needs
lol let chris = {.
I didn't even think of stacking into one effect but that's a lot of script to make it work
oops my D&D game is on and I'm DM wooop
I have a bunch of helper functions in a world script personally
Pearl of Power
All I did was v10ify the existing macros shared here for Pearl of Power.
- Its a midi on use macro and should be stored in Item Macro
- This is an exported macro. Edit it in notepad/macro editor and paste into item macro.
woah, thanks! and thanks @violet meadow for the Wasp way as well!
I guess I could use them both (one to handle the attack, the other to handle the damage?)
Interesting for a more agnostic approach. I will circle back to that at some point!
@coarse mesa I guess when the Midi SRD was being created, MidiQOL reactions weren't implemented yet?! ๐คท
So probably Gloves of Missile Snaring were never made
Ah, good point... makes sense
It looks like OP was trying to repurpose Deflect Missiles, but there's stuff in there that's irrelevant as far as I can see... but I'm not sure about the applyTokenDamage stuff
isn't it basically the already shared stones endurance? for gloves of missile snaring in a nutshell
yeah pretty much
Hmm yeah shouldn't be doing that.
where is Stones Endurance coming from btw? I used to have a working one from DDB importer in v9 but I don't know where it is now
its not a macro
its a very simple ae
its in MASIF but its not needed, you can just do a .DR key
I looked at DDB importer's Stones Endurance in v10 and it's not doing anything
I think the MASIF one uses a macro
Oh I just remembered! Is that the one? <#513918036919713802 message>
Back it the day
Maybe I did find it in here... but I'm pretty sure it just worked out of the box with DDB importer. Maybe Mr Primate removed it in v10
But yeah just an AE should be enough
tricky step is to remember the special duration
It really is, I can't even find a systems/dnd5e/icons/skills/armor_01.jpg
The more I search. That was the macro needed. <#513918036919713802 message>
Make an Item target Self with a damage Formula of 1d12 + @abilities.con.mod | No Damage and a DAE calling a macro.itemMacro | ItemMacro @damage ```js
if (args[0] === "on") {
const item = fromUuidSync(args.at(-1).origin);
const target = item.actor;
const effectData = {
changes: [{key: "flags.midi-qol.DR.all", mode: 5, value: args[1], priority: 20}],
origin: lastArg.origin,
duration: {seconds: 1, startTime: game.time.worldTime},
icon: item.img,
label: "Special",
flags: {dae:{specialDuration:['1Reaction']}}
}
await target.createEmbeddedDocuments("ActiveEffect", [effectData])
}
Really old so I edited it a bit
OK I'm not going mad... according to changelog, DDB importer did have Stones Endurance at one point
he probably was using what bugbear just shared and realized it was redundent now
i'd like to change this macro to have it apply the effect to the triggering actor and not rely on a target to be selected. The roll should include the dex.mod for this actor too. can anyone show me how to achieve this?
you don't need a macro if its gloves of missile snaring
yeah is it premade somewhere?
no but is it?
you got defleect missiles stuff in that for monks
deflect missiles is a premade, gloves of missile snaring is a simple ae setup
@violet meadow do you think it being in here twice is why it didn't make it into my import? https://github.com/MrPrimate/ddb-importer/blob/6c53c2f1bd9a1cb12bbaa7203dbb90cd204c72db/src/parser/features/special.js#L496
stones endurance and gloves of missile snaring are essentially the same exact setup only a few tweaks
Seems like it. It finds the 1st entry and imports that one!
Which is blank ๐
Though the break is later
Thanks, I'll summon @chrome pike then
The one I imported is rather lacking
Yeah it's just a default Feature
did you own Monster's of the Multiverse?
its one of those republished ones
Just comment that line in your local installation Lukas for now.
doesn't look like it's a local file, but no worries... I have manually reinstated that
The two cards is something I need to think about. Generally if a player makes a saving throw everyone is supposed to see the final roll, the second card just shows the first roll and the modified roll. I think I might have to make that a config option eventually
its a v9 carry over
oh also its so that you display the roll in chat if you have the setting on in dae
some players like to see their rolls
Ah definitely
there is a setting in dae for show inline rolls
That's not how this statement works
it's capturing two different names the feature can have, one with smart quotes, one without
its a case statement so it's capturing both cases
it should be adjusting the feature though
Ah gotcha... while you're here you might want to look at Moto's Stone's Endurance AE above? It's a nice implementation using DR
and could probably use some AE
the macros probably present the roll maybe, that could be a benefit
the ae only presents the roll if you have the setting on in dae and wrap it in inline brackets
Yeah thats why I had made that "damage" roll
just thinkin of it from a table top experience, the player will want to roll their die
Sorry yeah maybe I need to try munching again โ I definitely had Stones Endurance in v9 but found it was missing in v10 โ just an empty feature
(ps: I couldn't even see the difference between ' and โ in that link Lukas) โ
I've been having a look at this. It seems to only be consumable items from my tests, is that corrent? It turns out that ddb importer is setting flags in a way that dae does not udnerstand - I've coded around that and will get dbd importer to send more sensible data.
I still can't ๐ค
I don't see what you are referencing
OK I'm officially going to bed
There is no EM in that
It's getting late even for Tim... and I'm two hours ahead of him
lol why cant I see my own message
I just had lunch 
It is definitely not perfect vision. I do call token.vision.initialize and immediately after that call returns los is undefined. Midi cheats and calls initializeVision for tokens that are not controlled by the player and it's not obvious that is even well defined, let alone accurate. I've put in some checks to avoid the error - to be honest it's really an edge case determining if a token can't see it's attacker because it is not in a vision/light source and therefore grants advantage.
As far as I could tell it is just consumables - if there are others let me know. It seems to be a case of dbd importer passing inconsistent flags on the item - I've put in (I think) a workaround and raised the issue with the module author.
@gilded yacht Do you think that the Hooks.on("midi-qol.ReactionFilter") could trigger even if the actor has no available Reactions?
I am trying to catch that and inject reactions from other characters, so as to emulate Reactions from allies or enemies.
Right now, I need to have at least one Reaction Item on the targeted actor to even begin doing that
That sounds reasonable - I need to check when exactly it is called. I suspect if there are no reactions it skips over the whole thing, but there's no strong reason why it should - other than laziness on my part.
That would be interesting - I've not come up with a good way to deal with those reactions on other actors when something happens to a 3rd party actor. Ping me with how you are thinking of doing it, since there's a good case for finding a general solution for that and it's one that currently has no good way to be done.
It would be nice to avoid a
for (token of canvas.tokens.placeables) {if token.hasAnyReactions()) {doTriggerReaction(token)}}
which could be quite expensive
What I am testing is something like ```js
export function _preAttackReactions(reactionItems, options) {
const attackingItem = options.item;
const attackerActor = fromUuidSync(options.workflowOptions.sourceActorUuid); //or just attackingItem.actor
const attackerToken = attackerActor?.token ?? attackerActor.getActiveTokens()[0];
const attackerUser = game.users.find(u=>u.id === _playerForActor(options.item.actor)); //using the same function from MidiQOL to get the user.id. Probably needed to make changes for item uses and ReactionUsed AE
// if (attackerTargets.size > 1) return; //to-do: Does this matter?
const defenderToken = options.workflow.targets.first()
let reactions;
if (defenderToken && attackerToken) {
const checksDistanceTokens = MidiQOL.findNearby(null,defenderToken,60) //60 was a test case too.
//Might need a more robust way of checking, preferably with wallsBlocking = true as well, or testVisibility
let hasItem=[];
for (let t of checksDistanceTokens) {
//case Arcane Wards
if(t.actor.items.getName("Arcane Wards")) hasItem.push({item:t.actor.items.getName("Arcane Wards"), user:_playerForActor(t.actor).id})
}
if (hasItem) {
reactionItems.push(hasItem[0].item)
}
}
}
And ```js
Hooks.on("midi-qol.ReactionFilter", _preAttackReactions)
It's pretty light
But it needs to go through some hoops afterwards to make sure that the charges or uses or whatever from the used Item are expended.
The game.user that uses the Reaction will not have permissions to update the Item they're using.
And needs also to create a Reaction Triggered effect on the correct actor (the Reaction Item used item.actor)
This was just a proof of concept.
There will need to be some flag or specific sentence in the Item's description that can be searched, for filtering which Items can be picked up as relevant reactions.
Like reaction self and others ๐คท
The premise of this is that the defending player will get their normal Reactions Dialog, with suitable Reactions from other Players added in.
Then they will ask, if its OK to use...
I wouldn't bother more than that, to make it more "automated"
There's already stuff in midi to do the reaction prompt on the client of the player who has the reaction, so that part would be "simple" to update the item - for a given value of simple. The trick is deciding which player might be able to do reactions or not.
So it looks like you are checking on an item by item basis if there is a reaction to trigger. I was thinking of expanding the existing reaction processing to allow for each token (possibly only those in combat) to have their reaction items checked to see if an "activation condition" or some such was met that would then go through the normal reaction processing - i.e. prompt for the reaction and then roll the item if appropraite.
It would be good to get a list of suitable activation conditions, i.e. ally hit, foe damaged or whatever - i don't know the system well enough to be able to see how complex that list might be,
ally hit and ally damage
Is that it?
no, just wanted to make sure they both were thought of lol, I got protective bond which is a third party take damage for another and its suppose to work on spell damage not just attack rolls
Steel defenders reaction is when targetted
Yikes, when targeted is tricky.
impose disadvantage against an attack against an ally
That could be before the attack is rolled, rather than when targeted.
yeah
so attack to be rolled, attack rolled, attack hit, damage rolled, damaged applied, saving throw required, saving throw failed/succeeded - anything else?
Expanding the reactions checking for activation conditions would make it easier I think.
I doubt we'll ever be able to automate silvery barbs
These ones sound reasonable.
if a requested mtb ability check fails its dc?
Ability checks then too?
I don't think midi deals with them natively?
only monks decides if its a success right?
Critical Hit registered?
oh yep critical hit, grave cleric reaction
also guardian emblem I think from tashas uses same thing
silvery barbs is a secondary d20 roll?
yeah I suppose we could automate the incombat stuff
its more like indomitable I think
they see the roll, demand a reroll
Iโm waking up to mention counterspell
There is roll reroll functionality so it it would be theoretically possible. The timing of those sorts of effects is tricky (with the way that midi currently works) but not impossible.
Shame on you ๐
I guess this is starting to highlight that the current midi workflow model is a bit simplistic for all of the things that should be considered. Maybe it is time for a midi++-qol which redoes the base workflow idea.
oh wait no counterspell wasn't it, it was dispel magic I had wanted automated
Cutting words is a good example of things that something like that should be checking ๐
When a creature that you can see within 60 feet of you makes an attack roll, an ability check, or a damage roll, you can use your reaction to expend one of your uses of Bardic Inspiration, rolling a Bardic Inspiration die and subtracting the number rolled from the creature's roll. You can choose to use this feature after the creature makes its roll, but before the DM determines whether the attack roll or ability check succeeds or fails, or before the creature deals its damage. The creature is immune if it can't hear you or if it's immune to being charmed.
That pretty much an optional effect, but for any target in range, rather than you rolling. Not to say that would be simple,
Idea:
Counterspell solution. Every caster has an ability called "Begin to cast a spell" and then that pulses out a dialogue to all creatures within 60 feet where they can elect to counter or not, then resume normal workflow.
if any player casts a spell in combat, and they haven't used that feature yet, it auto rolls first
Most of these things would be much easier if the dnd5e.preRollAttack etc hooks allowed async operations, so that dialogs/user interaction could be processed as part of the caster's rolls, i.e. allowing other players to interfere with the rolls before completion.
Yeah. For the time being I do stuff in a midi-qol relevant pre hooks and then forward what the result is to the dnd5e one
For the counterspell I had made a worldscript, checking if the Item used is of type spell, and whether there are actors with available reactions and Counterspell prepared in range and able to see, and then trigger a Dialog on the attacking player's client asking, is anyone trying to Counterspell?
If no, the workflow continues.
If yes, drop down selecting the player trying to counterspell, MidiQOL execute as User to use the Item and rolling a contested check to either let the workflow continue or cancel by returning false
Deflect missile monk, is there a way to fix it? I'm usin the midi qol version but it' won't roll the damage when returned
It'll never happen
It happens when I click damage on the missile deflected back
Has this been discussed someplace I could take a look?
Hooks will never be async. They will not, and should never, await all their hooked scripts. That's downright insane.
For midi users it doesn't mean anything cus you've already replaced them entirely with your own, but for the rest of us it means you'd force an actual visible wait time between a button press and a dialog appearing.
Currently that's 0 ms, and that should stay 0 ms
Furthermore, no one but midi users need or want it
If you well and truly want to await them, just dig into the code and find the functions that have been added to the hooks and call and await each of them. But imagine 10+ modules doing async stuff on a dnd5e.preRollAttack hook. Do you want to wait up to 10 seconds between a button press and the ability to select adv/disadv? It's insane to even consider it.
Plus it'd be too easy for any of those hooks to stall forever.
Deadlocks are dangerous
Yeah. So while I totally get that you want them to be async so you can do more automation stuff, for the rest of us it's not a net negative; it's fully negative.
Luckily I doubt it's even possible.
Not making it async is like a safety feature to avoid dangerous / bad code, isn't it?
Basically deadlocks and things that just take too long
Possibly - you can definitely create an async function that is called by a hook, but the result is not awaited
That doesn't cause the function to not work, it just means you can't use the result or cause the rest of the 'workflow' to stall until you're finished
A simple example is sheet rendering and injecting a template of your own stuff. That's usually async to retrieve your template, compile it, and then inject it, but the sheet doesn't wait for that (not that it matters in that case, template rendering is usually quick, and no one is gonna notice the 2ms delay between the sheet rendering and your own stuff being injected).
You could offer some extra async hooks maybe for instances that want that.
Sure, you could put that in Midi.
Yeah but still one might need to do something based on an async event, without the need of MidiQOL.
Just saying that the system could offer some async hooks that default to true and noone would know ๐คท
(and if any module uses that hook, I'd encourage anyone to stay far away from it)
(for the above mentioned reason)
it's just a bad idea all around
If someone would want such a drastic change, they should make a module and use libwrapper - and that's the state we're already in regardless with midi and wire I think.
RSR too I think
Definitely
So it is a good amount of users using said async hook functionality already ๐
And they can keep them. ๐คท
A majority probably use neither midi, wire, or rsr, you just never see them, they're probably not even on this server.
the sample item is not good, try um....chris's version
For sure. Only metric I have is Forge and between MidiQOL, Wire, RSR and BR its around 50% of the user base
BR for 5e shows >20% still 
Keep in mind that those are users who have ever installed those modules, at any point.
Where do I find Chris's version?
(yeah, just for argument's sake)
Yeah, so basically, it's not a good idea unless you can trust all module devs to not abuse such an async hook...
Just toss in one popular dev who doesn't really care too much, and that's a lot of users' games breaking lol
Thanks for the response. I did that. I know that was the flag to do what I am trying to do and that will work. The issue is having it only do that flag when the character has the concentrating effect on them.
That is a point I can get behind much easier ๐
Not sure you can easily affect only concentration checks.
I am a real newbie with this but slowly understanding it. Do you think it is possible to use the Effect Macro and then check for concentration if it is their then apply the new con save requirements?
I see under the Effect Macro there is a (dnd5e)On Saving Throws.
So I really do not understand how to Override the Con Save Roll in midi with a Macro? Is there an example of that anywhere?
Not as far as I know and the way I can currently think of will need a world script at least.
I can test in a bit
Thanks for responding.
I know this might be a dumb question as I am new. Is there not a way to use the flags.midi-qol.min.ability.save.con in a Macro?
Did anyone try to make a "swallow'' automation? Like for the kraken's bite?
As a World Script for MidiQOL Starry Form Dragon min10 concentration rolls. Three different implementations, use ONLY the one that makes more sense to you.
All these have a PREREQ of MidiQOL handling concentration (or having an actual Item named Concentration that you roll... ๐คท )
Hooks.on("midi-qol.preItemRoll", (workflow) => {
if (workflow.item.name !== "Concentration" || !workflow.actor.items.some(item=>item.name="NAME OF THE ITEM THAT PROVIDES THE CONCENTRATION BONUS FOR MIN10")) return;
else {
Hooks.once("dnd5e.preRollAbilitySave", (actor, config, skillId) => {
if (skillId !== "con") return true;
else foundry.utils.setProperty(config,"reliableTalent",true);
})
}
})
Or if you have an applied AE on the actor, named Starry Form Dragon, you could change a bit to this ```js
Hooks.on("midi-qol.preItemRoll", (workflow) => {
if (workflow.item.name !== "Concentration" || !workflow.actor.effects.some(eff=>eff.label="Starry Form Dragon")) return;
else {
Hooks.once("dnd5e.preRollAbilitySave", (actor, config, skillId) => {
if (skillId !== "con") return true;
else foundry.utils.setProperty(config,"reliableTalent",true);
})
}
})
Lastly instead of the MidiQOL hook, you could also use the `dnd5e.preUseItem` hook ```js
Hooks.on("dnd5e.preUseItem", (item, config, options) => {
if (item.name !== "Concentration" || !item.actor.effects.some(eff=>eff.label="Starry Form Dragon")) return;
else {
Hooks.once("dnd5e.preRollAbilitySave", (actor, config, skillId) => {
if (skillId !== "con") return true;
else foundry.utils.setProperty(config,"reliableTalent",true);
})
}
})
Hi guys, is it possible to add something similar to a miss chance automatically at each attacsk ? Like for example a character has a %20 misschance, so each attacks that apply to this character automatically roll 1d100 to see the misschance ?
Thank you for bearing with me. I really appreciate the assistance. I do have an active effect for starry form dragon on the actor. So use the second one as a Effect Macro?
I understand after you added 3rd one.
just give them a +2 ac
+4ac
no 2 ac lol I can't math today
the 20% d100 would not be 20% if an attack is still made
Yes. A MidiQOL reaction which will be an Item with a macro onUse.
In said macro, you will create the 1d100 roll, roll it, get the result and if it results to the attack missing, adding some effects that will "cancel" the original attack or better making it miss
The scripts are to be used as a World Script. So if anyone has that Starry Form effect active when rolling a MidiQOL concentration check, will roll with a min10
Thank you very much. That Worked!
Could someone please point me to Chris's deflect missile macro. I can't find it herehttps://github.com/chrisk123999/foundry-macros/tree/main/Features/Class%20Features/Monk
The midi one seems to work fine except the damage on the returned arrow
Don't have one.
Not something you need a macro for really.
deflect missiles is the throwback, I know someone here made a proper one recently, the one in the sample item is really wrong
Thought it was you or Janner
<#1010273821401555087 message>
I am not sure at what condition this is.
I had tested it a bit.
Watch out for the warlock line on the top. Change it to monk as I was testing on a random warlock for some reason.
No DAE on the Deflect Missiles Item
I swear someone had it mostly figured out, I don't remember it being you though lol
Tried it, but the damage still doesn't work. I give up. Is there alot of problems like this when it comes to reactions and concentration checks?
did you change the class identifier at the top?
@classes.monk.levels" <-like that?
nods yea, and you have a Monk class with the identifier exactly as monk ?
everything works fine until i click damage on the deflected arrow at the end
Where would I see this?
There's that UI again....
yeah yeah, monk
thank your for trying. I don't have any more time to spend on it. Whatever doesn't work we'll just have to manual that shit
(super secret hidden preview of other cool stuff)
does your monk have a proper scaled martial arts die?
is it an imported monk with a weird scale?
now check the advancement tab for the martial arts scale value
this, tells me its not the SRD class item, which should work inherently
hell stop right now and go get the starter monk
stop testing with weird stuff and clear the variables out of this
oh
Yeah, don't work either way. Thanks for trying ๐
Just setup arcane ward for the first time. The math behind it works, but it will still trigger the "wounded" effect if the initial damage is enough to wound the target before getting soaked by the ward
hi everyone! ive awarded my players ia mace that gives a silver peice every time they kill and undead with it, anyone know how i might implement this?
out of curiosity what level is the character
Give it a resource consumption of -1 silver piece.
Now that I re-read it, nope that would be a sp per use...
Will need a macro
Hmmm is that correct? Last message before mine was at almost 5 hours back or is my discord on the phone dying?
Slow day in here
I was wondering if I replied to something that was already solved, cause I have bad reception rn ๐
Hi all ! I'm not sure if this is Core or Midi - I have added some spell-like abilities that require the player to roll make a DC whatever skill check to be able to cast the spell. My current dialog box looks like this:
I'd liek to call up this dialog box (or copy it and make my own instead:
Would I just add the buttons for advantage and disadvantage into my dialog box?
So I guess the ideal would be they click the spell, it interrupts with a flavored ability check dialog and then if successful continues rolling the spell?
That definitely sounds midi if so
yup exactly. It all works well. (using an on actor macro) and I'd like to add in the advantage and disatvantage buttons into my dialog box so it looks and behaves a bit more like core
after a successful roll, the spell continues forward and fires off any active effects at the end
Have you heard of Advantage Reminder? Itโll let you put messages in that core dialog box. Might be an easier route to take
How do you mark a new session for midi QOL roll statistics?
Whatever buttons are in that section are probably all there is tbh. If you want more detailed stats that works great with midi, check out Encounter Stats module
Anyone have a good wrathful smite implementation? I was trying to use crymic's, but I'm guessing it is not an ItemMacro since the arguments I'm getting are not what it expects. Arg[0] should be "on" or "off", but my only argument is the caster token. Using an effect that expires the next time the character hits with a mwak applies the bonus damage correctly. Just not sure how to force the save/apply fear on the target of the next mwak.
There should be setup instructions for it.
I'm running into a bit of an issue with the walls and free movement. When targeting an opponent, the game will often say "there is a wall blocking the line of sight" or something along those lines (im at work rn so I don't remember what it said when I last played ๐ dont tell my boss), but the line of sight wasn't blocked. I think over 50% of a token might have been, which is why it was triggered and the attack didn't go through. The character did have line of sight though, even though it was just a part of the token. Is there any way I can adjust/turn off the line of sight requirement for targeted attacks? I'm thinking it's a MidiQOL issue, since I have it set to needing to have a token targeted to make an attack. Any ideas how to fix that?
It depends which cover system youโre using Iโd imagine. We use Simbulโs and donโt have any complaints
Make sure you have the right one selected in your midi settings
Ahhh ok, I'll double check those settings when I have a chance.
Simbulโs letโs you hover targets and press R to see what cover level they have from you, itโs neat
But there are alternatives
is the map a levels map?
Hey there, I'm having trouble at creating a extra attack macro, I want to keep it very very simple since I dont know anything about Java (I think that is what foundry uses)
currently I'm having the problem that I make 2 attacks but only one gets rolled and the other one is just in chat. Is there a way to tell the macro to wait for the other attack roll to be made?
`dnd5e.documents.macro.rollItem("Extra Attack (Battle Smith)")
dnd5e.documents.macro.rollItem("Pistol, +1")
await dnd5e.documents.macro.rollItem("Pistol, +1")`
I wouldn't normally recommend automating extra attack. Players will pretty commonly want to target different things.
yeah, I am piggybacking on Chris here, you can't do multi attacks with 1 key press, it will screw up taregtting if they are different
hmmm, makes sense
Even if you did get it to work right what you'd need to do, defeats the purpose of the macro(it would add prompts to change targets)
If you REALLY wanted to, it would be something along the lines of:
await actor.item.getName('Item Name').roll()
await actor.item.getName('Item Name').roll()```
I wonder why the hotbar macros don't use that syntax
ยฏ_(ใ)_/ยฏ
Isn't it basically the same thing as his lines
Atleast I know how to wait for rolls know eventhough I wont need them since you're right
he just didn't await the secondfirst one and probably had one set to chat instead of script
if they were the same attack, you could turn on that new v10 midi setting
I used it for ropers last session and omg was it amazing
the new roll for each target setting in midi
I took 4 targets with the roper and rolled their tendril attack and it resolved all 4 in one press
neat
wouldn't help for same target attacks though
Need like a special additional target function for like "stacking target"
shift for more targets, ctrl to assign a second workflow to the same target
for scroching ray, magic missile, and eldritch blast shennanigans
They do under the hood. There's just some special logic involved for throwing warnings when things are missing. But in the end they all boil down to Item5e#use
(.roll is deprecated btw)
2.0.0
roll gets removed in 2.4.0
use also has two optional parameters, roll only has the one
Hello
Hello, I come from afar to seek help.
My player wanted a Cursed Hammer, and we decided it'd roll on a table when it rolled a Nat 1, how would one go about setting this up?
I personally just do that manually. Add a chat flavor message as a reminder
#macro-polo Probably has plenty of examples of rolling a roll table. Combined with midi you can do this before the function to roll the table:
if (this.isFumble != true) return;
table roll stuff here```
If only we could put document links in flavor fields in dnd5e ๐ญ
if you drag the table to a hotbar, thats what you put on the second line of chris' macro
oh wait no that opens it
shit I dunno how to roll it
Did you find out what was causing this as we came across it last night. ๐
With MidiQoL how do I go about adding an advantage and disadvantage button like I used to have for Better Rolls
You don't
Ah, drats
Midi handles it in flags and keyboard shortcuts
It sounds like what you want is ready set roll, but that is going to cost you all the amazing features of midi because midi and RSR cannot be run together
If you have midi setup right, you don't need to throw 2 d20's all the time
instead the automation does it
I was hoping I could add buttons since it's got those for dealing damage. Often have players forget to roll with advantage and such.
I was using RSR before but it was just being too annoying with updates so I'm just doing without it.
there is no 2 buttons in midi, you just aren't fast forwarding damage
you can turn off fast forward altogether and have the advantage/disadvantage/normal buttons that core shows
Nah we like it being quicker and such still, just would be nice for when someone forgets to hold down ctrl and such to just click a button to retroactively do it.
if you don't auto roll damage, you can just roll twice and thats the same amount of clicks as rsr
How do I execute an attack?
I have a target selected, and a guy with a ranged weapon
I tried it through the sheet but it didn't automate
Retroactively you say... some sort of... retroactive advantage?
lol just saw I was in the midi thread. Yeah sorry, incompatible module.
Basically with Better 5E rolls in the past after you autorolled the attack and damage you could click a button and it would roll an extra attack dice akin to advantage and add it to the attack card as if you had rolled it in the first place.
It was very good for keeping it nice and neat and such.
Yeah
Lots of nice modules that can do all sorts of stuff, but Midi is incompatible with so many of them sadly.
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
I have no other modules installed, other than dependencies and the recommended ones
what are the recommended ones? Who is recommending a module list to a new user 8)
Should add babonus to that list until midi forces you to not fastforward
the master is not the v10 readme
hmm

I don't see that in the v10 readme
I do
Oh god the v10 list is even worse.
Yeah, half of them are officially dead in v10. 
He just hasn't updated it recently
... Has he ever?
Thats not exactly kind to say bud
It's been over half a year. This is atrocious.
I don't see a problem with it after reading them
dnd5ehelpers is v9 only but if the user reading the readme has v9...whats wrong with that
I'm looking at the v10 readme
had no idea there was any conflict with cautious gm interesting to know
Wait did you change babonus to not work with midi anymore?
Fast-forwarding means you can't ever use its newest features.
oh ok so its just fast forward, so basically your module is like AR in terms of midi usability, as long as we don't FF
Probably
I don't FF, I prefer the popouts so I'm fine
I expect compatibility to break completely in 2.2.0.
both modules are moving targets you never know where midi will be then ๐
Well it plays with rolls.
Babonus plays with rolls (without changing core behaviour).
And the system is, apparently, gonna swap some stuff around regarding rolls.
So expect the worst.
The smart play is to not update anyway. Let the dust settle
Eh I'll have babbity updated 3 mins after 2.2.0 releases, for the cool kids only.
Hello
I'm having issues with automated attack
I did a weapon first
and it worked
For some reason its giving me this now
you have no target set
or the items details(range and target) is setup abnormally, or you have template automation off and its a template item
if you show us the items details tab when you edit it, that might give us enough info to better diagnose it
I have a target, the target is setup as radius
also I have no idea what I changed
But it fixed itself sooo
ยฏ_(ใ)_/ยฏ
aoe templates typically do not do d20 rolls
they are usually saving throw effects
the grenade on the Giff is a dex save only, not an attack roll as a similar example in published wotc stuff
as an aside, I would probably setup an m67 fragmentation grenade as piercing damage not fire.
That's actually a better idea
Oh I thought there was both a save and an attack roll
I have it set to 15dc dexterity
How does the saying go again? Almost is only good in Horseshoes and hand grenades
you can bean a guy off the top of the head with a hand grenade but the majority of damage will be in the shrapnel.
Fair
@vast bane
I have a question about a Macro from the More Automated Battle Master Maneuvers Compendium, especially the Superior Die Item. It should add a dae Flag, but the items that check on that flag, say it is 0. (Also when i check the game.actors array, the actor does not have the dae flag)
Show me the details of your battlemaster subclass
make a subclass item in the sidebar
the subclass identifier needs to be exactly like mine
and if you aren't using an srd fighter class item, make sure your fighter identifier is accurate to whatever you call yours
once its made, drag it to the actor and it should latch onto fighter
(in the features tab)
you may need to either delete and reapply superiority die, or if you know how to, click the lil hand to reapply the items effect
The fighter is srd,
I added the Subclass,
and readded the SDie Item.
But if i roll the goading attack manouver its still 0 dmg :x
Looking at MASIF again, this macro could totally just be a scale value on the subclass lol
show me the details tab of your class and subclass
do you have item macro installed(you don't need it) just confirming if it is
yes
make sure Item macro's settings has "Character Sheet Hooks" OFF
also can you show me the chat message that "Rolled 0" ?
Did you roll the maneuver without an attack?
delete superiority die off the sheet, confirm theres no active effect on the actor, redrag out superiority die
eh its failing somehow I dunno why, its literally a 30 line macro to replicate the scale value cause the module is older than the scale feature
Did you checked it or why u say it is failing?
Advancement tab.
I'm checking it now
I don't know if the others are gonna break if you stop using the die
I know this is fixable, I just don't get why its failing
thats alot of scale stuff to replace if it doesn't work
oh I think I know why
?
yep
ironically I made the mistake too so don't knock yourself
you never linked the item when you dragged it
any item dragged from a compendium or sidebar has its resource consumption empty
the macro fails if it doesn't consume a resource
i set mine to the primary resource
the manouver is linked.
Or does the Die item has to be linked too?
show me the maneuver details
that should work, if it isn't, its your actor, drag out the fighter in the starter heroes
what level is the fighter
I noticed you weren't applying ae's automatically, can you show me the ACTOR's effect tab please?
delete the superiority die efect by clicking that trashcan
then go to the superiority die item in the features tab and edit it, go to effects, and click the lil hand
I did so, still 0 dmg ^^'
drag out the fighter starter hero
level him up to 10, drag the subclass onto him and then superiority die and goading attack
you got something funky in your world, I have to link it...
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things..
then again...let me guess, dnd5e 2.1.x?
how many group actors are you using?
I have 5 Player actors, if thats what u mean.
getting sidetracked anyway, it works in 2.0.3 dnd5e with dae 10.0.14, and midi 10.0.24. I don't think I can clear anything out for you other than to suggest a fresh world test at this point, maybe disable all modules but I honestly think its dnd5e 2.1
none of those are used or even installed.
Ill test the Scaling level idea from Zhell. I tell you if it worked ^^
its not going to work with the module, you will have to make all the items
My current world is really complex (The entire dungeon of the mad mage Adventure)
the problem is that dnd5e or dae's later versions are messing up the application of the dae flag
I dont want to build it from scratch XD
I'm also running dotmm
lol x3
if (args[0] === "on") {
const pcActor = await fromUuid(args[args.length - 1].actorUuid);
console.log("MACRO TEST | PC Actor: %O", pcActor);
// Test Class
let pcFighter = pcActor.getRollData().classes?.fighter;
if (pcFighter === null) {
ui.notifications.error("You are not a Fighter!");
return;
}
// Test Subclass
let pcFighterSubclass = pcActor.getRollData().classes.fighter?.subclass.identifier;
if (pcFighterSubclass != "battle-master") {
ui.notifications.error("You are not a Fighter Battlemaster!");
return;
}
//const roll = await(new Roll(`2d8 + ${pcPaladin.levels}`)).roll();
let fighterLevel = pcFighter.levels;
console.log("MACRO TEST | Fighter Levels: %s", fighterLevel);
let flagData;
if (fighterLevel > 17) flagData = "+ 1d12";
else if (fighterLevel > 9) flagData = "+ 1d10";
else if (fighterLevel > 0) flagData = "+ 1d8";
pcActor.setFlag("dae", "SuperiorityDie", flagData)
} else if (args[0] === "off") {
const pcActor = await fromUuid(args[args.length - 1].actorUuid);
pcActor.unsetFlag("dae", "SuperiorityDie");
}
Maybe someone can figure out what in dnd5e 2.1 is breaking this macro(or the newer dae's)
Before we punt it to dnd5e 2.1 issues, you should run with just libwrapper/socketlib/midi/dae and test it
It could also be my world.
I noticed that whenever i add the item something like this happens:
it shows 3 "+" and 3 "-" messges
what IS your dae version number?
I dont know wich one of these 2 is dae :x
But i Updated my modules just some hours ago.
what version is your midi
I dunno
all this accomplished was convincing me I'm not updating to 2.1.x anytime soon
Like i said, ill check Zhells way to go.
do you see any red errors?
it would be right when you click the hand icon to reapply the ae
Zhells just telling you to make the core scale value, thats not going to do anything but send you down the route of making it all from scratch. Keep an eye here incase one of the gurus catch the mistake in the macro
This is, when i drag the item on the Actor
what version of advanced macros are you on?
No errors on the Starter hero
disable advanced macros
does it work with advanced macros off?
1 second. reloading takes quite a while XD
its probably just gonna turn into a regular foundry error
(starter hero) Anter disabling advanced macros
try your actor and then try rolling goading attack
removing and readding the item
I actually don't think its a bug with advanced macros, I think its the bandaid fix for duplicate effects that tim put into 29
you can't really downgrade versions, you are stuck till dae is finally fixed
I wonder how many other macros are dead in 29 like that, anything that updates flags on args on/off
Like i said, maybe its just an error in my world,
I mean. This behaviour cant be normal.
Nah its 2.1.x dnd5e and dae.
If you say so, then i hope it gets fixed in any Upcomming update ^^
thx XD
Im doing exactly that right now ^^'
Are you sure you don't want to troubleshoot for another 2 hours?
No offense to the dev of that module, but it's 100% redundant now.
i think, we are done troubleshooting.
Also, i wanted to go for your solution 3 times durring all of it ^^'
I'm always right but no one ever listens.
its not a pure damage bonus, but ill work it out ^^
but thx for the scaling level tip. i didnt know i could make my own subclasses :x
that one bit is from before the scale values existed zhell, theres way more in it than that
and it works fine in 2.0.3, its not his fault dae is broken in 2.1.x
once you have the scale value setup the core way you can probably copy and paste and replace the flag on all the premade items
a few of them are macros
Would people expect the player damage cards, allowing to undo, to go to all players, or just the player with the specific actor being targeted by the damage? As currently all players are getting it
show me the undo button you are using thats doing that
a multi damage button will have sub buttons above it in midi, I suspect you are using another module or the fallback buttons
is the goblin actor linked?
oh its not a goblin
and you are sure that undo is doing something to all players?
I'm not sure they all can use it, they didn't try. They all got the notification though
I don't have time to test this, if that is indeed whats going on, then tell your players not to click random buttons in chat
I don't think it affects all players
its suppose to only affect the actor in the card
you shouldn't even be seeing that card
I mean - yep, they didn't click it, but they all saw it, and it exposed the users HP
you should see a whispered one
as a GM I see a whispered one
I think they see it because you set the actor to owner for all the players?
or observer maybe?
they should see a buttonless version
if they don't own the actor
they are limited on it - only the main player is owner
I can drop it from limited maybe and try it
What is the activation condition for if had advantage? is it workflow.advantage?
Hi guys is there a way to add spell damage bonus to a damage type ? Like +3 necrotic damage on an effect
Wow, I actually guessed right, it is infact workflow.advantage to apply the ae only if they had advantage
can you give me the use case to better understand
A feat that gives +5 spell damage to necrotic spells. When u take it, everytime there is a necrotic spell casted by the player he has a +5 bonus to it for example
Or same with fire spell damage etc
i believe babonus would be one potential solution
baboni no midi
rip
if he fast forwards zhell said it no longer supports midi
but if not, its a potential solution?
yeah and you could probably downgrade to my bab version too
so i need another module to help me do that right ?
baboni is the easiest way to pull it off
build a bonus
you'd need a macro for the midi method
it works on dnd5e and new versions of foundry or not at all ?
basically it makes you create a macro, then i put it on midi effects ?
build a bonus is a module you install and a lil otter icon appears on the top of active effects, items, and actors that you click
if you arent fast forwarding, sounds like it should work directly
if you are, it doesnt sound like the answer
just need to find out the version that he stopped supporting in, which is probably the latest
i really wouldnt suggest purposefully installing a back version of these standalone modules
devs generally put out new versions to address issues ๐ and coming in with support questions on an old version is gonna get "plz upgrade" as a response
what exactly is fast forwarding ? is it the midiqol option to make everything automatically ?
whatever option skips the "Situational Bonus" dialog (with adv/disadv/normal roll buttons)
if you want a macro that deals bonus damage on all necrotic damage, you could honestly look at the disciple of Life feature in midi sample items
its basically the same thing only for healing lol
if you wanted a macro
also whats the feature called cause theres 3-4 repositories of features
all premade for midi
oh its midi srd for disciple of life
nah would still have to be a macro grrr
Hi.
Can I set up Green-Flame Blade so that MIDI does not combine all damage into one number, but displays each throw separately?
Wait what part of Babonus does not work with Midi fast-forward? @vast bane
Zhell said it earlier today, his newest version will have features that are inaccessible if you aren't using the core roller
๐ค
Well hopefully posney can integrate with it to make it work, would be a shame to be unable to use it
everything I use it for is very not midi related so I don't think it affects me since I don't fast forward
on the first tab of the rogues sheet, theres a small cog that says actor on use
click it, is there anything there
if you have tidy its gonna be whereever special traits is
@gaunt quail โฌ๏ธ
ok now show me the effects tab thats visible in that image
This is the full sequence. Attack, Versatile damage. Rolls twice, adds up, and asks ne (Because I always like to confirm damage, not automate it)
show me the effect tab of Bjorne's sheet please
edit the item on their feature tab called "Sneak Attack" and is there more than one?
show me the bottom of the details tab of the sneak attack item
They do not even have sneak attack feature. In this case, I'm just using Versatile as a way to use Sneak or not Sneak as homebrew for this Enemy
can someone on dnd5e 2.1.x test the versatile keyboard shortcut in midi?
is it rolling twice in 29 midi?
Version numbers please:
Foundry build
dnd5e
midiqol
dae
libwrapper
socketlib
waaaaait a minute holy moly its an npc
show me the description of the dagger
Foundry build 10 291
dnd5e 2.0.3
midiqol 10.0.23
dae 10.0.14
libwrapper 1.12.11.0
socketlib 1.0.12
oh holy shit your on my build let me go look
Same problem for PC or NPC. With or without sneak attack feature
It is not a bug, its a bad setting that both you and I have, I need it, if you don't, then all your fake versatiles need to have false in the activation conditions of the item
at the very bottom of the workflow tab in midi's workflow button settings
If you want other formulas to roll, you have to make fake versatiles evaluate false in the activation condition, the easiest way is to just type false in it
most midi users do not want to turn this setting off, its how you automate attacks like spider's bite
You don't want to shut that off, 99% of people need it for automation on saves after a hit
to be clear, you only need to do this, because you have a fake versatile
I think if you check the versatile box it might fix it but I dunno
yeah either or
either put false in activation condition or check the versatile box
Ok, so if I got it right, everytime I want a fake versatile I just need to write "false" on this condition on the specific weapon
or check the box above there
midi won't borrow the versatile field if the weapon is versatile
Ok, just did both in 2 dif Sheets and both work. You are a genious and my savior
Without having read the conversation, why are we having a weapon with a fake versatile ๐ค
actually, I credit @coarse mesa he showed me this a real long time ago
hes got an npc rogue
so can't really use the automated one
also from the looks of their workflow they are new to midi cause its all basic
Hey, it all started to make the life of my Players easier for (1) Spear bonus attack with PAM and Sneak attack for rogues etc . I would never guess the problem would get so hard to fix
didn't we make a non rogue sneak attack feature, I swear one of us posted the edit version
Still you were kind to take the time with me. I'm super newbie, so thank you a lot
Hmm alright ๐ค
(I'm actually old to DnD, over 30 years, but new to technology)
So, is there a way with Midi QoL to get rolls to happen like better rolls? As in auto damage/attack, fiddling about and cant seem to find anything. Or any rollables compatable with it
midi most definitely automates attacks and damage, but if you have more than one roller it will fail
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
So i don't want it to automate, more have the output dialogue box auto display them
can you show me what you think an output dialogue box looks like?
This is basically midi in a nutshell, if this isn't what you want, then you need a different roller:
So currently it's like this
Not needing to click attack or damage
When activating the item have them auto-roll and appear in the card
you can tweak the card and combine them all into one with the
auto roll is a checkbox in the player and GM tabs
Yeah i checked one and it didnt seem to apply, although i haven't fiddled with the misc settings yet