#MidiQOL

1 messages · Page 70 of 1

vast bane
#
let i = 0
while (!token.actor.items.getName("Scorching Rays") && i < 3000) {
    console.log("Waiting for Scorching Rays item to be created, if needed!")
    await warpgate.wait(250)
    i += 250
}
const item = token.actor.items.getName("Scorching Rays")
const {castLevel} = effect.flags["midi-qol"].castData;
if (castLevel > 2) await item.update({'system.uses.value':castLevel+1,'system.uses.max':castLevel+1,'system.uses.per':'charges'})
#

right in my macro I modify that exact usage

#

yes but ignore all that and look at what I just shared

#

none of that matters his item is not made fully

#

you either need an effect macro or a DAE macro and if you go dae route, you will have to sus out how to do it that way cause I went with effect macro cause its easier

#

first funcion is a pause cause depending on where your temp item is stored there can be a delay before it arrives on the sheet, though I think its technically not needed

#

the rest is the updating of the feature based on the spells level

#

swap the name in blue for your spell, not sure if the equation is right for charges

#

Line 2 is looking for the item name in the effect value, which is the name of the item in midi sample items in the features folder.
Line 3 needs to have the spell name swapped out for flavor about melfs
Line 7 needs the feature name again
Line 9 you probably have to figure out the math and adjust the 2 and the castLevel+1's according to your spells scale.

#

no it has nothing to do with that, in my image above I showed you how to use Effect macro(a module)

#

on the first tab of that effect, when effect macro is installed and enabled, you can make an on creation macro, and paste in my macro above, but do the changes I said

#

alternatively, you can not automate the spell, and get the dnd5e version

#

Which is probably just called Minute Meteors

maiden gale
#

Sorry I'm confused because I don't think you ever said I needed that module 😅 .. so I need to get that first?

vast bane
#

And I did:

maiden gale
#

You didn't say I need to download a module though lol

#

Doesn't say it in that image at least

#

I think I'll look for help elsewhere. thanks for your time.

hot flower
#

ok, this is kludgey as hell, and it doiesn't really work, but this is a second itemMacro on @scarlet gale's darkness spell: ```js
console.log("args[0]: ", args[0]);
let darkTemplate = await fromUuid(args[0].templateUuid);
console.log("darkTemplate:", darkTemplate);
let darkChanges = {
"visionLimitation": {
"enabled": true,
"sight": 0,
"detection": {
"blindsight": 0,
"devilsSight": null,
"echolocation": null,
"seeInvisibility": 0,
"senseAll": 0,
"senseInvisibility": 0,
"feelTremor": null,
"seeAll": null
}
}
}
await darkTemplate.update(darkChanges);

vast bane
#

I always panick when trying to at chris since theres like 30 of them on here lol

hot flower
#

now, when I run it, I get this:

scarlet gale
#

Line 4

hot flower
#

so, not quite sure how to fix that, but it's def possible to set the perfect vision flags

scarlet gale
#

you have the same name

#

change darkChanges to updates on line 4

#

then at the bottom

#

await darkTemplate.update(updates);

hot flower
#

oh, and I see i had pasted the macro twice ... dug.

#

hm. that doesn't throw an error, but it also doesn't seem to do anything to the template.

scarlet gale
#

what's your current macro?

hot flower
#
console.log("args[0]: ", args[0]);
let darkTemplate = await fromUuid(args[0].templateUuid);
console.log("darkTemplate:", darkTemplate); 

let updates = {
    "visionLimitation": {
        "enabled": true,
        "sight": 0,
        "detection": {
            "blindsight": 0,
            "devilsSight": null,
            "echolocation": null,
            "seeInvisibility": 0,
            "senseAll": 0,
            "senseInvisibility": 0,
            "feelTremor": null,
            "seeAll": null
        }
    }
};

await darkTemplate.update(updates);```
#

oh i think i know. the data structure isn't right. I need to add flags.perfect-vision... etc.

scarlet gale
#

Just released an update with some artificer stuff

hot flower
#

and here you go. ```js
console.log("args[0]: ", args[0]);
let darkTemplate = await fromUuid(args[0].templateUuid);
console.log("darkTemplate:", darkTemplate);
let updates = {
"flags": {
"perfect-vision": {
"visionLimitation": {
"enabled": true,
"sight": 0,
"detection": {
"blindsight": 0,
"devilsSight": null,
"echolocation": null,
"seeInvisibility": 0,
"senseAll": 0,
"senseInvisibility": 0,
"feelTremor": null,
"seeAll": null
}
}
}
}
}
await darkTemplate.update(updates);

#

set up on the darkness spell like so:

scarlet gale
#

You can just append if after my item macro if you really want

hot flower
#

Doesn't touch your code at all.

scarlet gale
#

the code is one line cause it's all funneled to my module

coarse mesa
scarlet gale
#

It's all stuff that's been on my github

#

Just properly setup to be drag and dropped

coarse mesa
#

Yeah I think I've only ever gone directly to specific pages on your git, never had a rummage around

hot flower
#

this was a fun little project. Thank you, @scarlet gale for letting me hack at it.

scarlet gale
#

Just wait until I get to the monster features

#

I have a ton that aren't on my github since they don't really need macros

coarse mesa
#

I did wonder if you should be using names like 'Raulothim' and 'Tasha'... I guess carry on until you hear otherwise

scarlet gale
#

Just names of the spells

#

No descriptions

#

So it shouldn't be an issue

coarse mesa
#

Yeah, SRD doesn't use character names in spells, idk why exactly

vast bane
#

Tim has Melf for instance

scarlet gale
#

SRD spells actually have alternate names because they're in the SRD

#

Like Tiny Hut

#

instead of Leomund’s Tiny Hut

spring hornet
#

Somewhere in a module, I think it's MidiQOL? I have a setting that sets an expiring effect as inactive instead of deleting it. I can't find where that setting is and I'd like to change it for some testing. Anyone know where that is?

spring hornet
#

That's it! Times Up. thanks.

vast bane
#

the presence of that module causes the effects to start to remove instead of suspend

spring hornet
#

This is what I was looking for

hot flower
fringe crag
#

hello,

how would you set up Booming blade to include the initial weapon damage and the "damage on movement" effect?

#

thinking about creating an always hitting effect for the Movement damage

#

and putting it in as feature or extra cantrip

scarlet gale
#

The ddb importer has a good macro for that already.

vast bane
#

isn't there a hook for movement in dae special durations?

#

you could pare that with an effect macro on deletion

#

or just use Mr. Primates lol

fringe crag
#

I'll test the ddb one real quick

#

alriiight, setting it up isn't as quick as expected

vast bane
#

looks like it uses sequencer too

#

and DAE

#

best stored as an item macro but if you don't have that module should be ok as a folder macro call

fringe crag
#

yea I have NOTHING bought on ddb. let's see how far I get with SRD

#

had to extract the cookie and stuff before teesting

vast bane
#

it has nothing to do with that module

#

though I should share this:

Sources of premade stuff for Midiqol:

Midi Sample Items Compendium(comes with the module)

Midi SRD's compendiums
https://raw.githubusercontent.com/thatlonelybugbear/midi-srd/master/module.json

More Automated Spells Items and Features compendiums
https://foundryvtt.com/packages/more-automated-spells-items-and-feats

Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros

Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros

Chris' Module form of his macros:
https://foundryvtt.com/packages/chris-premades

Activation condition examples by ThatLonelyBugbear
#1010273821401555087 message

#

the good thing about having his module is you don't have to fuss with the items setup cause he only shares the macro here, so you have to kinda guess at what the item looks like

fringe crag
#

ah lame. I just installed all the stuff for ddb. Misunderstood

#

thanks that worked

spring dove
#

I'm sure this has been asked before. Can someone help me program the Lightning Javelin? It needs to be a ranged weapon weapon attack that deals 4d6 lightning damage on hit and creates a 5 ft line between the user and the target that prompts a DC13 Dex save against 4d6 lightning damage for half which excludes the target. What would be the best way to do that?

scarlet gale
#

I have that on my github

scarlet gale
#

Not yet lol

#

The ddb importer macro is pretty similar to the one I have

fringe crag
#

but I need tashas on ddb for it or not?

vast bane
#

if you want to make it yourself you can, then add the on use macro onto the item

spring dove
fringe crag
#

and what can I do that This: looks better in chat than this:

#

I mean it works but it looks bad this

vast bane
#

where did you get that?

#

looks like a copy and paste from roll20 hehe

#

oh thats not a midi item for sure its using custom flavors which is naughty in midiqol

vast bane
#

on use macros that are stored in item macro

spring dove
#

When I put that macro into the Lightning Javelin itemmacro and use it, it just makes a tiny template.

fringe crag
vast bane
#

if you are freshly installing Item Macro make sure you turn off its character sheet hooks in its settings

fringe crag
vast bane
#

looks probably like a roll20 importer lol cause foundry scales a different way

fringe crag
#

i figured after seeing the aftermath in chat. lol

vast bane
#

you can just put the base item damage and then set scaling to cantrip

spring dove
scarlet gale
#

I'm actually half convinced the ddb javelin of lightning that was just added is just mine with the external API calls swapped out

vast bane
# spring dove

Mr.Primate doesn't really chime in here, you may want to use chris's since hes here and can translate how to set his up

scarlet gale
#

The variable names are all the same lol

spring dove
#

gotcha

scarlet gale
#

It's just an item macro

#

set to postDamageRoll

vast bane
#

ah yeah that'd screw up things

fringe crag
#

instead of "linking" it to my equipped weapon. if that is even a possibility

vast bane
#

if I was making it I'd do it that way

fringe crag
#

oh. that's smart not making it a whole attack just amplifying the next one.

vast bane
#

the pally smites do that, the bonus action spells

#

does it not do that?

fringe crag
#

I got the macro to work, but now it messes up chris' flourish macro. :/

scarlet gale
#

yea, multiple things trying to modify a workflow don't work out well

fringe crag
#

yea, it gives me the flourish movement buff. But normally I should only get it after taking the attack action and BB doesnt count as attack action. But maybe I just ignore the 10 ft movement for the BB automation

vast bane
#

a bard using those two cantrips

#

did they magical secrets them?

scarlet gale
#

Oh

#

I see what's going on

fringe crag
#

Hexblade dip

scarlet gale
#

the macro makes it's own attack roll that's still getting counted as a melee weapon attack

#

instead of a melee spell attack

#

I need to look at how the feature is phrased

vast bane
#

booming blade and gfb are melee weapon attacks

scarlet gale
#

yea

#

It's how my macro for blade flourish is detecting making an attack

#

it's just checking the attack type without considering if it's something that doesn't actually take the attack action

#

I can put in a dumb fix for it and exclude booming blade and green flame blade attacks

fringe crag
#

is it dumb if it's working? 😄

scarlet gale
#

Next release will work-around that

violet meadow
#

@proper siren Do you fast forward rolls in MidiQOL?

stuck eagle
#

What's recommended for summoning spells like Conjure Minor Elemental?

violet meadow
#

Warpgate module and a macro

coarse mesa
#

If you want something that vanishes when you lose concentration then Flaming Sphere might be a good starting point?

vast bane
coarse mesa
#

There are modules that leverage Warpgate that can help to varying degrees... Arbron's Summoning, Automated Evocations – the latter is better for conjure type spells

vast bane
#

I have a macro that prompts for any actor in your sidebar and crosshairs it in

violet meadow
#

Yeah Automated Evocations help alot

coarse mesa
#

It does the number per CR thing well

violet meadow
#

Should I actually write something now or watch the Bad Batch? Hmm 🤔 😅

vast bane
violet meadow
#

Oh the Tactical Grid 😄

#

Why did you drop the poor Commoner in between 😄

vast bane
#

Hey, my eyes are up here ⬆️

#

the rest were player campaign toons and I panicked in the video

#

I wanna change it to an open dialog where I can just fuzzy say the name and get an actor

#

kinda how your module works

coarse mesa
#

dig down api can prob do that

stuck eagle
#

Looks really cool.

#

That's a module called Master Summoner?

vast bane
#

its half a macro badger shared to me

#
/* Collect all actor names in the world */
const names = game.actors.map( actor => actor.name )

/* Prompt for target form */
const results = await warpgate.menu({inputs: [{type: 'select', label: 'Choose who to summon', options: names}]}, {title: 'Master Summoner'});
console.log(results)
/* if cancelled, bail */
if(!results.buttons) return;

/* get desired actor */
const targetActor = game.actors.getName(results.inputs[0]);

await warpgate.spawn(results.inputs[0]);
#

message at the top is prolly inacurate

violet meadow
#

You can re-create the same macro more of less for the Conjure Minor Elementals

#

But I think that there is already one such example in the Warpgate Wiki

vast bane
#

make a folder for them and point to the folder instead of all sidebar actors

violet meadow
#

Nah, from a compendium ( Monsters (SRD) ) directly, filtering for type Elemental and CR < 2

violet meadow
proper siren
violet meadow
# proper siren Hey! Nope I do not

ohh so then different solution!
v10?

Ah it seems that Babonus Ability Checks are coming soon, so that one for non fast forwarding MidiQOL users should be doable afterwards

violet meadow
#

It might need some freshening up, but take a look and see what you can make out of it for now 😉

proper siren
#

We're talking about the emboldening bond piece right? So there's a module coming that can help with it? I tried a few things with active auras but couldn't get it to work to specify the bonded users

violet meadow
digital lagoon
#

Hey all, just wanted to check in if there’s been like a best-working-combo update re: dnd5e/midi/dae? Right now I’m rocking the 2.0.3/10.0.24/10.0.14 dnd5e/midi/dae setup Moto pointed to as the most stable a couple weeks ago which is stable but if things are clear to let things go to current builds I’d like to catch up before I jump back to my 5e games. I knew y’all would be the crew to ask.

violet meadow
# proper siren Amazing, thank you!

World Script (can be included as a script macro in the World Scripter module's compendium) ```js
function _preRollAbilities(actor,config,abilityId) {
if (!actor.effects.find(eff=>eff.label.toLocaleLowerCase().includes("emboldening bond"))) return;
const used = foundry.utils.getProperty(actor.flags, 'midi-qol.EmboldeningBondUsed') ?? false;
if (used && game.combat && used === ${game.combat.uuid}-${game.combat.turn}) return;
const token = actor.token?.object ?? actor.getActiveTokens()[0];
const findEffect = MidiQOL.findNearby(null,token,30).find(t=>t.actor.effects.find(eff=>eff.label==="Emboldening Bond"))
if (!findEffect) return;
config.parts.push("1d4[Emboldening Bond]")
if (game.combat) actor.setFlag('midi-qol','EmboldeningBondUsed', ${game.combat.uuid}-${game.combat.turn})
}
function _preRollAttack(item,config) {
if (!item.actor.effects.find(eff=>eff.label.toLocaleLowerCase().includes("emboldening bond"))) return;
const {actor} = item ?? {};
if (!actor) return;
const used = foundry.utils.getProperty(actor.flags, 'midi-qol.EmboldeningBondUsed') ?? false;
if (used && game.combat && used === ${game.combat.uuid}-${game.combat.turn}) return;
const token = item.actor.token?.object ?? item.actor.getActiveTokens()[0];
const findEffect = MidiQOL.findNearby(null,token,30).find(t=>t.actor.effects.find(eff=>eff.label==="Emboldening Bond"))
if (!findEffect) return;
config.parts.push("1d4[Emboldening Bond]")
if (game.combat) actor.setFlag('midi-qol','EmboldeningBondUsed', ${game.combat.uuid}-${game.combat.turn})
}
Hooks.on("dnd5e.preRollAbilitySave", _preRollAbilities)
Hooks.on("dnd5e.preRollAbilityTest", _preRollAbilities)
Hooks.on("dnd5e.preRollSkillCheck", _preRollAbilities)
Hooks.on("dnd5e.preRollDeathSave", _preRollAbilities)
Hooks.on("dnd5e.preRollToolCheck", _preRollAbilities)
Hooks.on("dnd5e.preRollAttack", _preRollAttack)

#

And the ItemMacro in the Emboldening Bond should be just this line to take care of the flags when the spell expires ```js
if (args[0] === "off") return fromUuidSync(args.at(-1).tokenUuid).actor.unsetFlag('midi-qol', 'EmboldeningBondUsed')


Known limitations: If more that one casters use Emboldening Bond at the same time, surprises are to be had 😄
It can be re-worked to get the origin of the effect and make it more robust, but for now it should be fine
violet meadow
digital lagoon
vast bane
#

29 midi is pretty stable and dnd5e 2.1.4 is doing fine for me

violet meadow
#

10.0.30 needs a couple of small edits, as it will not roll damage or end turn currently 💪 in some cases

scarlet gale
#

I've not noticed anything too crazy on the newest version of midi

#

What part of end of turn is bugging out?

#

If you check and uncheck no full cover it appears to avoid the weapon damage bug

violet meadow
#

utils.js:1907 ```js
if (item?.flags.midiProperties?.ignoreTotalCover && item.type === "spell")

#

And utils.js:3512 needs to be const combat = fromUuidSync(data); instead of const combat = fromUuidSync(data.combatUuid);

#

It calls a function export async function gmExpirePerTurnBonusActions(data) when there are optional flags present on an actor

#

Then it just breaks End Turn

vast bane
#

tims doin something hehe

scarlet gale
#

Ah

violet meadow
#

Ah 10.0.30 is up again 😄

scarlet gale
#

I'm on .29 it appears lol

violet meadow
#

Yeah let me know.

#

Saves, ability checks, skill checks and attack rolls get a 1d4 extra once per turn

#

Should all of these get it? Not clear on that

proper siren
#

I don't think skill checks do but let me double check

violet meadow
#

Also death saves and tools?

#

Initiative?

#

so many hooks!

proper siren
#

So so many

vast bane
#

my idea for the level 6 upgrade is a reaction gifted by macro.createitem that lets the reacter shield themselves from damage and then nuke the bonded ally for the same amount and move them to within 5ft of them

violet meadow
#

That is a tomorrow problem 😄

#

But I want to try to inject the reaction

vast bane
#

I already have the reaction and damage reduction, need to remember where that cancel workflow reaction is I never bookmarked it

proper siren
#

yeah attack roll, ability check, or saving throw

#

death saves are technically a saving throw so that would count I believe

violet meadow
#

OK so it technically we need Attack Rolls, Saves, Death Save, Ability Test, Skill Check, Tool Check, initiative to be complete?

coarse mesa
#

You’re remaking Emboldening Bond? 👀

violet meadow
#

Add in the bottom ```js
Hooks.on("dnd5e.preRollDeathSave", _preRollAbilities)
Hooks.on("dnd5e.preRollToolCheck", _preRollAbilities)

violet meadow
#

Ah initiative is still missing

proper siren
#

I don't think it would effect initiative actually

coarse mesa
#

Oh damn that would be neat

violet meadow
#

It should be working fine right now

proper siren
#

mmm

#

it is an ability check

#

so I guess initiative falls in as well

coarse mesa
#

Radiuses right? It’s within 30’ of another bondee. Or am I misremembering?

violet meadow
#

As is it will work for one caster using it at a time...

#

Needs some small changes but not sure on how it should behave

coarse mesa
#

Most importantly, is it rolling the DSN d20 before the optional bonus?

violet meadow
#

No optional bonus

coarse mesa
#

Say what

violet meadow
#

first roll unfortunatelly

proper siren
#

thankfully I've only got one caster with it in my game lol

violet meadow
#

that roll can be whatever

#

then it stops affecting rolls for the turn 😦

coarse mesa
#

😔

#

I’ll stick with the status quo then, do the distances manually

#

I have two very different attacks per round and will only use it when needed

proper siren
#

ahh it only works for the first roll?

vast bane
#

I also handle that manually

#

I still think thats doable with bab though

#

its a bonus that is contingent on distance how is it any different than pally aura?

violet meadow
coarse mesa
#

Pally aura is only around the pally, not all the recipients

vast bane
#

yeah but thats just it

violet meadow
vast bane
#

you make it a pally aura cause one guy modifies the other

coarse mesa
#

It has to work with overlapping auras and not stack, since every bondee provides the aura

violet meadow
#

Its a custom script. Check if another is in range when rolling. If yes return true, if not return false

vast bane
#

also I think emboldening bond is suppose to be like guidance

coarse mesa
#

It is, you can add it after the roll

vast bane
#

you see your roll and then say yes

violet meadow
#

I hate having choice. First roll or lost 😄

vast bane
#

Sample item has choice ;p

coarse mesa
vast bane
#

does it refresh every turn or on their turn?

violet meadow
#

Everything has choice when the hooks are async and can be awaited. Dnd5e aren't so not exactly doable with fast forwarding

#

Otherwise Advantage reminder and all good

coarse mesa
#

Where did I get mine from? Midi QOL samples?

vast bane
#

yeah its in samples

violet meadow
#

99%

coarse mesa
#

That’ll do for now. Tim fixed the DSN attack rolls, think it’s just the saves and ability checks that aren’t popping dice

vast bane
#

he hasn't posted the real patch yet has he?

violet meadow
#

oh wait a minute! I just had a light bulb moment, but fml too late

#

hmm

proper siren
#

yeah so that world script works, but it forces the first roll instead of presenting an option lol. I'll take a look at it tomorrow and see if I can work anything off of it

violet meadow
#
function _preRollAbilities(actor,config,abilityId) {
    const hasEffect = actor.effects.find(eff=>eff.label.toLocaleLowerCase().includes("emboldening bond"))
    if (!hasEffect) return;
    const used = foundry.utils.getProperty(actor.flags, 'midi-qol.EmboldeningBondUsed') ?? false;
    if (used && game.combat && used === `${game.combat.uuid}-${game.combat.turn}`) return;
    const token = actor.token?.object ?? actor.getActiveTokens()[0];
    const findEffect = MidiQOL.findNearby(null,token,30).find(t=>t.actor.effects.find(eff=>eff.label==="Emboldening Bond"))
    if (!findEffect) return hasEffect.update({disabled:true});
    else hasEffect.update({disabled:false})
}
function _preRollAttack(item,config) {
    const hasEffect = item.actor.effects.find(eff=>eff.label.toLocaleLowerCase().includes("emboldening bond"))
    if (!hasEffect) return;
    const {actor} = item ?? {};
    if (!actor) return;
    const used = foundry.utils.getProperty(actor.flags, 'midi-qol.EmboldeningBondUsed') ?? false;
    if (used && game.combat && used === `${game.combat.uuid}-${game.combat.turn}`) return;
    const token = item.actor.token?.object ?? item.actor.getActiveTokens()[0];
    const findEffect = MidiQOL.findNearby(null,token,30).find(t=>t.actor.effects.find(eff=>eff.label==="Emboldening Bond"))
    if (!findEffect) return hasEffect.update({disabled:true});
    else hasEffect.update({disabled:false})
}
Hooks.on("dnd5e.preRollAbilitySave", _preRollAbilities)
Hooks.on("dnd5e.preRollAbilityTest", _preRollAbilities)
Hooks.on("dnd5e.preRollSkillCheck", _preRollAbilities)
Hooks.on("dnd5e.preRollAttack", _preRollAttack)
#
Hooks.on("dnd5e.preRollDeathSave", _preRollAbilities)
Hooks.on("dnd5e.preRollToolCheck", _preRollAbilities)
#

OK so make an Emboldening Bond as optional bonuses in DAE

#

~~The ItemMacro will be ```js
if (args[0] === "off") return fromUuidSync(args.at(-1).tokenUuid).actor.unsetFlag('midi-qol', 'EmboldeningBondUsed')


No ITEM MACRO NEEDED
proper siren
#

Awesome

#

I'll try it out

coarse mesa
#

Excuse me what is this

violet meadow
#

I am missing a test for re enabling the effect when it should

scarlet gale
#

Autofills stuff

violet meadow
#

bug

scarlet gale
#

Makes it stupid easy to find @ things

violet meadow
#

in some form application I think

coarse mesa
#

Module?

violet meadow
#

Ah not bug sorry...

violet meadow
coarse mesa
#

Thankies

coarse mesa
violet meadow
proper siren
#

Cool, unfortunately doesn't seem to be working with the latest change, but I'm tired as well I'll test it again tomorrow lol

coarse mesa
#

Pretty sure you’re onto something tho

#

Sleep well

violet meadow
#

it's close 😄

coarse mesa
#

You will have a restless night now sorry

#

Man it would be so cool if we could have some kind of visual effect confirming you’re within 30’ of another bondee

#

I wonder if Aedif would have any thoughts on the matter

violet meadow
#

OK I think I found it!

#

Someone try this.
Needs:

  1. Script macro in the macro folder named for the example Emboldening Bond WS ```js
    await actor.setFlag('midi-qol','EmboldeningBondUsed', ${game.combat.uuid}-${game.combat.turn})
    await actor.effects.find(eff=>eff.label==="Emboldening Bond").update({disabled:true})
2. ItemMacro on the Emboldening Bond Item ```js
if (args[0] === "off") return fromUuidSync(args.at(-1).tokenUuid).actor.unsetFlag('midi-qol', 'EmboldeningBondUsed')
  1. DAE with the optional bonuses as shown in the screenshot.
#
  1. World Script ```js
    function _preRollAbilities(actor,config,abilityId) {
    const hasEffect = actor.effects.find(eff=>eff.label.toLocaleLowerCase().includes("emboldening bond"))
    if (!hasEffect) return;
    const used = foundry.utils.getProperty(actor.flags, 'midi-qol.EmboldeningBondUsed') ?? false;
    if (used && game.combat && used === ${game.combat.uuid}-${game.combat.turn}) return;
    const token = actor.token?.object ?? actor.getActiveTokens()[0];
    const findEffect = MidiQOL.findNearby(null,token,30).find(t=>t.actor.effects.find(eff=>eff.label==="Emboldening Bond"))
    if (!findEffect) return hasEffect.update({disabled:true});
    else hasEffect.update({disabled:false})
    }
    function _preRollAttack(item,config) {
    const hasEffect = item.actor.effects.find(eff=>eff.label.toLocaleLowerCase().includes("emboldening bond"))
    if (!hasEffect) return;
    const {actor} = item ?? {};
    if (!actor) return;
    const used = foundry.utils.getProperty(actor.flags, 'midi-qol.EmboldeningBondUsed') ?? false;
    if (used && game.combat && used === ${game.combat.uuid}-${game.combat.turn}) return;
    const token = item.actor.token?.object ?? item.actor.getActiveTokens()[0];
    const findEffect = MidiQOL.findNearby(null,token,30).find(t=>t.actor.effects.find(eff=>eff.label==="Emboldening Bond"))
    if (!findEffect) return hasEffect.update({disabled:true});
    else hasEffect.update({disabled:false})
    }
    Hooks.on("dnd5e.preRollDeathSave", _preRollAbilities)
    Hooks.on("dnd5e.preRollToolCheck", _preRollAbilities)
    Hooks.on("dnd5e.preRollAbilitySave", _preRollAbilities)
    Hooks.on("dnd5e.preRollAbilityTest", _preRollAbilities)
    Hooks.on("dnd5e.preRollSkillCheck", _preRollAbilities)
    Hooks.on("dnd5e.preRollAttack", _preRollAttack)
#

Missing Initiative still 😩

molten solar
#

Yeah good luck with that

#

Init needs its own very special handling since it's just so different

hidden wraith
#

Hey im trying to figure out a way to write an effect for indomitable might, but i can seem to figure out how to put a minimum on an ability check, anyone got any insight, i have DAE and Midi QOL

spice kraken
#

Doesn't look like it can take @abilities.str.value

hidden wraith
#

I figured out how to put a minimum on the check dice roll but not the overall outcome

spice kraken
#

How are you doing it?

#

Cause what I put outputs this

#

Rolled an 11

hidden wraith
spice kraken
#

And what did you roll?

#

A skill, or str check

hidden wraith
#

check

spice kraken
#

Show the AE?

hidden wraith
#

AE?

spice kraken
#

The active effect

#

Works for me

hidden wraith
spice kraken
#

It's working...

hidden wraith
#

Not as Indomitable Might calls for, the overall total of the check needs to be 20 cause thats the Str score

#

I need the minimum on the overall check to be equal to the str value

#

I know how to call for the str value, but idk how to apply a minimum to the overall check mod included

spice kraken
#

Oh, then don't put 20, put 15

hidden wraith
#

Then it wont work for a character with more or less than 20 str

#

Can you set an equation inside of the effect value like attribute.str.value-attribute.str.mod

spice kraken
#

I'm going the partially automated way. Min score effect value would be the str score - the mod

#

And no

#

If you want a full automation way, custom macro or even custom world script

hidden wraith
#

I have no idea how to do either of those

#

Really no way to set a minimum for a total on a roll?

spice kraken
#

Not without a macro or world script

violet meadow
hidden wraith
#

Pfft yeah i took one look in macros and its like deep coding language stuff that i know nothing about, ill just leave it as a manual ability

cobalt salmon
#

hey guys, quick question: do midi-qol flags for advantage and disadvantage work only when pc attack non-pc? bcs they doesn't do much, when pc attack each other

scarlet gale
#

If you have fast rolls off, it just highlights what button the player should press.

#

It's likely they're just ignoring it and selecting a regular roll.

cobalt salmon
#

i have full automation

#

kinda testing it by myself

#

hm... it works fine in "no automation" mode, and does not in "full automation"

scarlet gale
#

Just did a pretty big update for my module. Went through and marked everything that's safe to be renamed as well as included most of my Blood Hunter stuff. Along with some Artificer things.

coarse mesa
scarlet gale
#

oh

#

lol

#

I already noticed another spelling error too

coarse mesa
#

Someone has to make a module called that. Maybe the next WIRE

scarlet gale
#

And Dragon's Breath is broken

#

D:<

molten solar
#

Welcome to module development

#

everythign works
release
users: "hey nothing works"

scarlet gale
#

Lol

#

Fixing up a pretty big error I made lol

violet meadow
scarlet gale
#

Now to not touch it again tonight as it's currently 3 AM

violet meadow
# hidden wraith

Create the Feature on the sidebar with a DAE of flags.midi-qol.min.ability.check.str | Override | [[@abilities.str.value]]
Move it on the actor where it will be evaluated to the correct value.
If Strength value changes at any point, this will not change automatically, so you will need to delete the effect and drag it again on the actor's character sheet.

#

Now if you want another solution, a world script is probably the best way 🤷

molten solar
scarlet gale
#

Pretty well, I've been using it to ditch active auras.

molten solar
#

How does it compare?

scarlet gale
#

Bit of a weird solution actually, but combined with token attacher I can have more fine control of when to apply and trigger effects. For example my Cloudkill automation moves itself and handles the dnd overlapping spell effect rules.

#

While an active auras implementation wouldn't have the control to do what I'm doing.

molten solar
#

Any socket / latency issues? 🤔

scarlet gale
#

I do need to play with it a bit more. I want to get more stuff like wall of fire going.

#

Nothing I've noticed, but I don't have players often using it yet

#

Less latency issues than AA for sure

#

Only thing it's really missing is a way to catch tokens that move through the template without stopping. But it's easy enough to just tell the players to at least stop once in the template before moving out.

molten solar
#

hmm

#

I am messing with the grid for babbity anyhow, lemme take a look

scarlet gale
#

I can't think of a simple solution for that. Since it would require testing points between the start and end point. Or finding some complicated way to handle the different type of line shape intersections.

#

The passed through grids formula was already confusing enough, and that was mostly just taken from Foundry's own method.

molten solar
#

I may have found something

violet meadow
vast bane
#

what part of sg doesn't work from midi sample? 0_o

scarlet gale
#

A few small things

#

I'm willing to bet the midi sample item would also let you stack it multiple times

narrow saddle
violet meadow
#

This is the mostly RAW of Spirit Guardians with Active Auras I managed to do before I got bored
<#1010273821401555087 message>

The part about differentiating auras, has stayed unchanged 😄

vast bane
#

was midi 30 a ninja patch?

scarlet gale
violet meadow
#

Makes sense yes and this is a part of the PITA flag 😅

molten solar
# scarlet gale I can't think of a simple solution for that. Since it would require testing poi...
// old and new coordinates
const [ta, tb] = [...canvas.scene.tokens]; // just two tokens for testing
const template = canvas.scene.templates.get("ANF7ntHgvm5lBzWP").object; // the template placeable

const ray = new Ray(ta, tb); // a straight line between the two coords.

// number of 'tests' along the line.
const segments = ray.distance / canvas.scene.grid.size;

const lineCoords = Array.fromRange(segments, 1).map(n => ray.project(1/n));

const movedThrough = lineCoords.some(({x,y}) => template.shape.contains(x - template.x,y - template.y));
violet meadow
#

Template drawn, moved, entered, exit, stay, token attacher, flags, checks stress
But works for a fleeting feeling of accomplishment 💪
(and for players never to use it again...)

scarlet gale
#

Moving the macro to my module actually cleaned up my cloudkill setup a bit. Since I could just reference the same function from all the triggers. Although it looks like template macro has a never automatically trigger now.

molten solar
#

(Door Macro too...)

scarlet gale
#

One of these days I'm doing to actually use that module

#

I have it installed

molten solar
#

Apply macro directly to the door™️

#

It has opportunities aplenty

#

It opens so many doors

violet meadow
#

but does it hold the key to my heart?

molten solar
#

Heart Macro was scrapped, sorry

violet meadow
#

the one to rule them all with much luv

#

My trapped doors make my players stressed when opening them

#

@gilded yacht Could the DAE macro.execute have the option to be executed (Macro repeat in Duration tab) both on Turn Start AND Turn End, with a relevant tag in the args, instead of either or?

#

Could have 2 different DAE for that though 🤔

#

And also last I used the Macro Repeat at start of Turn, I happened upon some timing issues, as it seems to trigger when it's still the previous combatants combat turn.

narrow saddle
#

I use door macro to play Syrinscape sounds when doors are opened and closed.

sleek glacier
#

anyone knows how to make preserve life works? Used the spells/macro from more automated class features, it gives me a popup to enter the healt but the target gets healt for a mediocre amount of hp ^^ (typed in 7 healed 3, target way below half hp)

vast bane
#

I don't even see how that feature works, it has no dae on it

#

its looking for a dae flag thatjusts isn't set yet

#

I also see a hell of alot of datas in it

sleek glacier
#

yeah if i use it its really gets laggy ^^ may just screw it and do it per hand... not sure if its worth the fuss

vast bane
#

my resource is set to channel divinity

#

it says something about lay on hands but the item has no dae to set the resource pool like LoH does

#

seems like its missing the dae

violet meadow
#

Nope it's an onUse macro

vast bane
#

so is LoH

#

where does the dae flag come from?

violet meadow
#

From the macro itself

#

Let me check the actual feature, what needs to do

sleek glacier
#

The macro says use Channel divinit: Preserve life, then preserve life right? only preserve life gets the resource consumption link ^^

#

it heals my target but for a strange amount of hp i can't comprehend ^^'

violet meadow
#

It heals for 2

vast bane
#

I can't even get it to roll

sleek glacier
#

yea... why? XD

vast bane
#

am I doing something wrong here?

violet meadow
#

cause you haven't created a resource of the amount of HP max that can do

vast bane
#

thats what I said lol, the LoH does it automatically, this one doesn't

violet meadow
# vast bane

Create a Resource, with max the max number of hp that can heal

vast bane
#

this could totally be automatic if they set the dae

violet meadow
#

Link that to the Resource consumption

#

not Item uses

violet meadow
#

Also the 3 data, need to be system

vast bane
#

how do we know what the resource name should be?

violet meadow
#

Ah frack it wait a minute

vast bane
#

oh I know my mistake

#

theres two items

vast bane
#

nah theres two items

#

the other item is the LoH like item

sleek glacier
#

yeah once channel divinity: preserve life second preserve life

vast bane
#

this is basically how we do macro.createitems only the items permenantly there

sleek glacier
#

but how do you set up that it heals max. max hp diveded by 2? ^^

violet meadow
#

OK so you need both Items on the Actor 🤔

vast bane
#

are you using his two items or do you have only one of his items fuma?

violet meadow
#

Channel Divinity: Preserve Life will create the DAE flag

sleek glacier
#

using both items, first channel divinity: preserve life..... then preserve life only

vast bane
#

the channel divinity one needs to be rolled, though...that seems weird, it could just be apply on equip?

sleek glacier
#

cleric gets a preserve life "buff" after the first one (the flag?)=

vast bane
#

yeah, I think this can be done alot better with the modern dae/midi features

#

the only thing it does I don't know how to do is the management of how many can heal

violet meadow
#

Not sure why the Channel Divinity: Preserve Life is not a transfer to Actor on item equip and you need to roll it

vast bane
#

yeah I agree

sleek glacier
#

thats the tipping point / whats realy don't work well

vast bane
#

I think its just a really old implementation is all

#

its probably because the pool resets everytime they use it

violet meadow
#

When should it reset?

vast bane
#

yeah but can't go above half health

#

preserve life gets a pool everytime you use it of your levelx 5 I think?

violet meadow
#

oh what the heck

#

we are talking about something like a Heal spell no?

#

ok I got it

vast bane
#

its the life clerics main channel divinity

violet meadow
#

up to 5 times your level divided to the creatures you want in 30ft radius

vast bane
#

and they can't go above half health with it

violet meadow
#

healing sliders to the rescue!

vast bane
#

I think it'd be better as a temp item

violet meadow
#

I got it already (in another form) easy to change

vast bane
#

man I really wish we could do macro/document links in the flavor text of an item

#

how is there no module for that ;p

#

if we had that, then we could put the document link to the temp item in the flavor

#

instead of relying on vae to do it

weak quest
#

is it possible to make the character with devil's sight see through the darkness? (I mean not just actors, but just as if it wasn't there)

proper siren
vast bane
#

As long as they are the same

violet meadow
#

I think that needs FF 🤔

#

iirc

vast bane
#

no I use it

#

oh shit yep

#

let me test that actually

#

it works without ff

#

it works without FF if you are using a requester module

#

cause it slows the workflow down for it I think

proper siren
sleek glacier
violet meadow
#

It is not primed to use with Preserve Life yet. I will share one later

sleek glacier
#

thyvm ^^

vast bane
#

only if you use midi to roll saves

#

if you use mtb/lmrtfy its fine

proper siren
#

ah I use midi for gm stuff

#

that might be why

#

let me ask this, can you insert a creature type via dae? If so, can a character have more than one creature type?

dark canopy
#

get ray, collide against shape

lean holly
#

@violet meadow You helped me with a custom effect macro for V9, well in V10 it is broken. I tried the things I knew how to fix and it throws errors which I am not sure how to fix. Any help would be appreciated.
Macro:

//Will add tempHp to the target of an attack as a reaction via MidiQOL's reaction processing, equal to the damage dealt or 10 if that's more than 10.
//Needs MidiQOL/DAE/ItemMacro/TimesUP (/About Time/Simple Calendar for recharging 1 charge in 60 minutes).
const lastArg = args[args.length-1];
if (args[0]==="on") {
    let workflowNew = await MidiQOL.Workflow.getWorkflow(lastArg.origin);
    const tokenD = await fromUuid(lastArg.tokenUuid)
    await tokenD.actor.setFlag('world','workflowtrigger', [`${workflowNew.workflowOptions.sourceItemUuid}`,`${workflowNew.workflowOptions.damageTotal}`])
}

if (args[0]==="off") {
    const tokenD = await fromUuid(lastArg.tokenUuid)
    const actorD = tokenD.actor
    const info = Array.from(getProperty(actorD.system.flags.world, 'workflowtrigger'))
    const workflowNew = info[0]
    const damageDealt = info[1]
    const workflowTriggering = await MidiQOL.Workflow.getWorkflow(workflowNew)
    const tempHp = Math.min(damageDealt,10)
    await MidiQOL.applyTokenDamage([{ type: "temphp", damage: tempHp }], tempHp, new Set([tokenD]), null, new Set(), {existingDamage: workflowTriggering.damageList,  workflow: workflowTriggering.uuid});
    await actorD.unsetFlag('world','workflowtrigger')
    game.Gametime.doIn({minutes:60}, async () => {
        const itemD = await fromUuid(lastArg.origin);
        await actorD.items.getName(itemD.name).update({"data.uses.value": 1});
    });
}

Error:

owned-item-effect.js:104 Attempting update on Owned Item Effect Array(1)
update @ owned-item-effect.js:104
VM42221:10 Uncaught (in promise) TypeError: undefined. Cannot read properties of undefined (reading 'workflowOptions')
[Detected 1 package: advanced-macros]
    at eval (eval at executeScript (lib.js:175:13), <anonymous>:10:75)
VM42707:16 Uncaught (in promise) TypeError: undefined. Cannot read properties of undefined (reading 'world')
[Detected 1 package: advanced-macros]

Thank you.

molten solar
dark canopy
#

its likely im making things up, lemme poke around

molten solar
#

(anyway wrong channel)

violet meadow
vast bane
#

did tim make a mistake with the 30 released last night or did he do a ninja patch to 30?

violet meadow
#

Test this out. Follow the Readme steps and let me know if it makes sense.

tired steeple
#

ALL my ranged attacks don't do damage attacks anymore. Everything is working fine, except for ranged attacks. Can someome give some light?

violet meadow
tired steeple
#

itemhandling.js:437 testing: advantage/disadvantage Object
doAttackRoll @ itemhandling.js:437
utils.js:1907 Uncaught (in promise) TypeError: undefined. Cannot read properties of undefined (reading 'ignoreTotalCover')
[Detected 1 package: midi-qol]
at computeCoverBonus (utils.js:1907:32)
at Workflow.checkHits (workflow.js:2764:16)
at Workflow._next (workflow.js:443:17)
at async Workflow.next (workflow.js:262:10)
at async Item5e.doAttackRoll (itemhandling.js:507:2)
at async Workflow._next (workflow.js:416:6)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)

violet meadow
#

Yeah it's a bug in v10.0.30 of MidiQOL

#

You could downgrade to v10.0.29 if you need an urgent fix

tired steeple
#

How I downgrade?

violet meadow
#

Click the 📌 in this thread. Message from honeybadger.
Locate the 10.0.29 zip and uninstall its contents in your modules folder in Foundry User Data for a local installation.

#

If you are on Forge I am not sure

spring hornet
#

I noticed that Items and World Macros are both blank from More Automated (MASIF). Looking at github, their dbs were removed months ago and left empty. Shouldn't those categories be removed? Should I toggle edit lock and remove them?

violet meadow
#

Doesn't matter 🤷
If the module gets updated and they are not removed from its module.json, they will be recreated

tired steeple
sleek glacier
violet meadow
sleek glacier
#

sure

hard oxide
#

Hi guys im using variant encumbrance bulk system. When I update items with the suggested bulk and reload, they automatically go back to 0, it looks like its not saving, any ideas why ?

violet meadow
violet meadow
#

ItemMacro After Active Effects ?

violet meadow
spring hornet
violet meadow
#

Any afaik

spring hornet
#

ah well

violet meadow
#

Not a good idea to modify modules' compendiums. They will be overwritten with an update.

sleek glacier
# violet meadow Is the feature you created as shown?

somehow there was a different makro in my browser window now... it works very well, you're awesome... can be used for good but there are 2 flaws (if i'm not misinterpreting something) 1. if you chose only 1 creature, nothing happens, 2. if the players are above half max hp it still heals them

violet meadow
sleek glacier
#

thy very much, your code skills are pretty awesome ^^

violet meadow
#

Also for your first point. When you say "chose only 1 creature", do you mean there is only 1 available or you have selected only 1 and then pushed Heal Selected?

I should probably could check the missing HP of the available targets and auto heal them if they healing Pool is enough. But should I? 🤔

violet meadow
sleek glacier
#

lets assume only 1 pc has lost health .. only one pc is available to choose, so far so good, but when i apply it it nothing happens... he doesnt get any hp ^^

violet meadow
sleek glacier
#

will try it again...

violet meadow
#

Yeah I can see the issue

#

Will fix soon 😉

sleek glacier
#

yes... choosed it... aswell as locked hp (dont seem to be mandatory) but dont work for single targets

narrow saddle
worldly geyser
#

Hey everyone,

I've got an issue with a Dynamic Active Effect, for either a spell or a feature, ending the moment the round ends (just by hitting the 'Next Turn' button). This, for instance, is the logging I get right after ending the round and Mage Armor getting removed from the token that had just applied it.

Any chance this is an issue that's come up before? Because I can't be the only one using Midi-QoL and DAE at the same time.

This issue popped up for me when I updated my modules about 3-4 weeks ago.

vast bane
#

Also its a niche module so you should check the github for that module and report the issue to the author, alot of people haven't actually updated to the newest stuff yet so he prolly doesn't see the issue himself yet.

violet meadow
vast bane
#

yeah 29 is the version to sit on for now, you can downgrade with the zip link above pinned by Honeybadger

#

I'm curious what the re-release was of 30 last night by tposney, was it nothing?

#

Did he ninja patch it?

dark canopy
#

should be able to tell by the commit diff -- link to the release tag/commit?

vast bane
#

You just spoke french to me ;p

dark canopy
#

"linky" to something half relevant 😅

coarse mesa
vast bane
#

I don't see any changes in it, maybe he was fixing a typo on the package page

worldly geyser
#

Awesome to have it identified. Thanks for the assist, you two :)

worldly geyser
#

Welp, the MidiQoL error has been sorted (reverted to 10.0.29), but the issue persists. It neatly adds it, and at the end/start of the round it neatly removes it for.. reasons.

#

It's probably Spell Template Manager that's stopped working somehow. At any rate, I'll stop bothering you lot with it :)

vast bane
#

yeah don't have other modules manage templates

#

midi 101

#

if you want the template to be less noticeable Otigan did us a solid as midi users and added a auto hide for the template in AA

#

I should add SIFT/Tmfx/Spell template manager to the list

coarse mesa
#

Don’t you dare put TMFX on the list!

vast bane
#

whats SIFTS actual name?

coarse mesa
#

TMFX is part of the TVA family now

vast bane
#

Got it!

#

(SIFT is v9 only but the list does not judge)

worldly geyser
#

Curiously, all of this worked perfectly a month ago :')

vast bane
#

cause template managers stepping on midi has been a thing since late v9

#

well actually thats unfair, v9 got it in the final midi build when v10 was already active

worldly geyser
#

I run a session every two weeks, and so I update roughly once every two weeks; all modules, the 5e ruleset, and Foundry itself

vast bane
#

oof

worldly geyser
#

So I've been on v10 since not long after it released

vast bane
#

That is like Russian Roullette the way you are updating lol

worldly geyser
#

I mean, I do it a couple days in advance and make backups; I have learned from previous times where that blew up in my face :D

vast bane
#

if midi's automated items are playing off the template, then if a nother module kills the template, midi can't continue its functions on that automation. so either you haven't used THE item in question alot to notice it, or its a new item.

#

Sift/spell manager/tmfx have always been bad things for active auras for instance

#

thats true as far back as AA's launch

#

cause the aura tethers to the template on template spells

worldly geyser
#

hmm

#

The things having issues aren't new, though; spells like mage armor and whatnot. Anything lasting longer than a turn is proving problematic

vast bane
#

also your animations will die if you have them setup to tether to the template

#

mage armor doesn't have a template what do you mean exactly?

#

sounds to me like you lack times up module if your durations are problematic

worldly geyser
vast bane
#

also make sure you have midi srd's or ddb importers mage armor, the dnd5e srd version is bad for midi

worldly geyser
#

haven't a single clue how that happened

#

mhm, I try to

vast bane
#

its a dependency module so it can get shutoff during find the culprits or troubleshooting by accident, I don't judge 😉

worldly geyser
#

Well, that makes one of us :D

#

but that's probably what happened then, yeah. At least I got it all sorted, again!

#

thanks ever so much for the assist :)

violet meadow
vast bane
#

holy moly thats an issue, they should definitely clear their v9 and older modules out before coming to troubleshoot midi

#

the project page for Spell Template Manager is a 404 error...

#

I would definitely yeet that module if you are on v10 foundry

#

And check all of your v9 and older modules to see if theres a v10 branch on the package page, the UPDATE button will be unreliable to use if they are on earlier branches of foundry.

iron folio
#

cuz, searching threads is wonky - Anyone else having issues with late targeting not popping up if youve already got a target selected, despite having it set to always show late targeting, even if you have something selected? Only started happeneing recently. Not sure what we broke, or if it broke.

vast bane
#

I'd advise stepping down to 29 for now, but I don't know if changing versions can help you

coarse mesa
#

Aw Chris... this is cute. Great idea

scarlet gale
#

Thanks lol. I figured it was a simple solution to get people to understand where the content was.

#

It started with me needing a way to allow people to set descriptions for temp items that are created.

#

Then I realized I can set the first page to have a little intro blurb.

coarse mesa
scarlet gale
#

That's what I was originally doing, but I pretty often trim down descriptions for other things.

coarse mesa
#

Yeah absolutely

scarlet gale
#

Like having dragon's breath give you the full description would be annoying. I would only have the breath attack parts in the description for the created item.

coarse mesa
#

Agreed, I think you've come up with a great workaround. My only concern is that folk will overlook it, but that's on them lol

scarlet gale
#

100% made it for myself

#

I want to be able to use my module in my own game

#

And it would annoy me to have empty descriptions

molten solar
scarlet gale
#

That will be nice.

scarlet gale
#

You asked yesterday about template macros. I just remembered one last request. A turn start in template trigger would allow me to not need any effects for cloudkill and similarly worded spells

#

I can probably get an effect macro to handle it, but figured I'd mention it

molten solar
#

Much of the code can be copied from EM directly

#

I'm currently neck deep in babonus

scarlet gale
#

Focused on my module at the moment, still tons of stuff to do. I'll take a look at it when I get a chance.

coarse mesa
scarlet gale
#

Only reason I haven't made an attempt at that spell yet. I can't figure out an elegant way to designate what side the fire is facing.

coarse mesa
#

Advanced Spell Effects pulled it off in v9, but yeah looks super full on stress

scarlet gale
#

Might be able to look at that for inspiration

molten solar
vast bane
#

@outer oracle

Sources of premade stuff for Midiqol:

Midi Sample Items Compendium(comes with the module)

Midi SRD's compendiums
https://raw.githubusercontent.com/thatlonelybugbear/midi-srd/master/module.json

More Automated Spells Items and Features compendiums
https://foundryvtt.com/packages/more-automated-spells-items-and-feats

Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros

Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros

Chris' Module form of his macros:
https://foundryvtt.com/packages/chris-premades

Activation condition examples by ThatLonelyBugbear
#1010273821401555087 message

outer oracle
#

Thank you

vast bane
#

looks like Mr.Primate has a witchbolt

outer oracle
#

ok cool I'll do some testing with it in my campaign that I am running. Thank you very much for this information

vast bane
#

feel free to turn to this channel for all your midi and midi adjacent needs

outer oracle
#

will do. Thanks again

coarse mesa
vast bane
#

Do the UUID's change of an item if its in a shared campaign module compendium in two different worlds? Do I have to relink all my macro.createItem?

dark canopy
#

nope

odd sable
#

No idea how tricky this would be since I'm not very good at macros, but I have a Rogue in my game who recently got some features that interact with Sneak Attack, without being attacks with a weapon themselves (i.e. they're set up as Features rather than Weapon Attacks, but can do extra sneak attack damage under the right conditions). Would there be an easy way to add them to the latest MidiQoL Sample Item for sneak attack so that the sneak attack feature detects usage of these features, or would I be better off just salvaging the damage parts of the Sneak-Attack itemmacro (while getting rid of the checks for weapon type and similar) and just run those as a direct separate item macro from said features?

scarlet gale
#

Doable, but why not just make those features into weapons?

#

Unless that interacts poorly with other stuff

#

You can likely edit whatever line is in sneak attack for detecting valid items and updated it to include whatever feature name you have.

odd sable
#

Hm, it's possible I could do them as weapons actually, that's a good point. Some of them have limited uses per day, but I guess those fields are available for weapons as well as features... some of the features are Saves rather than attack rolls, but I guess I'm still one step closer to where I need to be to get it to work if I base them on weapons to begin with!

atomic badge
#

Hey gang, I'm looking for a way to replicate the following effect in the macros but I'm struggling to find how to do it in the most efficient manner possible:

Increases the effectiveness of healing from features and spells targeting creatures other than yourself, increasing the amount of healing die by two times the original amount. The healing die increase is further improved at 12th level (three times) and 16th level (four times).

scarlet gale
#

Doable with an actor on use

#

I have something similar let me see

#

Item Macro:

let modifier = 2;
if (this.targets.size === 0) return;
let oldDamageRoll = this.damageRoll;
let newDamageRoll = '';
for (let i = 0; oldDamageRoll.terms.length > i; i++) {
    let flavor = oldDamageRoll.terms[i].flavor;
    let isDeterministic = oldDamageRoll.terms[i].isDeterministic;
    if (flavor.toLowerCase() != 'healing' || isDeterministic === true) {
        newDamageRoll += oldDamageRoll.terms[i].formula;
    } else {
        let diceNum = oldDamageRoll.terms[i].number * modifier;
        newDamageRoll += diceNum + 'd' + oldDamageRoll.terms[i].faces + '[healing]';
    }
}
let damageRoll = await new Roll(newDamageRoll).roll({async: true});
await this.setDamageRoll(damageRoll);```
Make a DAE with the following set as a passive effect:
flags.midi-qol.onUseMacroName | Custom | ItemMacro.FeatureNameHere,postDamageRoll
#

Untested, should work.

#

Might be a less dumb way to recreate the formula

#

Just noticed you want to double the dice, let me change it quick

#

Edited the above code.

violet meadow
#

Just a FYI v10.0.24

  • Hooks that fire on midi-qol.DamageRollComplete can now modify the damage roll and the chat card displaying the damage will update accordingly.
scarlet gale
#

oh nice

violet meadow
scarlet gale
violet meadow
#

OK I see. I would still bail out first thing if no damageRoll terms contain healing 🤷

#

Too early ☕

scarlet gale
#

oh sure

#

this was to just get started

#

it could be improved for sure

scarlet gale
#

Or just the called hook 'DamageRollComplete'

violet meadow
#

I haven't used that yet, but I thought it meant it will wait all damage rolls + bonus damage only ones and then on whatever fires.

#

testing

scarlet gale
#

I assumed it just meant we could drop the setDamageRoll function

#

and just do workflow.damageRoll = whatever

violet meadow
#

Might well do 🤔

#

but I thought the setDamageRoll would be able to modify all damage

scarlet gale
#

oh sure

#

You mean directly editing the damageRoll terms?

#

Actually

#

I bet we can just directly do that here anyway

#

Not sure if it's easier then just remaking the formula however

vast bane
#

where you select all targets and click it once

scarlet gale
#

Yep, although I cleaned it up slightly.

#

It's using a temp item now instead of duplicating the original item.

#

Doesn't change much, but it fits the workflow of my module better.

narrow saddle
#

Without going in to too much detail, the way I handle characters when players don't turn up to the virtual table for a session is that in the Undermountain, Halaster has cursed them somewhat so that the character without a player that week will turn in to a statuette and another character has to carry them around.

This helps for various reasons, I don't have to play the character and neither does anyone else and I can tailor the session to fit fewer characters.

One player suggested that to help the rest of them out slightly is that when a character turns in to a statuette some of their abilities transfer onto the character that is carrying them around and gets some of their skills/abilities/spells/features (limited). e.g. Cure Wounds if the Cleric is a statuette that week. Bardic Inspiration if the Bard has been turned.

Is it fairly easy to put these things in to an item so that when the character carrying the statuette receives these boons? Using DAE or anything else related to Midi.

(Sorry about the waffle)

scarlet gale
#

Depends

#

Quick and dirty way is to use a macro.createItem effect

vast bane
#

I play them cause I don't want the party to suffer and my encounter balance is based on them existing

#

plus I enjoy mocking them and roleplaying them hehe

narrow saddle
#

They have been turning in to statuettes for some time now.
It is so much easier and a lot less hassle.

Just thought it was a neat idea for them to get some benefit from the statuette. 🙂

molten solar
narrow saddle
molten solar
#

Cockney

fathom socket
#

Bo'o o Wo'er

narrow saddle
winged anchor
#

Hi all, anyone able to help with Convenient Effects + Midi? I just want to add a start of round, add resource, passive, similar to Regeneration CE

violet meadow
hot flower
#

@scarlet gale filed an issue on github, but FYI, spirit shroud is doing necrotic damage no matter what I select.

molten solar
#
const {value, max} = actor.system.resources.primary;
await actor.update({"system.resources.primary.value": Math.min(value + 1, max)});
violet meadow
#

Or a DAE start of turn with a macro.execute or macro.itemMacro ```js
if (args[0] === "each") {
const effectActor = fromUuidSync(args.at(-1).tokenUuid).actor;
const {value, max} = effectActor.system.resources.primary;
await effectActor.update({"system.resources.primary.value": Math.min(value + 1, max)});
}

vast bane
#

theirs refresh on the turn of the owner of the ae, you are saying start of round, I don't think either module have a start of round hook

#

Though I bet one could ask Zhell nicely and get that hook added to EM

dark canopy
#

if there is a turn start event, then you can check for turn 0 (or 1, however it counts) pretty quickly

molten solar
#

Would be trivial

vast bane
#

Hmmm I do remember turns and rounds being different for starting integers but I don't remember which

#

I think turns are 0 and rounds are 1

molten solar
#

"round 0" is before combat has begun

dark canopy
#

(it looks for turn starts, avoiding 0th round, but you can see all of the data structures you are interested in)

molten solar
#

It's changed in v10

#

There's a direction now as well

coarse mesa
#

@molten solar, I have an idea for TM that would increase its stock… but does drift slightly outside of macro territory. But could loop back around into the macro so you might be amenable…

vast bane
#

Hey @coarse mesa I'm sending a user your way at some point cause their browser is not taking the chat gif css fix right so be ready for a ping by them.

#

hes not gonnna ping you till he gets to his pc later today

#

for some reason the css i gave him is kinda like not doing the same thing, its moving it the opposite direction or something

coarse mesa
#

Cool, sounds interesting

#

Moving it outside the window bounds completely seems like the best place for it

vast bane
#

Does anyone have a premade for Relentless Rage? I think its kinda like Undead Fortitude but the DC goes up the more it happens?

#

I see simbuls added the ability to flag a player with undead forittude but its not exactly undead fortitude....but I don't fast forward so I guess I could manually make him put a -5 in his subsequent rolls

woeful jay
#

Hello all, new guy here.
I am trying to get Concentration to automatically fall off when a spells durations is up and am having some issues.
I have MidiQol, DAE, and Times up but concentration seems to be hit and miss. For instance
Cast Resistance on myself: Concentration and Resistance applies, they each show 10 rounds. Fast forward 10 rounds and they both stay active with Duration = zero
Case Bless on myself: Concentration and Bless applies, they each sho 10 rounds. Fast forward 10 rounds and they both fall off.
Is this just a simple thing I am missing somewhere?
Thanks in advance 🙂

vast bane
#

I could be wrong but I don't think tims solved the combat timer not killing ae's

#

its intermittent I think, and I never have the issue but I think its cause I'm neurotic and always put a seconds duration AND rounds

#

I think it only happens if you put just rounds into the duration tab of an ae

#

so whatever you are concentrating on has a combat only duration

#

Are you on midi 29?

woeful jay
#

Sorry, like I said, pretty new here. How does one check that?

vast bane
#

manage modules and look at the last bit of the version number of midiqol

woeful jay
#

you mean the version? 10.0.30

vast bane
#

downgrade to 29, 30 is bugged

#

this will be a zip file with the whole midiqol folder. You just need to find your midi folder in your userdata/modules folder and replace it

woeful jay
#

Will that revert settings? I've went through all the MIdi settings. I'll grab screenshots if I will need to reset everything lol

vast bane
#

if you are a midi user, I highly recommend being very cautious with update buttons till you have a confirmation things are safe

#

settings are handled by your foundry install/world file. replacing the module folder does not harm you(if you replace the right one that is)

woeful jay
#

I'll remember that in the future. I've installed everything today, so I guess I just have bad timing lol

vast bane
#

whenever you click an update button in foundry it actualy replaces everything anyway, it doesn't do smart patching

woeful jay
#

Well thanks for the response! I'll downgrade and see what happens 🙂

vast bane
#

if you don't know where your data is, in the main menu the configuration tab gives you the local location of it

winged anchor
vast bane
#

its a bug unrelated to your durations, I don't think hes fixed that bug with combat ending on durations, so the solution is to just be meticulous with all your ae's:

#

I think it happens when the spell is relying upon dae to convert the item details IN combat. if you manually set these like a good dooby, then you won't really see that bug.

vast bane
#

Not entirely sure if round start is a worthwhile hook, having a hard time finding one to justify begging Zhell for it hehe

#

Hmmm, the simbuls feature to add undead fortitude is kinda meh. It doesn't work perfectly for Relentless rage.

woeful jay
#

Or is there a way to change the resistance spell to use 60 seconds rather than 10 rounds?

coarse mesa
#

@vast bane what’s the issue with .30? I have a game coming up this weekend and may have accidentally hit Update All 👀

vast bane
vast bane
#

what version are you on, I really suspect its fixed and you are on an earlier version, I don't see that bug anymore at all and I'm not 100% meticulous with my spells

coarse mesa
woeful jay
vast bane
woeful jay
#

Oh I see... its not under the details duration. Its under effects

#

I am learning! lol. Thanks again

vast bane
#

you shouldn't have to do it, and the bug is not 100% so you could just shut off the buffs that persist after combat, its probably just a handful

#

are you using the dfreds bless or the midi srd bless?

woeful jay
#

The midi SRD bless wasnt falling off

vast bane
#

open the clerics sheet, edit the bless spell on the cleric, and show me the effect tab of the item, not details

woeful jay
vast bane
#

Unknown source looks really sus thats prolly a bad import

woeful jay
#

I setup the resistance spell to mirror that temp effect and it works properly now

#

Bless actually works. It was resistance that wasnt. And I think it was the base SRD resistance. Probably why it wasn't working

vast bane
#

I stand corrected:

woeful jay
#

Is that the Midi srd one?

vast bane
#

does anyone have a bless from ddb?

vast bane
#

your player prolly swapped the icon

woeful jay
#

That is what my midi srd looks like

vast bane
#

thats dnd5e srd and fyi, dnd5e srd spells like that confuse the hell out of midi

#

never ever ever use dnd5e srd items with suspended effects in midi

woeful jay
vast bane
#

midi uses suspended things to denote immunity to the effect

#

what version of midi srd do you have

woeful jay
#

10.10.0

vast bane
#

shit thats passive not inactive

#

god I need to go to bed

#

midi srd might be the cause of this "spells don't end when combat ends" cause midi srd seems to lean heavily on dae converting durations

#

like 99% of its stuff have passive ae's

woeful jay
#

Well, at least now I know how to fix a spell if it comes up again. I am slowly working on moving from roll20 to foundry, so I am trying to get everything set up before I start a real game. I don't mind editing spells to have a temp effect is necessary when they come up.

vast bane
#

yeah set the duration manually on the source spell then anytime you cast it it should be ok

#

it also should only happen for spells cast in combat that are relying upon the dae feature to convert its details druation to effect duration

#

I think you will find its mostly just midi srd items doing that

woeful jay
#

yeah. Spell out of combat have durations long enough to mostly ignore until I tell the player it wore off lol

vast bane
#

and again, you can fix this after the fact by just noticing a bless lingering and killing the clerics conc manually

woeful jay
#

or just kill the cleric as a whole!

vast bane
#

if you have a module like VAE you can quickly kill conc on a player by right click ing it in the vae display:

#

Shoutout to Simbuls Cover calculator giving us the Feels:

woeful jay
#

I have Dfreds effects panel which lets me do it

vast bane
#

Dfreds and VAE are basically the same module except that VAE works smoother with zhells other modules and he gives us an editor for descriptions if you fancy yourself for dumping time into gussying up the descriptions

woeful jay
#

Maybe one day. For now, I need to make things as easy on my players as possible for the transfer from Roll20.

winged anchor
#

these beauties, I cant get either to work, and my previous temp health one wont work anymore (I would prefer NOT to use Temp health though since the player cant benefit from actual temp health)

is there a dependency im missing?

I rename as the instructions state, but I activate, use abjuration spells and nothing. I use it, and Apply Active Effects nothing. 🙂 I am sure its something silly but I cant figure it out.

vast bane
#

you either are using modules you shouldn't, or your effect transfer is turned off in midi

#

Midi does not work with:

Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e

The following modules have template settings that step on midi:
Spell Template Manager
SIFT(Spells, Items, Features Toolkit)
TokenmagicFX

Advanced Spell Effects module is in beta in v10 and often the culprit of things...

Midi requires Item Macro to have its "Character sheet hooks" feature set to unchecked in order for on use macros to work right.

When editing owned items(items on actors) active effects beware of duplicating active effects that interfere. Always check the actors effect tab for rogue ae's.

scarlet gale
#

Speak of character sheet hook, I have my module yell at you if that setting is incorrect

#

I don't know why midi-qol doesn't do the same.

vast bane
#

Wow this ones back in 29 midi...this seems wrong, didn't he fix this?

#

Reactions with naughty words for flavor are triggering an error again

scarlet gale
#

yellow not red, could you show more to the left?

#

unless it's actually stopping it

vast bane
scarlet gale
#

Does it actually stop it from working?

vast bane
#

no, but I'm trying to troubleshoot arcane ward with shield on a starter hero

#

thought maybe that was an issue

#

I think the resource usage arcane ward is bugged

#

or needs better instructions as it doesn't apply on equip

scarlet gale
#

I'll have to double check, but it being yellow instead of red means midi might just be logging it out, but not actually breaking anything

vast bane
#

its also throwing compat warnings from its IM so I think it needs v10ification

#
content: `${args[0].itemData.name} gains ${args[0].spellLevel * 2} points to ${newWardStrength}/${wardStrengthMax}`,
#

is this data needing to be replaced?

#
        args[0].itemData?.system.school === "abj" &&
        args[0].itemData?.system.level > 0) {

it throws 2 data warnings when you open the item details, I suspect its from the item macro I see 3 data entries.

vast bane
vast bane
molten solar
vast bane
#

it wil find the last thing that actor has cast and if its abjuration it will calculate the wards strength

#

I guess a world script could be employed to get it to auto roll after abjure spells

#

or you could get a basic item.use going on all abjure spells to roll it

vast bane
scarlet gale
#

I should take a look at that some time. I'm betting a damage applied hook would simplify using this

#

If target has a arcane ward, adjust the HP and resource value correctly

vast bane
#

the sample item just needs a way to auto fire the ward so it starts up

#

it should activate on long rest and be 0/0 and then fire everytime an abjuration spell happens

#

as its setup now it only updates itself when it rolls

#

but it totally shields damage

scarlet gale
#

Doesn't it use your temp HP or something for that?

#

It would be interesting to get it to work using item uses or a resource value.

vast bane
#

no it uses a resource pool

#

leaving temp hp free to be modded as well by other features

scarlet gale
#

neat

winged anchor
vast bane
#

yes, cast shield spell using a slot, then roll arcane ward

#

its not fully automated you have to fire the wards item use after every abjuration spell immediately after

daring carbon
#

Currently doing the same thing. I see you used @details.level. That gets the level of the caster and not of the target, right? Are you doing this out of convenience because all your players have the same level?

vast bane
daring carbon
#

Feeling the same way. Thank you :)

pseudo turret
vast bane
pseudo turret
#

the show default template when hovering?

vast bane
#

its a really nuanced reason for doing so but just uncheck both of those in tmfx

#

yeah

#

its cause Automated animations has the same feature, and it won't work if tmfx has that setting checked, even though it doesn't work if the top feature is off

#

its a weird nuanced thing that I think Otigan didn't notice about tmfx

pseudo turret
#

great, thanks! I didn't know about this weird interaction

vast bane
#

so bottom line if you really like that hover feature, AA has it, but you have to uncheck it in tmfx even though tmfx is already off generally

elder path
#

Not the king we deserve but we love him Thanks Chris 🙏 👑

coarse mesa
scarlet gale
#

There was a discussion about it awhile back in here.

#

They got pinged about it IIRC

vast bane
#

and the user who just asked about it was doing the same thing

#

you don't realize it till you can't get AA to work right cause you assume its off cause tmfx is off

coarse mesa
#

I guess TMFX has varying levels of 'off'

vast bane
#

prolly nothing he can do about it other than what hes done

hot flower
spice kraken
#

Chis, you're on a roll with the updates

scarlet gale
#

It's all stuff I'm converting from my personal game, so the macro part is pretty much done. It's just a matter of slightly reconfiguring it for the module.

#

I'm pretty close to being through all my class features, I still have monster features and items to go.

#

I have a ton of monster features

coarse mesa
#

WotC is gonna have to pump out more books to keep ahead of you

molten solar
#

It's spicy. Crispy, if you will. Rice Chris Pre(made)s

#

(i'm sorry)

scarlet gale
#

lol

#

It helps that I make macro for 4 different DMs. Each with their own set of characters.

#

My group rotates between DMs and each game has it's own setting and characters

coarse mesa
#

I was gonna say, your game must pretty much run itself

scarlet gale
#

I really dislike manually rolling things.

#

Pretty much the only thing that gets a manual roll is Silvery Barbs

coarse mesa
#

Yeah that is a tricky one. Would be so fun if you could interrupt with a dialog – 'roll that again, sucker'

scarlet gale
#

The problem is that it would be spammy

#

Since you can use it on others

#

not just yourself

#

So any time someone nearby you gets attacked you can choose to use it.

#

So any dialogue would just slow things down

coarse mesa
#

yeah I feel like you could make it like an actual reaction – ie. the player using it has to hit it after the attack roll but before damage is resolved... no dialog

#

but that would be tricky af

#

and for things like saves etc that are fully automated that's harder

scarlet gale
#

Not something I want to touch, that's up to another module or midi-qol to deal with

coarse mesa
#

yeah pretty niche, from a contentious book

scarlet gale
#

._. Half my players have that spell

hot flower
coarse mesa
scarlet gale
#

Personally, I'm just a bigger fan of the shield spell and absorb elements

coarse mesa
#

however for this AHD campaign, all our characters have Strixhaven backgrounds for the extra goodies lol

scarlet gale
#

I turned Strixhaven into a magical college in my setting

#

Used all the teachers and students to fill up the place, but didn't actually go with any of the module story

coarse mesa
#

yeah we just used it as a starting point to get the group together before tackling the Mansion

#

the actual campaign setting is pretty irrelevant for what we're doing

sleek pulsar
vast bane
#

I will fix my copy/paste

sleek pulsar
vast bane
sleek pulsar
#

So, is the best way to let A-A handle template deletions, or midi?

vast bane
#

Midi, otherwise you will start to see midi throw red errors that its trying to do something it can't find anymore and the player sees those messages too

#

not technically a problem till it kills an overtime effect

#

midi will sit there wondering wtf happened to its template

#

but theres a good reason to do it too for you...AA is per item, you have to set them all up to do it, midi is a global setting, no fiddling no individual setup, its always going to manage your templates if you use its feature.

#

Its the checkbox in this section if you still want AA to do it instead:

#

in v9 foundry you can't shut it off

sleek pulsar
vast bane
#

yes but you will probably have to go fish out all the latent "delete template" settings in all your individual template/aura automated animations items

#

@violet meadow Improved Divine Smite in both the midi sample item and Midi SRD just add 1d8 in the effect value, should it not be 1d8[radiant]? (Also it prolly doesn't need to be in midi srd if tposney has it in the samples)

#

Though maybe he prefers the srd stuff get moved to midi srd instead /shrug

scarlet gale
#

I feel like that feature could be done with build a bonus more cleanly, depending on how the feature is worded

vast bane
#

that would then make it require 1 more module though

#

as it stands now it doesn't require any module fwiw

scarlet gale
#

fair

vast bane
#

well other than midi

#

I think I'm right though on the missing flavor, I assume that key can take flavors

#

if theres no flavor I think it couts as the weapons damage type

scarlet gale
#

I think it just picks whatever was to the left of it

#

I've never actually tested it

#

It'll allow flavors in the key

vast bane
#

I'm prepping the level 11 level ups for the players as they are likely hitting 11 on sunday and noticed both versions of Improved Divine Smite like that

scarlet gale
#

Anyone remember where the setting is for ability checks to not have the pop-up dialogue?

#

It's happening on my test world, but not my normal game and I already imported my midi-qol settings...

#

Found it, it's not in the workflow settings

vast bane
#

workflow is for attacks ;p

#

Beginning at 10th level, you can add your Intelligence modifier to one damage roll of any wizard evocation spell you cast.

Is this possible with babonus?

scarlet gale
#

Easily

vast bane
#

guessing it needs a custom script?

#

cause all I see is spell, not evocation spell

molten solar
#

spell school filter

vast bane
#

ok, figured it out, but for the record, lighting something up red kinda means stop to me so I thought I had to do this:

scarlet gale
#

what

vast bane
#

apparently its the other way around lol

molten solar
#

...

sleek pulsar
#

ummm 😂

vast bane
#

should this go on an active effect or can it be on the feature itself?

molten solar
#

bab don care

#

could slap it on a template and use token attacher

scarlet gale
#

I would put it on the feature, less effects is probably a better idea.

molten solar
#

or actor

vast bane
#

nice thanks guys sorry for the dummy move there lol

molten solar
#

I'd be with you on "red = stop" if it wasn't the only color used for activation throughout the entirety of foundry

coarse mesa
#

purple is 'on' for toggles in the control tools fwiw... they're kinda toggles?

#

it's a stretch

molten solar
#

That's just a shade of red

coarse mesa
#

Nice red name ya got there

molten solar
#

I am Atro's alt account

coarse mesa
#

That makes so much sense... the anti-module modulist

violet meadow
vast bane
violet meadow
#

I was using that quite a lot!

vast bane
#

what feature was important?

violet meadow
#

Texture on templates, no hightlight grid etc

vast bane
#

AA does that now doesn't it?

violet meadow
#

It kind of does yes, but there was an issue someone had before, I don't remember now what 🤷

gilded yacht
coarse mesa
# violet meadow

Why don't you just world script the bit you need? I pretty much had it installed for one setting too, but gave it up in the v10 update

#

This mildly plays into my idea for extending TM slightly but I don't think Zhell wants to know 😅

vast bane
#

Oh Chris I think I know how to solve the overtimes and only one status/macro.ce/macro.cub. you can use a macro to remove the others and have them as seperate ae's

scarlet gale
#

I considered making my own way to "fix" it.

#

By having the macros apply conditions instead of macro.ce

vast bane
#

I was thinkin make macros for each default condition

scarlet gale
#

nah

#

You can just use an effect creation and effect removed trigger from effect macros

#

It's just a lot of work

vast bane
#

oooooh

scarlet gale
#

And less easy to detect with my condition advantage implementation

vast bane
#

ok yeah that makes it easier actually

#

then I don't have to make all of them I can just have a template to dump into em

scarlet gale
#

The real issue is solving what happens when multiple effects give the same condition

vast bane
#

you can't have both

scarlet gale
#

I guess I could just let you have multiple conditions

#

Why not? Only spell effects can't overlap

vast bane
#

I think that falls under the similar effects rule

scarlet gale
#

no reason you can't be charm monster'ed and charm person

vast bane
#

oh good point yeah that gets messy, I'd just still use it myself lol

coarse mesa
#

most effects in 5E aren't numeric so it probably won't come up much

scarlet gale
#

I have ideas about it

#

Like making the condition origin the effect instead of the spell

#

Something I'll mess with in my module one day

#

But first to finish porting everything I have over

#

Ideally, this should just be fixed on a core level with the 5e system

#

And let us flag spells as applying certain conditions

#

Part of me just wants to go down the rabbit hole of adding my own properties to items similar to the midi-qol properties section

coarse mesa
#

Are you familiar with that?

scarlet gale
#

nope ¯_(ツ)_/¯

coarse mesa
scarlet gale
#

Wouldn't need to be as complicated, but it makes sense that system has a good way to handle it

violet meadow
violet meadow
scarlet gale
#

For example, if the target actor has the right flag, say for advantage vs charms. It'll slap an effect on them to give them advantage.

#

And I'm detecting the condition via reading the effect properties of the item that's being rolled

#

Not ideal, but it works

#

Editing the workflow directly wasn't working for me when I first made this like a year go

violet meadow
#

Yeah I am working around this by hooking on the various preRolls and adding (dis)/advantage based on flags or even just plain description on Items or names of Items on the rolling Actor

scarlet gale
#

My "simple" fix would be to have the items have their own boxes to get checked, similar to weapon properties or midi-qol properties

#

That way I don't need to dig around the effects

vast bane
#

My solution is advantage reminder 🙂

violet meadow
#

I am off two minds. Either making a compendium with some SRD Items with the proper flags already set to work together with my module or hardcoding specific ones in the module.
And adding an interface to check what's on and add or delete accordingly for extra sauce,

scarlet gale
#

That's your solution to everything

vast bane
#

It is quite easy hehe

scarlet gale
#

If we both wind up doing the same thing, we should just match our flags for it

#

Or we could try to get it pulled into the actual dnd system lol

#

It makes no sense that there isn't an actor field for condition resistance

violet meadow
#

Yeah something like that would make sense

scarlet gale
#

and a way to mark items as doing said conditions

violet meadow
#

Until then I am hardcoding under an extended conditions setting all the relevant Racial Features (SRD), like Dwarven Resilience etc 🤷

scarlet gale
#

makes sense

#

It's a low-priority thing for me since I always configure my things to make use of macro.ce

#

So it's easy enough to look for effects with that key set

#

I may attempt to make my own way to tie conditions to another effect so it works more cleanly then macro.ce

#

macro.ce doesn't play nice with multiple effects applying the same condition

violet meadow
#

I end up changing the default to not duplicate based on name instead of origin

#

I suppose that would actually be better as a default to the CEs 🤷

scarlet gale
#

That reminds me