#MidiQOL
1 messages Β· Page 14 of 1
Craft module you say?
I'll probably have to use it 1 at a time for the time being.
We're using DF Manual Rolls (players roll real dice), and unfortunately when DF Manual Rolls input prompts, it doesn't tell me "which" token is making that roll.
If you need to change it at some point: ```js
for (let target of args[0].failedSaves) {
const targetActor = target.actor;
if (targetActor.effects.find(eff=>eff.label.includes("Exhaustion"))) {
const exhaustionLevel = Number(targetActor.effects.find(eff=>eff.label.includes("Exhaustion")).label.split('n ')[1]);
const newExhaustionLevel = Math.clamped(exhaustionLevel + 1, 1, 6);
if (newExhaustionLevel > 5) {
await game.dfreds.effectInterface.addEffect({effectName:'Dead', uuid:targetActor.uuid});
return;
}
const effectName = "Exhaustion "+newExhaustionLevel;
await game.dfreds.effectInterface.addEffect({effectName, uuid:targetActor.uuid});
}
else await game.dfreds.effectInterface.addEffect({effectName: 'Exhaustion 1', uuid:targetActor.uuid});
}
are you on v10?
Does DF manual rolls work on v10?
yes, and yes.
Before v10, DF Manual Rolls input dialogue never told you "who" was rolling.
So if I selected 10 tokens, it would pop up the Manual Roll dialogue 10 times, but wouldn't specify which token the manual roll goes to until after I input a dice roll.
This is only troublesome if I select all the player characters, throw a spell at them and they rattle off their dice rolls at me. I can't (as far as I know) know which roll goes to which token unless I do it one at at time.
NPCs, I can just manually roll d20s and input as I go no problem, or click submit for random to speed it up.
I don't have that issue as I only have it on for 2 players who roll real dice, I don't use it myself.
For completeness, if level > 5, the target should be set to deadβ¦
Ah true!
The edit should do it π€
How could I go about automating Colossus Slayer?
When you hit a creature with a weapon attack, the creature takes an extra 1d8 damage if it's below its hit point maximum. You can deal this extra damage only once per turn.
v9 or v10?
v10
Using DFreds CE or not?
yes
The ItemMacro or a script macro code: ```js
if (!["mwak","rwak"].includes(args[0].itemData.system.actionType)) return;
if (!args[0].hitTargets || args[0].hitTargets[0].actor.getRollData().attributes.hp.value === args[0].hitTargets[0].actor.getRollData().attributes.hp.max) return;
const diceMult = args[0].isCritical ? 2 : 1; //this one will make it double the damage to 2d8 on a crit hit.
if (game.combat) {
const combatTime = ${game.combat.id}-${game.combat.round + game.combat.turn /100};
const lastTime = actor.getFlag("midi-qol", "colossusSlayer");
if (combatTime !== lastTime) {
await actor.setFlag("midi-qol", "colossusSlayer", combatTime)
}
return {damageRoll: ${diceMult}d8, flavor: "Colossus Slayer extra damage"};
Create on the Colossus Slayer feature a DAE and set it to `Transfer to Actor on Item equip`
The effect needs to be `flags.dnd5e.DamageBonusMacro | Custom | ItemMacro` or `flags.dnd5e.DamageBonusMacro | Custom | "name of the macro you created"`
oooh ok
Small edit typos
ty!
this is helpful beyond this ability
didn't know that's how i can link macros to stuff
is the if (game.combat) block for making this only work once per round?
Make sure to check MidiQOL sample items compendium. It has lots of helpful stuff
If in combat that one will make it once per turn
Either using ItemMacro module on the items themselves, or as a generic Script macro in your hotbar (or the macros folder, the small icon to the left of your hotbar).
ahh
I don't think the macro is being called
unless i can't log console messages in a macro
the actor has the DAE effect
I added the ItemMacro to the colossus slayer passive ability
are you the GM? or is a GM logged in?
I'm the gm
i know some DAE executions of macro get piped through the gm account....bah, ok, just checking
@violet meadow hah, i just found your github comment for this exact ability
flags.dnd5e.DamageBonusMacro | Custom | ItemMacro.Name Of Feature With Item Macro
now it's triggering
though i have something else wrong with it
Hmm I thought tposney fixed that in the latest versions.
Which MidiQol/DAE dnd5e versions are you on?
DAE 10.0.8 MidiQOL 10.0.12
Try updating. Ah ok the plain ItemMacro as the effect value works only in the latest ones. .09 and .13 respectively
gotcha
For referencing the item macro for the same item the DAE effect is on?
there we go
working like a charm now
had to tweak the macro a little
// Is it a weapon attack?
if (!["mwak","rwak"].includes(args[0].itemData.system.actionType)) return;
// Did it hit a target?
if (!args[0].hitTargets) return;
const targetHp = args[0].hitTargets[0].actor.getRollData().attributes.hp
// Is the target at full health?
if (targetHp.value === targetHp.max) return;
const diceMult = args[0].isCritical ? 2 : 1;
if (game.combat) {
const combatTime = `${game.combat.id}-${game.combat.round + game.combat.turn /100}`;
const lastTime = actor.getFlag("midi-qol", "colossus_slayer");
if (combatTime !== lastTime) {
await actor.setFlag("midi-qol", "colossus_slayer", combatTime);
return {damageRoll: `${diceMult}d8`, flavor: "Colossus Slayer extra damage"};
}
}
not sure about the return values being an object or not
ahh, guess that's not necessary
I'm guessing there's no way to combine the damage into the weapon damage message?
I didn't test it so good thing you worked it out
You can combine them all by using merge cards in midi settings => workflow settings => misc tab
ohh, cool
When I'm using a called hook for a workflow in a world script, is it possible to change the attack from advantage to a regular hit?
@gilded yacht
Does ```js
setProperty(workflow, advantage, false)
Watch the ` a bit, I am on iPad and they are known to be trouble for code
I think so π€
Doesn't look like it did
function main (workflow) {
console.log(this);
console.log(workflow);
console.log(workflow.advantage);
console.log('Step 1');
if (workflow.targets.length === 0 || workflow.targets.length > 1) {return;}
console.log('Step 2');
let actorEffect = workflow.actor.effects.find(eff => eff.data.label === 'Shift - Wildhunt - Anti-Advantage');
if (!actorEffect) {return;}
console.log('Step 3');
let actorEffect2 = workflow.actor.effects.find(eff => eff.data.label === 'Shift - Wildhunt');
if (actorEffect2 != undefined) {return;}
console.log('Step 4');
let targetEffect = workflow.targets.first().actor.effects.find(eff => eff.data.label === 'Shift - Wildhunt');
console.log(targetEffect);
if (!targetEffect) {return;}
console.log('Step 5');
setProperty(workflow, 'advantage', false);
console.log('Removed advantage!');
return workflow;
}
Hooks.on("midi-qol.preAttackRoll", (workflow) => main(workflow));
My current mess.
So far it's just a matter of figuring out how to remove the advantage
In the step 5 area
Would be far easier if there was a flag that grants attackers the inability to have advantage
For context, I have an effect aura that's giving nearby creatures an effect called anti-advantage
This was working for me last time I checked. <#dnd5e message>
Itβs the other way around though.
Hmm what if you check if it has advantage and then set disadvantage? π
First thing I tried
at this point in the workflow it's undefined
AttackRollComplete is the next hook
and that seems too late
I think
yea, it's undefined at this point
Back to basics. Does setting the setProperty to advantage false work in the hook directly?
Honestly, I'm not sure
"The passed workflow is "live" so changes will affect subsequent actions. In particular preAttackRoll and preDamageRoll will affect the roll about to be done."
This would mean the editing the workflow should change it right?
I would think so. It should be the same to changing stuff in a macroPass in an onUse
Hmm not on my pc but I will take a look later
V10 correct?
But I think tposney will sort you out sooner or later!
@violet meadow Responding to your message in #dnd5e earlier,
Not sure what information specifically you required, but here's the basics of my player's item:
The weapon has two forms, which it swaps between whenever it deals damage. The first is melee, while the second is a 60ft ranged weapon. There are other effects as well, but I've already automated those without issue.
V9
I've only started using Midi today but would appreciate any help with it
Not sure if I have the full context, but a warpgate mutate macro would likely be your best bet.
Or just a macro the simply swaps the items out from your items folder
You can have both in 1 and use a check for range with midi to change the damage easily with no warp gate needed which is why I wanted to know the basic principles of the weapon.
I will share an example as soon as I am back on my pc
Thanks, both of you
Im trying to make an homebrew spell but when I want to cast it the measure placement isnt working...
Share the spell details (item details tab) and/or macro you use
its a fireball reskin, working as a legendry action/charge attack
Change space to sphere in the target details
Or radius
thanks!!
Is there a way in V10 to have Acid Arrow properly apply the 2d4 damage at the end of the target's next turn? With the default settings, it just applies the initial damage and then the end-of-next-turn damage all up front, applying no damage next turn.
Use an overtime effect
Where do I set that? Effects tab I assume?
Yeah, give me a few and I can make it
Check the pins in this thread for the MidiQOL readme
Gotta figure out dinner
Will help you in the long run
If you cannot make something out of it, we can help
(I cannot right now making dinner too, so I thought that would be a helpful exercise) π
I'll put it in spoiler text if you can't figure it out
Melf's Acid Arrow?
@stone forge
Also, just for reference, you don't need the damage type inside the [] since you have it in the dropdown
Hmm is there something like that in the sample items?
I think that is from DDB importer π€
Yes it is
Just making sure I read it right, only damage for 1 more turn or is it continuous?
I've just opened it up to change the damage dice for a suped-up version of it and, having cast it, noticed that all of the damage (initial and over time) is all applied up front.
1 turn
Were you able to make the OT or need help with it?
I am trying to get my head around the readme, I've found the Overtime section...
I'll do the spoiler text in my next message if you can't get it working
I have no coding experience though and it's er... tricky... a lot of equals signs!
It's confusing at first but when you make one you realize how easy it is
Also do you have Times Up
I think I will be able to get my head around basic coding eventually but another thing is where to enter the flags and scripts and whatnot on Foundry. Slowly figuring that out as well though I think... Yes I have Times Up.
||overtime flag | override | the stuff below
label="Melf's Acid Arrow", (you can change this to whatever you want, it's just what the name of the effect will appear as in the chat, don't put any of the parenthesis stuff in the effect)
turn=end,
damageBeforeSave=true, (I don't think this is needed but can't hurt, again don't put this parenthesis stuff in there)
damageType=acid,
damageRoll=(@item.level)d4||
There you go
If you need any explanation on it just lmk
Also
||you prolly don't need to add a special duration of turn end so just 1 round duration should work. You'll need to be in combat for it to work||
Thank you - am I anywhere near? π I haven't looked at yours yet... π
I have turn=end,actor=target,damageRoll=2d4 in the effect value, however, actor=target I completely made up in the hope that it worked; I can't find how to specify actors in the Readme.
Ok, not far off! I had meant to put damage type actually too. Thank you, mate. That is very helpful - I've not really had a clue where to start before now! π₯΄
You might need the module Dynamic Active Effects
Yes, have that
Not one of these?
Weird it looks like that, maybe cause of v10?
Yeah, I am V10 π€·π»ββοΈ Maybe
Also, you can do these as 1 line, I just prefer \n cause it's more legible
Still not bad, We all start somewhere
How do you return space in there? Tried CTRL/ALT +Enter
Oh π Enter submits the changes for me. Might be a QOL setting I turne don somewhere
What about shift enter?
Just submits, don't worry!
What version of midi and dae are you on
Adding the effect by opening the spell>Effects>Configure the effect>Effects tab in the second window
Cause I see you don't have the autofill option and also the drag expand
Not the srd one
This one seems old...? But run update modules quite often
Oh
I just have these two
Update DAE
Also, the SRD one only has a v9 version so things from that compendium might not work
You need to update your Dnd5e system
And then update DAE and MidiQOL
dnd should be 2.0.3(?)
dnd5e is up to date
Just installed the standard DAE, didn't realise I had the wrong one. Remove the SRD one then?
Remove it as it wont work in v10 for the most part
What about your Foundry version?
You can get Convenient Effects (and dfred's effect panel, great module regardless) for a bunch of premade effects
Also after you update DAE, show us the version number and a picture of the effects tab
Yes, have DFred's Convenient Effects
Just for Zhell, take a look at Visual Active Effects too (instead of DFreds Effect Panel) π
Ooh that looks nice. Another sad day of being on v9
Do it do it do it
When you're saying DAE, is it this one? I just ask as the module name comes out a little different. I did already have this but just installed it again via manifest.
Oh no, I won't update until I see people stop complaining about v10 midi issues and until I learn JS so I can update modules myself that aren't being maintained
Yup, and that version looks good
@stone forge the most recent MidiQOL (10.0.13) will need 10.286+ version of Foundry.
Yeah, I'm 10.286
Is it the Sheet style maybe?
Oh no, there's only one option for that and it's default
Anyone else on v10, is that what it looks like now?
Ah probably the DAE settings. Go into the settings and check the 1st box
Tada
OverTime needs an active combat to work properly
Yeah, just trying it out in combat. I have damageRoll=(@itemlevel)d4 but damage keeps coming out at zero
Should it be (@spelllevel)?
(Is that even a thing?)
@item.level
ahhh, a dot
and also @spellLevel iirc
Hooray, works!
Thank you for all of your help. I'll be able to knock a few more of these basic ones up myself now hopefully. ππ
Yes, just have! π Much easier, return works too...
Sorry, quick one (down a MIDI rabbit hole now) - how do I multiply by 2 in the code?
e.g. damageRoll=(@item.levelx2)d4
*
thank you
how do i stop midi from changing the movement setting to combat when combat starts
movement setting?
yeah when combat starts you can only move tokens when its your turn
is it midi that is forcing that?
Pretty sure that's a Monk's module
Monks tokenbar
@scarlet gale This seems to work ```js
Hooks.on('midi-qol.preAttackRoll', workflow => { setProperty(workflow,'advantage',true) })
Maybe something else in the macro?
Oh interesting probably
Ah let me make sure that works in v9 (tested in v10)
Not at my PC to check
Yeah it does
I'm trying to do the reverse, make it not advantage
Ah alright testing
Still working with a ```js
Hooks.on('midi-qol.preAttackRoll', workflow => { setProperty(workflow,'advantage',false) })
Cool thanks, I'll figure out what I messed up when I'm home.
stress tests yield good results, @violet meadow, oops wrong channel
Stupid module author can't write release notes to save his life - it's system.attributes.ac.calc not .custom
lol, isn't that dnd5e's key though?
automated objects, interactions and effects modules can prevent updates in v10
Anyone have any suggestions for the best / most complete compendiums for DnD 5e to use with midiQoL? I am finding that there are a lot of spells, monster features, etc. that aren't covered in the stuff I have. Or, is there a repository for this stuff?
This doesn't seem to be working for me.
I copied your script, as is.
Actually, doesn't seem to work when the person is pressing alt to give advantage
There's a key pressed listen in the workflow
yeah it's its own thing
Maybe rolloptions.advantage
Would it be setProperty(workflow, 'rollOptions.advantage', false);
or workflow.rollOptions on the left side?
can just set workflow.advantage = true;
Already doing that
and it doesn't remove advantage when alt is being pressed
but it does for flags that give advantage
Hooks.on("midi-qol.preambleComplete", function (workflow) {
//stuff
workflow.advantage = true;
});
workflow.pressedKeys responds to keys pressed
the best premade stuff is all in v9 atm, v10 is so new and the module author who made the premade compendiums is no longer active atm. Nobody has really taken on the initiative of distributing the updated premade items yet. I dunno how anyone upgrades to v10 who isn't also able to just tweak and fix the macros themselves.
Hooks.on('midi-qol.preAttackRoll', workflow => {
if (workflow.targets.length === 0 || workflow.targets.length > 1) {return;}
let actorEffect = workflow.actor.effects.find(eff => eff.data.label === 'Shift - Wildhunt - Anti-Advantage');
if (!actorEffect) {return;}
let actorEffect2 = workflow.actor.effects.find(eff => eff.data.label === 'Shift - Wildhunt');
if (actorEffect2 != undefined) {return;}
let targetEffect = workflow.targets.first().actor.effects.find(eff => eff.data.label === 'Shift - Wildhunt');
if (!targetEffect) {return;}
workflow.advantage = false;
workflow.rollOptions.advantage = false;
});
My Shifter wildhunt feature.
Using an effect aura to give those around the character an effect
only if you're gonna add more stujff
most of that you can 1 line
let effectList = ['Shift - Wildhunt','whater else ones'];
if(workflow.actor.effects.find(eff => effectList.includes(eff.data.label)) return {};`
So
The WIldhunt should be the person who can't be attacked with advantage
and the anti-advantage is an effect given to those around them
but it should only prevent attacking with advantage if it's the first person
well actually this is only from the attackers stand point
depends on how this is written
you would want to filter by target
is this an effect you place on the player to remove advantage from them?
Unfortunately i did upgrade and there probably is no going back. π¦
or a global effect remove advantage on that actor
Thanks in advance for paving the way I guess π¦
So while the shifter is shifted, for a minute. Any attacks within 30 feet can't have advantage.
You can post any that give you a hard time here and in gearhead and maybe someone will offer a v10 version, but its really frontier work in v10 for automation
I'm using active auras to give everyone else within 30 feet this effect
alot of midi srd's are not in macros, so you should be able to move them into your own shared compendium and bring them over
and checking if the person with this effect is attacking the person who gave them the effect
all of the More automated spells, features, and items stuff is macros and those are going to break in v10
Would be far easier if there was a flag that granted can't be attacked with advantage
Β―_(γ)_/Β―
But also apparently active auras and ATE are broken too in v10 so that screws up a bunch of the automated methods from v9
So really, I got no clue how someone with no javascript experience is trying to run a fully automated v10 campaign session.
Yeah I am running into issues with cub, df enhanced templates, monkβs little fixes too.. maybe I will bite the bullet and roll back
Yeah there's grants.noAdvantage flag
dfreds CE has a ton of premades, its one of the few that have carried over to v10 well, I'd not use cub for conditions and instead use dfreds
π
There is?
I don't see that documented anywhere
oh sorry meant there wasn't
Oops, I didn't know that you needed to cancel keybinds too! π
At any rate, it's working now.
I bet it was originally too, but I was testing with keybinds.
is midi creating these automatic template effects? I'd like to deactivate that for specific spells bc for instance in this case the active effect is triggering the "Rage" Animation bc. of its Name "Conjure Bar>rage< Template" The Automatic Animation deletes the template anyway so there is no need for the effect in this case
I believe there is a setting to stop ae's triggering auto recognition.(In Automated Animations)
Yea, you should be able to edit just that spell / feature to not get autodetected.
Well I don't know how to answer the false positive auto recogs honestly
Shield of faith constantly plays shield and shield of faith for example
I've never been able to get that figured out
I'm not gonna go find all my casters in my bestiary and disable auto recog and assign the animation locally to them
Maybe if we could set the parse to say ONLY "Shield" instead of anything with "Shield"
for me it would help to toggle off the creation of the "Conjure Barrage Template" active effect that is created upon placing the template. the effect is linked to the template so deleting the effect gets rid of the cone but in this case i dont need an effect at all
i dont know if its created by midi, was just a guess
that is a dae setting, you can turn that off
Or maybe its midi I forget
MidiQol settings, with a toggle in v10 only if nothing changed
is it in the worklfow settings or the normal settings window - i cant find anything fitting
I have that in v9 also fyi
I dunno about the setting, but I definitely now get auto applied template ae's on spells in v9 newest
I meant the setting to toggle it off checking
v10 Workflow tab, the checkbox (there isn't one in v9 MidiQOL)
Downgrading and updating every other week due to some module issues is just gonna eventually do your game more harm than good. There are no issues with your modules in v10 that can't be fixed by either just deactivating those modules or finding an alternative that is updated. Stuff you are missing will eventually come around, you really should not jump back and forth between 9 and 10 for this small stuff.
I run a game completely fine in v9, I'm not updating due to module issues.
thanks i found it
That's fine, wasn't my point.
I misread what you typed my bad we're on the same page, cept I think an end point user of midi qol should stay on v9
until kandashi's modules are updated or an alternative exists.
Update to v10 when you have what you feel you need ready. Not disagreeing there.
I started with foundry the first week or so of v10 but I've done a lot of research and feel like other than working v9 macros I've found almost everything I could want
If I was already on v9 i would probably wait for most of the stuff. Made it easy starting with the new version lol
I would definitely like Torchlight to work. That's one that I hope updates lol
Using macros for the lanterns and stuff is a bit of a drag :p
I just don't see the benefits of updating and think that people are getting peer pressured into doing so. I don't even like the changes to journals and vision. The lack of tables is a huge oversight
You can make tables
you have to know html to do so right?
I was told it was forgotten in the Tiny MCE editor
Nah, just swap the editor
I was shown an image of MEJ and the tables editor was missing from it
Can't speak to your modules lol
is there a toggle to revert to v9 invisiblity?
The journals, as they are in v10, have been a ginormous upgrade
?
update if you want, dont if you dont want to but i dont understand how anyone could be peer pressured into updating a product, unless were talking about windows here
happens all the time through compatibility issues
wouldnt that be a practical reason to upgrade not peer pressure? It's often in a devs best interest to develop for the current thing isnt it?
If everything you have is stable, and you don't want to update anything, lock all module updates and happy days
The thing is that the mod dev will not be able to continue providing support for all the older versions. Other than that, I imagine there are still users in older versions than v9 π
Yeah I'm certainly not developing for a generation I don't have access to anymore π
I've personally had to share a module to someone cause the v9 was removed from foundry vtt's site
I would assume for practical reasons. Don't wanna confuse the masses with TWO links to choose from π
one thing id like is for a certain someone to update their macros to v10 and ill be a happy camper lol. The only weak spot for my uses with v10 so far.
A bunch of great v9 macros that i cant run in v10
Same thing happened with v9 and it was much more breaking
data.data to system and off you go. How hard can it be /s
Post them here or macro-polo
Ehhh. Just slap in a document when updating a token and change dimLight to light.dim.
I'm told there were warnings about that since v7 or so
Me! π
its a bit trickier than posting them here. I'll give the guy some time out of respect but considering he linked me his patreon when i asked for v10 macros... if they aren't updated i will just get it done myself eventually.
alot of midi srd would probably safely transfer in a non module compendium with a world transfer
You're paying for them?
but the ones that break are way beyond my capabilities
1.50 for a bunch of working macros seemed pretty fair to me, problem was they dont actually work for the version i asked for. Price of doing business you get suckered a few times when youre new to something.
I would say if they are behind a patreon post only the breaking part of the code if need be π€·
But yeah I would respect that!
and I'm not gonna have another sanctuary x 60 just cause I changed a 9 to a 10
Welp...
My 1.50 is good for the rest of the month but if they dont work by then its fair game in my eyes.
I only pay patreons that provide art, I did one macro patreon and got burned on it so decided its not worth it since that stuff changes so often whereas art is good forever.
I would have expected paid content to work.
its worse than that really. I was posting in here or the macropolo channel i forget about getting shillelagh to work in v10 and he linked me the patreon π lol
I get better support from free modules than pay modules too
... ah
wise. My friend who gave me foundry also hooked me up with a massive pack of art,tokens,music, etc he had collected over the years. I have so much that I haven't even looked at yet lol
Well I don't know if that's most common, but there are bright examples of the other side in this community.
I would just ~~leave ~~ drop the subject here though as it might be a bit sensitiveπ€·
I pay for 2 patreon artists who hook up a ton of foundry compatible art
so what you're saying is I should start a patreon /s
you go back to #macro-polo there are 2/3 unanswered stuff there π
haha
anyway speaking of v10 modules, yesterday I worked on a major update to build-a-bonus that would let the bonuses apply to token actors within a range π
I stress tested with 1001 tokens on the scene. π°
Rolls went great. Zero issues. No lag. π
And still no release... Come now, I want to play with MidiQOL and BaB!
gimme gimme gimme
You realise it doesn't transfer effects, right
Apply bonuses within range is enough π€·
there's some homebrew paladin subclass with an aura that gives everyone +CHA to fire damage that could make use of this probably. lol
Being able to handle stuff like Paladin auras with BaB would be my go to way as it sounds less resource intensive and when needed use Active Auras for something that would require effects transfer, macros triggering etc.
if you put the bonus on an effect, you could transfer the entire aura. π
I was just checking what exposed functions BaB brings to the table
None. π
booo
One to "gather" the affected tokens in the aura maybe?
It goes the other way actually.
It doesn't look for auras and then applies it to tokens, it looks for auras and applies it to you when you make a roll.
or to the roll, rather.
OK yeah makes sense, you said that it is in sync and that explains it π
The roller gathers auras, the auras don't gather tokens. if that makes sense.
Yep
All happening in the pre-roll hooks
Still hilarious that it could gather 1000+ auras in the blink of an eye. The resulting roll was too big to fit on the screen.
1d20 + 5 + 1d10 + 1d10 + 1d10 + 1d10 -----
That is a really interesting approach.
So BaB sets hooks in pre-rolls and then checks all tokens in the scene for BaB auras and applies to the roll if in range
yep
Well that could be expanded for pretty much everything π€
I am simply going to assume that if it works smoothly with 1000 tokens, then it will work smoothly for everyone.
fair assumption π
Yeah the new hooks are neat. To say the least.
No preRollInitiative hook though. π¦
no BaB for init π
π
Can I offer you a paladin aura that gives +1d4 to hit dice rolls in these trying times?
this bugbear perks up
Make initiative roll a tool and you are good to go π₯³
π
Yeeeeaaahhhhh... I still need to add tests and checks. I wanted to use the pre-hooks to filter by what ability was used for a skill or tool, but turns out those are set after the pre hook
preHook -> config dialog -> roll -> postHook
Heads up there is a bug in 10.0.13 when editing item macro effects - will release a patch shortly
@gilded yacht Hi, another typo spotted: humnan.
Maybe this list could be added to the config to allow custom humanoid races.
https://gitlab.com/tposney/midi-qol/-/blob/v10/src/module/utils.ts#L3017
By the way, the new feature to add automatically the UUID of the origin to ItemMacro is great. But could it be possible to do it also for actor onusemacro flags (not supported right now because the value does not contain only ItemMacro) ? That would allow the effect to be targeted on another token and still call back the item macro from the original item. Presently the only way to do that is to create the effect in a macro to put the appropriate UUID.
Thanks for the typo heads up. Could be a config option - was just lazy. For the actorOnUse macro, I assume this is for automated flag setting? From the UI there is no item defined for ItemMacro.<UUID> to be meaningful.
There doesn't seem to be any explanation of what CE flanking is in the readme. Can someone tell me what the CE is?
its whatever you edit CE's flanking ae's to
default is the normal flanking variant rule
Brilliant!
Just an fyi, I do not think anything in backticks or code are parseable with the search feature here in discord, so if you could bold the crusher instead of backtick it that'd help all the folks in the future looking for that.
π€·
I have a devil of a time searching for stuff in macro polo π€
Often I sit there trying to figure out syntax so I will search macro polo for the code and nothin comes up
needs a split second for the search to catch up if you use in:macro-polo and then something something
Discord's search is just really bad at keyword matching in general tbh
I'm trying. to setup a function that is called by a hook when a specific token is damaged. What I've done seems to have created a hook that fires when any token is damaged.
Here's how I establish the hook:
let hookId = Hooks.on("midi-qol.DamageRollComplete", evaluateDamage);
DAE.setFlag(aActor, HOOK_NAME, hookId);
The DAE setflag is used when the effect containing the macro is removed from the affected token to unset the hook.
Feels like I am missing something to limit the scope of the hook, but I am stumped as to where to look to figure it out.
I still don't know what ce and ae actually mean.
CE - Convenient Effects (module)
AE - (Active effects where you put in things you're automating like the message I'm replying to)
DFreds Convenient Effects to be precise π
Something like ```js
let hookId = Hooks.on("midi-qol.DamageRollComplete", (workflow) => {
let targetToken = workflow.targets.first();
// if (targetToken === the token you want) Your_function()
})
and to be clear, convenient effects is basically a repository of active effects that when combined with midi get auto applied with the right settings
No problem π thanks for clarifying!
One more question. If I add system.attributes.ac.calc | Override | Custom Formula, is it possible to configure the formula via active effect? If not, do you plan to support system.attributes.ac.custom to do that?
I imagine this is mostly a combination of DAE and midi qol rather than solely midi qol; is there a way to set up an active effect to be linked with a regular condition? e.g. if you activate the active effect, it both applies itself and a condition, if you delete it, it deletes itself and the condition?
I can finagle myself into making an effect that triggers a condition, but then the link breaks, seems to just be a macro to enable that condition and that's it
hmm I'll just on off macro it I think
I believe that is how macro.ce and macro.cub work. If the AE applying the macro has an icon, it will display the icon and put the status effect on.
Is there anyway to add a +2 to AC specifically for Ranged Attacks? (IE: Shield of Arrow Catching)
make a reaction that costs 0 reactions?
Isn't that basically Cover? Maybe you can use the same key DFred uses for theirs;
data.attributes.ac.cover
disclaimer: never used this one myself I just remembered dfred had a cover effect
melee weapons can benefit from cover
Thanks! Unfortunately melee would be covered by that too
it would have to be a reach melee weapon fwiw cause of how foundry uses grids
New BaB version can should be able to do that (-2 to attack)
whennnnn
Why not just make one new combined effect with the same status id as the former condition?
because then automated lesser restoration or something of that kind would not work on it, macro.ce is designed for this scenario I believe
How does it know which condition is which?
That's a choice.
But the point is that macro.ce does it /shrug
I would have used a flag or something. Something non-localizatiable.
you know javascript, random dm's don't 8)
My reading comprehension fails me on this one, what do you mean? It's an effect (Damaged Eardrum henceforth) that essentially does nothing except apply Deafened, I just need to be able to find the effect later and for ease wanted both to be "dispelled" when deleting the Damaged Eardrum effect
EM and on/off macro in that case is essentially the same, I think
I just need the syntax for adding/removing a condition in dnd5e because I forgot without a module
if you have dfreds CE or cub, use macro.ce or macro.cub to apply deafened in the eardrum effect
you will get exactly what you want
Conditions that show up on the token hud have an attribute in flags.core.statusId.
well...in v9 lol
These strings are unique and should be an easy way to get the effect/condition to delete.
Alternatively, just give Damaged Eardrum the key "flags.core.statusId": "deafened"
Assuming something like that works for you.
But yeah if it specifically looks for an effect called "Deafened", then π€·
(i cannot follow a freaking conversation for the life of my rn. Is the ask to delete a transfered effect when another one is deleted?)
create when created, delete when deleted.
Everything works for me when I'm desperate enough; Moto's correct, macro.ce / macro.cub does seem to do exactly what I just described. I'm a little sad I don't get to procrastinate by scripting more, but oh well. Thanks all.
is there a script or macro line that can search the damage the character received and use that number in the damage formula?
How can I integrate the following automatically:
"Rebuke the Violent. You can use your Channel Divinity to rebuke those who use violence. Immediately after an attacker within 30 feet of you deals damage with an attack against a creature other than you, you can use your reaction to force the attacker to make a Wisdom saving throw. On a failed save, the attacker takes radiant damage equal to the damage it just dealt. On a successful save, it takes half as much damage."
Hmm there isn't a straightforward way to do that exactly as written.
Mainly because the triggering attack will be against another client (not against the one having this ability).
There might be some ways to do it with Active Auras and other modules (or world scripts), but the most straightforward way is the following:
The one that has the ability targets the attacker and use it after the attack, with a small dialog pop-up asking for the damage dealt and dealing that amount of radiant damage to the creature.
Would that be enough?
You could do it, with a double active effect with times up isDamaged
no idea
Youll have to search workflow on the triggered event.
Couldn't you re-use midi's Deflect Missiles and change that into it, actually? That's in the same vein? Reduce damage, roll an item against the enemy
The issue is that the damage must be on a token that it is NOT you
Ah yeah then it would be a world script to handle this
Yeah it makes things harder but can be done with some Active Auras, warpgating things too π€·
Easiest way though to just use the feature with a dialog pop up to sayu that amount of damage, take it
Or could do a active auras with isAttacked
what is this feature 8)?
i still dont understand lol
Though a world script for this would be better, you can manipulate it a lot more
(what's stopping them from just clicking the feature?) π
Nothing, that is the easiest way out π
pop up a dialog that asks how much, roll a save and deal the damage
It can be macroed to just look for the last damage applied through the chat messages, too, I reckon, but definitely easier to have the player press button
you go back and finish π
lol shit's done, I'm just making the ui look neat now
only 200 lines of css, I feel like that's not enough
It is hard to automate properly, when compared to the benefits of that automation process.
Would a feature that the user who has it can MANUALLY trigger when an attack within the correct parameters happens, be acceptable?
That feature could then ask for damage input, trigger a saving throw and apply the correct amount of damage.
*I feel that this way the player is more involved too. Now if the issue is that they forget... π€ *
Yes I was talking about the flag in an ActiveEffect, from the Main sheet UI, there is no context to determine from which item to take the UUID. But because an effect can be applied to a target other than the βcasterβ, it could facilitate the addition of these onusemacro flags in an AE
Thanks that did the trick.
// workflow.targets.first() will be first Token5e in target array
if (workflow.targets.first() === aToken) evaluateDamage(workflow)
})
DAE.setFlag(aActor, HOOK_NAME, hookId);```
Fires when it should. Now onto actually having it do something useful.
What is this? An Item Macro or an exported item?
It is a macro but needs a companion one
Is that companion publicly available?
Indeed. Search for a post from me and crusher
I swear my search is cursed
I can't search midi, I can only search dnd5e but will try marco
I can help with that later
Cooking now
I've been going through the Readme and want to implement thisπ I have a weapon that does 1d8 radiant damage to undead creatures, in addition to its base damage.
I think I need to use this: "raceOrType."includes("undead") as an Activation Condition for Roll Other Damage, which will be set to 1d8. But where do I input this line of code? The OnUse Macro field?
Needs a transfer to actor on item equip, with the onMacroUse flag and the crusher macro called .
Interesting that I o didnβt wrote that down
Will take a look
yeah I'm trying to figure out how to have two macros fire on the same item lol
Item details in the activation condition field
Make both script macros in the hotbar or macros folder
You need the DAE to call only the crusher one
Thank you
The moveToken is a GM executed one
So the weapon needs a active effect that is macro.execute Custom Crusher?
is Crusher an actor on use or an item on use?
since you are using warpgate already, you might as well issue the move via warpgate directly, instead of jumping through execute as GM macros
I couldn't figure out how to get that to work, my own crusher just handles the crit on 20 thing, I thought I could squeeze out the movement part but its in a language I cannot discern π
mutate the token with new x/y coordinates with permanent = true
yeah but its once per turn, requires alot more
looks like bugbear's script is doing that
I dunno where to put it
I can make them folder macros but how do I activate them
actor on use, active effect macro, item on use?
Can you do an overtime effect that is every 24 hours and not every round?
Does anyone have an example of an overtime effect that ends when you take an action to break free of it?
My initial thoughts are no, but maybe? Since you need turn specified so unless you're doing some things that change 1 round is 24 hours I don't see how that would work
v9 or v10
v9
So the way I do it is I use turn=end and with the module fail-save-lmrtfy-midi
Can anyone confirm what I think I am observing: Hooks that are added by a macro are cleared/deleted on game restart and reloads?
I set the dc at 1, and with that module they get prompted for a save at the end of their turn and if they don't want to, they can hit the Fail Saving Throw option that outputs a save of -1
ok, I'm pretty sure its possible in overtime alone, Im guessing its setting rollType= And if the player chooses not to roll it, then thats that.
furthermore, are only active on the client that ran the macro
what about worldscripter hooks?
If there is an OT and a player doesn't roll the save or whatever, it won't let you continue combat in the tracker
those arent plain macros
Ouch! So if I (GM/host) have a hook watching for damage on a token and someone else hits it, it will do nada?
hmmm, why would he give us rollType if it'd do that?
not necessarily, i meant that the hook code is only running on your client
Because it's waiting for that roll, so if that roll doesn't happen, it keeps waiting
I know v10 has an acitonRemove or something like that
suppose they could put a -20 in their situational
Yeah
Ok, well, that should work well enough. Worldscripter hooks might be the answer, though to be honest, I'm already feeling like I'm in the deep end of the pool where I don't really belong
But a crit still counts as success
nah it doesn't in vanilla
for midi
only attack rolls do that
and the workflow it does
say what now?
if you are using hooks in macros, its possible π generally not a great idea.
at least that was the case when I was testing like 3 months ago or whatever iirc
I think there is a variant rule somewhere for it, but I don't have that on
@vast bane
Make 2 script macros.
First the named moveToken execute as GM
Second named Crusher called by a DAE with Tranfer to Actor on Item Equip as shown in the attachement
Make sure to get the v9 version in the old post
Yeah, I was playing around with functions and executing macros with Advanced Macros at that time
Its more of a v10 feature
So, the Crusher macro is on a feature that is always on/passive?
Or an Actor onUse
how far back is the v9 version?
The post you found from me
the one you linked
Ok slightly confused, which one is which, is the long one moveToken?
moveToken is the tiny one
I will put them all soon in a repository and link that in the place of old posts that confuse people
No movement
I have a suspicion that this macro is not compatible with MMM
cause the DM is prompted with a MMM window and loses focus of the canvas?
I thought I did woops
yeah .textures.src is in the v10 π
Works perfectly now thanks
I can't find the MIDI spells folderi n compendium anymore. is there some thing I have to click to turn it back on?
is midi enabled in the world
of course
so
who wants to sacrifice their world for beta testing?
Build-a-Bonus (v10 only) can now do auras. π
<#dnd5e message>
also tagging @violet meadow π
going to go make lunch then give it a go, anything specific you want me to try or just have at it?
fun! ill report back if i manage to break it then
and thank you for another awesome addition to my foundry game haha
Yes you can, here's an example
Ah, got it.. silly me π thanks a bunch!
Did you fix it in the end?
no lol I got told to turn the module on and had to just give up anve move on. fortunately I know how to manually create a fear status effect in the spell
Did you maybe mean the MidiSRD module compendiums?
Not the MidiQOL Sample Items compendium
Different module, which is not yet v10 compatible
The MidiSRD had spells, items and others
yeah I meant stuff like the MIDI spells, feats etc not the Sample compendium
I have both though hmm
v9 or v10 Foundry?
Having an issue today, under Midi QoL Fields under an Items "Details", "On Use Macros", every time I input anything in the Macro Field, or attempt to change the drop down, it resets back to no text & "after active effects".
Console have any errors?
Always. lol
These are the ones I get when I initially load Foundry.
Any after making the change specifically.
Don't think that Kandashi has updated ATL at all for v10.
Might be out of date
Running the latest version of Foundry, updated today which is the only thing that changed when this was all working two days ago.
Figuring there's a high chance the update messed things up.
Did you update midi-qol too?
yes
What version is it on?
10.0.13
Odd, the change log says that's fixed in that version.
@gilded yacht
What DND version you on?
Should be the latest, wouldn't update further in foundry.
2.0.3
Just created a new world, and only loaded Midi-QOL and DAE, set automation to maximum, and was able to duplicate that same issue.
Hey, I'm running midi qol with dnd5e and when trying to apply damage to multiple selected tokens the damage gets applied more than once, does anyone know how to fix this?
I posted a heads-up and a gitlab issue that this is an incompibility between midi 10.0.13/ foundry 10.286 which I am looking at.
The actor onUse macros is fixed, but the item onUse macros is not. I did not realise there was a problem when I did the release.
Does anyone know if there is a good way to enforce range restrictions on spell templates like we have on ranged attacks?
No afaik. Might be worth a feature request in https://gitlab.com/tposney/midi-qol/-/issues
I suppose you could write a world script with warpgate to track the crosshair
but it won't prevent them though
Or a world script that triggers on the midi hook after template is placed, checks the template origin to be in range and if yes workflow continues, if not the workflow is aborted and a new completeItemRoll is called for an ephemeral item which will not use another spell slot... π€―
π
I'm playing around with creating a AOE DOT in 5e V9. I've pirated some configs from the Active Auras samples and I have something that almost works. It sets the template for the correct duration and applies damage to a token that moves into or ends in the AOE. What I'm not getting is how to automatically remove the effect when they move out of the template?
You will need to create a DAE entry for a macro.ItemMacro in the same effect.
And in the ItemMacro you included above, you will need to add a cleanup during the off phase for the effect.
if (args[0] === "off") {
//Get the effect and delete it
}
Also the macro repeat in the second screenshot is not needed
You aren't running a macro every round
Just the Overtime effect
Woot! let me try and make that work.
hi there. I'm having a problem and would like some help. I'm using the magic item module, and when I put a feature or spell that make an attack roll, there's an error and it doesn't roll anything. Does anyone know why and how to fix it if there is a way
and yes i am on fundry v10
You will need to post the error at least to take a look!
When my NPCs cast spells, my players are auto rolling their saves. I cannot find the setting for this, but it feels like it should be in midi? Apologies as I don't have time to go through all my modules, have a session in 20 min
This is with Let Me Roll that For You + Query option selected for saves
if this is another module from what you can recall, I'd be grateful to know
v9 or v10 Foundry?
v9
So you dont want to auto roll saves?
for PCs?
Midi settings => Workflow settings => workflow tab has this dropdown menu
Set the delay to something greater then 0 , this is how long to wait before automatically rolling
its still auto rolling for my PCs
Are you testing as a GM?
So now I wonder if its another module
Or connected as a player?
Yeah, I am connected as gm. Cast an aoe on my player's token and it auto rolled for them
Not sure about LMRTFY interaction, as I don't use it.
Can you connect as a player, alongside being connected as a GM, from an incognito browser window to try out what happens when that player is "connected"?
If you connect both as a Player and as a GM, it prompts the player.
yep, that worked! Weird how it works
saves are fast forwarded in the main menu not the query choice
saves are in the main setting outside the workflow
if you are in the foundry app or in chrome, hit F12 and selct the console tab, and then perform the action that you believe is broken and paste any red errors you see related to midi(or not we don't discriminate)
those are not breaking errors, and infact not for you, but for the developer of those modules, I think you need to scroll down
try and find the error there osmewhere, and also what is the item you are trying to roll, it seems to have advanced automation on it maybe?
this is the only erro that i can find
the item is a simple bottle of acid, with a normal attack and damage on hit.
the only thing is that it is an item inside another, using the magic items module to save space on sheets
that doesn't sound possible, what module is it? Magic Items Module only allows features and spells?
or are you using items with spells or some other module?
You could show me the magic item tab of the main magic item and then the details of the flask of acid
Thats items with spells right guys?
thats not Magic Items Module yeah?
If you have midi setup to require targets and also setup with NO late targeting, then the lack of error could be because you have no target, otherwise I'm at a loss for what to do for ya without any errors
i intaled the items whit spells to try doin that too but dont work
are the items in the magic item, in a compendium somewhere, or were they all created in the sidebar and now deleted, cause that could do it, but I'd imagine you'd see an error message /shrug
i using the late target and it works until thare, than it just dosent roll the rest of the item
the itens are on teh sidebar
I think you need to have them in a compendium but I dunno what I'm seein, you don't see any errors so I have nothing to work with here
does it do anything after the roll?
like nothing in chat at all?
have you tried maybe swapping the localization to english to see if maybe thats screwin things up?
I'm pretty sure you hare suppose to link them to compendium stored items, but also theres duplicates in the sidebar and you haven't really shown us the problem. Theres no error messages and no chat examples of what happens after the roll.
Magic Items stores the data in the item. It doesn't reference the original feature or spell.
the problem its just that it dont roll the atack action
can you show me the button you press that you think activates the attack? circle it in a snippet?
I think the problem may be basic misunderstanding of the module
if u can see now, i can share my screen now
I don't even know what module that is, I suspect you aren't using Midi?
disable all modules and just run magic items module and midi and their dependencies, then find the culprit, unless someone else can spot what sort of roller combination you are using
Either that or the v10 midi looks waaaaay different
its strange because if use any other skill that asks for a save or applies an effect it works
do you have better rolls, roll groups, Minimal roll enhancements, quick rolls by default, or Ready Set Roll installed?
just better rolls
and i just tested with and without batter rolls
its the same issue
I haven't caught up will all the thread, but which item is on the sidebar?
@gilded yacht thanks for the fast fix π
all the features that im using on the item, using the magic items module
Mmm...batter rolls
To tell you the truth I don't even know exactly what better rolls is doing to me xD
WHen he rolls, hes' not using midi's roller
But also like...isn't the whole reason why better rolls is dead is cause it can't deal with resources, and isn't magic items module...a buttload of resource management?
List your foundry version and build number, midi version, dae version, magic items module version and ensure all the modules that are naughty listed in the ghostbusters meme aside from midi are OFF
AND your dnd5e version
and I'm currently stuck trying to setup a v10 test build, failing horribly in tech support atm so I can't check versions to see if they are new
i gonna need a sec to do that, im not the host, an after doing some checks on modules i cant acces the server
If you aren't the owner of the server, and its a better rolls build, that owners not gonna want it updated to new versions
I suspect you are on a very old setup of dnd5e/better rolls/midi/foundry and you installed a brand spankin new v9 magic items module and that is what is killin ya. But also since you aren't the GM in the session maybe you won't be the one seeing the errors, which makes perfect sense now why you couldn't show us the errors.
most part off the modules are the most uptodate untill lest week, and the fundry is on v10
foundry v10....with better rolls installed? how did it even make it to functional?
I wanna see version numbers lol
foundry and system are visible to all in the top right in settings sidebar
a GM has to view manage modules to get the versions of midi/dae/magic items module
It's not been updated for an entire year, it didn't work in v9 (barely), it does not work in v10. That's actually impressive.
and BR also broke Midi and Magic Items. Triple impressive that you have few known bugs.
I don't think its a v10 build, I watched them stream the bug, It looked old not new.
then again its got that compendium icon on the top, thats a v10 thing
It's an atlas you can click to copy the id of the document tied to the sheet, but yeah, v10.
damn helpful too
my first attempt at installing v10 killed my v9 application(not the data) and it burned all of the time I had alloted it for the week to test v10 shenanigans, so v10 is off to a wonderful start
you can only have one windows install version at a time, but as many nodejs "installs" as you would like
I missed the drop down in the license page, though I had downloaded node version but was mistakened
rip
HI all. would something like this be able to be automated. and if so, could someone please provide some assistance in doing so please. . thx.
I'd just make it use charges, and have the heal be item.use Dice
ok. thanks. just when i think im starting to learn some stuff, and beginning to begin to catch on. i find out that im not. heh. thx for the info.
item.uses.value...?
A heal equal to the remaining charges?
i see nothing in the attribute key area about item.use. ?
Step back a bit. What are you hoping to do?
have it determine the roll of 11d6 and then let the play choose how many d6's the wish to roll. then have that amount of dice rolled with the result appled as healing to the players target. and then have the amount of rolled die, subtracted from the the 11d6 total for later useage and then reset after the long rest. .. i think is what i want heh
If you're on v9, I just made my own automation for that a few days ago. I'll dig it up when I'm home later if you're still interested.
im on 10
Shouldn't be too hard to update it for that version. Just have to change a few references.
would love to see it. and perhaps learn from it.
Lay on Hands from MidiQOL sample items can be reskinned to emulate that too
thx i will play with it.
Get rid of the Disease Poison button, the else from the if (consumed>0) and change the healing in there to ```js
"system.damage.parts": [[${consumed}d6, "healing"]],
Hope that nudges you to the right direction
Also ```js
content: How many d6s to use? ${available} available<input id="mqlohpoints" type="number" min="1" step="1.0" max="5"></input>,
I can help more if needed π
well. thx. it seems to have confused me more. i dont even see a disease poison button lol
what is this referencing? im looking at lay on hands to swap the useage to healing light. i dont see disease or poison on either of these two skills. anywhere. in description . details or effects. ?
Try this. Import the Lay on Hands Item from the MidiQOL Sample Items compendium and read the MidiQOL notes in its description.
Then change the included ItemMacro with the attached one
I haven't tested it.
I left in there the Undead, Construct cancel rule, as it seemed relevant
github said the 'Apply Active Effects' button not showing up was fixed but doesn't seem to be in my config?
:c
can't get it to show up
are you removing buttons?
bleb, sorri
said It'd be fixed in .5
still in .4
hopefully it comes out before monday tvt
got my first game in a while
Yeah it will be fixed in next version
ok.. found the disease and poision thing btw. i had already deleted that part and put in the healing light stuff on my edited version. thats why i didnt see it heh. also. i have created a mew macro. copied yours pasted it on my hot bar. i see in lay on hands details. on use macros. ItemMacro. called before... i do not see a long macro like you posted. anywhere. so how do i replace with yours.
OK if you created a hotbar macro (make sure its a Script macro), in the onUse macro field put Name of the created macro | Called before damage roll
It should do it
ok.. but how would i have seen that long macro that you were talking about? on lay on hands it says ItemMacro. i click it.. nothing. how would i see what that is refering too?
Maybe you haven't imported the MidiQOL sample Lay on Hands?
yea i did.
So if you click up top the Item Macro in the title bar
nothing?
Anyways, you can copy the macro I attached in the ItemMacro
ahhh. thats the part i didnt know about.
yea. now that i know where to look.. found it π
i was clking the words itemmacro on the bar at the bottom. ( learning )
yeah no worries, I didn't think about it because you said you had already changed the code of the Lay on Hands and I was confused as to where did you find it!
ok.. so that is done. macro replaced. i still need to go edit the other pages now yea? or did that macro make that stuff obsolete?
cause i started anew with a new import of lay on hands.
OK you need to click on the DAE of the new import and change them a bit
The 1st one should be 11 as the max charges
change the label too
I've not tested magic items with midi-qol in v10. So it's quite possible that it's not working.
sorry.. i got called away for a bit. as near as i can tell. that all worked. thanks.
Can you send me the item that's having the problem? I've just tested magic items v10 with midi and it seems to be working.
Hey all, I'm having an issue where damage resistances aren't being applied. Here's an example; character has DR to piercing but is taking full damage. Any ideas?
DR flags are damage reduction and take an integer
You want dr flags
replace data with system for v10
lol
The target (ruin) has the AE
The same thing happens with barbarian Rage. This is just an upgraded version of it.
And the AE is active on Ruin?
yes
I noticed this a week or so ago when Rage DR wasn't applying, just got around to toying with custom stuff today and it's still not working
Can you attack with an SRD piercing weapon from a source actor that has no AEs active?
Everything looks like it should work and does on v9. Maybe it's the newest foundry/midi update?
Layered so you can see: SRD rapier, no AE on Caspar, Dr not being applied on Ruin with the effect.
Β―_(γ)_/Β―
Character wearing Leather Armor of Fire Resistance has their resistance applied. Same traits. Something is borked LOL
are you completely up to date on everything?
Yep
can you show versions of everything
What about the dependencies?
And then after that, try with only midi and its dependencies enabled
plus DAE
un momento
So with those 4 modules being the only ones active it's still not working however
I applied the affect to a different actor and it works
(β―Β°β‘Β°οΌβ―οΈ΅ β»ββ»
Try this
Delete the AE on the main actor
log out and completely restart foundry
and then retest
If it's still broken
Duplicate the character and try on the dupe
If that fails, recreate the character (at least 1 level) and then see if it works, if it does then just make the character again fully
I've had to do that in the past. Sometimes actors get weird
I import from D&DBeyond so I'll try that on the fresh copy and see if the issue comes back
maybe its an issue with th importer
I'd say 99% chance it's cause of imported character
Part of the reason I just make them in foundry to begin with
Okay, the import breaks it
so it's something specifically with that character when imported that's causing the issue
Thanks for the help, this was a weird one!
Holy smokes I found the issue.
@spice kraken the feature "Menacing attack", when removed from the sheet, fixes the DR. It's now working.
Okay, so the actual issue is the Menacing Attack was added to the character as a custom action on D&D Beyond, which broke damage resistance. Everything is fine now. So, if anyone runs into issues with DR not applying...check that.
If you still need it, here's my disaster:
Uses warpgate to make the menu if you don't have that module.
You'll need to change anything that uses .data for v10
I'm not on V10 Β―_(γ)_/Β―
Thanks!!!
Actually, I need to fix one part of it
I originally hardcoded the limit
and didn't realize it was based on your charisma mod
change line 42 to: let diceLimit = clam(clamp(actor.data.data.abilities.cha.mod, 1, actor.data.data.abilities.cha.mod), 1, healingLightFeatureMax);
wait, that's dumb lol
let diceLimit = clamp(actor.data.data.abilities.cha.mod, 1, healingLightFeatureMax);
There
That' still wrong
Now that I'm thinking about it
let diceLimit = clamp(actor.data.data.abilities.cha.mod, 1, Math.min(healingLightFeatureMax, actor.data.data.abilities.cha.mod));
think I have a healing light macro already written
Looks like I need to update it, wrote it back in 7.x.
Updated from above. Still not ready for v10, but might be a good start.
Anyone know what's going on here? These effects were working fine on my instance, but exporting the character to my GM and they are all messed up
they are on 10 also?
Can go from 9 > 10. but not the other way around
Both v10. He has been experiencing it since upgrading, including with some of his own characters.
Tried to narrow down to module issue but not much luck.
so it's the active effects that being destroyed from the export import?
module wise, could be Item Collection or Automated Objects, Interactions and Effects
Wherever I would use something like js actor.data.data.abilities.cha.mod I change it to ```js
actor.getRollData().abilities.cha.mod
Makes sense. Suppose I should start doing that.
I need to re-think that same line I was tinkering with before
for items you can use getChatData() but it needs to be awaited.. You cannot use it in reduces though
For items I also do actor.items.getName('item_name').getRollData().item
Not sure what that's needed for? The itemmacro comes with a ton of stuff pre-filled.
Such as the item info, specifically the uses.
let diceLimit = clamp(Math.min(actor.data.data.abilities.cha.mod + 1, healingLightFeatureUses), 0, actor.data.data.abilities.cha.mod + 1);``` that should make more sense right
oh wait
I guess it doesn't count negative mods right
but who would have this feature with negative charisma
Math.max(1, actorData.abilities.cha.mod);
We also want to limit it based on the remaining dice left.
In this case it's the uses left on the feature
const chrBonus = Math.max(1, actorData.abilities.cha.mod);
const minDice = Math.min(chrBonus, curtRes);
that's what I do
ah
I also added a helpful number to mine if you want to know how many dice you need to spend for a potential full heal
@tranquil cloak As an onUse macro on the Item itself, ItemMacro | After Active Effects or name of the script macro you created | After Active Effects depending on where you store it. ```js
if (args[0].isFumble) {
await ChatMessage.create({speaker: await ChatMessage.getSpeaker(game.users.find(gm => gm.isGM && gm.active)),content: ${args[0].item.name} is destroyed with this attack});
await args[0].item.update({'name':Destroyed ${args[0].item.name}})
}
If you want it destroyed instead change the last line to: ```js
await args[0].item.delete()
Gonna just leave it at this
@digital lagoon Updated my macro if you're using it btw.
yeah out right deleting would probably wreak havoc on the workflow, though that said a dirty 1 is unlikely to be a hit on anything π
ah wait you do it after all rolls are done
nvm me
Yeah After Active Effects should be safe enough π€
so not as an item macro, but as a normal macro then paste the name in the field
Its either an ItemMacro or a 'normal' script macro. Your choice on how where you want to store it π€·
if it's artifact that breaks when a bad roll happens, I'd personally update the item and convert it to loot. Good example is Horn of Blasting.
Yeah I never tend to destroy items by deleting them, but if you are sure you have a copy of it in a compendium, heck why not π
which compendium is it in so I can look at it?
I think Crymic meant Horn of Blasting as a 5e item in general. Not that there is an example of it in a Foundry compendium or something
Oh, lol.
if (roll.total <= 1) { await ChatMessage.create({speaker: await ChatMessage.getSpeaker(game.users.find(gm => gm.isGM && gm.active)),content: `${item.name} is destroyed with this attack`}); await args[0].item.update({'name':`Destroyed ${args[0].item.name}`}) }
I tried to get it to work with a dirty 1 as well, but nothing. I'm know almost nothing about macros though so no surprise. Was just trying to slot in somthing I saw else where
I have an old ass macro for it on my gitlab written in 6.x or 7.x, but I wouldn't advise using it.. since it's written as a hotbar macro
You need to go through the args[0] provided by MidiQOL
Do you want me to help you take a look on how to do that, or just the solution?
I'd love to know how to trouble shoot myself
OK in the macro you are using for this item, the same one as above, add at the very top (this should be the very first line) ```js
console.log(args[0])
You can comment out the rest of the script or leave it there
Roll the item and check the console
actor data?
Post a screenshot
There should be a list (first element could be actor so you might got it anyways)
Right that's the one
This list has all the args provided by MidiQOL
You can see a isFumble in there that I used in the code above
You can also see an attackTotal, correct?
yup
const {isFumble, attackRoll, attackTotal} = args[0]; gives you isFumble and attackRoll and attackTotal to work with
Have you used a -13 'bonus' to the Attack Roll?
that is called a destructuring assignment.
lol, yeah to force a dirty one for testing
See you can almost find everything about the item roll from this list π
So you need a check for both the roll being a isFumble and the attackTotal being a dirty 1
complete shot in the dark, if (args[0].isFumble, attackTotal >= 1)
Almost. You need to use the || instead of a comma
if (case A || case B) { do stuff }
And the attackTotal must be lower than 2
or <= 1
const {isFumble, attackRoll, attackTotal} = args[0]; if (args[0].isFumble && attackTotal <= 1) { await ChatMessage.create({speaker: await ChatMessage.getSpeaker(game.users.find(gm => gm.isGM && gm.active)),content: `${item.name} is destroyed with this attack`}); await args[0].item.update({'name':`Destroyed ${args[0].item.name}`}) }
Yep. Small change ```js
const {isFumble, attackTotal} = args[0];
if (isFumble || attackTotal <= 1) {
or take out the arg[0] from the if statement
You don't need the attackRoll assigned in this case and use the isFumble directly π
Thanks so much, I appreciate you taking the time to walk me through this. I'm gonna try and spin it inot being more self sufficient in macros. They are hard to learn though
Edited the above a bit, use || (Logical OR) instead of && (Logical AND)
my first line in a midiqol macro is usually a whole lotta destructuring getting me a ton of variables, then later pruning so what remains is what i actually need π
As a total newb to macros, is that what all the const lines are called, destructuring?
Since I want to change the name do I need to intialize the name?
If you want to change it completely just put in the new name without the ${args[0].item.name}
That does not appear to change the name. I also get an error saying args[0].item.update is not a function
it is called a destructuring assignment, yeah. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment some reading material π
@vast bane You declare variables using the let, const, var keywords which can have different Scopes
https://www.w3schools.com/JS/js_variables.asp
Yeah I was being lazy, so you probably need to properly define the item. Try this js const itemUsed = token.actor.items.get(args[0].item.id) await itemUsed.update({'name':'Destroyed'}) replacing the line: ```js
await args[0].item.update({'name':Destroyed ${args[0].item.name}})
should also duplicate the item and work from that
Use const unless you have reason to use let.
Don't bother with var.
let lets you replace data, where const doesn't
var for the win! Makes for crazy cases when you don't know what you doink π€£
so all the time for me
You π΅ just don't use // and all good π
What we canβt use comments in our macros π
Yeah, and unless you know you want to do that, use const
... const also aligns really well aesthetically with await π
If I see var I just assume it's someone who has copied code off the internet from 2008. (/s)
We need to remember the past
any way to reference a spell's level in an extra damage calc?
trying to code the Blood Cleric's Bloodletting Focus
well, I guess Macro it is o3o
Is there a way to disable MIDI's automatic removal of templates?
in v10 yes there is an option, Midi settings => Workflow settings => Workflow tab, a checkbox up top
in v9 no afaik
Oh I'm still on V9, that's unfortunate
in v9 just rollback 1ish versions of...I wanna say dae? or is it midi?
As I said for v10 in MidiQOL settings you can find this
In v9 that option didn't make the cut
While I highly doubt, is there a way to bring that feature forward (backwards) - or is it an upgrade or naught thing?
Well tposney has stated that v9 MidiQOL development has been halted and its on a bug fixes only state π€·
Having said that it might be worth your time to create an issue in https://gitlab.com/tposney/midi-qol/-/issues and see if its something doable or a wont fix
Is it possible to add damage types to an attack using DAE and MIDI flags? For example while an effect is active, grant weapon attacks a 1d4 fire damage
Is it all weapon attacks? If its just a specific weapon add it to the item details, if its all weapons you can use one of the damage keys, either specific types of attacks or global damage bonus, and in the effect key you'd do +1d4[fire]
Ahh didn't know I could do that [] syntax on the end!
I assume the flag to use here is flags.midi-qol.grants.attack.success.mwak?
All grants flags are to grant people who target the one with the AE an effect, so that would cause all attacks to auto succeed against the bearer
What you want is actually a series of base flags data.bonuses.mwak.damage and data.bonuses.rwak.damage
RWAK and MWAK stands for Ranged Weapon AttacK and Melee Weapon AttacK
Ahh understood! Thank you so much!
I have a problem and I dont know if midi qol making it, Im using midi qol for very minimalist setting (reactions pop up and concentration, my players jut love to roll everything by themselves
)
but I have a cleric, he have the spell spirit guardian, I know that there is a spell setting that make the spell very active (if the enemy get into the circle, and all that...) but I just want to use the pop up mod that let me just put it in the side and press damage, but every time he press damage, the dice is rolling like they need to, but the button damage disappear from the pop up and he need to cast the spell again so it will show him the button again for the next time he will need to roll damage...
what I want that will happen that he will make the message pop up and just roll damage regularly from there
sorry for the long comment, hope someone have a solution
At a guess, you have this set to something besides off
(the remove chat card buttons)
its off
Ok gearheads, working on updating to v10.. is this a known issue? Or am I just missing a setting somewhere. I am testing a player casting bless, then casting shield of faith (on same token) It correctly warns me I'm concentrating, then fails to remove the bless with this error.... Thoughts? (the concentrating changes to be hooked to the shield of faith, but both effects remain on the other player token because of the failed to remove error.
are you testing as the GM or as the logged in player? Both the GM and Player tab have that drop down, and it respects what you are logged in as. Meaning, if you are logged in as a GM, and testing as a player , it will respect the GM settings, not the Player settings
yea, from both sides that happened
If i click on the GMAction warning, im fairly certain it's taking me to the MIDI workflow, reason I'm posting it here
Guessing bad import, I just dragged the spiritual weapon in from the Spells (SRD) compendium, and cast it and it retained it's damage button (and I was able to right click it, and pop it out for repeated application later). Have you tried replacing the version on that character with the one from the SRD?
I'll try
Is there an existing flag that I can use to add +1 to all saves for the wearer of an item? Ring of Protection.
But adding the bonus to the roll rather than buffing the saving throw stats themselves.
They probably have another roller, remember they said they use midi for a tiny feature, that begs the question if they are crossing the streams.
Is there even a difference? I don't get what you just said here lol. They do the same thing.
Yeah but I don't want to edit the saving throws stats on the character sheet as every time I reimport the character from DnDBeyond, I'm guessing it'll reset them. If I can apply the right flag to the item itself, I can just add +1 to the rolls, regardless of what the latest save stats are. Maybe I'm being daft here and overlooking something! π
the ring of protection from midi srd puts a buff on the actor that mods their saves
I have no idea how or what you are talking about with importers other than to say its one more reason why I think importers are a waste of time, but regardless here ya go:
Already in your sessio nif you have v9