#MidiQOL

1 messages Β· Page 40 of 1

scarlet gale
#

It just has other modules that replace it as dependencies

molten solar
#

It used to do a lot of stuff, but then it got split into other modules. Now, when people install it, it just installs other modules instead. You can safely delete it. As per the above image, it literally has no code in it. Not a single script file.

vast bane
#

technically it might actuallly be a dependency guys, cause half their list is obsolete

tall pond
#

it wasn't ... i just disable it, and still not working

vast bane
#

I'm not saying to save it, just pointing out that they might actually have an old module that says its needed

tall pond
molten solar
#

Follow Moto's troubleshooting steps. Disable all but the 4 you need to test the issue.

molten solar
#

Also apparently Furnace installs Split Journal. That's not updated for v10.

#

Yeet!

tall pond
#

I did it...

#

Disabled all modules

#

actvate just then both

#

and

#

still not work..

#

maybe this is something with these two modules

#

some conflict in V10

#

because they worked fine in v9 together

#

i was using then

#

I am not the first... hawehaehaeh

vast bane
#

you said "Both"

#

theres 4 modules you had to have on

tall pond
#

both i mean.. midi + Token Action HUD

vast bane
#

wouldn't having socketlib off not have keys work lol?

#

you need midiqol, socketlib, libwrapper, and token action hud enabled for a true test

tall pond
#

i did it

vast bane
#

what version of foundry are you on?

tall pond
#

i try using only these modules and off course its dependeces

#

10.291

vast bane
#

Thanks for testing the new foundry for the rest of us I guess 8)

tall pond
#

hahaha

vast bane
#

post to that issue the other guy said, note that its a 291 bug

tall pond
#

haha

#

I was testing

#

it's not my "main"

#

I have another in orcale cloud

#

but i wat to change

#

so i'm testing finding a way to make it work fine on V10

#

and i Finally will up to date

#

hahaha

scarlet stump
#

hey there! I'm trying to use one of Crymic's macros https://gitlab.com/crymic/foundry-vtt-macros/-/blob/8.x/5e/Classes/Paladin/Harness Divine Power.js with Midi and everything seems to be working out until I select the spellslot to recover in the dialogue, then I get this error:

VM110953:57 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'spells')
[Detected 1 package: midi-qol]
    at spell_refund (eval at callMacro (workflow.js:1591:15), <anonymous>:57:21)
    at Object.callback (eval at callMacro (workflow.js:1591:15), <anonymous>:39:21)
    at Dialog.submit (foundry.js:55937:35)
    at Dialog._onClickButton (foundry.js:55866:10)
    at HTMLButtonElement.dispatch (jquery.min.js:2:43064)
    at y.handle (jquery.min.js:2:41048)
spell_refund @ VM110953:57
callback @ VM110953:39
submit @ foundry.js:55937
_onClickButton @ foundry.js:55866
dispatch @ jquery.min.js:2
y.handle @ jquery.min.js:2
#

not sure if it's caused by the data structure being different now that I see that 8.x

#

actor_data.data.spells[${slot}].value = actor_data.data.spells[${slot}].value + 1; could be the problem actually :v

molten solar
#

Macro's outdated, my dude.

#

I have one as well, updated for v10, on the repo if you want

scarlet stump
#

but I use midi 🀣 will yours crash my world @molten solar?

opaque current
#

Macro writer faceoff

scarlet stump
#

(I ended up fixing the above macro for v10 and learning some of the new data structure in the process, but thanks for all the links ❀️ )

acoustic jasper
#

do you have a world script for that?

scarlet stump
# molten solar This one will not. πŸ™‚

mmm weird, both the v10 crymic one and yours return this error in this world (but not in the test world for some reason, both are dnd5e system)

Uncaught (in promise) TypeError: actor.getActiveTokens is not a function
[Detected 2 packages: midi-qol, system:dnd5e]
    at getSpeaker (utils.js:1831:17)
    at Item5e.wrappedDisplayCard (itemhandling.js:1454:12)
    at async Item5e.use (item.mjs:826:22)
    at async Item5e.doItemUse (itemhandling.js:255:15)
celest bluff
#

midi on use, just go from token upwards from the workflow

molten solar
#

My macro doesn't call getActiveTokens, it has no reason to.

scarlet stump
#

yeah sorry when I say "v10" I meant I've updated your v8 macro from above to use the new data structure. It works fine in the test world but not here. I have midi set up differently (here it defaults to consume resources, in the test world it doesn't)

#

and yeah, neither macro seems to be using that, it's...weird

#

both work in the test world and fail with this error in the "actual" world

#

so weird

scarlet stump
#

10.0.15, but it's the same in both worlds

violet meadow
#

I would imagine that this first checkbox is different in one of the worlds? In Misc settings

scarlet stump
#

the only difference I can think of is midi config

violet meadow
#

But update to .23 and it will be fixed afaik

#

I guess you are using it from the character sheet without a token on the scene?

scarlet stump
#

mmm it seems to be checked in the test world as well

violet meadow
#

Yeah last version (or even a couple of previous ones) has a fix

scarlet stump
#

bingo!

#

ah nice, I'll update just in case. I'm always wary of updating this big modules cause I don't want to run into new issues lol

manic tendon
#

Is there a way to do the halfling Brave (advantage on saving throws vs. frightened) automatically? πŸ€”

vast bane
manic tendon
#

Ah, that's too bad.

vast bane
#

could probably prompt a save if the character gains the frightened condition vs the sources dc again

#

but it wouldn't be able to tell if you had advantage on the first attempt

manic tendon
#

nod Something to think about

violet meadow
#
  • Added effects (the source actors effects) to the available data in evaluating conditions, so a condition could be
    flags.midi-qol.disadvantage.attack.all CUSTOM effects.some(ef=>ef.label==="Restrained")
#

And a protip for Bugbear. Try to read the msg through

vast bane
#

wait....so advantage flags are no longer 0 and 1, they can be an equation?

violet meadow
#

They can nowadays evaluate an expression to be true or false and apply accordingly

#

0/1 are fine too for blanket effects

vast bane
#

So the example above could be changed to frightened and advantage?

#

is the effect value source or target?

violet meadow
#

I didn't read the initial question correctly.
The effects are the source actor's effects.
So the example equals to, if you are restrained you have disadvantage to all attack rolls

scarlet gale
scarlet stump
#

is there an easy way to have an attack modify a resource value on the target of the attack? In this case, I have a resource called contamination and I want to use the amount of damage certain attacks do to increase that value up to the max

opaque current
#

Could contamination be a condition and then use BABonus for the attacks recognising it?

scarlet stump
#

when you say a condition what do you mean?

#

in 5e terms? Or in the sense of a logic conditional block?

violet meadow
scarlet stump
#

no it's attacker based, IE: certain attacks on certain monsters inflict this

#

I can add the Item Macro formula to the relevant attacks or w/e

manic tendon
#

To grant advantage on saves vs. frightened

violet meadow
manic tendon
#

Ah, oh well πŸ˜…

violet meadow
#

You need to go with Chris' way

manic tendon
#

nod I'm not the DM of this particular game; is there a way to package it as part of a macro instead of a world script? πŸ€”

#

I don't suppose there's an "if feature applies/description contains [condition]" flag/operator? Heh

scarlet gale
#

This can be pretty easily done with the World-Scripter module.

manic tendon
#

Ah, I see; would it work if it was a global script and I ran it manually every time? Or does everyone need to run it?

scarlet gale
#

Pretty much any time someone triggers the midi workflow, it runs this script.

#

The script does some filtering to stop processing when it's not needed, so it shouldn't have a noticeable impact or delay.

manic tendon
#

Gotcha

scarlet gale
#

Pretty much, it checks if whatever ability is being used has a CE effect tied to it and then checks if any of the targets making the save should get advantage from a flag you set on them.

#

Setting up an actor to get advantage is a simple as having DAE apply the flag as an "On Equip" effect.

manic tendon
#

Seems very simple; hopefully I can convince the DM to install world scripter in that case πŸ˜…

scarlet gale
#

Technically it can be done as a regular world script, but world scripter makes it pretty easy add and remove stuff like this

#

Since it's just a matter of adding / removing the macro from a compendium and reloading the page.

soft arrow
#

Is there a way to set a damage type to heal one specific character? As in any necrotic damage heals instead of damages.

scarlet gale
#

flags.midi-qol.absorption.damageType

soft arrow
#

Thanks

scarlet gale
#

It covers all the flags and what they do (mostly).

soft arrow
#

Thanks, I'll look it over once I get my numbers calculated and am ready to set them. πŸ™‚

#

When that flag is set, then the immunity doesn't need to be declared as well, correct?

#

Or rather, shouldn't.

scarlet gale
#

Immunity is already taken care of on the character sheet.

#

I think it shouldn't already apply the effect if they're immune

#

Let me double check

soft arrow
#

It changes based upon campaign circumstances, so should I be setting it together with this flag or not?

soft arrow
#

Also, is it possible to halve the incoming damage as healing?

scarlet gale
#

In my setup it looks like something removes the condition already when they're set to immune

#

I think it's CE doing that, but I don't actually know.

soft arrow
#

Ok, so don't set immune with the flag.

scarlet gale
#

Set on the actor sheet.

violet meadow
# scarlet stump no it's attacker based, IE: certain attacks on certain monsters inflict this

You could do an After Active Effects actor onUse macro. Something like ```js
const targetActor = args[0].hitTargets[0]?.actor;
if (!targetActor) return;
const key = Object.keys(targetActor.system.resources).find(key => targetActor.system.resources[key].label === "Contamination")
if (!key) return;
const {appliedDamage} = args[0].damageList[0];
let copyResources = duplicate(targetActor.system.resources)
let {value,max} = copyResources[key]
value = Math.min(value + appliedDamage, max)
copyResources[key].value = value;
await targetActor.update({'system.resources':copyResources})

#

So if the attacker hits a target which has a Resource named Contamination, it will add the applied damage to the value of that resource, up to the max.

scarlet gale
soft arrow
#

Is it possible to adjust the effectiveness of healing potions?

scarlet gale
#

Like, per person?

#

Or just the item in general? Because you can just edit the healing roll in the item.

soft arrow
#

For this character.

scarlet gale
#

They need to heal more effectively?

soft arrow
#

One of my players came up with an undead toon, so I am adjusting how things work based upon how undead they are.

scarlet gale
#

Oh interesting

soft arrow
#

It becomes poison at the extreme.

scarlet gale
#

This is worldscript territory.

soft arrow
#

I have all the code for adjusting them in a module, so that would work as well, right?

scarlet gale
#

Oh sure

#

Doesn't matter how you're doing the hooks, just as long as you are.

soft arrow
#

Ok, so "hooks" territory... πŸ˜‰

scarlet gale
#

It won't cover everything, but you can hook midi-qol.preDamageRollComplete and do some crazy filtering to modify healing rolls.

#

Check if the target is that specific actor, and if so change the damage formula.

#

Keep in mind it'll only catch stuff done via midi workflows

soft arrow
#

That is good enough. I'll check with a potion at some point to verify.

violet meadow
#

@scarlet stump small edit to the macro to be a bit more readable

scarlet stump
violet meadow
#

So you can affect all attacks of the specific attacker

scarlet stump
#

ah but I actually only want some of them to do this

#

like certain spells or attacks

violet meadow
#

OK either filter them in the actor onUse or add that only to the Items as onUse

#

Depending on how many they are

scarlet stump
#

awesome I'll give it a go asap!

violet meadow
#

You can filter specific attacks "mwak","msak" etc

scarlet stump
#

do I need to change the syntax if I use it as an Items onUse macro?

violet meadow
#

nope same

scarlet stump
#

mmm it's not applying the contamination, but I don't see errors in console. Does Midi have bad interactions with this macro?

violet meadow
#

Did you run it After Active Effects?

scarlet stump
#

I see a bunch of warnings for the data structure in between This is an updateActor hook in the console when the attack hits

violet meadow
#

arggggg

#

edited

scarlet stump
#

I wonder if the problem is that I have not enabled damage to be applied automatically with midi on player characters

#

let me change that EDIT: it made no difference, reverting

violet meadow
#

give me 2 cause I am in the middle of 2 things πŸ˜„

#

Needs appliedDamage instead of damageApplied too... facepalmpicard

#

Yeah the edited one should do it

scarlet stump
#

awesome, it works!

#

I'll just add a chat message to notify the players, thanks again @violet meadow !

#

πŸ₯³

coarse mesa
vast bane
#

😎

scarlet stump
violet meadow
#

It should grab the applied damage, so if you are auto rolling damage it will be doubled

#

Otherwise you will need to choose critical on the damage card πŸ€”

coarse mesa
# vast bane 😎

teeny little bit of CSS if you want those inline buttons to blend in more 🀏

.visual-active-effects .effect-item .effect-info .effect-info-details .inline-roll, .visual-active-effects .effect-item .effect-info .effect-info-details .content-link {
    background: var(--color-text-dark-secondary);
    color: var(--color-text-light-highlight);
}

.visual-active-effects .effect-item p {
    line-height: 1.4em;
}
violet meadow
tired steeple
#

How I configure to not ask save roll from my players? Actually Midi promp if the roll is with advantage or not. We just auto roll

celest bluff
#

Though if it's in a macro, you can just write out the roll

tired steeple
celest bluff
#

It's on the main panel for Midi-QoL

#

Though I think you can just set the timer to 0

tired steeple
#

Worked very well! Thanks. I feel like a potato for not thinking about that for myself

spice kraken
#

Just going through the flags, what does the inmotion one do?

violet meadow
# spice kraken Just going through the flags, what does the `inmotion` one do?

It is for vehicles. Something for AC when moving compared to motionless ```js
const inMotion = getProperty(targetActor, "flags.midi-qol.inMotion");
if (inMotion)
targetAC = Number.parseInt(targetActor.system.attributes.ac.flat ?? 10);
else
targetAC = Number.parseInt(targetActor.system.attributes.ac.motionless);
if (isNaN(targetAC)) {
console.warn("Error when getting vehicle armor class make sure motionless is set");
targetAC = 10;
}

tardy arch
#

Can somebody point me to a good (and simple) breakdown of the Midi settings and what they all mean? πŸ˜…

vast bane
#

the readme is probably a good start

#

if something still doesn't make sense ask here

tardy arch
#

I appreciate it

scarlet gale
#

Could someone here check and see if they use a monster with an attack (with an attack roll) that also has a save roll the save when it's a player doing roll.

#

Trying to figure out if I found a weird bug and need to confirm it with someone else.

vast bane
#

So basically a player account with control over giant spider?

scarlet gale
#

yea

vast bane
#

only thing on either client that looked sus was a compatibility warning that made no sense

scarlet gale
#

ok I think I may have narrowed it down

#

a NPC that's owned by a player that isn't linked

#

attacking a NPC that isn't owned by a player and is linked

#

that has an attack that also makes them do a save

vast bane
#

hmmm

#

no issues here

scarlet gale
#

strange

vast bane
scarlet gale
#

And you're attacking as a player

#

not as the gm

vast bane
#

yeppers have two windows opened

#

only see the deprecation warning

#

save is prompted by the spider bite, and the beholder makes the save via mtb

scarlet gale
#

I might just have a bugged out npc

vast bane
#

are you on 291?

scarlet gale
#

yea

#

that break something?

vast bane
#

for a tiny build increment it sure does have alot of changes in it

#

@radiant sphinx What version of dnd5e, foundry build, dae, and midi do you have?

vast bane
#

that is not the right answer give us the numbers pls

coarse mesa
#

also, midi could be trying to apply unconscious CE... if you're using DFreds?

vast bane
#

lets get the baseline info before we start tacklin things

#

for all we know this users got dnd5e 1.5.7

radiant sphinx
vast bane
#

do you have fast rolls, roll groups, ready set roll, WIRE, dice tooltips, better rolls for 5e, or Minimal roll enhancements modules installed?

radiant sphinx
#

no

vast bane
#

navigate to your midi settings, workflow button, rules tab

radiant sphinx
#

done

vast bane
#

(that was a very quick no btw, did you check for sure?)

radiant sphinx
vast bane
#

not the rules tab, mechanics tab sorry:

radiant sphinx
radiant sphinx
#

yey ty

vast bane
#

yw

#

I have no clue what is causing the dnd5e deprecation error on my spider so weird

#

Actualy I do, Combatbooster

coarse mesa
vast bane
#

I have to find an alternative to combatbooster module, might just live with TAH. With all the createitem keys boosters constantly looking at proto actors instead of canvas actors

coarse mesa
#

well there's Macro Wheel now, and Action Pack

vast bane
#

what is action pack?

coarse mesa
#

the one Whistler just released that does a sidebar that makes TAH redundant

vast bane
#

I'm guessing both of those are patreon modules

coarse mesa
#

the one dropped at same time as WIRE but you don't need WIRE for it

#

it's free

#

hm yup Macro Wheel is premium

vast bane
#

I'll do patreon for maps and artists but not modules/code. Stuff breaks so often, I'm not paying for patches.

coarse mesa
#

I think Action Pack is a lot easier to find stuff than TAH

#

And has a hotkey to summon

vast bane
#

yeah I gotta figure out character action list, I installed it for TAH, but its turned player sheets into a god awful disaster

coarse mesa
#

The bonus actions are super easy to see with AP

#

I think I'll just install AP and folk can use that or TAH if they want

vast bane
#

I'm testing it out now

coarse mesa
#

hotkey is E.. or you can have it auto open which is good for GM

#

just a shame it doesn't slide MTB

vast bane
#

ok lil worried, not exactly what I was expecting for a TAH replacement

coarse mesa
#

but so much easier to find/see stuff

vast bane
#

That is alot of realestate usage for a few buttons

coarse mesa
#

yeah better for players tbh

vast bane
#

seems exactly like character action list on tidy5e but without the ability to minimize

#

(or popout)

coarse mesa
#

E

vast bane
#

too dramatic of a shift and not adding anything, I'll stick with TAH and figure out how to stop character action list from destroying the favorites page in tidy

scarlet gale
#

I have that module and it doesn't touch the other tab.

coarse mesa
#

TAH is def better for GMs, but I think I'll let our players choose which they want

vast bane
#

does that module that hijacks player settings let you set settings for each player individually?

#

the action list tab is a client setting 😭

coarse mesa
#

yep

scarlet gale
#

Anyone ever try to get midi to apply extra damage to only one token when editing a workflow that his multiple targets? It something like that possible?

opaque current
#

My instinct says BABonus

violet meadow
#

There are some spells, or abilities rather, which need something like that

scarlet gale
#

Yea, I figured I could do that, but I'm hoping to get it lumped together for an accurate concentration save.

violet meadow
#

I am trying to remember when the concentration save is being called. You might be able to update the dae flag for appliedDamage if that is what the concentration check checks for the needed DC.

Not entirely sure right now

molten solar
vast bane
#

is the first target the first one set as a target or the oldest token set as a target or the alphabetically first?

#

cause that could totally be doable if we could tell who that first is

opaque current
#

So you couldnt do something like Hunters Mark but with a feature that targets 3 creatures at once?

#

(1 of which is marked)

vast bane
#

only thing I can think of for this stuff would be the spirits bard thing

violet meadow
# scarlet gale Yea, I figured I could do that, but I'm hoping to get it lumped together for an ...

OK so the doMidiConcentrationCheck(actor, saveDC); is hooked on updateActor (in Hooks.js)

Hooks.on("updateActor", async (actor, update, diff, user) => {
       //...
        let hpDiff = getProperty(actor, "flags.midi-qol.concentration-damage") ?? 0;
        if (hpDiff <= 0)
            return true;
//...
        if (actor.system.attributes.hp.value <= 0) {
            concentrationEffect.delete();
        }
        else {
            const itemData = duplicate(itemJSONData);
            const saveDC = Math.max(10, Math.floor(hpDiff / 2));
            doMidiConcentrationCheck(actor, saveDC);
        }
        return true;
violet meadow
#

So will need to check when the flags.midi-qol.concentration-damage is being set and add the extra damage to it probably 🀷

molten solar
scarlet gale
#

Tried my hand at making the life channel feature from the Adept of Black Robes feat from the new adventure. Code could be cleaned up better, but for a proof of concept it works pretty well for applying extra damage to single target save spells with your hit dice.

violet meadow
#

You could use this.setDamageRoll(Roll) method to avoid rendering the damage etc

last mural
#

hey guys, do you know of a method to do a range check for a trigger? in a form of :
"Actor casts spell on target. If the target moves in his next round more than 30ft away, something happens."

coarse mesa
#

This life channel could be very timely haha

violet meadow
#

Now if you don’t want to be precise and you are ok with just the distance between start and end point, becomes easier

rocky jewel
#

hello, is it possible to use the "roll other damage" option to add extra damage in case the target has a specific alignment?

torpid kestrel
#

V10 5E: I finally got to setting up 3rd level spells and seem to be having a problem with Spirit Guardians. I am using the Spirit Guardians 10.0.10 from the midi sample compendium. It is casting and putting up the aura but mobs in the aura are not being effected. No save, no damage, no errors. I suspect I simply have something configured wrong - but would appreciate any help.

sudden crane
scarlet chasm
#

What does Create Combatant do as a expiration for an Active effect? Been wondering what that does for a while now.

vast bane
#

My guess is the slimes that split

torpid kestrel
sly eagle
#

is there a way to make dual rolls like roll20 for players?

#

i still want automation for myself

#

i dont even know how to show double chat cards

spice kraken
#

The best way to save yourself headache is to not replicate vtt A on vtt B

#

But with midi, don't think you can have the double rolls like r20

sly eagle
#

ok

#

guess ill just use fast forward for now

#

tryin to spread the good word to a r20 westmarch

honest dome
#

Just updated not to long ago to v10, and can finally look at Build-A-Bonus. Would anyone be able and willing to inform me of what benefits or advantages BaB gives when used alongside Midi that the Midi, DAE, and Active Auras suite (ect.), itself cannot.

#

From the surface it seems to build bonuses that Midi is already capable of, is it just an ease of use thing?

vast bane
#

I don't use it but have it installed just incase a premade is constructed using it. So far I've seen none.

honest dome
#

Heard, I'll just do the same them. 🍻

last mural
#

So I ditched my idea from yesterday and not use a range check. I would now want to try and go for a Chat card button for a strength check.
I am using the roll automation for midi, but i want this check to be rolled later and not immediately on item use. Ideas would be appreciated! :)

opaque current
# honest dome From the surface it seems to build bonuses that Midi is already capable of, is i...

It's pretty flexible in what it can do, and can recreate elements of those other mods in its own way. The main thing I was looking for from it is using it recreate something like Hunter's Mark, without having to rely on a bunch macros. BAB can easily let you deal bonus damage to a creature that has a certain named effect on it. It can also provide very performant auras, but I havent tried it yet.

violet meadow
last mural
# violet meadow When you say later what do you mean? You could create a chat card for the check ...

"Make a ranged spell attack against a creature within range. On a hit, the target takes 1d8 piercing damage. Until the start of your next turn, the target must make a Strength saving throw to move further than 30 feet from you. On a failed save, it is prevented from moving until the start of your turn."

When rolling the item, MIDI is automating the attack roll+damage roll. my thought was that I then still have a chat card open just for the strength save, but click it manually once the conditions are met.

scarlet gale
#

Misread that

vast bane
#

I doubt thats possible to automate that

scarlet gale
#

Shouldn't that just be a regular ol' save?

#

You can have an attack roll and save all in one ability.

#

It won't apply the AE if they succeed the save.

violet meadow
#

Make a template macro. If the target leaves the 30 ft do the save

last mural
#

hmm i see, would you have an example where i can look at a template macro so i can try to change it to my needs?

vast bane
last mural
#

ah! I might have an idea how to use it though πŸ€”
Make one spell for the attack+damage roll, If hit, apply special condition.
Make second spell with a template with a Template macro "on leave" that checks for the special condition and does a strength save when the condition is present.

there is for sure a way to make it more elegant and into just one item, but for this i would need to know how to code properly...

scarlet gale
#

Can just have it both on the same feature

#

Have the on leave template macro look for that condition

#

and if it's not there, don't prompt for the save

last mural
#

but for that i cannot use the targeting in the 'details' tab, right?
because i would need "1 target" and "30 ft radius" as targets

scarlet gale
#

Don't suppose anyone knows of any commonly used modules that have a update remote item function similar to the run as GM update effect from midi?

#

If it's just one target and they don't fail, you don't need the template at that point right?

#

I'm trying to migrate away from using advanced macros for running as GM stuff.

violet meadow
#

The issue is to apply the condition to the correct target only, which will be only one even though you put down a template

scarlet gale
#

Could have the item macro make the template.

gilded yacht
#

I suspect it is midi trying to do reaction after the save and refering to a magic item spell that can no longer be accessed, i.e. moved compendium.

violet meadow
#

So you will need to create the template pro grammatically

scarlet gale
#

yea

#

that would be a pain, but not impossible

last mural
#

yeah, guess i gotta learn then πŸ˜‚

gilded yacht
#

midi-qol asks the magic items module to get the spell and if the spell can't be fetched it throws an error. Midi should probably just ignore such cases.

scarlet gale
#

@gilded yacht I don't suppose you'd ever consider opening up workflow modifications to allow per-saved-token damage changes? Recently WOTC has been making features that are worded to only apply bonus damage to one target of something you do.

#

For example the "Life Channel" feature from "Adept of the Black Robes" feat.

#

Being able to grant advantage and disadvantage for specific other tokens doing the saves would also be neat.

violet meadow
# last mural yeah, guess i gotta learn then πŸ˜‚

Something like this could do it ```js
const templateData = {
angle: 0,
borderColor: "#000000",
direction: 32.30986326421048,
distance: 30,
fillColor: game.user.color,
hidden: false,
t: "circle",
texture: null,
width: null,
x: token.center.x,
y: token.center.y
}
const doc = new CONFIG.MeasuredTemplate.documentClass(templateData, { parent: canvas.scene })
let template = new game.dnd5e.canvas.AbilityTemplate(doc)
template.actorSheet = token.actor.sheet;
template.drawPreview()

violet meadow
last mural
scarlet gale
#

Are you making the template in the macro or just letting foundry make it?

last mural
#

i pasted the macro into an item macro and used the item.
using foundry while having a token selected got me the same result though

violet meadow
#

You always need to place the template down yourself in this case

violet meadow
#

Down to the bare minimums needed

#

And lastly, as this probably would need to move around with the caster, you can attach it using Token Attacher with something like this in the When Created ```js
let originActor = fromUuidSync(template.getFlag('dnd5e','origin').split(".Item")[0]);
originActor = originActor?.actor ?? originActor;
const originToken = originActor?.token ?? originActor.getActiveTokens()[0];

tokenAttacher.attachElementsToToken([template], originToken, false);

#

in the newTemplate you create, you will need to setFlags to make it work with Template Macro

#

So you will need to create everything programmatically πŸ˜…

#

Just realised πŸ˜„

#

Not that difficult. Create the Template macros needed on a template in Foundry. And log that template in console.
Grab the structure and use that to as input for the templateData πŸ€”

last mural
#

okay just to be sure i got this right, If i am grabbing the flag from the screenshot, I would do

const templateData = {
    borderColor: "#000000",
    distance: 30,
    fillColor: game.user.color,
    t: "circle",
    x: token.center.x,
    y: token.center.y
    flags.templatemacro.whenCreated: {asGM:false, command: 'Insert macro here.'}

?

#

or rather whenLeft, just trying to understand how to insert any flag into the template data

violet meadow
#

Dont forget the comma after ```js
y: token.center.y,

#

But I would also include the actual macro and then log the template to get the correct syntax (you will need to be escaping some characters for the syntax to be correct etc)

last mural
#

alright. I'll be taking a break for now. but thanks a lot for the help already :)

odd sable
#

is there a flag I can use for an ability to make a target vulnerable to all damage taken?

violet meadow
young owl
#

is there a midi/DAE way of doubling any HD roll? (automating Blessing of Wound Closure)

spice kraken
#

Macro would be prolly be the best way. Or you can hit the damage multiplier dropdown and change it to 2x

vast bane
vast bane
#

I personally had another reason for solving this, which was that all my heals in my world can explode on the highest die roll, so my players don't use the resting hit dice buttons, I gave them all features that roll their hit dice and consume them

young owl
#

got player features that have them chugging HD a lot, so will come up fairly regularly, so was hopeful

vast bane
#

make features and have them consume the hit dice, the only issue arrises when a player is multiclassed, thankfully my one multiclass has the same dice size

young owl
vast bane
#

personally if it were my table, I'd say fuck it and give them all the same higher dice count

violet meadow
#

If anyone wants, you can find a MidiQOL compatible Hexblade's Curse for v10 (and v9 WIP as I cannot test it by myself right now) in my github. I have started updating it...

You can find a link to it if you click on my username.

young owl
#

how do you do an effect like Halfling's Lucky?

sly eagle
#

is there a collection of community created items for midi-qol?

young owl
vast bane
#

midi srd is available in fork format

#

search for thatlonelybugbear midi srd in discord here and you will find the link

violet meadow
#

Click on my name, View Profile, there is a link to my github

#

You can find several Kandashi's modules updated for v10 compat in the pinned projects there.

dark canopy
young owl
dark canopy
#

a module, most likely, halfling lucky is coded into the system

#

but this is midi channel, so who knows

young owl
#

also where was that screenshot from?

dark canopy
#

special traits of your actor

young owl
dark canopy
young owl
#

ah!

#

was scrounging through my stuff adn cou;dn't recall where i had it set as the items didn't have effect on them, and just found the system flag AE for it

errant gull
#

Would there be a way to prevent a token from healing for a turn with an Effect? I'm looking at the new Skeletal Knight from Dragonlance, and it has an attack that prevents the target from regaining hit points for 1 round.

spice kraken
#

Maybe give them immunity to the healing damage type?

errant gull
#

That's clever.

spice kraken
#

Lmk if that works

vast bane
#

it should, thats what I do with chill touch all the time

errant gull
sly eagle
#

i was looking at your hexbldes curse, do i create an item and copy everything i see in the images?

vast bane
sly eagle
#

ok i got the json

#

i just have to copy teh picture step by step right?

#

because i see the item macro , not sure if i jst use a script macro

vast bane
sly eagle
#

should i just follow the picture then to create hexblades curse

vast bane
#

yes thats what they are there for I think

sly eagle
#

i put the macro into my hotbar

#

is that not where it goes?

vast bane
#

ok now I think I get why you are confused

#

do you know what Item Macro module is?

sly eagle
#

no but its on

#

midi-qol auto installed it

vast bane
#

on hexblades curse item, at the top bar, click item macro, if you have it set to icon only it looks like a paper I think

#

you want to put the macro in that thing

#

make sure both the DAE's are made on the item too

#

curse is roll self, the other is standard roll and apply on target

sly eagle
#

now to do this for everything else

#

do you have a library of items i can copy over for 5e feats and stuff?

#

or know of one

#

it doesnt look like midi srd has alot

#

i dont see sharpshooter forone

vast bane
#

sharpshooter is handled well by dfreds CE

#

which is part of the midi meta for module lineups

sly eagle
#

oh wow that was so easy

#

i just took an example macro from dfreds and renamed it to Sharpshooter

vast bane
#

I actually have midi auto apply it

#

all you need is a properly setup feature called the same thing

#

and then midi will auto apply sharpshooter to whatever target is setup to on the feature

#

so for sharpshooter you want it to be a self/self feature

#

name it, give it a picture, and have the player roll it before they attack and it applies it

#

Is anyone else suddenly able to edit dfreds effects even when they aren't custom???

strong yew
#

Also, there's some new new thing like midi? Is it any good?

#

I've been lost in a vortex at work for a week

vast bane
#

its more of an alternative to ready set roll I think

coarse mesa
#

I would like a full auto option before we even thought about using WIRE. Our GM would hate having to approve every roll (we’re up to 3-4 attacks per turn now)

coarse mesa
violet meadow
#

Really well rounded module though! With lots of automation potential too

coarse mesa
#

Yeah I could see it rivalling Midi for automation eventually if that’s the direction people want to take it. It would need a bugbear or two though

crude aspen
#

Does anyone have recommendations for automating spells such as Hail of Thorns which add an effect to the next time a successful weapon attack is made?

vast bane
#

If I were setting it up, I would make Hail of Thorns the spell, a self/self that applies an ae that has the macro.createitem key. Then have it add a feature called Hail attack, that fires a normal bow shot and on hit do an extra findnearby aoe dex save damage as well.

#

has anyone updated the v9 ice knife with v10 stuff?

molten solar
strong yew
#

but definitely seems very early

scarlet gale
#

You can pull the macro out of the GitHub if you don't use the module

sudden crane
spice kraken
#

That's the old one

sudden crane
sly eagle
#

sheesh

#

whats frbd

#

matter of fact , gotta go find some ytvideos of this new wire thing

#

cant find anything on WIRE

coarse mesa
vast bane
# spice kraken

I feel like BR has to still be included because it somehow installs in v10 and jjust totally screws up everything

celest bluff
spice kraken
vast bane
#

theres actually 2 fast rolls that aren't compatible but I think the other got renamed to quick rolls

#

also that new dice tooltips module breaks with midi if you merge cards

crude aspen
vast bane
#

did you leave the save on the item?

crude aspen
#

It actually seems it's making all tokens in the area roll twice, so it wasn't the issue I thought

vast bane
#

do you have 2 rollers installed?

crude aspen
#

No, I'm using just LMRTFY

#

Debug shows that it's creating two templates, only the second is getting deleted

#

Which makes me think the "two" bugs I listed are actually one, and it's looping through twice before ending concentration and the macro

vast bane
vast bane
#

have you tried changing the save setting?

#

whats it look like when you attack?

#

in chat

vast bane
#

ok for starters why is cub managing conc

#

did you accidentally paste the macro twice into the item macro?

#

and also can you share the effects tab of the hail of thorns effect

crude aspen
#

Concentrator is turned off, that message I believe is just from condition lab

vast bane
#

disable enhanced conditions and try again

vast bane
#

yeah my only guess is that either cub is stepping on things and/or you pasted the macro in twice

#

theres no WIRE, Ready Set Roll, or Better rolls shenanigans going on right?

#

oh show me the actors effect tab, you probably edited an owned item and have a glitch goign on maybe

crude aspen
vast bane
#

show the effects tab of the actor pew pewing the arrow, and double check to make sure the macros not in there twice in the item macro

crude aspen
#

Twice in the same text box?

vast bane
#

when you edit owned items sometimes you get a ghosted effect that stays on the actor, can spot it when you look at the effects tab of the actor

vast bane
#

roll the spell and show me that image again

crude aspen
vast bane
#

ok open up item macros window on the item and check and see if you have accidentally pasted the macro twice

crude aspen
#

It's pasted once in the text box

vast bane
#

can you show me this text box you speak of, you call it a strange name

crude aspen
vast bane
#

k give me a minute and I'll set it up and see if its got an issue

sly eagle
#

is midi suppposed to do damage casting sleep

#

it also doesnt divvy out the damage, just does a flat roll and gives it out to every1

vast bane
#

I personally would not waste time on that spell, players won't use it past their first time casting it, its an awful spell

#

I consider sleep and color spray great spells to cast for npc casters to help reduce the threat of the encounter by burning turns doing really bad spells

sly eagle
#

ok ill try to reset the sleep spell or something

vast bane
#

pretty sure the midi srd version works

#

the problem is that it rarely works past level 1-2

#

weird, theres no sleep spell in midi srd

#

gonna have to go fishing in mrprimates or this discords history

sly eagle
#

what do i do with lonelybugbears midi-srd? for every spell that i want to "work" i open his compendium and drag it in the actors sheet?

vast bane
# crude aspen

go back to that item details of hail of thorns, set it to an attack for action type and turn off the stuff properly

#

Clear out the damage formula and saving throw stuff

#

I think all you did was change the action type to blank

#

click minus on the damage formula and change the save to blank

#

it should look like this once you are done, then change saving throw to blank.

crude aspen
#

Those are all already blank

#

This is a fresh version of the spell, made right before I pasted the macro in

#

Just double checked

vast bane
#

the offhand error is not related

#

this is probably the problem

weary rune
#

this isn't a midiQol question but might be related. Why doesn't this macro work on a token item? it creates a new effect called TEST, detects it has the effect called TEST but removeEffect fails to work, says cannot find effect named TEST. uuid is ok.

let sourceActorData = args.length == 0 ? token.data.actorData : args[0].actor; 
let uuid = args.length ? args[0].actorUuid : token.actor.uuid;
let newEffectName = "TEST";
let hasEffect = game.dfreds.effectInterface.hasEffectApplied(newEffectName, uuid);
if (!hasEffect) {
    let effectData = game.dfreds.effectInterface.findEffectByName('Bane').convertToObject();
    effectData.name = newEffectName;
    game.dfreds.effectInterface.addEffectWith({ effectData, uuid });
} else{
console.log('trying to remove effect '+newEffectName+' from '+uuid );
  game.dfreds.effectInterface.removeEffect({ effectName: newEffectName, uuid });
}
vast bane
#

if anyones curious about the offhand thing, its another one of those oddball starter hero issues

#

it wants to add offhand to the item on the locked compendium version of the ranger

crude aspen
#

It seems like it's running through the macro several times, once through the preamble section, twice through the damage dealing section, then twice more through the preamble

vast bane
#

my first thought is maybe theres a typo in the macro instructions fr postactiveeffects

#

and its defaulting to ALL instead

#

we need one of the smaaaht guys to wake up and check it

smoky ridge
#

I can get my macro to work from the hotbar, but it wont work if I click on the item and is has the same macro name in the Midi Qol field set to before active effects
Is there a condition that is needed for a macro to run properly from the item?

vast bane
smoky ridge
#

Its my own based on a few I put together. I just want to have the active effect toggle with the FX on the token.

#

const myActor=token.actor ?? game.user.character;
const myItem= myActor.items.getName("Ioun Stone of Protection");

let stoneActive=myItem.getFlag("world","stoneActive")
if (!!stoneActive){
myItem.unsetFlag("world","stoneActive")

dnd5e.documents.macro.toggleEffect("Ioun Stone of Protection")

await TokenMagic.deleteFilters(_token);

}else{

await myItem.setFlag("world","stoneActive",1)

dnd5e.documents.macro.toggleEffect("Ioun Stone of Protection")

let params =
[{
filterType: "sprite",
filterId: "mySprite",
imagePath: "icons/commodities/gems/gem-rough-cushion-red-white.webp",
gridPadding: 1,
scaleX: 0.20,
scaleY: 0.20,
colorize: true,
color: 0xFFBB00,
inverse: false,
top: true,
animated:
{
rotation:
{
active: true,
clockWise: false,
loopDuration: 2000,
animType: "syncRotation"
},
translationX:
{
active: true,
animType: "cosOscillation",
val1: 2.0,
val2: -2.0,
loopDuration: 4000,
},
translationY:
{
active: true,
animType: "sinOscillation",
val1: 2.0,
val2: -2.0,
loopDuration: 4000,
},
color:
{
active: true,
animType: "colorOscillation",
val1: 0xFFFF00,
val2: 0x00FFFF,
loopDuration: 4000,
}
}
}];

await TokenMagic.addFiltersOnSelected(params);
}

vast bane
#

that looks an awful lot like non midi stuff for a midi on use macro

#

Someone who knows how to share the code lingo should share it to them

#
const myActor=token.actor ?? game.user.character;
const myItem= myActor.items.getName("Ioun Stone of Protection");

let stoneActive=myItem.getFlag("world","stoneActive")
if (!!stoneActive){
   myItem.unsetFlag("world","stoneActive")

dnd5e.documents.macro.toggleEffect("Ioun Stone of Protection")

await TokenMagic.deleteFilters(_token);

}else{

 await myItem.setFlag("world","stoneActive",1)
 
dnd5e.documents.macro.toggleEffect("Ioun Stone of Protection")

let params =
[{
    filterType: "sprite",
    filterId: "mySprite",
    imagePath: "icons/commodities/gems/gem-rough-cushion-red-white.webp",
    gridPadding: 1,
    scaleX: 0.20,
    scaleY: 0.20,
    colorize: true,
    color: 0xFFBB00,
    inverse: false,
    top: true,
    animated:
        {
          rotation: 
          { 
            active: true,
            clockWise: false, 
            loopDuration: 2000, 
            animType: "syncRotation"
          },
          translationX:
            {
                active: true,
                animType: "cosOscillation",
                val1: 2.0,
                val2: -2.0,
                loopDuration: 4000,
            },
            translationY:
            {
                active: true,
                animType: "sinOscillation",
                val1: 2.0,
                val2: -2.0,
                loopDuration: 4000,
            },
            color:
            {
                active: true,
                animType: "colorOscillation",
                val1: 0xFFFF00,
                val2: 0x00FFFF,
                loopDuration: 4000,
            }
        }
}];



await TokenMagic.addFiltersOnSelected(params);
}```
smoky ridge
#

yeah, I just dont know how to get both to work via the item. How do you get the code to display like that

vast bane
#

what is the point of this though?

#

ioun ston eof protection? make the item, add an ae to it that gives an ac bonus, and then also if you want a tokenmagic filter add a key for macro.tokenmagic

#

that macro seems like a macro made by someone who didn't know you had midi

smoky ridge
#

yeah, but when I do a straight item with ae, it stays on all the time, as soon as they equip

vast bane
#

hell its even in the midi srd

vast bane
smoky ridge
#

yeah, but that just adds it permanently

#

items is meant to be activated by an action

#

which is what I am trying to achieve

vast bane
#

uncheck equip:
(though I feel this is really unnecessary)

#

if you setup your tokenmagic right, it should show up in the drop down here

#

probably mysprite or sprite

#

then whenever the player rolls the item it applies, make sure they attune to the item first

#

ALSO this is one of the last remaining glaring bugs with editing owned items with DAE, so if you are trying to change this while its on the actor, don't. Move it to the sidebar or you will wind up with this:

#

you do not need any macros for what you are trying to accomplish

smoky ridge
#

Thanks I'll give it a try

vast bane
#

if you want the ae to be a toggle when they roll the item, theres a checkbox at the bottom of the details for the ioun stone

#

oh nope, can't do that with items, thats awkward

#

yeah this is why I think you should use equip not roll to toggle an item

#

the user will have to delete the ae whenever they wanna shut it off

#

think it depends on what item type you chose, I'm guessing weapons will have the toggle option

#

Yeah not sure why armor/clothing/trinkets don't get the bottom options.
If you make it any other item type you should unlock the options below.

sudden crane
# crude aspen

Sorry, I did not put enough details on the setup of the spell, the spell must be mostly empty, because the damage and the save only happens on the next attack, the damage and save is already configured in the temporary item "Hail of Thorns: Burst". Here is my spell details tab.

scarlet gale
#

Or putting it back after it's been grabbed away.

covert mason
#

I'm trying to automate Holy Weapon, and I'm using Effect Macro to achieve it by adding a Burst of Radiance item to the target's inventory on 'Effect Creation'

const objects = ["Burst of Radiance"].map(n => {
  const obj = game.items.getName(n);
  return obj.toObject();
});
const created = await actor.createEmbeddedDocuments("Item", objects);
await effect.setFlag("world", "createdIds", created.map(i => i.id));

ui.notifications.info("Burst of Radiance added to your features");```
However, I'd like the item to be used on Effect Deletion, that is: the On Deletion effect is triggered when the concentration is dropped.
```js
const deleteIds = effect.getFlag("world", "createdIds").filter(i => {
  return !!actor.items.get(i);
});
await actor.deleteEmbeddedDocuments("Item", deleteIds);

ui.notifications.info("Burst of Radiance removed from your features");```
Here, it just deletes the Burst of Radiance feature, but I'd like Burst of Radiance to be used *just before* it gets deleted.
Here's an example: Effect is added to target. Effect adds an item to target's inventory On Creation of the effect, and rolls the item.
```js
const objects = ["Astral Fists","Astral Force"].map(n => {
  const obj = game.items.getName(n);
  return obj.toObject();
});
const created = await actor.createEmbeddedDocuments("Item", objects);
await effect.setFlag("world", "createdIds", created.map(i => i.id));
ui.notifications.info("Astral Fists and Deflect Energy added");
await created.find(c => c.name === "Astral Force").roll();```
How do I do that for On Deletion?
#

@molten solar I figured I'd mention you out of courtesy 'cause Effect Macro is your Module πŸ˜…

scarlet gale
#

You might have an easier time using macro.createItem with DAE.

#

In reality, I feel like this spell is better done with a warpgate mutation on the item.

#

At any rate, you should be able to embed the item in the macro then run it when the effect gets deleted.

torpid kestrel
#

Does anyone know of an automation for applying the healing from Hexblade's Curse?

scarlet gale
torpid kestrel
#

That works

sudden crane
# crude aspen Thanks, that works really well! Just a couple things I'm working on debugging: i...

I already posted the details for the spell setup, as for the template, I did not see the problem because I was using Automated Animations, which removed it. I disabled the AA and I was able to reproduce the problem. What is strange is that it should delete it (I debugged the code and delete is called on the template) but for some reason the template is not deleted. I will have to investigate if its a problem with my code, or midi or another module.

molten solar
# covert mason I'm trying to automate Holy Weapon, and I'm using Effect Macro to achieve it by ...

How about a teaching moment where I show you how to use an item that does not exist on the actor.

On Create:

const itemData = game.items.getName("Burst of Radiance").toObject();
return effect.setFlag("effectmacro", "itemData", itemData);

On Delete:

const itemData = effect.getFlag("effectmacro", "itemData");
return new Item.implementation(itemData, {parent: actor}).use({}, {flags: {dnd5e: {itemData}}});
crude aspen
#

My assumption is that when the template gets added to the concentration details it overwrite the template from the first run, then when concentration is removed it only removes the second template

#

When you remove automated animations does it replicate the damage/save doubling bug or just the template bug?

covert mason
#

I'm on V9 if that's affecting anything

molten solar
#

Yeah, that does affect it. πŸ™‚

covert mason
torpid kestrel
#

I have the following ItemMacro. I would like to modify it so that the damage done, is also applied as healing to the item user. Any suggestions on how I go about that? V10 E5

scarlet gale
# torpid kestrel I have the following ItemMacro. I would like to modify it so that the damage do...
function checkTrait(type, trait) {
    return args[0].hitTargets[0].actor.system.traits[type].value.indexOf(trait) > -1;
}
if (args[0].hitTargets.length != 1) return;
let damage = Math.ceil(args[0].damageTotal / 2);
let hasImmunity = checkTrait('di', 'necrotic');
if (hasImmunity) return;
let hasResistance = checkTrait('dr', 'necrotic');
if (hasResistance) damage = Math.ceil(damage / 2);
if (damage != 0) {
    let sourceToken = args[0].workflow.token.document;
    await MidiQOL.applyTokenDamage([{damage: damage, type: 'healing' }], damage, new Set([sourceToken]), null, null);
}

This is the item macro I have on my vampiric touch weapon. Maybe you'll be able to adapt it for what you're doing.

sudden crane
scarlet gale
#

I personally just have vampiric touch give the player a new feature with macro.createItem with this on the weapon it gives them.

mighty raft
#

I'm curious, is MIDI QOL AC autocheck broken? It's not working for me since the update and I messed a bit with options finding nothing weird, so I was wondering if it's some option/conflict or just a bug of some kind. I also checked the workflow option as stated in the github and everything is fine, so it's not that for sure.

scarlet gale
#

What version you on for midi?

#

Mine is working fine and I'm on 10.0.23

rugged sequoia
#

@fading scarab Could pass along the updated macro for Holy Spirit and some screenshots of the spell section? It would be most appreciated. I have a Druid who just picked up Holy Spirit and Moon Beam.

undone sorrel
#

I think I vaguely remember someone throwing around a macro in here for multitarget spells that increase the number of targets with spell slots like scorching ray and magic missile, anyone have the link to it? can't find it in the search

vast bane
elder burrow
#

So... I'm working on adding Circle of Stars Druid for one of my players... and I'm not quite sure the best way to implement the Dragon Constellation, specifically, how would I replace the concentration roll with an effect or something? I know I can use 1d20min10 and wot for doing it manually, but I'd like a way to work it into the automatic midi workflow...

strong yew
#

Here's a Starry Form macro I made

#

adds items for Archer and Chalice and removes them when form is dropped

elder burrow
#

Ah... that's a bit more complete than what I'd been using... but I was just gonna rely on my player to only use the archer and chalice items when relevant. :P

strong yew
#

Yeah originally that was my plan as well, but I figured may as well make one

elder burrow
#

Looks like this needs ItemMacros and Warpgate? I have both installed but haven't spent that much time in figuring them out. ^^;

strong yew
#

It does yeah, for the mutate. Shouldn't require anything extra for warpgate. You'll just need to place this on the Starry Form feature, set it to target self, and then add the macro call to the spell details

elder burrow
#

nods

#

And also set up the subclass for the damage numbers, looks like?

#

For Chalice and Archer?

#

Not too hard.

strong yew
#

Oh, possibly yeah

#

I use ddb-importer

elder burrow
#

Does it handle the eventual flight thing for the dragon?

strong yew
#

so I think I had that set up from the import

#

Ah, not yet. I should probably update it for that. I made this for a one shot that wasn't going past level 5 so I think I opted to skip that lol

#

I'll take a look

elder burrow
#

It's alright. That's not too hard to do, I just wanted to check before I replicated any work. :P

strong yew
#

Yeah just a before active effects call on the spell

#

It does have a visual effect I thought looked nice but that can be removed as well

elder burrow
#

Well... coocoocoo... saves me some work. πŸ‘

strong yew
#

sure thing, let me know if you find any issues. I think I'll take a look at the later effects you get sometime to day

#

will ping you if I update it

elder burrow
#

Thanks. :3

viscid echo
#

I'm trying to use this: https://github.com/thatlonelybugbear/FoundryMacros/tree/main/MidiQOL_related/Class Features/Hexblade's Curse/v10

But I'm unable to find the item macro button. I have Hexblade's Curse in the features section. Is that not correct?

GitHub

Macros for Foundry VTT, mainly based around MidiQOL ecosystem for 5e. - FoundryMacros/MidiQOL_related/Class Features/Hexblade's Curse/v10 at main Β· thatlonelybugbear/FoundryMacros

vast bane
#

Item Macro is a module

coarse mesa
# viscid echo

Your title bar buttons look great. Is that from a module or just Custom CSS?

viscid echo
vast bane
#

its probably just v9 being so different looking lol

viscid echo
vast bane
#

make sure you are using his v9 version btw

viscid echo
vast bane
#

you probably have the item macro hooks turned on

#

midi only uses item macro as a storage device, you are meant to shut off the character sheet hooks hwen you install it

viscid echo
vast bane
#

configure module settings, item macro

#

personally I have every single setting option in Item macro unchecked, but specifically the character sheet hooks option needs to be unchecked or it will break midi on use

viscid echo
#

@vast bane Do you happen to know why I don't have this box on mine? I'm just missing a checkbox. I have midi and itemmacro installed now

vast bane
#

I don't know what I'm looking at

#

the top image is v10, the bottom image is v9

viscid echo
vast bane
#

what version of midi are you on

#

it doesn't matter, the top image is v10 no matter what

#

its got the uuid button to the right of the name

viscid echo
#

Midi 0.9.83

vast bane
#

believe u me, I'm the last one to poke people about v9 to v10 updating but seriously, I was a hold out, anyone taking longer than me is pretty dedicated

viscid echo
vast bane
#

BR doesn't even work right in v9

viscid echo
viscid echo
spice kraken
#

Ready Set Roll is the closest

#

Also not midi compat

vast bane
#

you don't use a replacement for BR in v10 midi

#

you learn how to use midi fully instead πŸ˜‰

#

either turn off fast forward or use the keyboard shortcuts for advantage/disadvantage

viscid echo
#

I think I'll try upgrading to v10 again. Thanks!

vast bane
#

back up first

#

and imo, don't carry over the module folder

#

use the old data module folder as a shopping list to install the v10's fresh in v10

#

save yourself a ton of headaches

#

don't carry over the system either cause its obviously getting replaced anyway

sudden crane
vestal cedar
#

I ran into an issue last night where many Overtime effects started ending after one round, even when they're coded to only end on saves. Anyone know what might cause that or what I should look into?

coarse mesa
strong yew
# elder burrow Thanks. :3

Ended up being way more work than I realized lol. Anyway this should cover all the changes in Starry form entirely.

  • added flight to Dragon at lv10, as well as a prompt at turn start if you want to change constellations that updates the effects accordingly
  • added the bludgeoning/piercing/slashing damage resistance for lv14 as well
    Let me know if you run into any issues. Did some testing at various levels and it seems to work so far as I could tell
elder burrow
#

Whoo! :o

gilded yacht
# scarlet gale <@378398557050503168> I don't suppose you'd ever consider opening up workflow mo...

There is a way to do this now. But first a little bit of background. When midi deals with a damage roll it goes through and calculates the various bits of the damage and assign the damage type for each component of the roll and creates workflow.damageDetail which is an array of {number, string} for each of the different types of damage done by the damage roll. The damage roll is then displayed and finally the damage is applied. During the damage application midi processes any resistances/Damage Reduction etc per target.

As it is doing that it calls the hook "midi-qol.damageApplied" passing the target token and item, workflow, ditem - ditem is a finalised list of all the damage being applied to that token, In addition when it has created all of the individual damage items it runs any preDamageApplication onUse macros with workflow.damageList set to the array of damage items.

Those are "live" data so you can make changes to the damage to be applied to any of the tokens. The hooks call and the macro call are awaited so you can do whatever you want in the hooks, like prompting to add damage to it.

violet meadow
violet meadow
# viscid echo Midi 0.9.83

The v9 version needs to be reworked in my repository.
I have a solution offered by Trazzm who did the testing for v9 as I have only v10 Foundry instance.

scarlet gale
vast bane
vast bane
#

look at the console?

vast bane
# vestal cedar Here is one offender

also overtime effects don't work outside of combat, did your calendar progress 1 minute or whatever the duration of the spell? What is the duration of the spell?

viscid echo
#

I'm trying to make this feature apply an effect to the actor who has the feature. However, it's not working. Are these settings right?

vast bane
#

(next box up)

viscid echo
vast bane
#

those are for things like weapons that target others and need to apply a specific ae to self also

#

if you want a feature to roll on self, make its details target self/self

#

and if you do that, no box should be checked in the first tab

vestal cedar
#

But now I'm finding I also left out some crucial commas, so gonna test again.

#

Yeah, looks like a combination of syntax errors and of the duration on the main spell card overriding whatever I put into the Midi effect.

#

Also, is there anything that would cause Midi to run an Overtime effect twice at the end/beginning of a round? I've been running into that, too.

viscid echo
#

Can someone point me in the direction of using an effect to hook into the use of a different ability? For context, I am trying to make an upgrade to the Kobold's Draconic Cry ability. I want the upgrade to add damage onto whenever the original is used. I assume a macro of some sort?

scarlet gale
coarse mesa
#

As an easy option, I would potentially just put an onUse in the first ability that triggers this item

scarlet gale
#

So do extra damage to the target if it has that effect on them?

#

flags.midi-qol.onUseMacroName Set to post damage roll. Have the macro change the damage if it finds the specific effect name on the target.

vast bane
coarse mesa
scarlet gale
#

Can just be on the same item

#

Add another effect, apply to self when rolled

coarse mesa
#

Easily, assuming they have the same number of uses (the description doesn't say otherwise)

viscid echo
scarlet gale
#

Have the original feature apply an effect to the caster that applies the on use macro

#

That macro would check all outgoing damage applications and add extra when the target has the other effect

viscid echo
coarse mesa
scarlet gale
#

Then I'm confused why not just add it to the item?

coarse mesa
#

I would just add the grants advantage effect to this new item and call it a day

scarlet gale
#

I thought it was a do extra damage to targets effected by the cry for a round or something

coarse mesa
#

I think with this upgrade, they get blasted and deafened, plus they’d get the effect of draconic cry (grants advantage for a round). So yeah, put it all on one item

viscid echo
coarse mesa
#

It’s a cool idea btw

viscid echo
sly eagle
#

can i automate midi to do +2 to attack isntead of adantage

spice kraken
#

If you know js and edit midi like crazy, sure (source code and what not)

sly eagle
#

yeah ill just use my voice

scarlet gale
#

It actually wouldn't be too hard as a world script hook.

#

Hook on pre attack, check for advantage then remove it while giving a +2 to hit

crude aspen
stark spade
#

Anyone else having trouble with the sample "Branding Smite" provided? Can't seem to get it to trigger when I hit a target

stark spade
vast bane
#

oh also it could be failing because your attack is not an mwak/rwak.

#

oh, and it also could be failing because a GM account is not logged in

#

wow this premade is a great example item for making an ae in a macro

stark spade
#

hmm... I'm using a longsword; looks like everything is filled out on it, and I'm on the GM account. Target is a basic monster with nothing special on it. I only use Midi to interact with rolls

stark spade
#

ok, it's because I am using it from a Magic item, when it's cast as a normal spell it works fine

vast bane
rocky jewel
#

hello, is someone else having trouble with the flags.midi-qol.concentrationSaveBonus DAE option? i cant seem to make it work

viscid echo
#

Is there a way to use midi to call/roll another feature when one is rolled? I was thinking of using ItemMacro to use a macro to call another feature if it exists on the actor, but I'm unsure how to hook into seeing the features on an actor

strange shell
#

been fighting with this for ages, would someone be able to help me out... I'm trying to give this feature to one of my players "You have advantage on all attacks against creatures with the dragon type. Creatures with the dragon type have disadvantage on saving throws against your spells."

molten solar
viscid echo
molten solar
#

actor.name...

viscid echo
molten solar
sacred furnace
#

How would I go about creating the following:

An on hit effect that makes the target's next attack before the end of their next turn have disadvantage?

An on hit effect that reduces a target's AC by 1d4+1 until the end of the caster's next turn?

opaque current
#

Disadvantage flag with expiry of end of next turn

#

And similar but with ac.bonus on the second thing

#

The special expiries on the effect duration panel will be the main thing

viscid echo
#

How do I call an item macro when rolling a feature? I thought that this should just do it, but it doesn't seem to work

violet meadow
viscid echo
# violet meadow is that transferred to a target, transferred to actor on equip? How do you use i...

I actually got this kind of structure from your code. I figured that if there is an effect, you can use the onUseMacroName to call a macro from the ItemMacro on the item in the player's inventory.

Ideally, I want it to be where you just roll the item from the inventory, then it runs the macro attached to that item.

Right now, the macro just prints some data to console.log, but eventually I intend to use it to run multiple other items in the user's inventory

violet meadow
molten solar
#

Emphasis on as is.

viscid echo
#

Thanks! I got it to work by calling ItemMacro.Draconic Cry using Midi Qol Fields On Use Macros in the details section.

viscid echo
#

So I'm trying to have an item on use add extra damage to certain monster types. This doesn't seem to work in the way I thought that it would. Any ideas?

From above, I saw this solution:
const diceMult = args[0].isCritical ? `${baseDice * baseDice + baseDice}`: 1; const baseDice = Math.ceil(rogueLevels/2); ... return {damageRoll: `${diceMult * baseDice}d6`, flavor: "Sneak Attack"};
But, I believe I'm just doing the same thing, so I'm unsure. Am I using the wrong hook?

scarlet gale
#

You don't do a return to edit damage

#

You want to modify the workflow

#

The documentation is a bit dated

#

Since the workflow can just be accessed at args[0].workflow now.

#

But otherwise it still stands

#

workflow.setDamageRoll(damageRoll)

viscid echo
violet meadow
#

Or that needs to be a damageBonusMacro, set with a flag
flags.dnd5e.DamageBonusMacro

scarlet gale
#

Easier to just overwrite it

#

The player will never see the difference

#

Since the change is made before it's applied / the card is rendered

viscid echo
#

I confirmed that the damageRoll is modified in console

scarlet gale
#

Did you change it to process during postDamageRoll ?

viscid echo
#

I have this, which I assumed was calling the macro on postDamageRoll

viscid echo
scarlet gale
#

Could you export your item?

#

Because it looks setup correct to me

#

It should be changing it

viscid echo
scarlet gale
#

drag it into your items folder

#

right click export

viscid echo
violet meadow
#

try without the .name

viscid echo
violet meadow
#

Any errors?
And what is the actual ItemMacro? I cannot check the item now πŸ˜„

viscid echo
scarlet gale
#

Change it to ItemMacro

#

and try this:

#
let feature = args[0].actor.items.getName("Handaxe Mastery");
if (!feature) return;
feature.use()
let workflow = args[0].workflow;
let formula = workflow.damageRoll._formula
let damageRoll = await new Roll(`${formula}+1d6`).roll({async: true});
await workflow.setDamageRoll(damageRoll);
console.log(workflow)```
#

Your setDamageRoll needed to be awaited

viscid echo
scarlet gale
#

Are you trying to make it so all handaxes get bonus damage?

#

(If they have that feature)

viscid echo
scarlet gale
#

flags.midi-qol.onUseMacroName CUSTOM macroName,macroPass

#

As a passive effect on the "Handaxe Mastery" feature.

#

Then just do some filtering on the item

#

Check it's name or weapon type or whatever the requirements are

#

You can likely just check if the item's base weapon is a handaxe or something

opaque current
#

Does tpos still have no Patreon or Ko-Fi or anything?

coarse mesa
opaque current
#

Fair enough. If ever a mod dev deserved my money...!

kind cape
#

Agreed, posney you need to give us a way to throw money at you!

vague relic
#

More of a Warpgate than Midi question, but why am I getting this error?

#

okay, so i changed "Item" to "item" and now I'm getting this

scarlet gale
#

I had that happen to me recently when I was trying to warpgate an item onto the actor the same time macro.createItem was adding one as well.

violet meadow
#

Generally, you can use token.actor.itemTypes.weapon

#

Also you are filtering multiple weapons I imagine.
You could try doing something like ```js
if (args[0] = "on" && args.length === 2) {
const params = args[1]
const targetActor = game.actors.get(params.actorId)
const targetToken = canvas.tokens.get(params.tokenId);
const weapons = targetActor.items.itemTypes.weapon;
for (let weapon of weapons) {
const updates = {
embedded: {
Item: {
[weapon.name]: {
flags: {
"midi-qol": {
onUseMacroName: + ",[preAttackRoll]LivingShieldMacro", // Must change name here too if macro name is changed.
}
}
}
}
}
}

await warpgate.mutate(targetToken.document, updates, { name: "LivingShieldEffect" })

}
}

else {return;}

#

Just to test it out

vague relic
#

the attempt to append the string in the midiqol onUseMacroName just makes it not add anything at all, and also i'm having troubles making it revert the mutation when the effect is deleted

violet meadow
#

Is there a reason that you use checks like if (args[0] = "on" && args.length === 2){}
Just grabbing lastArgs using const lastArg = args.at(-1); doesn't do it?

#

The change to the onUseMacroName, should be on the actor directly, not the item iirc

#

Either actor, or a DAE on the item which will be transferred on the actor afterwards

vague relic
violet meadow
#

Found an older example ```js
if (args[0]==="on") { //pass the token
const updates = {
token : {name: token.name},
actor: {
name: token.actor.name,
flags: {
'midi-qol': {
onUseMacroName: "[postActiveEffects]Reactive Damage",
}
}
}
}
await warpgate.mutate(token.document, updates, {}, {name: "Get close and burn"});
}

scarlet gale
#

I've always found effect macros easier when making warpgate mutations tied to an effect being created and removed.

vague relic
#

The comment I made in the start of the macro kinda breaks down my thought process

vague relic
scarlet gale
#

This way works fine too

#

But with effect macros, you don't need to worry about the whole args nonsense

vague relic
scarlet gale
#

Effect Macros has you select when to run the macro, so you can do the mutation on effect created

#

and the revert on effect removed

#

It passes you the token document already as well

#

So you don't need to do canvas.tokens.get

#

You can just do warpgate.mutate(token.document, updates, blah blah blah

vague relic
vague relic
scarlet gale
#

When you make an effect

#

there is a dialog

vague relic
scarlet gale
#

it's a module

#

I should have specified

#

The DAE method you're using is totally fine too, I was just giving options

vague relic
#

If I downloaded that module, would it be needed to run the macro should I use it to pass methods?

scarlet gale
#

If you go this route, you do the macros in the effect instead of the item macro

#

There is no args

vague relic
#

I'm a bit confused, but I think I'm alright with how I'm doing it regardless. I've run into another oddity however; the mutation to the actor's items all count as separate mutations, so I'm needing to run a revert multiple times to get rid of them all

scarlet gale
#

Yea, you'll need to make it one big mutation

vague relic
#

currently using await warpgate.revert(targetToken.document, "LivingShieldEffect" ) to do it

scarlet gale
#

Instead of doing it one item at a time

vague relic
#

I suppose that's the downside of doing it bugbear's way of for (let weapon of weapons)?

scarlet gale
#

You can still kinda do it that way

#

Have the for loop go over everything and string them all together

#

then run the final mutation outside of the loop

dark canopy
vague relic
dark canopy
#

i havent been following the rest of the discussion, just noting the issue in that one

#

but it looks like you want to create the updates object outside the for loop and add entries keyed by weapon name to the updates.embedded.Item property inside the for loop

violet meadow
#

So the question should be how does one mutate all the weapons on an actor to have a specific flag

#

That's why I imagine setting a flag on the actor itself as an actor onUse

dark canopy
#

your mutate's options arguments are off by a position

#

(async, static) mutate(tokenDoc, updatesopt, callbacksopt, optionsopt) β†’ {Promise.<(MutationData|false)>}

kind cape
vague relic
kind cape
#

Let me find it, looks like the only one I posted here was when it was still in progress

vague relic
kind cape
#
const lastArg = args[args.length - 1];
const uuid = lastArg.tokenUuid;
const hasEffectApplied = game.dfreds.effectInterface.hasEffectApplied('Eldritch Maul', uuid)
if (hasEffectApplied) return;

let effect = await game.dfreds.effectInterface.addEffect({ effectName: 'Eldritch Maul', uuid });

let actor = args[0].actor;

let relevantItems = actor.items.filter(item => item.type === "weapon" && (item.data.data.weaponType === "simpleM" || item.data.data.weaponType === "martialM"));

let mutations = {};

relevantItems.forEach(item => {
    if(item.data.range === undefined || item.data.range.value < 15) {
        mutations[item.name] = {
            system: {
                properties: {
                    rch: "true",
                    mgc: "true"
                },
                range: {
                    value: 15
                }
            }
        };
    } else {
        mutations[item.name] = {
            system: {
                properties: {
                    rch: "true",
                    mgc: "true"
                }
            }
        };
    }
});

const updates = {
    embedded: {
        Item: mutations
    }
}

await warpgate.mutate(token.document, updates, {}, {comparisonKeys: {Item: 'name'}, name:"Eldritch Claw"});
#

Its a bit messy, but it basically does Eldritch Claw

violet meadow
#

But fotoply seems to be on the money. v9 though

#

ah lol not v9

#

has a bit of both πŸ˜„

kind cape
#

Should be updated, works for my V10 player, might have forgotten a key though πŸ˜›

#

Also its messy, could be moved to use on/off as well as the relevant items filter can be done much simpler with the itemTypes

#

But this was written a long time ago and I never went back to revise it

dark canopy
#

if(item.data.range === undefined || i think item.data.range will always be undefined

#

if( (item.system.range?.value ?? 0) < 15)

sly eagle
#

can i talk about WIRE here

violet meadow
#

I would suggest #dnd5e as MidiQOL and WIRE are not compatible

spice kraken
frigid pelican
#

Is there a way I can hide the description info from players? Using Midi QOL I've figured out how to just display it as hit/miss and they can see the total damage on a hit, but it's been problematic quite a few times they can read the entire description on the attacks and it's given away some cool plot points. Any tips would be great thank you!

spice kraken
#

You want it hidden for players but visible for dm?

frigid pelican
# spice kraken You want it hidden for players but visible for dm?

Yes if possible. Most important is text hidden from players. If I myself need to double click a sheet to check something that's fine, I just don't want them to see all that text. And with hundreds of monsters it's not really viable to one at at time delete all of it haha

spice kraken
#

I can think of 2 solutions, both may not be helpful for you.

  1. Midi > wokflow > misc (I'm on v9 so idk if it's changed in v10) > any option that doesn't include NPC
#

But obv that removes the npc ones completely

#
  1. Make your rolls always private GM roll (players won't see anything then other than damage application from your rolls)
frigid pelican
frigid pelican
coarse mesa
#

Hi @gilded yacht – I just tried out your Emboldening Bond pre-made and it’s genius! Just wondering if it’s possible to still show the first DSN roll? Our group thinks the dice rolls are legit πŸ˜†

last mural
#

When I have an Effect origin on an active effect, how can I access it from an effect macro?

violet meadow
#

effect.origin?

last mural
#

oh it's that simple? kinda feel stupid understanding data structures πŸ˜…

violet meadow
#

Its not MidiQOL specific.
You will need to know which arguments effect macro module makes available to the user.
Take a look at the effect macro git. It has a really detailed readme

scarlet gale
#

effect macro let's you just do origin

molten solar
#

In Effect Macro, effect.origin is the uuid as always, origin is the actual document (if found)

vernal palm
#

Hi. I need step by step (explain it to me like I'm 5) instructions on how to integrate Lay on Hands with MidiQOL. All the instructions I find say "just use MidiQOL" and some script, but I really don't know what I'm doing. Please?

violet meadow
#

Joking aside, have you imported the item from the sample items compendium?

molten solar
#

called it

violet meadow
#

There is a small addition on the Item's description

vernal palm
violet meadow
vast bane
#

can you show us what is going wrong with it when you use it?

#

the steps are pretty simple, things that you have to do with all items, link its consumption

vernal palm
#

*anything

vast bane
#

do you have item macro installed?

#

to be clear, I'm not telling you to install it, I'm asking if it exists to fix it

#

@vernal palm ⬆️

vernal palm
vast bane
# vernal palm

do you have the module called Item Macro installed in your game?

vernal palm
vast bane
#

ok thats a yes, go to configure settings, and find Item Macros settings and show us the settings for Item Macro

vernal palm
#

Yes

vast bane
#

you also have redundant modules installed, is that Magic Items AND item with spells? just use Items with Spells Module

vast bane
#

uncheck that setting, and you should be good to go

vernal palm
#

Ok. Thank you. And I will uninstall one of magic items and items with spells.

vast bane
#

make sure you hit the save changes button and not the close button

#

if you already use Items with Spells then magic Items module is very very lacking in functionality vs the other module

#

the only reason I'd keep it around is if your players sheets have a dozen complex premade items made, otherwise Items with Spells is just better

#

It might be wise if you don't want to recreate any of the items, to go into them and uncheck the magic items module box in them so the flag shuts off, cause modules like Tidy5e still pickup the MIM flag and falsely flag them as yellow when you don't have the module installed anymore.

vernal palm
#

I don't have players with complex premade items. I'll just stop using the magic items module.

vast bane
#

let me know if it still fails to work but that should be the cause of it doing nothing when trying to roll it

signal kettle
# violet meadow There is a small addition on the Item's description

Important side note that took me FAR too long to figure out. This macro doesn't work with NPC paladins because they don't have that primary, secondary, tertiary resource on the first page of player sheets. So if you want a friendly/npc pally with loh, use a player sheet to do this

vernal palm
#

It works now. Thank you so much for your help. I really appreciate it.

molten solar
vast bane
#

I'm sure there are other reasons to do that Zhell, but this is just one of the only times its actually shown up as a confusing thing in my world, cause I had just uninstalled MIM without dealing with the premades, then went to the existing premades and made them Items with Spells, and then my players got confused by why tidy5e was color coding some magic items but not others. What I did, just cause I didn't wanna burn peoples time with such a simple task, was just reinstall it, go to the offending items and uncheck the box.

#

I bet you modules like Better Rolls for 5e have a ton of flag data sitting in peoples worlds

#

I wonder how much data that stuff takes up?

molten solar
#

Some.

#

For very, very old characters, I'm sure it can be a lot. Generally should not be a concern, though.

#

And BR definitely. That module saved enormous flags.

scarlet gale
#

I wound up making totally new characters for all my players when I updated to v10

#

To avoid having old junk flags on their sheets

vast bane
#

is there a way to vew just flags on an actor? in the console?

scarlet gale
#

I found one of my players somehow had a midi disadvantage flag for strength checks that was just set on the actor somehow

molten solar
#

There's a handy helper, somewhere, to find all valid module ids. You can use that to nuke all invalid flags.

violet meadow
#

_token.actor.flags

vast bane
molten solar
#

There are some module devs who seem to... not know that they are supposed to use their module id as the flag scope though.

vast bane
molten solar
#

Could find all ids of all installed modules, not just active ones.

vast bane
#

suppose I could turn them all on for the macro

#

I got a rogue cub entry that constantly fires in live play, I really need to figure out how thats happening when virtually everything is off in cub

violet meadow
#

Ah dont forget about token.document.flags too

scarlet gale
#

Do those stick around when you drop a new token down?

vast bane
#

would you guys know how to figure out a modules name when the foundry console calls it something other than the official name?

#

actually oddly enough googles smart enough to figure that one out

#

Enhanced combat hud is Argon

molten solar
#

Each module has their id in their Foundry URL, not their title.

violet meadow
molten solar
#

Just nuke it all

violet meadow
#

Not using 50% of the modules

scarlet gale
#

That's very surprising

vast bane
#

for me its automated polymorpher, argon, and splatter, not really an issue I don't think.

molten solar
#

... why is there an about-face flag. Why does it need to remember that

violet meadow
#

I have no idea...

vast bane
#

I don't think polymorpher was rippers module, wasn't that the other one with the name like his?

violet meadow
#

That one has seen 3 version updates iirc

molten solar
vast bane
#

how do you have token hud wildcard flags on a player token lol

scarlet gale
vast bane
#

I used warpgate for all their image changes for the players

#

wildcard I used for npcs

#

actually not warpgate, ATE

scarlet gale
#

That's specifically a module that lets you change the wildcard token from the right click menu on them

violet meadow
#

So 13 out of the 20 or 21 flags are from modules not active or not installed

molten solar
#

do it pitchfork

violet meadow
#

oh no I love this token.doc, holds so many memories

molten solar
#

Let it go, man

violet meadow
#

For others this will nuke everything... not ideal, don't use it at home

molten solar
#

Nice

violet meadow
#

I would go through active modules and exclude corresponding flags to be safe

molten solar
#

pictured: smol

#

This is just active modules, though. Not installed.

violet meadow
vast bane