#MidiQOL

1 messages · Page 15 of 1

stone forge
#

Oh, I checked in the item config and it just had a passive for +1 AC.

vast bane
#

as its a premade item

stone forge
#

V10

vast bane
#

well copy this, image, its only not in v10 cause the author hasn't reformated the compendium, and pro tip, you can move midi srd to v10 if you copy the compendiums it gives you in a v9 and then bring it over with your world.

violet meadow
#

Hmm which module handles Bless and which concentration?

vast bane
#

oh you probably have to replace data with system in those keys

stone forge
#

Thanks. We pay online/irl about 50 and use DDB irl so if we can have everything syncing to that was much as possible then things are a lot easier for me as the DM.

vast sierra
violet meadow
vast sierra
#

think i did, but checking because now im doubting myself 😄

stone forge
#

I assume it's too late if I've already migrated? (In reply to your tip about inporting the compendium)

violet meadow
#

Haven't tested lately though

#

Concentration by midi should be handling that.

#

Check DAE settings too 🤔

#

I have dismantled my server as I am moving some stuff around the house and I cannot check myself now

tawny cipher
#

I'm try to take the Dragon Slayer Longsword in the MidiQol Conpendium and change to a wolf but it's not rolling the extra damage. I changed the type for a wolf to custom type "wolf" and it changed the "dragon" in the activation conditions fo the weapon to "wolf" and it didn't work.

vast sierra
# violet meadow Concentration by midi should be handling that.

(showing two effects on Kuraga).. If I remove concentration, it drops Shield of Faith (the spell I cast second) So concentration is assigned correctly, just getting error that player doesn't have the permission to delete it (checked sequencer and dae and midi and CE.. im at a loss).. will get screenshot of where it's failing in code

#

this part if click the js code at end

violet meadow
#

Hmm it uses the.deleteEmbeddedDocuments which means that the player is missing the proper permissions to delete active effects

#

I think that should be going through the midi socket to execute as GM instead

#

From which module is that code?

vast sierra
#

So, order is 1) Cast bless, Thing work great. 2) Cast Shield of Faith, pop up warning on concentrating on another spell, hit ok. Click thru to cast, warning fires. 3) Concentration drops on bless, goes up on Shield of Faith (on caster), but the Bless effect stay (because lack of permisison) and it adds Shield of Faith (just trying to get the full explination)

violet meadow
#

Yeah shield of faith is cast to self?

#

Bless to self and others?

#

And cannot delete the bless from others

#

Is this snippet from MidiQOL or another module?

vast sierra
#

Guessing it's Midi ?

violet meadow
#

And do you use a macro in the bless item maybe?

vast sierra
#

And both spells are being cast on a token they dont own (another player)

violet meadow
#

Does it have a DAE effect on?

vast sierra
#

It's getting it from CE.. here's the spell (to show no item macro/ onuse)

violet meadow
#

Check for DAE effect on Bless

vast sierra
#

and this is my midi settings

violet meadow
#

You might need to bring tposney in on that as I cannot test right now 🤔

vast sierra
#

Update works as expected, in combat... it was out of combat it fails Oops, wrong. Was testing on GM log in, not the player incognito log in. Still fails with permission issue in combat.

celest bluff
#

GM has to be logged in

vast sierra
#

GM is logged in

#

(it's how i accidentally thought it worked in combat, was on wrong screen) 🙂

#

and just made a test world with only CE and MIDI (and required modules) and get same error

#

@gilded yacht please ☝️

#

(and yes , i know About time not required, but it's a Tpos module and had it enabled in case it was because i didnt have an active combat ) 🙂

bitter delta
#

Hi everybody, amateur question here. I'm trying to set up an attack for a creature which on a hit will deal damage and impose the convenient effects grappled condition. How would I do this?

violet meadow
#

@vast sierra I just reproduced

#

Yeah something is really off 🤔

vast bane
#

If you do statuseffect, JUST grappled shows up on the token, if you do macro.ce the icon of the attack also accompanies the status effect on it.

whole bolt
#

Hey guys, using this macro by Crymic from a LONG time ago, can anyone suggest what would need changing to make it work in V9? (Tasha's Caustic Brew)

OR is there already an automatic Caustic Brew that others know about?

if(args[0] === "each") {
   const lastArg = args[args.length-1];
   let token = canvas.tokens.get(lastArg.tokenId);
   let itemD = lastArg.efData.flags.dae.itemData;
   let level = itemD.data.level;
   let damageRoll = new Roll(`${level*2}d4`).roll();
   new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "acid", [token], damageRoll, {flavor: "(Acid)", itemData: itemD , itemCardId: "new"});
}
spice kraken
#

If no one knows, that's a simple OT effect

whole bolt
#

How do you make an OT effect?>

spice kraken
whole bolt
#

not a coder - rely on what other people have shared in foundry chats 😆

#

Yeah ok...

#

So just copy that and itll work?

spice kraken
#

Yup, it's pretty straight forward once you read the readme for midi in the pins here

#

Some can be weird like Hunger of Hadar but still easily doable

whole bolt
#

Wowsers... 🤔
Thanks for that

#

Yea ok... works easily. so good lol

tawny cipher
#

I'm try to take the Dragon Slayer Longsword in the MidiQol Conpendium and change to a wolf but it's not rolling the extra damage. I changed the type for a wolf to custom type "wolf" and it changed the "dragon" in the activation conditions fo the weapon to "wolf" and it didn't work.

visual night
#

Is midi the replacement for better rolls in functionality ?

stoic seal
#

Nope

#

That’s ready set roll

gilded yacht
marsh crescent
#

Not sure if you can target a Custom Type

coarse mesa
#

Hiya @violet meadow – just curious if you have a Sickening Radiance already sitting in your arsenal? The damage part seems easy enough (a la Cloudkill example), but the stacking exhaustion is something which would be great to automate but I'm not sure how

scarlet gale
stoic seal
#

Question but does the Build-a-bonus module work along Midiqol?

violet meadow
#

issue with spell dc bonuses last i checked

violet meadow
molten solar
# stoic seal Question but does the Build-a-bonus module work along Midiqol?

It uses the preDisplayCard hook for a visual change on the dc, which Midi ignores for good reason.
The rest are the dnd5e.preRollAttack, dnd5e.preRollDamage, dnd5e.preRollAbilitySave, dnd5e.preRollDeathSave, and dnd5e.preRollHitDie hooks.
@gilded yacht can confirm what Midi does to those. If Midi does not skip these, babonus works with no issue.

coarse mesa
stoic seal
violet meadow
#

On that front, I can see an open issue in midiqol by tposney, named Migrate from wrapping dnd5e functions to using the provided hooks

molten solar
#

I haven't tested myself.

stoic seal
#

Does this mean fast forward in regard to those rolls?

molten solar
#

babonus applies all bonuses before fast-forward matters.

violet meadow
# coarse mesa I figured you must have haha, all good – no hurry

Recreating how Spirit Guardians work in combination with a bit changed script from the attached for DFreds CE exhaustion levels should do it ```js
const targetActor = args[0].failedSaves[0].actor;
if (targetActor.effects.find(eff=>eff.label.includes("Exhaustion"))) {
const exhaustionLevel = Number(targetActor.effects.find(eff=>eff.label.includes("Exhaustion")).label.split('n ')[1]);
const newExhaustionLevel = Math.clamped(exhaustionLevel + 1, 1, 6);
if (newExhaustionLevel > 5) {
await game.dfreds.effectInterface.addEffect({effectName:'Dead', uuid:targetActor.uuid});
return;
}
const effectName = "Exhaustion "+newExhaustionLevel;
await game.dfreds.effectInterface.addEffect({effectName, uuid:targetActor.uuid});
}
else await game.dfreds.effectInterface.addEffect({effectName: 'Exhaustion 1', uuid:targetActor.uuid});

violet meadow
stoic seal
molten solar
#

lol

#

Yes

stoic seal
#

Oh

#

Lol

#

I was wondering how come nothings working

molten solar
#

I mean, babonus does not exist on dndbeyond.

#

the importer does not know about it

#

You have to create the bonuses in Foundry

violet meadow
#

Thats v10 compatible (small changes needed for v9, namely replace label with data.label)

molten solar
celest bluff
whole bolt
grim bane
#

Probably a bit late but according to your screenshots it looks like you've written "itemMacro" without a capital i. As far as I can remember the module was a bit petty about that. Maybe that's the solution.

stoic seal
#

@molten solar this is what I have

#

nothing shows in damage roll. I also switch to fresh srd foundry class

celest bluff
molten solar
#

ah--

#

@abilities.cha.mod, not @attributes

stoic seal
#

@molten solar It Works! Thank you very much. I feel silly missing that mistake

steel apex
#

Oooh I’ve not heard of Babonus before….going to look into it.

bitter delta
celest bluff
#

@hidden swift ```js
const value = token.actor.system.abilities.cua_0.value;
await token.actor.update({ "system.abilities.cua_0.value": value + 1 });

this is `never` called to in the macro. it will go off the selected token, which is bad. so what you're trying to do is a add a +1 stat value to whatever `cua_0` is?

Make sure to check `only apply during the current combatants turn`
```js
const lastArg = args[args.length -1];
let tactor;
if (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;
else tactor = game.actors.get(lastArg.actorId);

if (args[0] === "each") {
const value = tactor.getRollData().abilities.cua_0.value;
await tactor.update({ "system.abilities.cua_0.value": value + 1 });
}
tranquil cloak
#

does anyone know what the "Show a players' damage card " option does? I've tried testing it and see no difference

gilded yacht
tranquil cloak
#

Hmm, maybe I'm just missing something, but it doesn't appear to be doing anything for me.

#

its suppposed to show a limited version of this?

timber oyster
#

Hi people, im running latest 9 version and im checking if everything in my autoamtion settings work nicely, and there's only 1 thing not running nicely, when a reaction is called by MidiQol and the token sets a reaction that creates an active effect it shows the dialog to apply but it doesnt apply it automatically, so for example, midiqol does the damage before shield is applied, you can still activate it manually through the chat but you get hti before that, so its kinda useless for the first attack, my options for that are the ones in the image, anyone fixed that? Im running all midiqol recommeneded modules
Imagen
Also when an aoe is thrown from self it attacks self, but i dont really think that's fixable at all

kind cape
#

For the second one, what is your targeting options set to?

timber oyster
#

Let me check

#

I have DF template enhancements installed, will try with that one

#

nope, still targeting themselves

vast sierra
#

AOE's not targetting self, is set in the spell details here (set Range third box, to special, to ignore the caster)

timber oyster
#

Thanks! will remember and reapply those changes when i reimport from dndbeyond

real junco
#

Afternoon. I'm currently hiding entire gm roll but players still get a card, even if the content is mostly missing. How can I hide that card from them or is that not possible?

vast bane
real junco
#

I have those settings enabled currently. Must be another module freaking it out then I guess. Thanks for the help Moto!

kind cape
#

That looks like maybe a cross of the beams, e.g. multiple roller modules

vast bane
#

I didn't want to pry but yeah, it did look like they were not using midi, but one of the other ones

#

so midi's settings effect midi's rollcards, not RSR's

real junco
#

Hahaha, thanks, I'll take a look then. Not a clue what it might be yet
As another question, which I guess could be the same thing, I can't seem to let my players auto apply their own healing. I need to approve it with the little tick mark in chat. They auto apply damage however. I have my own attacks to not auto apply damage so I can be lenient where needed

real junco
#

Sad times. I'll get hunting. Thanks!

vast bane
#

show us the details tab of a healing spell or ability

real junco
vast bane
#

I don't see tell tale signs of other rollers in there and it seems setup, weird. Maybe your settings are wrong in midi?

#

what does a damage and healing look like in chat

real junco
#

I don't have any other roller I know of. I do get this prompt tho:

vast bane
#

thats the dm';s midi card, normal behavior, if you arent automating damage application fully than it can be situational

#

Your settings here would be thats causing intermittent issues:
(mines set to full for all)

#

the first drop downis probably set to npcs only

real junco
#

So for a player. Their damage auto applies to enemies isntantly, the healing needs me to confirm. They just see the attack card and heal cards. I see:

#

This is my settings

vast bane
#

your settings are indeed (npc only)

real junco
#

Is it the auto apply damage part?

vast bane
#

healing is infact damage

real junco
#

Yeah, it makes sense. Thanks Moto, that explains it

#

There no way I can get around that? I'd like their healing to work right away but I don't want my damage on them to do so

vast bane
real junco
#

Yeah, I had a problem with that being new myself and the players being new. An encounter that should have been fairly straightforward according to the adventure was slaughtering them. So I wanted to not auto-apply and hide the rolls so I could be lenient if needed. Didn't want them killed at lvl 1

short aurora
#

I believe I wanted the same at some point and the answer is that dnd5e doesn't differentiate between healing as anything but damage. I macroed all self healing abilities to... well, self-heal and left targetted spells alone because they kept forgetting to not target monsters with it

vast bane
#

My ability to balance encounters improved dramatically when I abandoned the calculators shared liberally all over and just went with xanathar's encounter table data which is found in a UA for free also

real junco
#

That makes sense and sounds completely reasonable. I guess it was more surprising since it was an official adventure so them getting destroyed like that at an encounter designed from them was unexpected. I guess I'll need to learn myself what they can and can't handle 😅
I'll take a look at that too. Maybe adjust the official encounters if I feel they're a tad unfair

#

Thanks Moto, big help!

vast bane
#

also make sure your version of published adventures have their errata handled

#

many adventures had erratas that fixed accidental CR mismatches, noteably Hoard of the DQ and Waterdeep Dragonheist

#

But also some fights are not meant to be fought, properly telegraphing to them before hand so they know how to behave can save their bacon sometimes too, sometimes players need to experience Gandalf vs a Balrog

#

The troll fight at the beginning of Dragonheist is precisely that scenario.

#

If you took the above UA tables and looked at the dragonheist first chapter, the troll fight and the Illithid would be ridiculous, but the context matters. In the troll fight, its stated that Durnan takes on the troll while the players help dispatch the flying things and in the Illithid scene, it considers the players beneath them and just ignorantly walks through them and leaves, to show how small the players seem tothe world.

real junco
#

It's HOTDQ for me. I do know that the Beyond version has the errata in but it doesn't change too much for the difficulty from what I know. They ran into a group of kobolds and cultists and got mowed down

#

I do have some fights like with the dragon I've tried to do like you've said above, that went a bit better

vast bane
#

Also not every fight is a deathmatch, sometimes enemies just want to take their stuff and leave them alive.

real junco
#

Ohhh, that's a good idea!

#

I never thought of that. Would be interesting

#

I like that a lot

vast bane
#

In my current dotmm campaign, one of the floors if they fail, it triggers a side story arch where they are in a race against time to find their gear after succumbing to the bad guys, cause they wake up impregnated with demons that will kill them if they can't find the healer their focus to cast lesser restorations. The key in this situation is to not force that scenario cause then it feels like railroading, I just keep it in the back burner ready to fire if the players wind up biting off more than they can chew.

real junco
#

Ahhh, interesting. Thanks Moto, that's a big help too, I'll consider preparing sort of contingencies

tranquil cloak
#

Is there a way using midi to have an effect add a level of exhaustion and then have the effect be deleted while the level of exhaustion stays?

#

I'm trying to have my players gain +1 exhaustion at 0 HP without ending up with a ton of effects on a character each one adding +1 exhaustion.

On that note, is it possible to reference the stack count of an effect in the effect? So like +1 per stack?

tranquil cloak
#

like could I make this +1d8 per stack?

molten solar
#

Just update the actor to have +1 level of exhaustion.

tranquil cloak
molten solar
#
const e = STEVE.system.attributes.exhaustion;
await STEVE.update({"system.attributes.exhaustion": Math.clamped(e + 1, 0, 6)});
#

where STEVE is the actor.

#

just do the Midi thing™️ that gets the actor

#

Hell, just slap that on an 'on create' macro with Effect Macro, and have the effect itself do nothing.

vast bane
#

does dnd5e now automate the effects of exhaustion Zhell?

molten solar
#

No

vast bane
#

I think thats the whole point there for them then, they want the exhaustion automation of dfreds/cub?

tranquil cloak
#

no, I want the application to be automatic at 0 HP. I alreeady have effects setup for the effects

vast bane
#

I think cub can pull that off, not sure about midi+dfreds

vast bane
#

now you got me wondering if adding exhaustion to the sheets automate with midi lol

tranquil cloak
vast bane
#

I don't deal with exhaustion enough in my sessions to need to automate it or put this much effort into it, I wonder if theres a way where if a sheet gains a level of exhaustion the appropriate effect gets auto applied.

short aurora
#

For the automation of giving an actor +1 exhaustion when hitting 0, then yeah, I believe you can do that with Triggler of CUB. A world script could do it. If you really want, a macro in an effect with args[0] == on will only apply it when the effect is applied, so it wont be removed when the effect is removed

tranquil cloak
short aurora
#

Really a pick your poison kind of deal, there's no complete solution, I personally stole thatlonelybugbear's macro for my exhaustion automation

vast bane
#

Have the macro from cub fire and utilize like an imput like apply dfreds CE's Exhaustion level X where X is the value you pull out of the character sheet where the exhaustion level is referenced

#

or cubs exhaustions

#

Everytime I see talk of exhaustion, I can't help but wonder wtf you guys are doing to your players though lol, like at best I see 1 level of exhaustion from chase encounters, or a frenzied barb, but wtf you guys doing to kill players via exhaustion lol.

sturdy loom
#

Can someone give me a cursory glance and let me know if I have written this macro incorrectly? For context, I'm trying to call it when a dae effect gets removed (using macro.execute), although in this, I have excluded the args[0] === "off" to test it working in the first place.

const targets = args[1];

const roll = await new Roll("3d10").roll({async: true});

new MidiQOL.DamageOnlyWorkflow(targets.actorUuid, targets.tokenUuid, roll.total, "piercing", targets, roll, {ItemCardId: "new", flavor: "piercing"})```
#

args[1] is @target

short aurora
#

If you, understandable, don't want effects involved, I suggest a world script for automating adding a level of Exhaustion for when a player character hits 0. Zhell might have a better input of where to throw in the hook, but maybe on updateActor and then filter on hasPlayerOwner and check for the new health value is 0.

short aurora
tranquil cloak
#

This is only adding 1d8 instead of adding a d8 per stack.

#

@stackCount appears to always resolve to 1

sturdy loom
#

maybe I'm forgetting something 🤔

spice kraken
tranquil cloak
spice kraken
#

Not necessarily

short aurora
#

It's for the target, if it's supposed to apply to yourself, then...

spice kraken
#

## is for for basing counts based on who has the AE

#

I always use it regardless of source

tranquil cloak
#

no, I mean its a buff spell

#

so ## reads stacks on the target right? while @ reads stacks on yourself

spice kraken
#

Correct

#

And if you're casting on someone else, the source actor stack count would be 0 or 1 (idr)

#

So that's why you'd wanna use ##

short aurora
tranquil cloak
#

I'm not casting on someone else

spice kraken
#

Try with ## and see if it works

sturdy loom
#

I've tried similar with args[0].actor as well

tranquil cloak
spice kraken
#

Part of the reason I always use that instead of @

short aurora
# sturdy loom weird. Does @target not return the actor?

I don't follow here, @target? Using your example of args, this works in my testing;

const targets = args;
const roll = await new Roll("3d10").roll({async: true});
new MidiQOL.DamageOnlyWorkflow(args[0].actor, args[0].targets[0], roll.total, "piercing", targets, roll, {ItemCardId: "new", flavor: "piercing"})```
sturdy loom
#

in the active effect, I have macro.execute custom "macroname" @target
@target should be returned as the target actor as args[1]

#

or their uuid; I'm not quite sure anymore

short aurora
#

Uuid. You still gotta fetch that stuff.

sturdy loom
#

Hm. Lemme try what you got then.

short aurora
#

Mine wont work, you're executing it differently, one moment

#
const targetToken = await canvas.tokens.get(args[1]);
const attackingActor = await game.actors.get(args[2].actorId);

const roll = await new Roll("3d10").roll({async: true});

new MidiQOL.DamageOnlyWorkflow(attackingActor, targetToken, roll.total, "piercing", targets, roll, {ItemCardId: "new", flavor: "piercing"})```

Give this a shot, when I try to execute the macro your way, it also populates args with the actor id
#

Whoops, there's another targets in there squint let me fix

sturdy loom
#

Ahh okay, that worked. Kinda. The damage roll goes off but it doesn't apply the damage to the target.

#

not automatically, at least

short aurora
#

It adheres to your midi settings, I had to put mine on full auto to test your script to begin with

sturdy loom
#

Yeah, no luck on the automated damage
I had mine already on full auto

short aurora
#

What is this supposed to automate for you?

sturdy loom
#

When the dae effect ends, it applies the damage to the affected actor.
What's not included in the macro (that's supposed to be in the final) is the if (args[0] === "off") , but I left it out to see if it would automatically apply it in the first place

timber oyster
spice kraken
#

Show the details tab of the item

timber oyster
#

gonna need 2 images

spice kraken
#

Does it work with a freshly made shield spell on foundry itself?

timber oyster
#

i didnt try to create one manually as i dont erally know about midiqol formulas, but i can try

spice kraken
#

And are you using Convenient Effects for the AE or have it on the item?

timber oyster
#

DAE if midiqol options are right

#

ah no

#

convenient effects

#

its on Apply CE if available, if not use item effects

#

i tested it with the other way, it didnt work either

spice kraken
#

So how does this work?

kind cape
#

Deletes the template with the UUID when the effect is removed, afaik

spice kraken
#

I'm assuming midi is auto applying that. Is there a way to make it so those AEs auto remove on current turn end?

kind cape
#

Well you could make the AE expire at the end of turn? 🤔

spice kraken
#

These spells don't have an AE by default which is why I was confused it made it after casting

kind cape
#

Ah, what's the duration of the spells? I believe the effect duration that is automatically generated is based on that

spice kraken
#

I'll check next time someone casts a spell but I don't think it had a duration

#

or maybe it was 1 sec, idr

kind cape
#

If the spells are set to instantaneous it should auto remove at the end of turn as far as I remember

short aurora
# sturdy loom Yeah, no luck on the automated damage I had mine already on full auto

I had to sanity check several times to make sure, but with using midi qol full auto presetting, this creates an effect that hurts the affected when being applied/removed for sure;

let testActor = await game.actors.get(args[1].actorId);
let testToken = await canvas.tokens.get(args[1].tokenId);
let target = testToken;
let damageRoll = await new Roll(`1d8`).roll();
new MidiQOL.DamageOnlyWorkflow(testActor, testToken, damageRoll.total, "radiant", [target], damageRoll, {flavor: "I hurt myself today"})```
spice kraken
#

It was and didn't auto remove till manually deleting the AE

sturdy loom
#

kinda weird you have to verrrrry specifically specify the references

short aurora
#

I am unsure if the function has been changed in v10, one thing to take note of is that you need to define a set for the targets (the stuff after "radiant" in my example), so if you forget the brackets you go loco for cocoa puffs trying to figure out why it's dying on iterating >_>

spark sundial
#

hey guys, I am having some difficulties with the midi qol lay on hands macro, Where at first it would work but then if I dragged the token to another scene or just delete it and dragged a new one to the same scene it will no longer work

#

any thougths?

vast bane
#

Is token linked and did you set resource linkage?

spark sundial
#

the token is linked. I am not sure how to do the resource linkage

#

just looked it up the resource is indeed linked

celest bluff
weak quest
#

if you enable fast forward ability rolls and make a tool check, the value is green like it is a nat20, is this intended?

gilded yacht
weak quest
molten solar
#

ignore me lmao

gilded yacht
celest bluff
gilded yacht
gilded yacht
molten solar
gilded yacht
#

Midi goes an item.getSaveDC() when checking saves.

gilded yacht
molten solar
#

You can of course also copy the flag data.

#

And it can create auras as of 10.0.7.

gilded yacht
#

How do I embed the bonus in an item?

molten solar
#

In the header.

#

Same with effects.

#

Only the actor has the BAB hidden away in Special Traits.

gilded yacht
#

Funny, I'm not seeing the BAB in item header, but am in the effect editor. Probably dae/bab fighting over the header.

molten solar
gilded yacht
#

Ah - it does not do spells?

molten solar
#

No

gilded yacht
#

That would explain me not seeing it then.

#

Nice module - think I'm going to use it - now for a flurry of compatibility testing

molten solar
#

background, class, subclass, spell type items are excluded from granting bonuses

#

and likely race too, eventually

gilded yacht
#

Race or class could be useful bonuses

molten solar
#

I don't see the point. I don't block feat-type items.

gilded yacht
#

Fair

molten solar
#

Usually similar stuff from race or background would go in Special Traits, same with many things from a class.

gilded yacht
#

I see you have an aura of protection set - can you screenshot the settings for me?

molten solar
#

Like this:

gilded yacht
#

Thanks - it was the filter 0=0 that I'd not realised.

molten solar
#

A big-brain trick.

coarse mesa
#

Why do we need 0=0? Just so I know when I jump on the BAB-wagon

molten solar
#

At least one filter is required.

coarse mesa
#

Def going to use it for pally auras

molten solar
#

I made some consumable items over the weekend that create a 1-minute duration aura on the user that do weird shit

#

like, "you roll +1 with all hit dice if you are within 10 ft" or "your crit range is increased by 1 for all allies within 15 ft if they have less than half their health"

coarse mesa
molten solar
#

Ever wanted brutal critical but with spells?

gilded yacht
molten solar
#

You could even do something like... give everyone within 10 ft of the rogue bonus damage equal to their sneak attack.

coarse mesa
molten solar
molten solar
gilded yacht
molten solar
#

All functions in the module are completely sync. The only async function in all the thousand lines of code is the getData.

#

So I couldn't make a visual effect even if I wanted to.

#

I just give my paladin player an item macro in their aura feature they can toggle on/off for a visual effect. Does nothing, is all for show.

coarse mesa
#

I really wish something like Active Auras was core... we had our worst flare up of our AA bug last night... Twilight Sanctuary AE got applied to some of the tokens 10-20 times 😔 Hopefully things will be better in v10 (somehow)

molten solar
#

I doubt that will happen, what with that example going past regular permissions.

#

You could use Effect Macro. 😎

coarse mesa
# molten solar You could use Effect Macro. 😎

We have a nice fully hands-off solution with the help of a certain bugbear – but it hinges on AA working properly. Which it mostly does, but when things get hectic it seems to go awry. Tposney has kindly tried to diagnose for us but it's hard to pin down, being so intermittent. When we shift to v10 I think I'll rebuild our world from the ground up and hopefully it won't happen.

#

Abilities that ping on every damn turn (like 5+ times a round) are perfect for as much automation as possible, and I won't hear a word to the contrary

molten solar
#

If this is something you use often, just make a world script tbh.

#

Hook on updateCombat, make sure it's the turn being advanced forward (by 1), then scan for anyone with a flag or effect 'Twilight Sanctuary', pop some temphp.

#

basically what EM does

coarse mesa
#

Twilight Cleric... therefore at minimum we have Spirit Guardians and Twilight Sanctuary going every combat. Every turn something is going off

molten solar
#

I have a twilight cleric myself.

coarse mesa
molten solar
#

Just have the cleric with an effect

#

write a world script to measure the distance from the current combatant to any cleric with the effect. 🤷

coarse mesa
#

I mean, that sounds awesome – if I knew how to write such a script. Maybe someone should make a module

molten solar
#

Just steal some code from EM

gilded yacht
molten solar
#

and do canvas.grid.measureDistance(token, cleric_token)

molten solar
#

Visual only, which is why that one won't work with Midi.

#

The alternative is using updateSource which is just gonna be hell if anything is ever cancelled.

gilded yacht
#

You're right about that. Any chance to call a hook when the change is made? I can then take note of it in midi.

molten solar
#

It happens in dnd5e.preDisplayCard

#

Best I can do is probably toss the final integer into the object in the hook

gilded yacht
#

That would be fine. I can grab that after the hook returns.

molten solar
#

or straight up flag the message since that's in the hook

gilded yacht
#

Flagging the message would be better - I hold on to that and can just check when fetching the saveDC from the item.

#

flags.babonus.saveDC?

molten solar
#

you guessed it

hidden swift
# celest bluff <@350512876676710401> ```js const value = token.actor.system.abilities.cua_0.val...

Thanks for your advice earlier. Bear in mind, I have little idea of what I'm doing with the code I've butchered.
My intention is to have an aura effect applied on one character (who is immune to the effect). The aura increases a custom ability score (cua_0) of those affected by 1 at the start of their turn.

Here's what I've done for the ItemMacro with your input:

`try {
const lastArg = args[args.length -1];
// Check prior to applying the effect: If the token is NOT the caster and it's their turn, they receive the effect
if (args[0] === "each" && args[1] !== lastArg.tokenId && lastArg.tokenId === game.combat?.current.tokenId) {
const sourceItem = await fromUuid(lastArg.origin);
let theActor = await fromUuid(lastArg.actorUuid);
if (theActor.actor) theActor = theActor.actor;
const lastArg = args[args.length -1];
let tactor;
if (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;
else tactor = game.actors.get(lastArg.actorId);

if (args[0] === "each") {
const value = tactor.getRollData().abilities.cua_0.value;
await tactor.update({ "system.abilities.cua_0.value": value + 1 });

}
}
} catch (err) {
console.error(Test Aura, err);
}`

#

And here is how I have things set up UI-wise.

hidden swift
#

Unfortunately, what I have so far doesn't appear to be working in or out of combat

violet meadow
#

Exciting night (…or day) in the thread! Me likey!

coarse mesa
#

The audacity of Zhell badmouthing sample compendiums in this thread of all places!

violet meadow
#

I will take a look later

vast bane
#

2 things they did in v10 that I truly believe were literally shooting themselves in the foot. Changing data.data to system, and changing the filepath of icons. And before anyone replies with theres a macro for that understand that if theres a macro, that means it could have been in the migration process. Its not, and my v10 build looks so ugly right now that I honestly don't think I will ever move my live table to anything other than v9 foundry. I'll probably sooner go back to RL tabletop before then.

violet meadow
#

The change to the paths makes sense in the long run. And data.data will work for the time being due to code that looks for that

The icons change got me too, but I ended up just moving the DND5e icons file, back to its former place, grabbing it from a previous version of the system.

The migration scripts work for almost everything

vast bane
#

I don't care if I have double icons in my data folder or wherever this stuff is, i got so much space. I just don't want to have to teach my players new locations nor make them reset their icons and images for ae's and abilities.

#

plus some stuff isn't even in the UI, like I have a bunch of warpgate synthetic items that will be broken cause of the filestructure change, no macro will catch that stuff.

#

but moving it back will fix it all, thanks for the tip

#

Will a v10 patch/update cause the folder structure to revert you think?

violet meadow
#

Yes

vast bane
#

Or is that a dnd5e thing

violet meadow
#

Dnd 5e

vast bane
#

k so basically just add it to my backup process during a system/software update

violet meadow
#

That would work 😅

vast bane
#

although its the kind of thing that is so obvious when you forget it, that you can never forget

#

My druids entire sheet had broken icon links, every single thing lol

molten solar
vast bane
#

I'm an endpoint user, all that translates to is alot of work to fix things between the updates. Maybe a modder will pickup the transition issues. It just seems weird to me that an update is actually a downgrade. I get that theres potential but that potential is wasted if nobody picks up the mantles that have been dropped.

#

But one of the greatest things about foundry is how you can stay version locked, so there is that

molten solar
#

Staying on v9 then?

coarse mesa
#

It is a bummer they couldn’t transition the icons gracefully. That seems like something a macro could fix?

vast bane
#

My v10 is a disaster, hours, maybe days of work just to get to work for the table, I won't ever update my live table till I'm on hiatus as a Dm for them

#

Plus there are critical modules that have no answer in v10

molten solar
#

Sorry to hear that.

vast bane
#

need ate/atl and active auras

vast bane
#

It won't catch the warpgate macros, but then again theres only like 8-10 of them I use for icon paths

molten solar
#

Correct

vast bane
#

but still, its just a needle on a rather large haystack

molten solar
#

I don't think that's how that expression goes

vast bane
#

I can't believe that ATL was the only show in town lol, like dfreds and cub coexist, was there really no other module that modded lights?

molten solar
#

... Warp Gate

vast bane
#

via active effects

molten solar
#

I never used ATL. I just used EM and WG

vast bane
#

I'm a user of macros, but I'd much rather have a UI to setup my games with, thats why I like advantage reminder vs macros for stuff

molten solar
vast bane
#

Ultimately the only aura I use you have already taken care of with BAB but theres so many midi srd spell aoe's that utilized it and I really don't want to have to go through 516 spells trying to find all the breakages.

coarse mesa
#

All I use ATL for is active effects. It’s kinda surprising you need ATL to do that? Shouldn’t you be able to affect basic stuff like lights and scale without third party help?

molten solar
#

Effects affect the actor, not token

#

ATL probably ran a script behind the scenes to do it

#

And macros are first-party lol

coarse mesa
#

Yeah and also ATL reverts back to the prototype which can be a bad thing

molten solar
#

... huh

#

Ok then, so in other words, use WG and EM

violet meadow
#

WG and .. something 😄

coarse mesa
#

But those require macros to be written.

vast bane
#

yeah but then I need to write a bunch of macros that were literally premades in dfreds CE up until v10 came out

molten solar
#

One line.

vast bane
#

Wonder if we can beg Dfred to just put them into the AE's?

coarse mesa
#

If only someone built a babonus-like front end for WG to do this stuff

molten solar
#

...

vast bane
#

Does effect macro store the macro in it or is it just referencing a folder macro?

molten solar
#

The former

violet meadow
#

well you could run another macro from in there 🤷

molten solar
#

You think I wanted to clutter my macro folder? Pff I laugh

vast bane
#

Man that seems like EM would be a great pair up with dfreds

#

almost like how midi and item macro work well together

violet meadow
#

You can make them all by yourself

molten solar
#

Tons of people probably do that

vast bane
#

And doesn't dfred have an import/export function on the custom folder, that...seems like an untapped resource kinda like automated animations auto recog import/export.

molten solar
#

You better get to writing then

vast bane
#

heh, give me one lighting macro example!

#

whats the torch's one liner?

molten solar
vast bane
#

likely going to be different between versions

molten solar
#

Not really

#

Non-system specific token document updates had zero change.

#

At worst you delete one data.

coarse mesa
#

Torch is one thing but remembering the esoterica of light animations and luminosity etc isn’t that user friendly. A front end is where it’s at

vast bane
#

Specially on a map the size of a dotmm floor

#

I disabled all light animations and vastly improved performance for my players on mobile and a 2006 graphics card

coarse mesa
#

But I need fairy lights for Twilight Sanctuary

vast bane
#

God, I breathed a sigh of relief when my cleric was dead set on Peace Domain.

molten solar
#

You know yall can just copy the token's light data right

coarse mesa
#

Or even a wee button in the token config header that let you save settings to an EM?

molten solar
#

... That's a one-liner.

coarse mesa
#

Everything is a one liner!

molten solar
#

Yes I made everything easy. You're welcome.

vast bane
#

Right but we're users, not writers. My one liners are usually dealing with the human senses, not code

coarse mesa
#

If we use EM to put light on a token will it revert when the effect is removed?

vast bane
#

so presumeably the oneliner is a toggle you put in both spots

molten solar
#

EM does what you tell it to.

#

So write a permanent update or write a warpgate mutation

vast bane
#

How does Conditional visibility work in v10 lol, half its effects are ATL flags.

molten solar
#

Use the invisible condition

coarse mesa
#

Gotcha. I’d happily stop using ATL if I could master this technique. But in ATL’s defense, it’s super easy just picking things from a list in the AE config

vast bane
#

Its even easier than that though

#

I installed ATE/ATL cause of dfreds

#

if you have both dfred just enables the lightsource CE's

molten solar
#

Smh, you and your fancy dropdowns holding you back from reaching peak potential

vast bane
#

for me it was just a matter of right clicking the lightsources in dfreds window and enabling them as status markers

coarse mesa
vast bane
#

Anything my player can do instead of me, makes it easier for me to do the fun stuff like set a scene, or run an npc

#

how would EM handle faerie fire, another example of ATE performing a much needed automation

coarse mesa
#

I never thought to pop those in the token HUD, nice

molten solar
#

Sorry, I'm in SWB and don't know what Faerie Fire is /s

vast bane
#

We would need to tap someone like bugbear for those cause its an args thing

#

omg, it would also break on npcs that are unlinked

#

wow ate did more than we realized

molten solar
#

What would

vast bane
#

how does it know who to apply the debuff to, will the macro deal with only the canvas actor?

molten solar
#

Yes?

#

You mean EM?

vast bane
#

so lets follow that, what happens when we go to a new canvas?

#

the players have to then recast their lights

#

cause its either/or, I'm pretty sure ATE carried it over

molten solar
#

Modify the prototypetoken? No ty

#

You can make it do that if you want

vast bane
#

yeah thats my point, how would we know if we're modding a player character or a monster npc with 30 canvas actors linked to it

molten solar
#

token.

vast bane
#

I suppose copying their tokens would solve that but I really like my warpgate macro to summon them

molten solar
#

That is all.

vast bane
#

I really want my lights in the AE lol

coarse mesa
#

ATE and Active Auras should both be core 🙉

vast bane
#

Or someone should pick them up

#

and I know the hypocrisy in that statement as someone who is not a content creator nor a contributor

#

but those modules are pretty critical gaps in the v9-v10 jump

coarse mesa
#

Fold ATE into DAE, fold AA into midi… problem solved 🤷‍♂️

vast bane
#

(And midi srd)

#

yeah there is full export/import function of dfreds ce's so if you have EM installed, presumeably the data stored in them for a macro would go with them in the export file

#

but I really want it in the ae so it carries over instead of just being on that specific actor token.

molten solar
#

Just edit the CE and give them a macro. You can do that, right?

vast bane
molten solar
#

Yeah I don't follow.

#

What is the reason you can't share a macro?

vast bane
#

Cause once you get the macro shared, you have to create the CE, setup the EM parts, and then set them as status effects. Dfreds gives you a button that does all that

molten solar
#

You can't create new CEs?

vast bane
#

so instead of sharing each macro individually and injecting them into your EM'ed CE's, you instead share the exported dfreds custom folder

molten solar
#

Can't you do that?

vast bane
#

We're in an automation channel Zhell, its about skipping the steps

violet meadow
#

Well MidiQol thread so all these .. 🤣

molten solar
#

You know the EM macros are just stored as flags on the effect... right?

violet meadow
#

🧹

#

Hahaha

vast bane
#

Although...I get the feeling export files don't append into your folder

vast bane
#

they probably replace

violet meadow
#

You create DFreds CEs with the EM included, export them

#

Done

vast bane
#

yeah, thats what I wanna do

molten solar
#

but

vast bane
#

basically doing what midi srd did in v9

coarse mesa
#

I look forward to Moto’s CE+EM sample compendium

molten solar
#

Ugghhhh

violet meadow
#

Hmm does the ATE fork have a release ready?

#

Why not try it for v10?

vast bane
#

I dedicate literally 4 hours a week to my v10 build and its first on my list so it will be soon™️ but honestly, I'll be begging zhell for the macros as I don't know shit about macro writing unless I can cut and paste and one liners are not things you can cut and paste to make lol.

coarse mesa
molten solar
#

You literally just replace data with system and move on with your life...

vast bane
#

I don't even need the presets, I just want the dfreds ce's to work and the midi srd's flags for ate to work cause I carried over midi srd in my own compendium to get around the module failing to flag for v10

#

afaik the only spells that are broke would be anything related to lighting and maybe enlarge/reduce?

violet meadow
#

What can ATE do that WG can't 🤔

#

Honest question.

vast bane
#

puts them in AE's instead of macros lol

#

ae's matter to us plebs who don't know how to write js

coarse mesa
#

WG doesn’t put handy dropdowns in the AE config. That’s my excuse

vast bane
#

UI helps immensely with useability for features in a product

molten solar
#
console.log(foundry.utils.flattenObject(token.document.toObject().light));

There's your dropdown. 😂

vast bane
#

making an active effect is 10x simpler than editing a macro

#

or making a macro for that matter

#

Also not sure if Lukas is referring to this when they say drop down but the auto complete part of DAE helps immensely to make the active effect setups alot faster and simpler, I have even stopped looking at the cheat sheets now for advantage reminder and midi thanks to it, just type message in dae for advantage flags, and such.

coarse mesa
#

Why doesn’t warpgate have a UI? 🤔

violet meadow
#

Hmm I have a way to use WG do stuff for non macro writers (my players)

vast bane
#

It does

#

its just a module you add on top of warpgate

coarse mesa
vast bane
#

I forget its name but I think its v10 only

molten solar
vast bane
#

Also warpgate does so much, too, that could be why

#

Multiple modules are utilizing warpgate aren't they? Like the wildshape module?

violet meadow
#

Yes think it as a library of predefined operations

vast bane
#

yeah

molten solar
#

That, and Arbron's, and ET.... and my world script lol

vast bane
#

Arbron's was the thing I was trying to recall thanks

coarse mesa
#

It would have to be a pretty clever UI, but it would really open things up for us non-coders

vast bane
#

man one thing I wish was fixed, is every so often, not sure why, but some ae's do not carry over their abilities icons in v9

molten solar
#

It would be literally impossible.

vast bane
#

I haven't pinned down what scenario is failing to carry it over

#

you go to make an effect on the item and its the basic icon

#

Either its an item in an editable compendium or sidebar that does it, I'm trying to replicate it

coarse mesa
molten solar
#

If you are about to say that effects default to their parent item's icon, Moto--

violet meadow
vast bane
#

Yep, its core stuff that does it

violet meadow
#

And ... Magic they are coders

vast bane
#

take a monster with any activateable ability, with DAE, edit the owned item and add an active effect, it creates with the icon of the ability as the ae's icon automatically on the owned item. If you drag that ability to the sidebar and repeat the process again, the ae gets a blank effect icon:

molten solar
#

Who wants to tell him?

vast bane
#

left is editing an owned item, right is editing a sidebar item

#

its a module doing this?

molten solar
#

AEs do not automatically inherit their parent's icon.

vast bane
#

right, my point is I wish dae fixed the core behavior

#

this is one of those cases where the dae feature of editing the owned item does the right thing

violet meadow
#

But it does, I thought 🤔

vast bane
#

not in my v9 build atleast

#

I should probably check with modules disabled to make sure, just incase tim actually reads our 300 messages while he was idle lol

violet meadow
#

Wait you create the item in the actor and give it an AE?

vast bane
#

if its on the actor, the item inherits the abilities icon, if its in the sidebar it does not

molten solar
#

shrug world script. Here you go.

Hooks.on("preCreateActiveEffect", (effect) => {
  const isItem = effect.parent instanceof Item;
  if (!iItem) return;
  effect.updateSource({ icon: effect.parent.img });
});
#

v10

vast bane
#

this might even just be a tiny typo in dae /shrug. Its just not handling the sidebar item the same way it does the owned item and compendium item

#

oh, thats probably dae right, I stupidly just did FTC with just midi on

violet meadow
#

Damn my house is a construction site right now and I cannot fire up foundry 😭
And rekt my cloud instance too 😁

vast bane
#

yeah with just midi/dae and its dependencies, an item in the sidebar, when you add an active effect, it defaults to the default icon, if you have that on an npc/pc it defaults to the abilities icon

#

I can see how some don't want the abilities icon as the end choice, but for productivity purposes, inheriting it can make life easier on most and nobody wants the blank aura icon by default anyway.

scarlet gale
#

Is there an easy toggle to stop a workflow from testing flanking? I tried setting workflow.attackAdvAttribution['ADV:flanking'] = false; in midi-qol.preAttackRoll.

coarse mesa
vast bane
#

yeah thats what I'm thinkin

#

and thats considering the fact that we're all always chastising people not to edit owned items in dae lol

#

its actually alot safer now to edit them, most of the snafu's are gone from it now

violet meadow
scarlet gale
#

Is that what that means?

violet meadow
#

I think so

vast bane
#

fwiw that is exactly what prints out in advantage reminder while flanking

#

well, probably a v10 difference there

violet meadow
scarlet gale
#

I'll have to keep digging

#

ah

#

I'm dumb

#

workflow.flankingAdvantage

violet meadow
#
async checkFlankingAdvantage(): Promise<boolean> {
    if (!canvas) {
      console.warn("midi-qol | Check flanking advantage abandoned - no canvas defined")
      return false;
    }
    this.flankingAdvantage = false;
    if (this.item && !(["mwak", "msak", "mpak"].includes(this.item?.data.data.actionType))) return false;
    const token = MQfromUuid(this.tokenUuid ?? null)?.object;
    const target: Token = this.targets.values().next().value;

    const needsFlanking = await markFlanking(token, target,);
    if (needsFlanking)
      this.attackAdvAttribution[`ADV:flanking`] = true;;
    if (["advonly", "ceadv"].includes(checkRule("checkFlanking"))) this.flankingAdvantage = needsFlanking;
    return needsFlanking;
  }
#

Yep that is from the workflow.js

scarlet gale
#

While i'm on this

#

what happens when two hooks on the workflow both try to mess with advantage?

#

Is it just set in order of being processed?

violet meadow
#

Hmmm probably

vast bane
#

maybe a system compatibility thing

molten solar
vast bane
#

my server just dropped for its morning restart, I can't pump it into dae to check

coarse mesa
vast bane
#

maybe its a compatibility thing with a module or system

molten solar
#

Ban flanking.

violet meadow
#

Probably from another system

vast bane
#

I know that someone was using SW 5e with midi last night in module troubleshooting

violet meadow
vast bane
#

that is actually stronger than just normal advantage flanking really

#

that lets a barbarian with reckless attack hit even more easily

violet meadow
#

Adv is +5 for them creators so ...

coarse mesa
#

Moto is saying you can stack advantage with +2

vast bane
#

right, but you can't get super advantage, but if you make flanking give a bonus, suddenly it stacks with advantage

molten solar
#

At that point, just remove the concept of AC.

#

All your tokens are in a conga line and no one can miss.

violet meadow
vast bane
#

@molten solar I mean, once you are in the second half of T2 in dnd5e, and you aren't a stingy DM who refuses to hand out +1 weapons and spell mod items....AC is already a joke lol

molten solar
#

What levels are 'T2' again

vast bane
#

PB 4 and up, so level 9+

scarlet gale
#

Quick fix to conga line is to give enemies lighting bolt more often.

#

¯_(ツ)_/¯

violet meadow
#

Play 3.5. +30 to attack is ez pz

vast bane
#

I honestly wish for a table that says yes to facing

molten solar
vast bane
#

And a table that embraces MMM fully would be a fun game

molten solar
#

Never. ❤️

vast bane
#

I'd use it in a heartbeat lol

coarse mesa
molten solar
#

To do the same in v9, I would need to wrap every roll. It would be incompatible with... checks list
Ah. Everything.

vast bane
#

ooooh does bab have an export/import function??

violet meadow
#

Moto go v10 without a backup. I guarantee you will never look back

molten solar
vast bane
#

I already have a v10 built, its a freak show of broken links and broken midi workflow errors

molten solar
violet meadow
#

Workflow errors?

vast bane
#

cause active auras and midi srd item macros are in my world compendiums

violet meadow
#

Whoops

molten solar
#

Didnt you say you only used AA for the paladin aura?

vast bane
#

The spells are used by the players

#

think spirit guardians, darkness, evards black tentacles

#

those are all active auras

coarse mesa
#

Cloudkill, spike growth, sickening radiance

molten solar
#

Why? 🤔

#

No

#

nvm

#

not even gonna question it.

vast bane
#

its not just that though, theres a bunch of item macros using v9 stuff

#

like the really awesome Ice Knife that Freeze wrote, doesn't work in v10

scarlet gale
#

AA one of my last holdouts for v10 upgrading

#

BaB looks like a good replacement

#

BUT

coarse mesa
vast bane
#

I don't think bab can handle the non damage stuff though, like spirit guardians movement debuff, evards applying effects, darkness applying blinded

scarlet gale
#

There are are a few things it doesn't quite replace AA well enough with

vast bane
#

can it?

molten solar
#

Praytell. Does it appear that my low-automation module is not a total replacement for a high-automation active effect radius creation tool? /s

vast bane
#

Also the sleet storm effecting conc is pretty frikkin dope niche automation lol

#

thats a midi thing though

#

but plays off active auras

molten solar
#

Ooh fun. I have a function built into CN for that. Neat.

#

Didn't even realise it did that.

vast bane
#

I got a player who used it against me in a recent bbeg fight so I got it thrown at me, burned into my memory

#

sleetstormd then magic missiled him the next turn

coarse mesa
#

Core gave us AEs. They should let them be applied via proximity 🤷‍♂️ (I’ve put my 2c in on the v11 threads)

molten solar
#

and they will.

#

Eventually.

vast bane
#

Treebeard is a foundry dev

#

I imagine things ar emuch like a train though, gotta map things out and work towards them over time

#

much better than roll20's method of throwing things out on a friday night and seeing what sticks

molten solar
#

What ever do you mean, Moto Moto. Do you have any horror stories about that? vanishes

vast bane
#

I just played in a roll20 session last night actually, my players run stuff on sundays and sometimes I join them to play in them. They just added invisible walls!

vast bane
#

I had to login to place their images cause they all have free accounts lol, then they moved them to their maps from there

molten solar
#

Next you'll tell me they have doors! 😮 🤯

vast bane
#

hmm, I dunno if they added the door button like foundry, but that reminds me of our session zero in foundry. My players were absolutely bonkers crazy about the door button

#

Also, fyi, you can make windows be doors in foundry, though they look like doors so its weird, maybe add that to the v11 roadmap

#

a window icon for invisible wall doors

vast sierra
#

better perfect advanced doors coming soon ™️ (module) /s

scarlet gale
#

Roll20 still sometimes haunts me. One of the map packs I use for the city my players are in was converted from roll20 walls.

#

Every wall is like this.

molten solar
#

Not the worst I've seen

vast bane
#

I think I've abandoned UVTT/DD2vtt files. They are so inefficient in walling

#

I had a map with 700 walls, I deleted and redid them, 158.

molten solar
vast bane
#

Yeah Macro polo saved me from a headache with the imported file that used doors as windows in dungeondraft and the house had a bajillion windows.

molten solar
#

Still my absolute favorite examples of bad walls and bad imports.

vast bane
#

yeah you had me open the doors and it fixed all the windows cause you filtered by shut doors

kind cape
violet meadow
vast bane
#

its when you add the effect the standard way, not using dae's access button yeah

#

I only use the dae button at the top when I'm looking at a locked compendium items effect

#

Yep, in v9 if you use dae's button instead, it behaves the way dae intends it to and uses the items icon for the ae, its only when you click the add button in the items effect tab while in a compendium or in a sidebar that the icon defaults back to core behavior

violet meadow
#

Well standard way maybe nowadays. Back in the day you couldn't use that 😄

gilded yacht
violet meadow
vast bane
#

Oh I don't see that, is that a v10 thing?

violet meadow
#

nope

#

Up top left, Effect Summary

#

Click on that

#

I think 99% of users have never clicked that 😄

vast bane
violet meadow
vast bane
#

oh oh oh, its item sidebar stuff again

#

the item on the character shows it, the item in the sidebar doesn't

violet meadow
#

I think it needs to actually trigger an actor change to show, but 🤷

#

So in the sidebar it probably wouldn't

vast bane
#

interesting to know though

violet meadow
# hidden swift

I just realised that I am v9-less for the time being so cannot be thorough, but will see 😄

#

Hmm wait is this supposed to work like that? ```js
"key": "macro.itemMacro",
"mode": 0,
"value": "@spellLevel @attributes.spelldc postsave",
"priority": 20

What is `postsave`?
#

Wait no2 😅
Is that v10?!

violet meadow
#

@ripe relic can you export your MidiQOL settings and DM them to me?

vast bane
#

I think its just the lack of full settings in the target

#

have you tried properly setting up the target/range stuff?

#

should be 1 | blank | Creature in the row above range.

ripe relic
#

Just tried no difference

vast bane
#

is the actor linked?

violet meadow
#

@ripe relic go to your MidiQOL settings. Workflow Settings, Rules tab and check the Optional Game Rules.

@gilded yacht in v10 the new options menus are nice, but in this case there seems to be an issue.
The Check weapon Range has been moved out to Mechanics tab, but for that to actually work needs the Optional Game Rules checked in the Rules tab (where it was before) ^^

ripe relic
#

@violet meadow THANKS! fixed 🙂

violet meadow
#

It is a bug still or better unintended I imagine 😄

ripe relic
#

Just call it a feature 😄

edgy pagoda
#

How I can disable it? How to make automatic rolls?

violet meadow
edgy pagoda
formal kindle
#

Hi!
When In turn reactions on, the saving throws button stop to show on the chat log, someone know how can I fix it?

#

Turn off vs Turn on

formal kindle
vast bane
#

Did you make the save already then it poofed?

#

there is a setting in the players and Gm tab to remove buttons after use

formal kindle
vast bane
#

version of foundry, dnd5e, midi, and are you also using ready set roll, roll groups, quick rolls by default, better rolls for 5e, or minimal roll enhancements?

#

the player has a reaction prompted to them probably

#

do they have shield and are a wizard?

formal kindle
#

yes

vast bane
#

OR you have setup LMRTFY or MTB to roll saves, and you do not have the module installed

formal kindle
#

I have LMRTFY

vast bane
#

what are saves setup to roll with

formal kindle
#

and its working with monk's setting

#

so when I choose a player and click on the saving throw

#

a message of LMRTFY jumps

vast bane
#

Not really following here, is the effect saved on hit?

#

if its automated and they are getting prompted, then the save poofs because thats just how midi works

formal kindle
#

yes it automated

vast bane
#

if you want the button to not go away for some reason, then I'm thinking no auto dlete of buttons?

#

It sounds like you just don't like the settings you have in midi, so change them. If you want the buttons to stay, don't remove them, if the save button removes because of LMRTFY or MTB, don't use that. But the setting should be set to LMRTFY if you have that, not MTB, that could also be a cause of any weirdness, but everything you've said just sounds like normal midi behavior.

formal kindle
#

sorry if I didn't explained myself correctly.

I just want that the reactions will prompt as a chat when they'll get hit, in addition, I want the button of the saving throw like in the pic, will show

formal kindle
vast bane
#

is void infused pseudopod the reaction or an attack triggering your reaction?

formal kindle
#

nothing turn on except Concertation and Reactions

formal kindle
vast bane
#

when the save shows up, its cause you are not really using it right, you have no target, so the buttons are there for you to then set a target, and click the button.

#

It sounds like you might be trying to use midi in a very limited way, are you also using another roller and that is why?

#

When you are missing the save button, its trying to make the attack normally in midi, you have a target selected and either exed out of the attack popout or it fired and you missed

formal kindle
#

I don't have any roller mod, I'm using midi for the the attack and damage merging on the message tab and for the reaction and concertation pop up

vast bane
#

Ok, then you don't need that save button, it should auto prompt on hits

#

it shows in chat, when you mistakenly have no target and auto attack fails

#

If you do not want the automation, I believe what you want to do is turn off auto roll attack and disable any target requiring.

formal kindle
vast bane
#

I stil ldon't really get what you want, but if I'm guessing right, you want target required off completely, and you want auto roll attack off for players and probably the DM

#

Lil weird to want midi just for a change in appearance of the attack card

#

the merge setting in v9 does not require removal of buttons, cause I don't use that removal setting and I still see the merged card showing the buttons. But the saving throw thing is an efect transferral setting, like I don't think thats toggleable, or if it is, its probably in the specials section and its just so automatic to me I forgot the setting existed

#

are you using the module effect transferral by chance? cause that button could also be the core roller right before midi throws it out

#

nope, disregard, the effect transferral button will say "Apply active effect" not the saving throw

vast bane
formal kindle
#

YES!!

#

thats what I needed

formal kindle
spice kraken
#

I auto roll everything as GM but only auto roll attack for players. Everything is FF and use LMRTFY for prompts

covert mason
#

How would I automate the Precision Attack maneuver? I know there are ways to prompt a dialogue box up upon a miss, which shows the attack rolled, and you can do something to grant a bonus to that roll. Are there any examples of that sort of macro?

vast bane
#

v9 only sadly

narrow saddle
covert mason
vast bane
#

Are you on v10 or something? The v9 suite of abilities by that other module is fully setup, its like the guy was playing a battlemaster its pretty sweet, everything for a battlemaster is fully automated.

covert mason
narrow saddle
#

Sure but I’ll send it direct as this is midi qol and we’ll get told off. 😂

vast bane
#

If I recall, the setup is really weird to get it working but once you got his settings right it fully automates

#

I don't think midi qol cares about whether you share a macro for midi qol or not, we sat for hours this morning talking about totally unrelated stuff

#

if anything the community loves it when folks share a macro for an ability and labels it as such, cause then its searchable and saves #macro-polo the trouble of getting asked to make it

narrow saddle
#

Ah ok, so used to getting the channel wrong and being told to move on. 😂

vast bane
# covert mason Oh, yes. I'm just checking out that module now.

if you do wind up using his setup, I believe the tricks were that you need to make sure the resource pool is setup right and you need to make sure you use his naming scheme for the subclass, and if you aren't really a battlemaster but have the fighting style/feat instead, I think you need to somehow force the subclass flag on yourself somehow to pull it off.

stoic seal
#

remind me again but is there a way for an attack to bypass resistance or immunity with midiqol?

vast bane
short aurora
vast bane
#

Also if you are not merging cards, you can use core behavior to apply damage, OR if you are using merge cards, turning on damage buttons in the main settings for midi can work on merged cards the same way

stoic seal
#

I lean towards automation

short aurora
#

#dnd5e message thatlonelybugbear made one for Cold, import it and have a looksie to see if you can amend it to yours

violet meadow
edgy pagoda
violet meadow
#

So you are looking for No Late Targeting

edgy pagoda
vast bane
#

oh does v10 have the weirdness that is two settings for late targeting?

violet meadow
vast bane
#

there is a general setting and then another inside for GM and Player

vast bane
#

make sure both spots are set to no late targeting

#

in v9 its outside the workflow button and then inside workflow button theres a setting in GM and Player tabs too

#

I think the outside setting is for client side choice

coarse mesa
#

@vast bane I was just rummaging in Github and saw Kaelad has PRs for both AA and ATL v10 compat. Does anyone know if it's possible to install those versions manually? I'm not that familiar with how Github works

vast bane
#

afaik the v10 PR for AA was able to run but has many bugs still

#

I give v10 4 hours of my time, and thats not till friday.

violet meadow
#

The Active Auras one was a bit less straightforward as it had another prereq update iirc.

covert mason
#

I'm trying to alter this Ice Knife code to only work on a natural 20, as per the Wakened Dragon's Wrath Longbow description
Whenever you roll a 20 on your attack roll with this weapon, each creature of your choice within 5 feet of the target takes 5 damage of the type dealt by the dragon's breath weapon.

How might I be able to do that?

// Midi-qol "on use"
// This spell flips between a single target and multi hit targets, then back to single target.
async function wait(ms) { return new Promise(resolve => { setTimeout(resolve, ms); }); }
(async () => {
    let actorD = game.actors.get(args[0].actor._id);
    let tokenD = canvas.tokens.get(args[0].tokenId);
    let dc = actorD.getRollData().attributes.spelldc;
    let itemD = args[0].item;
    let aoeDamage = Number(args[0].spellLevel) + 1;
    let firstTarget = canvas.tokens.get(args[0].targets[0].id);
    let distance = 9.5;
    let damageRoll = new Roll(`${aoeDamage}d6`).evaluate({ async: false });
    let damage_target = [];
    let hitTargets = [];
    let saveResult = "";
    let saveType = "dex";
    let damageType = "cold";
    let aoe_target = canvas.tokens.placeables.filter(target => (canvas.grid.measureDistance(firstTarget.center, target.center) <= distance && target.actor.data.data.attributes.hp.value > 0));
    for (let target of aoe_target) {
        let save = await target.actor.rollAbilitySave(saveType, { chatMessage: false, fastForward: true });
        if (save.total >= dc) {
            saveResult = `saves with ${save.total}`;
        } else {
            hitTargets.push(target);
            saveResult = `fails with ${save.total}`;
        }
        damage_target.push(`<div class="midi-qol-flex-container"><div class="midi-qol-target-npc midi-qol-target-name" id="${target.id}"> ${target.name}</div><div>${saveResult}</div><div><img src="${target.data.img}" width="30" height="30" style="border:0px"></div></div>`);
    }
    new MidiQOL.DamageOnlyWorkflow(actorD, tokenD, damageRoll.total, damageType, hitTargets, damageRoll, { flavor: `(${CONFIG.DND5E.damageTypes[damageType]})`, itemData: itemD, itemCardId: "new" });
    await wait(800);
    let damage_list = damage_target.join('');
    let damage_results = `<br><div class="midi-qol-nobox midi-qol-bigger-text">${itemD.name} DC ${dc} ${CONFIG.DND5E.abilities[saveType]} Saving Throw:</div><div class="midi-qol-single-hit-card"><div class="midi-qol-nobox">${damage_list}</div></div>`;
    let lastMessage = game.messages.contents.map(i => ({ itemName: i.data.flavor ? i.data.flavor : null, itemCardId: i.data._id })).filter(i => i.itemName != null).filter(i => i.itemName != null && i.itemName === itemD.name);
    let lastChatId = lastMessage[lastMessage.length - 1].itemCardId;
    let chatMessage = await game.messages.get(lastChatId);
    let content = await duplicate(chatMessage.data.content);
    console.log(content);
    let searchString = /<div class="midi-qol-hits-display">[\s\S]*<div class="end-midi-qol-hits-display">/g;
    let replaceString = `<div class="midi-qol-hits-display"><div class="end-midi-qol-hits-display">${damage_results}`;
    content = await content.replace(searchString, replaceString);
    await chatMessage.update({ content: content });
    await ui.chat.scrollBottom();
})();```
violet meadow
kind cape
#

Pretty sure the workflow has .isCritical, if you want to account for stuff modifying crit ranges

violet meadow
#

Indeed but asked about a NAT 20 so 🤷

kind cape
#

Fair point

violet meadow
#

Could also be args[0].diceRoll

#

I can see them both available

kind cape
#

Also just realized that the macro seems slightly overkill, but am not at PC right now so reworking it is too much work 😅

violet meadow
#

Seems a bit old. You will need to await the new Roll too!

covert mason
#

Bah, maybe the Ice Knife was a bad choice to cannibalize.

#

'Cause the bow doesn't require a saving throw on a natural 20.

scarlet gale
#

It works at least.

scarlet gale
#

You'll want to swap out the damage type on line 30 with whatever they have theirs set to

molten solar
#

That line-1 destructuring assignment 🤌

scarlet gale
#

As well as setup the item to have it's "Extra Critical Hit Damage" on the details set.

#

Line 33 and 34 can be removed if you don't have JB2A Patreon

#

Just noticed line 26 can be totally deleted lol

covert mason
# scarlet gale This is what I'm currently using for my player with a Dragon's Wrath weapon. I ...

I seem to be getting this error.

const {attackRoll, targets, actor, itemCardId} = args[0];
for (let i = 0; i < attackRoll.dice[0].results.length; i++) {
  if (attackRoll.dice[0].results[i].result == 20) {
    const lastArg = args[args.length - 1];
    if (lastArg.hitTargets.length > 0) {
      let targetId = args[0].hitTargets[0].id;
      let gridSize = canvas.grid.size;
      let targetX = args[0].hitTargets[0].object.x;
      let targetY = args[0].hitTargets[0].object.y;
      let allPlaceables = canvas.tokens.placeables;
      let listOfNewTargets = [];

      for (let i = 0; i < allPlaceables.length; i++) {
        let friendly = allPlaceables[i].data.disposition;
        let placeableId = allPlaceables[i].id;
        if (friendly === -1 && targetId !== placeableId) {
            let nearbyX = allPlaceables[i].x;
            let nearbyY = allPlaceables[i].y;
            let nearbyDistanceX = (Math.abs(targetX - nearbyX)) / gridSize;
            let nearbyDistanceY = (Math.abs(targetY - nearbyY)) / gridSize;
            if (nearbyDistanceX <= 1 && nearbyDistanceY <= 1) {
                listOfNewTargets.push(allPlaceables[i]);
            }
        }
      }
      let thisActor = args[0].actor
      for (let j = 0; j < listOfNewTargets.length; j++) {
        let damageRoll = await new Roll(`5`).roll();
        let target = listOfNewTargets[j];
        new MidiQOL.DamageOnlyWorkflow(actor, listOfNewTargets[j].id, damageRoll.total, "piercing", [target], damageRoll, {flavor: "Dragon's Wrath", itemCardId: itemCardId});
      } 
    }
    const sequencerFile = "jb2a.plant_growth.02.ring.4x4.pulse.GreenRed";
    new Sequence().wait(1250).sound(/Sounds/Combat/Nature/GO_7FX_Nightmaretendril_State_Open_*.ogg).effect().file(sequencerFile).atLocation(args[0].hitTargets[0].id).belowTokens(true).play();
  }
}```
molten solar
#

Quotes around the sound file.

covert mason
#

Oops facepalm

violet meadow
scarlet gale
#

Yep

#

This is a way older macro I had kicking around

gilded yacht
hidden swift
short aurora
#

Is it possible to have Midi QoL let certain players have concentration on two features, with all the attached workflow behind that?

Likewise, can I prevent someone from casting a concentration spell with Midi QoL if they are affected by a certain status effect? This one I think I can worldscript myself around midi qol if need be, just curious if it's possible

violet meadow
# short aurora Is it possible to have Midi QoL let certain players have concentration on two fe...

For the first there is an issue in MidiQol git about doing that or how to https://gitlab.com/tposney/midi-qol/-/issues/985
Edit: I was misremembering the above issue and probably mixed that one with another that was asking for concentration on more than 1 items

The second yes with a Actor onUse macro that is executed preItemRoll checks for item roll being a spell, the effect being present on the actor and aborts the workflow if these 2 are true

violet meadow
# hidden swift Yeah, I'm using V10

And so you have the Active auras fork installed for v10?
I have not used that so I am not sure if there is an issue with the module or not.
I might try later today

hidden swift
#

Probably doesn't help that I'm effectively groping about half blind with the coding side of things hehe

celest bluff
short aurora
#

I swear tposney added concentration as a tag for features already

violet meadow
#

Concentration or something like that in activation condition

#
  • Added concentration property for any weapon/feature/spell (allows you to specify that concentration should be set when rolling the item via a check box) This is in addition to the now deprecated activation condition === Concentration.
#

Yep in the MidiQOL Item Properties in the bottom!

violet meadow
unreal vector
#

Does anyone know how to add life steal to a weapon? Like the actor regains hit points equal to 1/2 or all the damage it dealt?

short aurora
edgy pagoda
#

Can I integrate a hit/miss card into an attack card?
Now I have a hit/miss card first, and then an attack card.

spice kraken
#

Maybe with the condensed card? idr

violet meadow
#

Merged cards

edgy pagoda
spice kraken
#

Is this what you want?

violet meadow
edgy pagoda
spice kraken
#

Mine is the same as bugbear bar this

violet meadow
#

Yeah I over extended the screenshot. Not a factor in these cards' appearance

spice kraken
#

Do you know what that dropdown does? I swapped to your option and with an attack under both I didn't even see a difference

long fiber
#

V9, Dnd5e: (This one may be a hard one)

I am doing a homebrew "Resilience" system based on a creatures Constitution Modifier. Resilience Points represent their ability to take significant blows (ie. being hit with a critical or critically failing a saving throw)

This is what I want to happen:
-If a creature is hit with a critical or critically fail a saving throw, they lose a Resilience Point.
-If their Resilience Points drop to 0, they gain a condition.

I am using MidiQol and Convenient Effects.

How do I set this up?

short aurora
long fiber
short aurora
#

No, but I mean, do you do automatic hit registration and failed saving throws etc.?

long fiber
short aurora
long fiber
vast bane
short aurora
# long fiber I tried-ish. The World Scripter module conflicts with something and creates a bu...

Okay, I believe the process slightly changed with setting up worldscripts (without a module) in v10 but if you search #macro-polo for worldscript, I am sure one of the gurus have answered how to set them up. If you still v9, I used this https://foundryvtt.wiki/en/basics/world-scripts article.

Essentially, you want to have a look at midi's hooks https://gitlab.com/tposney/midi-qol#midi-qol-called-hooks (or go into the game and write CONFIG.debug.hooks = true, roll a midi feature and start reading) and hook into one where the workflow is populated with what you want.

Where do you have the resilience points saved, if anywhere?

vast bane
#

also not all hooks can work with world scripter module

molten solar
#

Nothing changed about world scripts in v10.

short aurora
#

Ezpz then, follow the article

long fiber
molten solar
#

And the World Scripter module has 0 incompatibilities. It just executes macros that are stored in a compendium.

#

Any errors will be due to the macros themselves.

short aurora
long fiber
molten solar
#

However, it executes macros after the ready hook, I believe. So it cannot execute setup, init, or canvasReady.

long fiber
molten solar
short aurora
#

So those are different hooks, think of them for places to "hang" your scripts/macros on and start executing, once whatever the hook is affiliated with starts running.

long fiber
molten solar
long fiber
celest bluff
#

World script can handle all of this, it'll take a few hooks to monitor. Youll want to build each part as it's own function. I've already built something like this system with darker dungeons stress system using midi hooks

#

Crit success reduces stress and Crit failures increase stress, along with degrees +10 - 10

violet meadow
west oyster
#

hey, after the latest update my spells and features dont have a description anymore. Anyone knows what to do?

naive zenith
calm nebula
#

My automatic attack rolls are not autorolling. What am I doing wrong? Please and thank you.

spice kraken
#

What are your Workflow Settings in the GM and Player subtabs?
Also do you have any other roller modules?

#

And are all these modules (midi + dependencies) up to date

molten solar
#

I spy Active Auras, is that updated yet?

spice kraken
calm nebula
spice kraken
#

Disable AA and see if that fixes it

#

But do you have other roller modules?

calm nebula
#

Ok, doing that. I have dice installed

spice kraken
#

Dice so Nice?

calm nebula
#

Yes and a few others that work off Dice so Nice

spice kraken
#

DSN isn't a roller module

#

Let me get my pic

calm nebula
#

I don't understand the abbreviations

spice kraken
#

Better Rolls
Minimal Roll Enhancements
Roll Groups
Ready Set Roll

calm nebula
#

I don't have any of the others, except Better Rolls and that is disabled now

spice kraken
#

Yeah, BR is long since dead

#

Basically if you have one of those modules, you shouldn't have the others

calm nebula
#

So I'm still getting the boxes to roll attack

calm nebula
#

Should I disable all my other modules and start that way?

spice kraken
#

Also to be safe, show foundry version, dnd version, midi and dependencies versions

calm nebula
#

I don''t know where to find version for Midi

spice kraken
#

Manage Modules

calm nebula
spice kraken
#

libwrapper and socketlib?

calm nebula
#

Let me get those

spice kraken
#

I would also test by disabling everything but those 3, and use an SRD item to attack and test

#

Not one you made or imported from anywhere

calm nebula
spice kraken
#

Midi and dependencies are up to date

calm nebula
#

I'm currently using a mace from the SRD compendium

#

I'll disable everything else and start with those 3

#

I have libwrapper, socketlib, DAE and midi installed and still no auto attack

#

It said I needed DAE for Midi, so I put it back on

cerulean ocean
#

Does anyone know how to rewrite the base formula in Midi QOL - Challenge Mode Armor Display.

I want to change how AC, EC and AR are calculated. I want the below.

EC = 6 + prof mod (if unarmored defense proficient) + max dex allowed from Armor + shield bonus.

AC = 8 + Prof mod (if proficient) + AC bonus (= armors base AC - 10) + Shield bonus.

AR = max(0, AC - 10)
So no lower than 0

Pretty please need help. Been trying to fix this for days. I run a game later today but I still cant get this to work.

spice kraken
calm nebula
#

where is that one? I dont see it

#

DUH

spice kraken
calm nebula
#

STUPID

spice kraken
#

Nah you're learning

calm nebula
#

I didnt even see that box above the other ones... 😗

#

Its working now. That's probably all it was

#

@spice kraken thank you! You're the best

#

I found some other cool stuff that looks fun in here while searching around. Haha. I guess i can do more stuff

#

Should I remve Better Rolls for 5e entirely?

spice kraken
#

Yes

calm nebula
#

Cool I have so many, one less is great! Thanks again. You need a raise

modern badger
#

Is there an eta for .15? o3o

violet meadow
#

The 1d20 + 2 + 5 + 4 in the first roll is hidden and only the 21 is shown by default. If you click on the 21 it expands to show all the details + adv attribution if that is the case

spice kraken
#

Am I doing something wrong?

#

Or do you still need to click the roll on all options to see the formulas and all

long fiber
#

V9: How do I use the "Activation Condition" of a Passive Feature to trigger when the actor who has the feature is:
A. Hit with a critical hit,
B. They critically fail a saving throw,
C. They meet a certain HP Threshold

Note these are 3 separate conditional factors. I don't need all 3 to be true.

violet meadow
spice kraken
#

Ahh, I think I prefer default, but thanks!

violet meadow
violet meadow
#

About B. The target?

long fiber
violet meadow
#

Do you want all the activation conditions on the same Item (feature)?

#

You will need to "enable" Activation Conditions in the MidiQOL settings too

long fiber
violet meadow
#

Use workflow.isCritical || Array.from(workflow.fumbleSaves).length>0 || "@actor.attributes.hp.value">55

#

That if its a crit hit OR the target fumbled its save OR the attacker has the specific hp threshold

#

If you want the target in the last one replace actor with target

#

Let me know if that works 😄

#

Small edit

long fiber
violet meadow
#

Dropdown menu, choose Activation condition

long fiber
long fiber
violet meadow
long fiber
violet meadow
long fiber
feral kestrel
#

Hey All, does anyknow know why Kuffeh's macro doesnt work for me?

#
// Card settings - Target & range: Self
// DAE settings - [1] flags.dnd5e.DamageBonusMacro / Custom / ItemMacro.Searing Smite [2] flags.midi-qol.brandingSmite.level / Override / @item.level


if (!["mwak","rwak"].includes(args[0].item.data.actionType)) return {}; 
if (args[0].hitTargetUuids.length === 0) return {}; 

let selected = await MidiQOL.MQfromActorUuid(args[0].actorUuid); 
let DC = selected.data.data.attributes.spelldc;

for (let tokenUuid of args[0].hitTargetUuids) {
    const target = await fromUuid(tokenUuid);
    const targetActor = target.actor;
  
         const effectData = {
        label: "Searing Smite", 
        icon: "icons/skills/melee/strike-sword-steel-yellow.webp",
        changes: [
          {key: "flags.midi-qol.OverTime", mode: 0, value: `"turn=start,saveAbility=con,saveDC=${DC},damageRoll=1d6,damageType=fire,label=Searing Smite" `, priority: 20}, 
                ],
  
        origin: "Searing Smite", 
        disabled: false,
        icon: "icons/skills/melee/strike-sword-steel-yellow.webp",
        label: "Searing Smite"
      }
      await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: targetActor.uuid, effects: [effectData] });
      await ChatMessage.create({content: `${target.name} is set on fire and begins to burn!`});
} 
Hooks.once("midi-qol.RollComplete", (workflow) => {
    console.log("Deleting concentration")
    const effect = MidiQOL.getConcentrationEffect(actor);
    if (effect) effect.delete();
    return true;
})

const spellLevel = actor.data.flags["midi-qol"].brandingSmite.level;
return{damageRoll: `${spellLevel}d6[fire]`, flavor: "Searing Smite"}```
hidden swift
# violet meadow OK so I took a look and there are a few issues. Can you post a description of th...

Not 100% sure what you're after when you ask for the 'Item' description, so I'll just post what I'm trying to accomplish.
The passive aura and effects are assigned to a custom feature with an ItemMacro set up.
The feature is applied to one character (the 'caster', who is rendered immune to the effect by the macro).
The aura increases a custom ability score (cua_0) by 1 for any creature who fails a will saving throw (with a DC based on caster level).

short aurora
#

... why does it try to delete concentration o.0

violet meadow
violet meadow
hidden swift
violet meadow
#

So in combat only during the creature's turn. Alright. I will ping you after a couple of meetings I have 😁

hidden swift
#

Awesome, thanks!

sullen osprey
#

I’m not at my desk to check, but does anyone know if MIDI does anything automatically with Recharge abilities? Will it auto-roll a d6 at the start of each combat turn to see if the ability refreshes?

feral kestrel
violet meadow
feral kestrel
feral kestrel
violet meadow
feral kestrel
violet meadow
#

Hmm no idea which ones are those 🤷

violet meadow
#

What is not working? Any errors in console?

feral kestrel
violet meadow
#

Needs to be Self in the 3rd available box

feral kestrel
#

😦

violet meadow
# feral kestrel

Put in the On Use macro field in the screenshot ItemMacro case sensitive instead of Searing Smite

feral kestrel
violet meadow
feral kestrel
violet meadow
#

Ah nope that is a different smite... not searing smite! Confused by the names...

#

You need to be in combat and change turns