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'})
#MidiQOL
1 messages · Page 70 of 1
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
Sorry I'm confused because I don't think you ever said I needed that module 😅 .. so I need to get that first?
Unless someone else can walk you through it another way, just drag out the dnd5e one, scaling doesn't mess with charges unless you make a macro
And I did:
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.
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);
I always panick when trying to at chris since theres like 30 of them on here lol
now, when I run it, I get this:
Line 4
so, not quite sure how to fix that, but it's def possible to set the perfect vision flags
you have the same name
change darkChanges to updates on line 4
then at the bottom
await darkTemplate.update(updates);
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.
what's your current macro?
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.
Just released an update with some artificer stuff
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:
You can just append if after my item macro if you really want
Doesn't touch your code at all.
the code is one line cause it's all funneled to my module
I'm blown away by how many goodies there are in your module... had no idea how busy you've been
Yeah I think I've only ever gone directly to specific pages on your git, never had a rummage around
this was a fun little project. Thank you, @scarlet gale for letting me hack at it.
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
I did wonder if you should be using names like 'Raulothim' and 'Tasha'... I guess carry on until you hear otherwise
Yeah, SRD doesn't use character names in spells, idk why exactly
Tim has Melf for instance
SRD spells actually have alternate names because they're in the SRD
Like Tiny Hut
instead of Leomund’s Tiny Hut
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?
you lack times up module
That's it! Times Up. thanks.
the presence of that module causes the effects to start to remove instead of suspend
This is what I was looking for
Oh, almost forgot. Crymic's patreon page as well -- if you're a patreon, that is... https://www.patreon.com/crymic/posts.
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
The ddb importer has a good macro for that already.
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
I'll test the ddb one real quick
alriiight, setting it up isn't as quick as expected
looks to be an item on use macro
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
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
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
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?
I have that on my github
oops jumped the shark there lol
is it in your module Chris?
but I need tashas on ddb for it or not?
if you want to make it yourself you can, then add the on use macro onto the item
I assume this runs as an ItemMacro on the item itself?
and what can I do that This: looks better in chat than this:
I mean it works but it looks bad 
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
I don't use Mr.primates stuff, but I'm pretty sure all of his are item macros
on use macros that are stored in item macro
When I put that macro into the Lightning Javelin itemmacro and use it, it just makes a tiny template.
yea I put it in the item macro thing and it worked
if you are freshly installing Item Macro make sure you turn off its character sheet hooks in its settings
imported it but not via ddb
that damage formula is very anti midiqol
looks probably like a roll20 importer lol cause foundry scales a different way
i figured after seeing the aftermath in chat. lol
you can just put the base item damage and then set scaling to cantrip
I'm actually half convinced the ddb javelin of lightning that was just added is just mine with the external API calls swapped out
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
The variable names are all the same lol
gotcha
ah yeah that'd screw up things
so you would just change the details everytime I get like a +1 weapon or a weapon with on-hit effects?
instead of "linking" it to my equipped weapon. if that is even a possibility
I genuinely don't know how he uses it, my wizard didn't want booming blade or gfb. I honestly assumed it was a modification macro of the next attack
if I was making it I'd do it that way
oh. that's smart not making it a whole attack just amplifying the next one.
I got the macro to work, but now it messes up chris' flourish macro. :/
yea, multiple things trying to modify a workflow don't work out well
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
Hexblade dip
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
booming blade and gfb are melee weapon attacks
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
is it dumb if it's working? 😄
Next release will work-around that
@proper siren Do you fast forward rolls in MidiQOL?
What's recommended for summoning spells like Conjure Minor Elemental?
Warpgate module and a macro
If you want something that vanishes when you lose concentration then Flaming Sphere might be a good starting point?
nah that one I use the master key summoner lol conjure random monsters is a pita
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
I have a macro that prompts for any actor in your sidebar and crosshairs it in
Yeah Automated Evocations help alot
It does the number per CR thing well
Should I actually write something now or watch the Bad Batch? Hmm 🤔 😅
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
dig down api can prob do that
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
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
make a folder for them and point to the folder instead of all sidebar actors
Nah, from a compendium ( Monsters (SRD) ) directly, filtering for type Elemental and CR < 2
It's coming soon ™️
I have changed the implementation though so I need to make more tests
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
I knew I had seen that before https://github.com/trioderegion/warpgate/wiki/Conjure-Minor-Elementals
It might need some freshening up, but take a look and see what you can make out of it for now 😉
Yep!
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
Yes. But in the meantime, I will share in a bit a World Script for that feature
Amazing, thank you!
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.
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
Wait a bit for MidiQOL v10.0.31 to deal with a couple of bugs in the current one.
Sounds like a plan. I can run the current setup this Thursday if I need to and wait on that. Thanks! 🙏🏻
29 midi is pretty stable and dnd5e 2.1.4 is doing fine for me
10.0.30 needs a couple of small edits, as it will not roll damage or end turn currently 💪 in some cases
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
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
tims doin something hehe
Ah
Ah 10.0.30 is up again 😄
I'm on .29 it appears lol
Awesome, I'll test it out!
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
I don't think skill checks do but let me double check
So so many
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
I already have the reaction and damage reduction, need to remember where that cancel workflow reaction is I never bookmarked it
yeah attack roll, ability check, or saving throw
death saves are technically a saving throw so that would count I believe
OK so it technically we need Attack Rolls, Saves, Death Save, Ability Test, Skill Check, Tool Check, initiative to be complete?
You’re remaking Emboldening Bond? 👀
Add in the bottom ```js
Hooks.on("dnd5e.preRollDeathSave", _preRollAbilities)
Hooks.on("dnd5e.preRollToolCheck", _preRollAbilities)
Trying to take care the need to be in radius to have the bonuses.
Ah initiative is still missing
I don't think it would effect initiative actually
Oh damn that would be neat
It should be working fine right now
Radiuses right? It’s within 30’ of another bondee. Or am I misremembering?
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
Most importantly, is it rolling the DSN d20 before the optional bonus?
No optional bonus
Say what
first roll unfortunatelly
thankfully I've only got one caster with it in my game lol
😔
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
ahh it only works for the first roll?
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?
You are not FF so its like an easier thing to change
Pally aura is only around the pally, not all the recipients
yeah but thats just it
it will be when Ability checks are covered in Babonus (soon it seems)
you make it a pally aura cause one guy modifies the other
It has to work with overlapping auras and not stack, since every bondee provides the aura
Its a custom script. Check if another is in range when rolling. If yes return true, if not return false
also I think emboldening bond is suppose to be like guidance
It is, you can add it after the roll
you see your roll and then say yes
I hate having choice. First roll or lost 😄
Sample item has choice ;p
Now now, that’s how it should be, not how it is
does it refresh every turn or on their turn?
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
Where did I get mine from? Midi QOL samples?
yeah its in samples
99%
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
he hasn't posted the real patch yet has he?
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
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
Excuse me what is this
I am missing a test for re enabling the effect when it should
Autofills stuff
bug
Makes it stupid easy to find @ things
in some form application I think
Module?
Ah not bug sorry...
Autocomplete Inline Properties I think
Thankies
How does this last bit work if no Item Macro?
I cannot think anymore clearly... I will test it tomorrow again...
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
it's close 😄
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
OK I think I found it!
Someone try this.
Needs:
- 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')
- DAE with the optional bonuses as shown in the screenshot.
- 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 😩
Yeah good luck with that
Init needs its own very special handling since it's just so different
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
I figured out how to put a minimum on the check dice roll but not the overall outcome
check
Show the AE?
AE?
It's working...
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
Oh, then don't put 20, put 15
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
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
I have no idea how to do either of those
Really no way to set a minimum for a total on a roll?
Not without a macro or world script
#macro-polo might be able to help, or someone here
Oh no way it's still missing for that exact reason 😁
I can link it to my module where I will wrap it to behave
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
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
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.
i have full automation
kinda testing it by myself
hm... it works fine in "no automation" mode, and does not in "full automation"
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.
Very nice! This is what you should have called your module btw
Someone has to make a module called that. Maybe the next WIRE
This is my personal module. How did it get out there 😅 😛
Now to not touch it again tonight as it's currently 3 AM
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 🤷
Out of morbid curiosity, how is Template Macro working out?
Pretty well, I've been using it to ditch active auras.
How does it compare?
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.
Any socket / latency issues? 🤔
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.
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.
I may have found something
Exactly this. I made a Template Macro + Token Attacher for Spirit Guardians to be RAW, but boy oh boy it was a PITA
what part of sg doesn't work from midi sample? 0_o
A few small things
I'm willing to bet the midi sample item would also let you stack it multiple times
If this is you going to bed at 3am 🕒 I’m impressed you’re still typing. 😂
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 😄
was midi 30 a ninja patch?
My solution was to just recalculate what effect should be on the actor by looking at all templates they're in. Not just the one that gave them the effect.
Makes sense yes and this is a part of the PITA flag 😅
// 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));
Template drawn, moved, entered, exit, stay, token attacher, flags, checks 
But works for a fleeting feeling of accomplishment 💪
(and for players never to use it again...)
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.
(Door Macro too...)
Apply macro directly to the door™️
It has opportunities aplenty
It opens so many doors
but does it hold the key to my heart?
Heart Macro was scrapped, sorry
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.
I use door macro to play Syrinscape sounds when doors are opened and closed.
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)
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
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
Did you do that?
I get this:
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
Nope it's an onUse macro
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 ^^'
It heals for 2
I can't even get it to roll
yea... why? XD
cause you haven't created a resource of the amount of HP max that can do
thats what I said lol, the LoH does it automatically, this one doesn't
this could totally be automatic if they set the dae
but yes. I am just talking about how to make the MASIF one work 🤷
Also the 3 data, need to be system
how do we know what the resource name should be?
Ah frack it wait a minute
yes ^^
yeah once channel divinity: preserve life second preserve life
this is basically how we do macro.createitems only the items permenantly there
but how do you set up that it heals max. max hp diveded by 2? ^^
OK so you need both Items on the Actor 🤔
I dunno I don't have a life cleric now that I got both items setup it won't roll
are you using his two items or do you have only one of his items fuma?
Channel Divinity: Preserve Life will create the DAE flag
using both items, first channel divinity: preserve life..... then preserve life only
the channel divinity one needs to be rolled, though...that seems weird, it could just be apply on equip?
cleric gets a preserve life "buff" after the first one (the flag?)=
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
Not sure why the Channel Divinity: Preserve Life is not a transfer to Actor on item equip and you need to roll it
yeah I agree
thats the tipping point / whats realy don't work well
I think its just a really old implementation is all
its probably because the pool resets everytime they use it
so essentially it's a LoH
When should it reset?
yeah but can't go above half health
preserve life gets a pool everytime you use it of your levelx 5 I think?
oh what the heck
we are talking about something like a Heal spell no?
ok I got it
its the life clerics main channel divinity
up to 5 times your level divided to the creatures you want in 30ft radius
and they can't go above half health with it
healing sliders to the rescue!
I think it'd be better as a temp item
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
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)
Heyo, should the emboldening bond setup match this exactly? Right now mine specify emboldening bond ie 'flags.midi-qol.optional.emboldeningBond.save.all'. Not sure if using NAME makes a difference. Anyway, this does work but it's not prompting the user to ask if they want to use the roll or not, still using it on the first roll
As long as they are the same
it should roll an Optional Bonus
I think that needs FF 🤔
iirc
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
ah yeah I don't use fast forward on rolls, I guess I should try it out, no idea what it effects
if i use that macro i get an error ^^ do i need some other mod?
It is not primed to use with Preserve Life yet. I will share one later
thyvm ^^
it does not need fast forward
only if you use midi to roll saves
if you use mtb/lmrtfy its fine
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?
you could likely use the PIXI drawn outline of the template to do a collision test against with PIXI method
get ray, collide against shape
@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.
I didn't find any such method
its likely im making things up, lemme poke around
(anyway wrong channel)
Can you export me the v9 Item which was working and DM it over?
did tim make a mistake with the 30 released last night or did he do a ninja patch to 30?
@sleek glacier Cleric Channel Divinity Preserve Life, for MidiQOL.
https://github.com/thatlonelybugbear/FoundryMacros/tree/main/MidiQOL_related/Class Features/Cleric/Channel Divinity/Preserve Life
Test this out. Follow the Readme steps and let me know if it makes sense.
ALL my ranged attacks don't do damage attacks anymore. Everything is working fine, except for ranged attacks. Can someome give some light?
Are you on v10.0.30 of MidiQOL?
F12 open console, check for red entries (errors).
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)
Yeah it's a bug in v10.0.30 of MidiQOL
You could downgrade to v10.0.29 if you need an urgent fix
How I downgrade?
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
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?
Doesn't matter 🤷
If the module gets updated and they are not removed from its module.json, they will be recreated
I think I don't get it, now nothing work anymore
Tried it but i get a error evaluating macro syntaxError: Invalid or unexpected token ... not sure if i did something wrong (pretty new at foundry after all)
Can you screenshot the actual error?
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 ?
https://gitlab.com/tposney/midi-qol/-/blob/v10/package/midi-qol-v10.0.29.zip
Go there and download it.
Go to your Foundry userData, locate the <username>\AppData\Local\FoundryVTT\Data\modules\ folder and unzip the downloaded file in there.
Reload Foundry aftewards
Is the feature you created as shown?
ItemMacro After Active Effects ?
no idea, what that is 😄
Maybe try #modules?
Does that mean they will be recreated if any part of the module gets updated, or only if those dbs get updated?
Any afaik
ah well
Not a good idea to modify modules' compendiums. They will be overwritten with an update.
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
Noted. As this was not the macros initial use case it will need some further tweaking. I will do when I have some time and ping you
thy very much, your code skills are pretty awesome ^^
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? 🤔
( nah really aren't! Learning more as I go 😅 )
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 ^^
Hmm did you actually choose that pc? OK I see. I will take a look!
will try it again...
yes... choosed it... aswell as locked hp (dont seem to be mandatory) but dont work for single targets
If you do not want to regress to v10.0.29 for each ranged weapon you use for now, go in to the details tab scroll to the bottom and tick then untick No Full Cover.
You should be good to go after that. (That only covers the individual item though, not all ranged weapons)
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.
its a midi dependency module, they were right to come here. That module is in rough shape till the author catches up, there has been 9 midi versions since Variant Encumberance + midi last updated. @hard oxide
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.
Known bug in MidiQol 10.0.30 when the combatant who tries to end turn has on optional effect
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?
should be able to tell by the commit diff -- link to the release tag/commit?
You just spoke french to me ;p
"linky" to something half relevant 😅
May have been something to do with changing v10 to master? Idk how gitlab works
I don't see any changes in it, maybe he was fixing a typo on the package page
Awesome to have it identified. Thanks for the assist, you two :)
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 :)
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
Don’t you dare put TMFX on the list!
whats SIFTS actual name?
TMFX is part of the TVA family now
Curiously, all of this worked perfectly a month ago :')
were you on v9 a month ago?
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
I run a session every two weeks, and so I update roughly once every two weeks; all modules, the 5e ruleset, and Foundry itself
oof
So I've been on v10 since not long after it released
That is like Russian Roullette the way you are updating lol
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
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
hmm
The things having issues aren't new, though; spells like mage armor and whatnot. Anything lasting longer than a turn is proving problematic
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

also make sure you have midi srd's or ddb importers mage armor, the dnd5e srd version is bad for midi
its a dependency module so it can get shutoff during find the culprits or troubleshooting by accident, I don't judge 😉
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 :)
Spell template manager had stopped working or at least being developed pre v10
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.
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.
his patch notes have been changing things related to that, are you on 10.0.30?
I'd advise stepping down to 29 for now, but I don't know if changing versions can help you
Aw Chris... this is cute. Great idea
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.
That's clever. I guess by default it could just replicate the description from the originating spell/feature (if it isn't already doing that)
That's what I was originally doing, but I pretty often trim down descriptions for other things.
Yeah absolutely
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.
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
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
2.2.0 might grant the ability for items to have two versions of their description, one for the item, one for the chatlog
That will be nice.
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
Do you wanna make a PR or two?
Much of the code can be copied from EM directly
I'm currently neck deep in babonus
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.
turn end in template too maybe? wall of fire is turn end if you're within 10' of one side of it which is annoying
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.
Advanced Spell Effects pulled it off in v9, but yeah looks super full on 
Might be able to look at that for inspiration
With a dialog? It's a choice, isnt it
@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
Thank you
looks like Mr.Primate has a witchbolt
ok cool I'll do some testing with it in my campaign that I am running. Thank you very much for this information
feel free to turn to this channel for all your midi and midi adjacent needs
will do. Thanks again
Near side/far side? North side? 🤔 I guess the choices presented would need to adapt to the situation?
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?
nope
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?
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.
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!
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).
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.
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.
oh nice
Hmm also I think you need to filter for healing flavor in the else conditional
Don't think so? The above if catches all non-healing
OK I see. I would still bail out first thing if no damageRoll terms contain healing 🤷
Too early ☕
This include postDamageRoll?
Or just the called hook 'DamageRollComplete'
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
I assumed it just meant we could drop the setDamageRoll function
and just do workflow.damageRoll = whatever
Might well do 🤔
but I thought the setDamageRoll would be able to modify all damage
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
is your balm of peace the one you made for me?
where you select all targets and click it once
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.
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)
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
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. 🙂
Appreciated!
Whoever isn't present has a British, squeaky and mousy voice and severe daddy issues. That's the rule at my table.
There are literally thousands of British accents. Which one do you use?
Cockney
Bo'o o Wo'er
"It's a jolly holiday with Mary"
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
So at the start of your round you need to add 1 to a specific resource?
@scarlet gale filed an issue on github, but FYI, spirit shroud is doing necrotic damage no matter what I select.
YES 🙂
It's an additional module, but could use Effect Macro and it would be trivial.
const {value, max} = actor.system.resources.primary;
await actor.update({"system.resources.primary.value": Math.min(value + 1, max)});
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)});
}
Thank you!
Thank you as well! 🙂
can you clarify the wording cause if its accurate to how I'm reading it, neither of them gave you the proper solution
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
if there is a turn start event, then you can check for turn 0 (or 1, however it counts) pretty quickly
Would be trivial
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
"round 0" is before combat has begun
Here is some reference code from Helpers: https://github.com/trioderegion/dnd5e-helpers/blob/689bbfecdf42fc016f1f34decc117d3b022f2003/scripts/module.js#L78-L89
(it looks for turn starts, avoiding 0th round, but you can see all of the data structures you are interested in)
@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…
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
Cool, sounds interesting
Moving it outside the window bounds completely seems like the best place for it
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
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 🙂
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?
Sorry, like I said, pretty new here. How does one check that?
manage modules and look at the last bit of the version number of midiqol
you mean the version? 10.0.30
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
Will that revert settings? I've went through all the MIdi settings. I'll grab screenshots if I will need to reset everything lol
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)
I'll remember that in the future. I've installed everything today, so I guess I just have bad timing lol
whenever you click an update button in foundry it actualy replaces everything anyway, it doesn't do smart patching
Well thanks for the response! I'll downgrade and see what happens 🙂
if you don't know where your data is, in the main menu the configuration tab gives you the local location of it
at the start of your turn -> regen 1 primary resource
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.
then their solutions are perfect
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.
What do you mean by being meticulous. Are you saying I should cast resistance, then go manually edit the AE in the tokens "effects" tab to have a 60 second timer?
Or is there a way to change the resistance spell to use 60 seconds rather than 10 rounds?
@vast bane what’s the issue with .30? I have a game coming up this weekend and may have accidentally hit Update All 👀
something about damage not dealing out in some cases and overtime effects on end of turns
edit the spells ae before you cast it to include the timed duration instead of rounds or both if you can easily calculate it in your head, anything above a minute doesn't need rounds
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
Ok the damage part sounds grim. I’ll downgrade unless Tim saves the day
I reverted to .29 like you said. Doesnt seem to fix the issue I am having with Resistance not falling off. If I adjust the Temporary effect to 60 seconds it works.
And I notice the temporary effect on Bless is 60 seconds by default.
How would I chance the duration from 10 rounds to 60 seconds for resistance? Sorry for the dumb questions, but I dont see it on the spell details.
it was never a fix for that, its just a fact that 30 has 2 glaring issues that screw up combat
Oh I see... its not under the details duration. Its under effects
I am learning! lol. Thanks again
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?
The midi SRD bless wasnt falling off
open the clerics sheet, edit the bless spell on the cleric, and show me the effect tab of the item, not details
Unknown source looks really sus thats prolly a bad import
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
I stand corrected:
Is that the Midi srd one?
does anyone have a bless from ddb?
That is what my midi srd looks like
thats not midi srd
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
midi uses suspended things to denote immunity to the effect
what version of midi srd do you have
10.10.0
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
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.
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
yeah. Spell out of combat have durations long enough to mostly ignore until I tell the player it wore off lol
and again, you can fix this after the fact by just noticing a bless lingering and killing the clerics conc manually
or just kill the cleric as a whole!
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:
I have Dfreds effects panel which lets me do it
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
Maybe one day. For now, I need to make things as easy on my players as possible for the transfer from Roll20.
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.
the apply active effects button is causing my eye to twitch
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.
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.
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
Does it actually stop it from working?
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
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
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.
I don't think either arcane ward are functional in midi atm, I just do not understand how its suppose to work and its throwing compat warnings on top of its ineffective setup
Ok I am able to get the resource one to function, you must link it to one of the 3 resource pools, you can name the pool if you want, no need to change its value/max the macro does it itself. Once you cast an abjuration spell, you need to MANUALLY roll the feature(you may want to rename the feature so its more proper looking). Then when you take damage it should subtract from the resource pool.
🤔
babonus could do it...?
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
I'm not well versed in baboni to set it up
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
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
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.
no it uses a resource pool
leaving temp hp free to be modded as well by other features
neat
Is that correct? If so Im still not there, sorry for being the dumb its been a long work week 🙂
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
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?
Yes exactly that, I'm sure a pro could make it work in a macro but I really felt it was a needless effort when it really doesn't matter
Feeling the same way. Thank you :)
is it enough to disable automatic template effects in TMFX to avoid midi having issues with it?
yes, but if you have automated animations, you want to uncheck the one right below that too, and then you can use the same exact feature in AA with midi
the show default template when hovering?
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
great, thanks! I didn't know about this weird interaction
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
Not the king we deserve but we love him Thanks Chris 🙏 👑
Oh Otigon noticed... it's mentioned in the A-A settings
yeah but my issue was I turned off the master switch in tmfx instead so I had no clue I needed to check that box too
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
I guess TMFX has varying levels of 'off'
prolly nothing he can do about it other than what hes done
Absolutely. these are boffo.
Chis, you're on a roll with the updates
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
WotC is gonna have to pump out more books to keep ahead of you
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
I was gonna say, your game must pretty much run itself
I really dislike manually rolling things.
Pretty much the only thing that gets a manual roll is Silvery Barbs
Yeah that is a tricky one. Would be so fun if you could interrupt with a dialog – 'roll that again, sucker'
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
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
Not something I want to touch, that's up to another module or midi-qol to deal with
yeah pretty niche, from a contentious book
._. Half my players have that spell
Like the Pally's vigilent guardian, etc.
just listening to CR's Calamity 4-parter and it's flying around a lot lol... we use it but only one PC has it and he hates spending slots
Personally, I'm just a bigger fan of the shield spell and absorb elements
however for this AHD campaign, all our characters have Strixhaven backgrounds for the extra goodies lol
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
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
Moto, which TMFX template settings step on midi? I'd like to check my set up.
Hmmm, good point it doesn't have an auto delete, it steps on Automated animations not midi
I will fix my copy/paste
Cool, thanks. Appreciate the help! 🙂
any module that auto deletes templates after the cast, can make midi get really confused with template automations
So, is the best way to let A-A handle template deletions, or midi?
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
So, if I want to keep it with Midi doing the work, I keep it looking like your screenshot, correct? That's how I have it now.
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
I feel like that feature could be done with build a bonus more cleanly, depending on how the feature is worded
that would then make it require 1 more module though
as it stands now it doesn't require any module fwiw
fair
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
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
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
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
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?
Easily
spell school filter
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:
what
apparently its the other way around lol
...
ummm 😂
should this go on an active effect or can it be on the feature itself?
I would put it on the feature, less effects is probably a better idea.
or actor
nice thanks guys sorry for the dummy move there lol
I'd be with you on "red = stop" if it wasn't the only color used for activation throughout the entirety of foundry
purple is 'on' for toggles in the control tools fwiw... they're kinda toggles?
it's a stretch
That's just a shade of red
Nice red name ya got there
I am Atro's alt account
That makes so much sense... the anti-module modulist
Yes I think it needs the damage flavor.
I am back from a deep dive into SIFT! It now seems to work for me 😄
You pullin a 4535992 and trying to rescue all the modules hehe?
I was using that quite a lot!
what feature was important?
Texture on templates, no hightlight grid etc
AA does that now doesn't it?
It kind of does yes, but there was an issue someone had before, I don't remember now what 🤷
Should be easy enough to trigger both. The timing of the trigger could be an issue - it first on the hook combat.preupdate and and so could fire while the rest of the update is happening - since the macro execution is async and the preUpdate is not timing is unpredictable, at best.
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 😅
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
I considered making my own way to "fix" it.
By having the macros apply conditions instead of macro.ce
I was thinkin make macros for each default condition
nah
You can just use an effect creation and effect removed trigger from effect macros
It's just a lot of work
oooooh
And less easy to detect with my condition advantage implementation
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
The real issue is solving what happens when multiple effects give the same condition
you can't have both
I guess I could just let you have multiple conditions
Why not? Only spell effects can't overlap
I think that falls under the similar effects rule
no reason you can't be charm monster'ed and charm person
oh good point yeah that gets messy, I'd just still use it myself lol
most effects in 5E aren't numeric so it probably won't come up much
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
That's starting to sound like Rule Elements in PF2E... I have a vague understanding of it but it sounds really powerful
Are you familiar with that?
nope ¯_(ツ)_/¯
Here's the 'short version'... it's interesting to see what can be learned from other systems anyway imo https://github.com/foundryvtt/pf2e/wiki/Quickstart-guide-for-rule-elements
Wouldn't need to be as complicated, but it makes sense that system has a good way to handle it
Nah not doable with a world script for the most part 🤷
Are you flagging conditions to roll with advantage ?
I'm listening in on all workflows and sneakily adding a effect to give advantage to the person about to make a save if they have the proper flag set.
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
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
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
My solution is advantage reminder 🙂
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,
That's your solution to everything
It is quite easy hehe
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
Yeah something like that would make sense
and a way to mark items as doing said conditions
Until then I am hardcoding under an extended conditions setting all the relevant Racial Features (SRD), like Dwarven Resilience etc 🤷
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
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 🤷
That reminds me