#MidiQOL

1 messages ยท Page 64 of 1

vast bane
#

You don't want to see the macro, but if you must...cleanse your soul first

molten solar
#

You have a token, actor, item, or effect with "undefined" as an image or icon.

#

Macro unrelated.

vast bane
#

could it be a macro without an icon?

#

if I exported the actor could I search its json for undefined and find it?

molten solar
#

no

#

Just, like, look at your stuff?

vast bane
#

its definitely the druids sheet

molten solar
#

If the img is undefined, it won't show ๐Ÿคท

vast bane
#

just pray its not an active effect

#

would it be a bag icon or empty or broken link?

molten solar
#

the latter

vast bane
#

must be an active effect sadly

#

thats going to be too annoying to find

coral dove
#

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

vast bane
coral dove
#

Still, I would have to go with a setTimeout to wait for autodamage then heal the character I guess?

vast bane
#

can't you use damage reduction?

coral dove
#

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

vast bane
#

oh ok you don't know that yet

#

dr is damage resistance, DR is damage reduction

#

in flags keys

coral dove
#

I still find some stuff a bit obscure ๐Ÿ˜…

#

Great, thanks!

vast bane
#

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

coral dove
#

Got that! I am thinking of making a CE expiring on damage taken and editing the value to the absorbed amount

vast bane
#

you'd still have to worry about applied effects on hits

coral dove
#

wdym?

#

I'm not managing to change the DR value anyways ๐Ÿ˜„

vast bane
#

if you reduce the damage to 0 you are still hit

#

What happens if they roll a natural 20?

#

this can happen just sayin...

violet meadow
#

no crit flag and you good. Or return false to the Hook. Baby steps
Many other issues to solve before that ๐Ÿ˜„

vast bane
#

is crit flag related to natural 20?

#

I thought they were technically seperate

#

they are in table top dnd

violet meadow
#

Will cross that bridge when needed ๐Ÿ˜„

#

For now stress

dark canopy
#

dont serialize documents!

violet meadow
#

Yeaaaahhhhhhh
it was a Requestor request going through some hoops. Will get there ๐Ÿ˜…

molten solar
#

There is a reason Requestor's readme tells you to pass strings.

stuck eagle
#

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.

violet meadow
#

in the macro

stuck eagle
#

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.

vast bane
#

mouse over that image of the orc in the damage button

violet meadow
#

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

vast bane
#

whyis it rounding up?

stuck eagle
#

Ohhhh!

vast bane
#

nm

#

its rounding down I'm a dumbass

stuck eagle
#

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.

vast bane
#

isn't it range for special?

#

its the bottom of the two rows

stuck eagle
vast bane
#

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

violet meadow
#

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

vast bane
#

I think his mistake was he changed the wrong row in the macro

#

you got the right one

stuck eagle
#

Yeah, that's probably what happened. Is there a way to give the psuedoitem no damage on save?

vast bane
rough tiger
#

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?

spice kraken
#

@spell.level

#

Wait, it might be @item.level

#

idr

violet meadow
# stuck eagle Yeah, that's probably what happened. Is there a way to give the psuedoitem no da...

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> *
rough tiger
#

Thank you Supernaafeh

spice kraken
#

Also, you prolly need more values there like turn=start

#

Look at the midi readme and and the overtime section

rough tiger
#

Yeah, that's in there. I only copied the damage portion for brevity.

vast bane
spice kraken
vast bane
#

unless you are on v9 midi, then use the master's readme

charred acorn
#

they can see these, but htey shouldnt, and they are the only "player" who can

vast bane
vast bane
charred acorn
#

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 ๐Ÿ˜„

vast bane
#

pretty sure if you have damage automation on those cards don't get buttons anymore

rough tiger
#

@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

vast bane
#

when dmage auto apply is on, I think only the DM gets that card to undo

vast bane
#

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

coral dove
molten solar
#

Foundry doesn't do squat

vast bane
rough tiger
#

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.

vast bane
#

The only one who hangs out here who doesn't use them is Zhell

rough tiger
#

I know enough to be a danger to myself. ๐Ÿ˜›

sleek pulsar
#

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.

grim bane
#

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?

vast bane
vast bane
#

did you follow the instructions in the description of twinned spell?

grim bane
vast bane
#

I'm not troubleshooting with assumptions

vast bane
#

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...

rough tiger
#

Can DAE be used to remove a specific effect while leaving others? Specifically Concentrating.

whole cobalt
#

Misty step

rough tiger
#

Possibly, I'm getting them confused running DAE to activate Midi.

vast bane
#

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

rough tiger
#

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.

grim bane
# vast bane Midi does not work with: Ready Set Roll Better Rolls for 5e Roll Groups Fast Ro...

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.

vast bane
vast bane
sudden crane
rough tiger
#

That is correct, it's a Legendary Action.

sudden crane
#

It breaks concentration on target ?

rough tiger
#

Breaks the targets concentration on spell cast.

sudden crane
#

Ok, then you should use the method I suggested

violet meadow
#

except if item is defined

#

Wait a minute ๐Ÿค”

#

... deleted

#

Something is a bit off

grim bane
scarlet stump
#

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

dark canopy
#

that snippet is "script code" and is not compatible with AE value fields

scarlet stump
#

is there a way to get the same result with an AE compatible formula?

dark canopy
#

not that I can think of

#

would need some sort of macro to handle the bonus

scarlet stump
#

would that work with midi workflows?

vast bane
#

isn't that selected count?

#

are you trying to make a swarm creature?

scarlet stump
#

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

vast bane
#

didn't wasp make that for midi?

scarlet stump
#

so it's a variable number

vast bane
#

or worked on it atleast

#

Someone did that I forget who, it was definitely a module author

spice kraken
#

Could prolly make an ally only aura that utilizes ##stackCount

vast bane
#

active auras is great when sparsely used

spice kraken
#

I like to live dangerously, haha

vast bane
#

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

scarlet stump
#

yeah, having 40 auras all influencing each other would probably be bad times ๐Ÿคฃ

vast bane
#

You did what with it?

#

Wonder if build a bonus could do it

#

someone summon Zhell

scarlet stump
#

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

kind cape
#

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?

weary rune
#

can an Effects effect set visibility state? ie for invisible set visibility none

dark canopy
#

AEs cannot modify token properties by default

weary rune
#

๐Ÿ˜ค

kind cape
#

@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)

violet meadow
#

@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

kind cape
#

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

vast bane
vast bane
weary rune
#

oh what's the flags then?

dark canopy
#

i answered the question presented ๐Ÿ˜•

weary rune
#

not the Condition Effect, the actual visibility state

#

must preface all my questions with : I have all the modules.

dark canopy
vast bane
#

or do you want to change its detection mode?

coral dove
#

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

vast bane
#

because you should not need to make anything for a battlemaster

coral dove
#

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

coral dove
vast bane
#

more automated spells, items and features

coral dove
#

So I drag the Superiority Die feature on the actor then the maneuvers, right? Cause that's not working ๐Ÿ˜„

vast bane
#

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?

coral dove
#

Gonna search

vast bane
#

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

coral dove
#

I have the resource but actor is a multiclass of a homebrew and doesn't have the proper subclass

vast bane
#

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

coral dove
#

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

vast bane
#

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

coral dove
#

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?

vast bane
#

I don't know what that is, I just use dfreds CE+ATE

scarlet gale
#

#macro-polo Would be a better place for that kind of stuff.

weary rune
compact monolith
#

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?

whole cobalt
#

is it posable to auto destroy an item after 24 hours?

kind cape
#

Yes, create the item using an AE (macro.createItem) then it will disappear when the AE does

coral dove
#

I need to do something when the effect target reaches a certain % of hp, am I missing some args in the value?

violet meadow
coral dove
#

Yes

#

It's supposed to be a passive effect

violet meadow
#

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

coral dove
#

Thanks I'll try that

#

Wonderful, it worked as a charm

coral dove
#

After transformInto, how do I restore transformation to the previous form on 0 hp?

violet meadow
#

revertOriginalForm function I think, but better ask in #macro-polo

coral dove
#

Thanks!

violet meadow
#

@obsidian vortex workflow.targets.first().actor.effects.some(eff => eff.label === "Prone")

obsidian vortex
violet meadow
#

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()

obsidian vortex
#

When I do that I see an effects collection

violet meadow
#

So they might have been included already.

violet meadow
fierce birch
#

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?

violet meadow
fierce birch
#

Thanks, I'll check it out. ๐Ÿ™‚

frosty veldt
#

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

violet meadow
#

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

frosty veldt
#

Ah Thank you! I will go do some reading

violet meadow
#

Injecting reactions in other users workflows ๐Ÿค•
There is some basic infrastructure but needs some more work

frosty veldt
#

Oh wow this means stuffs like cutting words can finally work?!

violet meadow
#

At some point... ๐Ÿ˜…

frosty veldt
#

There are so so many reaction abilities that trigger on other people's turn

violet meadow
#

Indeed! There are many things that need sorting before something like that would become available (if at all) ๐Ÿคž

slim summit
#

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

violet meadow
#

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)

frosty veldt
#

Maybe the ultimate goal is to create the feature of Black Pudding(when it take lightning/slashing damage, it split into 2 smaller puddings)

violet meadow
#

oh lol

frosty veldt
#

so complicated, so unnecessary

violet meadow
#

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)

frosty veldt
#

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!

scarlet gale
violet meadow
scarlet gale
#

Sockets or something for remote prompts?

#

Or does midi handle that

#

with that hook

violet meadow
#

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

fierce birch
compact monolith
gusty walrus
#

Thanks for this @vast bane - Any way to get the effect to be applied with CUB instead of CE?

spice kraken
vast bane
gusty walrus
#

Is that a no?

scarlet gale
#

What are you trying to do?

vast bane
#

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

shadow tide
#

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.

vast bane
#

@gusty walrus โฌ†๏ธ

dark canopy
vast bane
shadow tide
vast bane
# shadow tide 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

shadow tide
#

Ahhh I missed Better Rolls. Ok, thank you, thought I was going mad

vast bane
#

BR is dead in v10 too even though it somehow survives the update

shadow tide
#

Err wait no, I have Ready Set Roll, sorry

vast bane
#

yeah both module authors say this, do not use them together

scarlet gale
dark canopy
#

oh im not saying its a good idea

#

just sayin' i recently did similar ๐Ÿ˜…

scarlet gale
#

There really just needs to be a more elegant way to do reactions that doesn't involve prompts.

vast bane
#

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

scarlet gale
#

Beyond the scope of midi, but something an event based system that can do rollbacks to would be the way probably.

vast bane
#

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

scarlet gale
#

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

vast bane
#

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

scarlet gale
#

If I could trust my players to be more attentive in combat and be quick to dismiss dialogs I would try again

vast bane
#

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

scarlet gale
#

like a chat message?

#

or the reaction dialog?

vast bane
#

I wanna do the final jeopardy music

scarlet gale
#

Then yes

#

chat messages are a bit outside the scope of this channel, but doing a chat hook is simple enough

vast bane
#

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

royal dragon
#

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?

scarlet gale
#

Put between [[ and ]] or every time you look at the sheet it'll be a different roll

vast bane
royal dragon
#

so 'system.abilities.wis.value ADD -[[1d4]]'?

#

Thanks

weary rune
vast bane
weary rune
#

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.

vast bane
#

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

weary rune
#

it's probably add -1d4

scarlet gale
#

Every roll would have been a different number

vast bane
#

and did you actually test it

weary rune
#

yeah it works. stacked effects all draining STR until rest

scarlet gale
#

If you care for it, I have a item macro for str drain that will properly stack onto one effect.

weary rune
#

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

scarlet gale
#

I have a bunch of helper functions in a world script personally

vast bane
#

Pearl of Power
All I did was v10ify the existing macros shared here for Pearl of Power.

  1. Its a midi on use macro and should be stored in Item Macro
  2. This is an exported macro. Edit it in notepad/macro editor and paste into item macro.
scarlet stump
#

I guess I could use them both (one to handle the attack, the other to handle the damage?)

violet meadow
#

@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

coarse mesa
#

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

vast bane
#

isn't it basically the already shared stones endurance? for gloves of missile snaring in a nutshell

coarse mesa
#

yeah pretty much

violet meadow
coarse mesa
#

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

vast bane
#

its not a macro

#

its a very simple ae

#

its in MASIF but its not needed, you can just do a .DR key

coarse mesa
#

I looked at DDB importer's Stones Endurance in v10 and it's not doing anything

vast bane
#

I think the MASIF one uses a macro

violet meadow
#

Back it the day

coarse mesa
#

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

violet meadow
#

But yeah just an AE should be enough

vast bane
#

tricky step is to remember the special duration

coarse mesa
violet meadow
#

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

coarse mesa
#

OK I'm not going mad... according to changelog, DDB importer did have Stones Endurance at one point

vast bane
#

he probably was using what bugbear just shared and realized it was redundent now

fathom socket
#

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?

vast bane
#

you don't need a macro if its gloves of missile snaring

fathom socket
#

yeah is it premade somewhere?

vast bane
#

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

coarse mesa
vast bane
#

stones endurance and gloves of missile snaring are essentially the same exact setup only a few tweaks

violet meadow
#

Which is blank ๐Ÿ˜„

#

Though the break is later

coarse mesa
#

The one I imported is rather lacking

violet meadow
#

Yeah it's just a default Feature

vast bane
#

its one of those republished ones

violet meadow
#

Just comment that line in your local installation Lukas for now.

coarse mesa
#

doesn't look like it's a local file, but no worries... I have manually reinstated that

coarse mesa
# vast bane

out of curiosity, what are the brackets doing here?

gilded yacht
#

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

vast bane
#

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

coarse mesa
vast bane
#

there is a setting in dae for show inline rolls

chrome pike
#

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

coarse mesa
#

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

chrome pike
#

and could probably use some AE

vast bane
#

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

violet meadow
#

Yeah thats why I had made that "damage" roll

vast bane
#

just thinkin of it from a table top experience, the player will want to roll their die

coarse mesa
violet meadow
#

(ps: I couldn't even see the difference between ' and โ€™ in that link Lukas) โ˜•

gilded yacht
#

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.

coarse mesa
violet meadow
#

Its blank.

#

I mean it doesn't have one

vast bane
coarse mesa
#

OK I'm officially going to bed

vast bane
molten solar
#

There is no EM in that

coarse mesa
#

It's getting late even for Tim... and I'm two hours ahead of him

vast bane
#

lol why cant I see my own message

kind cape
#

I just had lunch dealwithitparrot

gilded yacht
#

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.

violet meadow
#

Right now, I need to have at least one Reaction Item on the targeted actor to even begin doing that

gilded yacht
gilded yacht
# violet meadow Right now, I need to have at least one Reaction Item on the targeted actor to ev...

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

violet meadow
# gilded yacht That would be interesting - I've not come up with a good way to deal with those ...

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"

gilded yacht
# violet meadow But it needs to go through some hoops afterwards to make sure that the charges o...

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,

vast bane
#

ally hit and ally damage

gilded yacht
#

Is that it?

vast bane
#

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

gilded yacht
#

Yikes, when targeted is tricky.

vast bane
#

impose disadvantage against an attack against an ally

gilded yacht
#

That could be before the attack is rolled, rather than when targeted.

vast bane
#

yeah

gilded yacht
#

so attack to be rolled, attack rolled, attack hit, damage rolled, damaged applied, saving throw required, saving throw failed/succeeded - anything else?

violet meadow
vast bane
#

I doubt we'll ever be able to automate silvery barbs

violet meadow
vast bane
#

if a requested mtb ability check fails its dc?

violet meadow
#

Ability checks then too?

vast bane
#

I don't think midi deals with them natively?

#

only monks decides if its a success right?

violet meadow
#

Critical Hit registered?

vast bane
#

oh yep critical hit, grave cleric reaction

#

also guardian emblem I think from tashas uses same thing

violet meadow
vast bane
#

yeah I suppose we could automate the incombat stuff

#

its more like indomitable I think

#

they see the roll, demand a reroll

coarse mesa
#

Iโ€™m waking up to mention counterspell

vast bane
#

I still haven't made my counterspell

#

the whole reason you added castData lol

gilded yacht
gilded yacht
#

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.

vast bane
#

oh wait no counterspell wasn't it, it was dispel magic I had wanted automated

violet meadow
#

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.

gilded yacht
#

That pretty much an optional effect, but for any target in range, rather than you rolling. Not to say that would be simple,

vast bane
#

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

gilded yacht
#

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.

violet meadow
#

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

violet meadow
# vast bane Idea: Counterspell solution. Every caster has an ability called "Begin to cast...

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

brazen river
#

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

brazen river
#

It happens when I click damage on the missile deflected back

violet meadow
molten solar
#

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.

late briar
#

Deadlocks are dangerous

molten solar
#

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.

late briar
#

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

molten solar
#

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).

violet meadow
#

You could offer some extra async hooks maybe for instances that want that.

molten solar
#

Sure, you could put that in Midi.

violet meadow
#

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 ๐Ÿคท

molten solar
#

(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.

violet meadow
#

RSR too I think

molten solar
#

Definitely

violet meadow
#

So it is a good amount of users using said async hook functionality already ๐Ÿ˜‰

molten solar
#

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.

vast bane
violet meadow
molten solar
brazen river
violet meadow
#

(yeah, just for argument's sake)

molten solar
#

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

compact monolith
violet meadow
violet meadow
compact monolith
#

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?

violet meadow
compact monolith
#

Thanks for responding.

compact monolith
coral dove
#

Did anyone try to make a "swallow'' automation? Like for the kraken's bite?

violet meadow
# compact monolith Thanks for responding.

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);
        })
    }
})
hard oxide
#

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 ?

compact monolith
#

I understand after you added 3rd one.

vast bane
#

+4ac

#

no 2 ac lol I can't math today

#

the 20% d100 would not be 20% if an attack is still made

violet meadow
violet meadow
compact monolith
brazen river
#

The midi one seems to work fine except the damage on the returned arrow

vast bane
#

one of the blue names made it recently

#

search here

scarlet gale
#

Not something you need a macro for really.

vast bane
#

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

violet meadow
#

<#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

vast bane
#

I swear someone had it mostly figured out, I don't remember it being you though lol

brazen river
#

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?

dark canopy
#

did you change the class identifier at the top?

brazen river
#

@classes.monk.levels" <-like that?

dark canopy
#

nods yea, and you have a Monk class with the identifier exactly as monk ?

brazen river
#

everything works fine until i click damage on the deflected arrow at the end

dark canopy
#

on your monk class item, under the Details tab

naive zenith
#

There's that UI again....

brazen river
#

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

dark canopy
#

(super secret hidden preview of other cool stuff)

vast bane
#

is it an imported monk with a weird scale?

brazen river
#

just seems like the formula for the damage is wrong?

dark canopy
#

now check the advancement tab for the martial arts scale value

#

this, tells me its not the SRD class item, which should work inherently

vast bane
#

hell stop right now and go get the starter monk

#

stop testing with weird stuff and clear the variables out of this

dark canopy
#

yea, just dump whatever class item that is

#

its trash

brazen river
#

oh

brazen river
#

Yeah, don't work either way. Thanks for trying ๐Ÿ‘

charred acorn
#

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

dense basin
#

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?

vast bane
#

out of curiosity what level is the character

dense basin
#

9

#

why?

#

its straight out of the modules that follow the starter set

violet meadow
#

Hmmm is that correct? Last message before mine was at almost 5 hours back or is my discord on the phone dying?

violet meadow
#

I was wondering if I replied to something that was already solved, cause I have bad reception rn ๐Ÿ˜…

wind pecan
#

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?

coarse mesa
#

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

wind pecan
#

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

coarse mesa
#

Have you heard of Advantage Reminder? Itโ€™ll let you put messages in that core dialog box. Might be an easier route to take

viscid echo
#

How do you mark a new session for midi QOL roll statistics?

coarse mesa
royal dragon
#

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.

scarlet gale
#

There should be setup instructions for it.

tropic gate
#

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?

coarse mesa
#

Make sure you have the right one selected in your midi settings

tropic gate
coarse mesa
#

But there are alternatives

dark mauve
#

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")`

scarlet gale
#

I wouldn't normally recommend automating extra attack. Players will pretty commonly want to target different things.

vast bane
dark mauve
#

hmmm, makes sense

vast bane
#

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)

scarlet gale
#

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()```
vast bane
#

I wonder why the hotbar macros don't use that syntax

scarlet gale
#

ยฏ_(ใƒ„)_/ยฏ

vast bane
#

Isn't it basically the same thing as his lines

dark mauve
#

Atleast I know how to wait for rolls know eventhough I wont need them since you're right

vast bane
#

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

scarlet gale
#

neat

vast bane
#

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

molten solar
#

(.roll is deprecated btw)

scarlet gale
#

That must be recent

#

.use() just as easy at least

molten solar
#

2.0.0

#

roll gets removed in 2.4.0

#

use also has two optional parameters, roll only has the one

heady mountain
#

Hello

fluid gale
#

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?

spice kraken
#

I personally just do that manually. Add a chat flavor message as a reminder

scarlet gale
#

#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```
fluid gale
#

Makes sense.

#

Alright, let me see if I can unfold this.

vast bane
#

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

narrow saddle
dull spindle
#

With MidiQoL how do I go about adding an advantage and disadvantage button like I used to have for Better Rolls

dull spindle
#

Ah, drats

vast bane
#

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

dull spindle
#

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.

vast bane
#

you can turn off fast forward altogether and have the advantage/disadvantage/normal buttons that core shows

dull spindle
#

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.

vast bane
heady mountain
#

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

molten solar
#

lol just saw I was in the midi thread. Yeah sorry, incompatible module.

dull spindle
#

It was very good for keeping it nice and neat and such.

molten solar
#

Yeah

#

Lots of nice modules that can do all sorts of stuff, but Midi is incompatible with so many of them sadly.

heady mountain
#

Figured it out

#

Thank you for the help

vast bane
# heady mountain How do I execute an attack?

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...

heady mountain
#

I have no other modules installed, other than dependencies and the recommended ones

vast bane
#

what are the recommended ones? Who is recommending a module list to a new user 8)

molten solar
vast bane
#

the master is not the v10 readme

heady mountain
heady mountain
molten solar
vast bane
heady mountain
#

I do

molten solar
#

Oh god the v10 list is even worse.

heady mountain
#

hmmm

#

I'll disable the good to have ones then

molten solar
#

Yeah, half of them are officially dead in v10. stress

vast bane
#

He just hasn't updated it recently

molten solar
#

... Has he ever?

vast bane
#

Thats not exactly kind to say bud

molten solar
#

It's been over half a year. This is atrocious.

vast bane
#

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

molten solar
#

I'm looking at the v10 readme

vast bane
#

had no idea there was any conflict with cautious gm interesting to know

#

Wait did you change babonus to not work with midi anymore?

molten solar
#

Fast-forwarding means you can't ever use its newest features.

vast bane
#

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

molten solar
#

Probably

vast bane
#

I don't FF, I prefer the popouts so I'm fine

molten solar
#

I expect compatibility to break completely in 2.2.0.

vast bane
#

both modules are moving targets you never know where midi will be then ๐Ÿ˜‰

molten solar
#

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.

vast bane
#

The smart play is to not update anyway. Let the dust settle

molten solar
#

Eh I'll have babbity updated 3 mins after 2.2.0 releases, for the cool kids only.

heady mountain
#

Hello

#

I'm having issues with automated attack

#

I did a weapon first

#

and it worked

#

For some reason its giving me this now

vast bane
#

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

heady mountain
#

I have a target, the target is setup as radius

#

also I have no idea what I changed

#

But it fixed itself sooo

#

ยฏ_(ใƒ„)_/ยฏ

vast bane
#

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.

heady mountain
heady mountain
#

I have it set to 15dc dexterity

vast bane
#

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.

heady mountain
#

Fair

edgy panther
#

@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)

vast bane
edgy panther
#

What do you mean with Details?

#

the console output of thje fighter or what?

vast bane
#

If you don't have your class section like this, that explains why you have a 0

edgy panther
#

No i dont

#

How do i make that?

vast bane
#

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

edgy panther
#

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

vast bane
#

Looking at MASIF again, this macro could totally just be a scale value on the subclass lol

vast bane
#

do you have item macro installed(you don't need it) just confirming if it is

edgy panther
vast bane
#

make sure Item macro's settings has "Character Sheet Hooks" OFF

#

also can you show me the chat message that "Rolled 0" ?

edgy panther
#

it's off

vast bane
#

Did you roll the maneuver without an attack?

edgy panther
vast bane
#

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

edgy panther
molten solar
vast bane
#

I'm checking it now

molten solar
#

Set up the scale value.

#

Plop it in an effect as a damage bonus or whatever

#

Done.

vast bane
#

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

edgy panther
vast bane
#

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

edgy panther
#

the manouver is linked.
Or does the Die item has to be linked too?

vast bane
#

show me the maneuver details

edgy panther
vast bane
#

that should work, if it isn't, its your actor, drag out the fighter in the starter heroes

#

what level is the fighter

edgy panther
#

10

#

The flag should show up here, if I'm correct, or?

vast bane
edgy panther
vast bane
# edgy panther

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

edgy panther
#

I did so, still 0 dmg ^^'

vast bane
#

drag out the fighter starter hero

#

level him up to 10, drag the subclass onto him and then superiority die and goading attack

edgy panther
vast bane
#

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?

edgy panther
vast bane
#

how many group actors are you using?

edgy panther
#

I have 5 Player actors, if thats what u mean.

vast bane
#

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

edgy panther
edgy panther
vast bane
#

its not going to work with the module, you will have to make all the items

edgy panther
vast bane
#

the problem is that dnd5e or dae's later versions are messing up the application of the dae flag

edgy panther
#

I dont want to build it from scratch XD

vast bane
#

I'm also running dotmm

edgy panther
#

lol x3

vast bane
#
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

edgy panther
#

It could also be my world.
I noticed that whenever i add the item something like this happens:

#

it shows 3 "+" and 3 "-" messges

vast bane
#

what IS your dae version number?

edgy panther
#

I dont know wich one of these 2 is dae :x

#

But i Updated my modules just some hours ago.

vast bane
#

what version is your midi

edgy panther
vast bane
#

I dunno

#

all this accomplished was convincing me I'm not updating to 2.1.x anytime soon

edgy panther
#

Like i said, ill check Zhells way to go.

vast bane
#

do you see any red errors?

#

it would be right when you click the hand icon to reapply the ae

vast bane
edgy panther
#

This is, when i drag the item on the Actor

vast bane
#

what version of advanced macros are you on?

edgy panther
#

and this when i add the effect manually

vast bane
#

I'm on that version

#

does it do that on the starter hero?

edgy panther
#

No errors on the Starter hero

vast bane
#

disable advanced macros

edgy panther
vast bane
#

does it work with advanced macros off?

edgy panther
#

1 second. reloading takes quite a while XD

vast bane
#

its probably just gonna turn into a regular foundry error

edgy panther
#

(starter hero) Anter disabling advanced macros

vast bane
#

try your actor and then try rolling goading attack

edgy panther
#

removing and readding the item

vast bane
#

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

edgy panther
#

still no damage

vast bane
#

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

edgy panther
vast bane
#

Nah its 2.1.x dnd5e and dae.

edgy panther
#

If you say so, then i hope it gets fixed in any Upcomming update ^^

molten solar
#

Zero modules or macros were involved in this process.

edgy panther
#

thx XD
Im doing exactly that right now ^^'

molten solar
#

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.

edgy panther
#

i think, we are done troubleshooting.
Also, i wanted to go for your solution 3 times durring all of it ^^'

molten solar
#

I'm always right but no one ever listens.

edgy panther
#

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

vast bane
#

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

rotund yoke
#

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

vast bane
#

a multi damage button will have sub buttons above it in midi, I suspect you are using another module or the fallback buttons

rotund yoke
#

The bottom part - all players are getting that

vast bane
#

is the goblin actor linked?

#

oh its not a goblin

#

and you are sure that undo is doing something to all players?

rotund yoke
#

I'm not sure they all can use it, they didn't try. They all got the notification though

vast bane
#

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

rotund yoke
#

I mean - yep, they didn't click it, but they all saw it, and it exposed the users HP

vast bane
#

you should see a whispered one

rotund yoke
#

as a GM I see a whispered one

vast bane
#

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

rotund yoke
#

they are limited on it - only the main player is owner

#

I can drop it from limited maybe and try it

vast bane
#

What is the activation condition for if had advantage? is it workflow.advantage?

hard oxide
#

Hi guys is there a way to add spell damage bonus to a damage type ? Like +3 necrotic damage on an effect

vast bane
vast bane
hard oxide
#

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

dark canopy
#

i believe babonus would be one potential solution

vast bane
#

baboni no midi

dark canopy
#

rip

vast bane
#

if he fast forwards zhell said it no longer supports midi

dark canopy
#

but if not, its a potential solution?

vast bane
#

yeah and you could probably downgrade to my bab version too

hard oxide
#

so i need another module to help me do that right ?

vast bane
#

baboni is the easiest way to pull it off

#

build a bonus

#

you'd need a macro for the midi method

hard oxide
#

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 ?

vast bane
#

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

dark canopy
#

if you arent fast forwarding, sounds like it should work directly

#

if you are, it doesnt sound like the answer

vast bane
#

just need to find out the version that he stopped supporting in, which is probably the latest

dark canopy
#

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

hard oxide
dark canopy
#

whatever option skips the "Situational Bonus" dialog (with adv/disadv/normal roll buttons)

hard oxide
#

okok thanks you a lot for your time !

#

i will check this out

vast bane
#

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

edgy pagoda
#

Hi.
Can I set up Green-Flame Blade so that MIDI does not combine all damage into one number, but displays each throw separately?

kind cape
#

Wait what part of Babonus does not work with Midi fast-forward? @vast bane

vast bane
kind cape
#

๐Ÿค”

#

Well hopefully posney can integrate with it to make it work, would be a shame to be unable to use it

vast bane
#

everything I use it for is very not midi related so I don't think it affects me since I don't fast forward

gaunt quail
vast bane
#

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 โฌ†๏ธ

gaunt quail
#

Found it. seems nothing

vast bane
#

ok now show me the effects tab thats visible in that image

gaunt quail
#

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)

vast bane
#

show me the effect tab of Bjorne's sheet please

gaunt quail
#

Effects tab

vast bane
#

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

gaunt quail
vast bane
#

can someone on dnd5e 2.1.x test the versatile keyboard shortcut in midi?

#

is it rolling twice in 29 midi?

gaunt quail
#

The problem is for any versatile. Could be a longsword

vast bane
#

waaaaait a minute holy moly its an npc

#

show me the description of the dagger

gaunt quail
vast bane
gaunt quail
vast bane
#

wtf how has nobody found this bug yet

#

that is a legit midi bug

vast bane
#

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

gaunt quail
#

So where do I write" false"?

vast bane
#

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

gaunt quail
vast bane
#

or check the box above there

#

midi won't borrow the versatile field if the weapon is versatile

gaunt quail
#

Ok, just did both in 2 dif Sheets and both work. You are a genious and my savior

kind cape
#

Without having read the conversation, why are we having a weapon with a fake versatile ๐Ÿค”

vast bane
#

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

gaunt quail
vast bane
#

didn't we make a non rogue sneak attack feature, I swear one of us posted the edit version

gaunt quail
kind cape
#

Hmm alright ๐Ÿค”

gaunt quail
#

(I'm actually old to DnD, over 30 years, but new to technology)

chrome island
#

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

vast bane
vast bane
chrome island
#

So i don't want it to automate, more have the output dialogue box auto display them

vast bane
#

This is basically midi in a nutshell, if this isn't what you want, then you need a different roller:

chrome island
#

So currently it's like this

vast bane
#

the appearance can change somewhat

#

what do you want different about that

chrome island
#

Not needing to click attack or damage

#

When activating the item have them auto-roll and appear in the card

vast bane
#

you can tweak the card and combine them all into one with the

vast bane
chrome island
#

Yeah i checked one and it didnt seem to apply, although i haven't fiddled with the misc settings yet