#MidiQOL
1 messages Β· Page 16 of 1
Damn it. Change the target to 1Creature
The description is a bit messed up
It needs to create the effect on the target actor.
Now its not applying the smite effect
Applied it to the target though. Doesnt apply damage.
The effect should be on the target to damage them every round
The attack should deal a bonus 1d6
Then the target takes 1d6 each subsequent round
Give me a few to rewrite it No need for a rewrite actually.
Sorry got caught up. No time now, I will ping when I can πΆβπ«οΈ
@feral kestrel can you export the spell and send it too me?
You shouldn't be needing the onUse Macro field at all.
lol, this is why I always start with Occam's razor guys
Where did you put the macro?
As a normal macro. That step is never mentioned in his vid or comments :/
Thanks team.
It is though, isn't it in the 3 steps?
put the macro in Item Macro(the whole point of requiring that module) and then set the on use to ItemMacro but you may have been told to change things that were probably done cause everyone was assuming you had an item macro slotted, so beware, follow the original instructions first, then come back if things don't work.
Where are these instructions? In the vid, github or?
Those 3 steps in the beginning of the macro bud, make sure you have those modules installed, and utilize them for the setup
The macro is probably utilizing itemmacro features that a folder macro would not work with for starters, so put the whole macro in ItemMacro on the item, then setup the ae as the macro instructions state, then try to use the item properly(in combat cause overtime is a combat only thing)
That macro will fail if you do not have the token selected fyi.
should probably have a better way of getting the spell dc, why is that macro not using args for that?
Why am I able to tell that too, oh my god I am getting smaht.
Continuing here from the Pack Tactics script.
I've made the changes
I'm also running CE
I can see the feature getting added and removed again
Import this item (create a new Item in the Items directory of Foundry, right click and import)
Give it to all creatures that need to be part of the Pack π
Build-a-bonus is now a recommended MidiQOL module π π
Still only rolling once dice π
I have 2 warriors with the imported item added
I also ran Pack Tactics first just to make sure
Are they set to Hostile and the target Friendly?
Target is also hostile
If you want to not bind it to disposition it is doable
That's okay
Normally my vikings are friendly
I'll alter the macro to check for Friendly instead of hostile
that should work I'm assuming
Guess I was a little to quick to say that xD
The only thing that matters as is, it for the disposition to be different.
Source can be Hostile or Friendly
Target should be Friendly or Hostile (respect the opposites π )
Yes, target is now hostile
I don't need to change the Macro to friendly for it to work as you said
So the source and their Pack need to be Friendly
This is me just playing (and learning) with tools others provide! The community developers are the ones to be truly praised π
Why must I suffer on V9 still π
What modules are holding you back?
I did some testing last night. It works great for applying effects to targets. However, my goal was to trigger a feature that's already on the target actor. BUT I was hoping you could confirm that the following would work with any of the condition you provided:
Hooks.on("midi-qol.RollComplete", function (workflow) {
if(!workflow.isCritical) return;
let specialCritItem = game.actors.getName("Special crit actor").items.getName("Special crit");
MidiQOL.completeItemRoll(specialCritItem);
});
*as a global script
Well it would work, but you will need to filter the heck out of it, to make sure that this does happen only for the workflow you want and not all Criticals
Now you do say if the workflow.isCritical get that item and roll
I want it to apply an effect:
on all critical hits,
all critically failed saves,
When a creature falls below 25% of max HP, or
When the creature gets hit with damage that 50% or more of their max damage.
always
Actually haven't checked in a while, for a time it was mainly Active auras, but there is the patch someone made for it. Will check again tonight and see if there is anything else
I see. And you try to do that by rolling an item that has these activation conditions? That could work π§
You could also do that by going through the workflow that the Hook provides and checking if all these conditions apply and if yes, add the effect!
Just type in console (without a world script) ```js
Hooks.on("midi-qol.RollComplete", (workflow) => {
console.log(workflow)
})
make the roll, check the log for all the workflow data
Then you can start building your checks
Quick question... Are these settings I'm configuring MidiQOL settings or are they already configurable in vanilla?
This is from Active Auras (which is NOT v10 ready)
This is core (in terms of the flag but the menu is DAE)
This has DAE and some other modules' fields
Yeah Active Auras and DAE menus (which provides the auto completion in the AE and the priority tab and other additions all around to the core AE window)
Each of those checks are independent of each other, meaning that if one of them is true, it adds a status effect.
NOOB moment: would this script replace
Hooks.on("midi-qol.RollComplete", function (workflow) {
if(!workflow.isCritical) return;
Ah yes, I mean you can just type it in the console to test it out. It will be deleted on reload
I am not familiar with how that works. I will see if I can figure it out. Thank you.
Press F12 to open console and copy paste the code in there
Press enter
When you roll an item
In this case the last message is what you want. Click on the workflow and rejoice π
You can format the console.log("Check me me me:", workflow) to find it easier in the logs
I appreciate the help
200 macros that won't migrate, Active Auras, Midi SRD, and Active Token Effects. Oh and DF manual rolls.
Heh. Well them Macros aint going to fix themselves, that's for sure.
Also the fact that any solution to the above would take too much time and cause an unwanted/unneeded disruption of our weekly campaign for no visible difference ultimately as v9 and v10 to the end point user, is not that big of a change.
I've now got a v10 build up, to test, and I just cannot fathom why anybody is on it running live games with midi. Unless you have bugbear on speed dial, that shit is broken man. Automation requires a degree in computer language in v10. No compendiums of items, tons of broken macros, even worse broken icons. But what burns the most is all those fancy macros I wasted more time than I wanna admit to get to work in v9 would need another go at it to get them v10 ready, I trully do not think I will ever update to v10. I will stay on v9, and maybe start the next campaign in v11. Then theres all the bestiary creatures I've built up in v9 automation that will suddenly break in v10....my god what a mess. Not a very good system of updating imo. I understand now why folks would show up on old dnd5e and foundry versions running better rolls. Its cause the entire process of updating is a nightmare. You find a nice stable setup your table likes, and you stay on it.
loose macros are just about the worst technical debt you can create in Foundry when it comes to core version upgrades
kandashi's Midi SRD is a great way to approach it
i.e. exposing packaged functions to macros
Yeah, I tried to cheat the system and brought it over in my own world compendium but the lack of active auras killed that idea
BaB has auras
Macros. you mean to automate the game to the ends of the world? Yeah. I can see that being an issue for some.
I mean, it all works in v9 so, guess I'll watch from the sidelines how this v10 thing goes about.
Personally that's why I don't go full automation and don't use macros too much. My automation is mostly limited to AEs
I don't mind the little bit of manual work we need here and there
I don't use full automation, I don't fast forward and use advantaage reminder the most, more than midi srd really. But all my summons ran off warpgate and midi shenanigans, the warpgate parts work, not so much the midi stuff
but thats fine, I am not going to waste my 3 hours today on v10 shenanigans. I gotta prep the whole of skullport
I mean, Midi works great in v10. Most of the Midi SRD still works too - unless it involves macros. Compendium icons can be migrated with a macro too.
Middling automation and minimal macro usage for the win
unless it involves ATE or AA
which surprisingly, alot do use aa
They all have PRs that seem to function as intended.
My usage of them is limited enough that I can go without though.
I don't think I'm actually using ATE or AA at all at the moment.
I don't have time to update I guess π
Before I go and break things: do I just use that code in the console or do I add the second half as well?
This:
Hooks.on("midi-qol.RollComplete", (workflow) => { console.log(workflow) })
OR
This: (or some other derivative of this that is properly written because IDK)
Hooks.on("midi-qol.RollComplete", (workflow) => { console.log(workflow) }) {
if(!workflow.isCritical) return;
let specialCritItem = game.actors.getName("Special crit actor").items.getName("Special crit");
MidiQOL.completeItemRoll(specialCritItem);
});
Use this to better format your code
I suggested you use only this to check the workflow data better ```js
Hooks.on("midi-qol.RollComplete", (workflow) => {
console.log(workflow)
//let specialCritItem = game.actors.getName("Special crit actor").items.getName("Special crit");
//await MidiQOL.completeItemRoll(specialCritItem);
});
Delete the // to get the rest back in action π
Checking my understanding: The Console allows me to plug in script that temporarily runs on the system until I close the game?
Just reload and it poofs
If you want to be able to delete the specific hook at some point you could do js const hookID = Hooks.on("midi-qol.RollComplete", (workflow) => { console.log(workflow) //let specialCritItem = game.actors.getName("Special crit actor").items.getName("Special crit"); //await MidiQOL.completeItemRoll(specialCritItem); }); and then ```js
Hooks.off("midi-qol.RollComplete", hookID)
In console this works fine. If you need to do that in a macro, you will need to "store" that hookID someplace
Couple of questions:
- I presume the Hooks.off... turns off the script.
- How does one "store" a hookID?
A flag in some document is a good idea.
You can set a flag to something available
even a await game.user.setFlag('world', 'hookName', hookID) could work
Just for my future reference, is data.data > system the only change? I thought there was something with _id > id or something like that as well.
Also what would the purpose of mod be here?
mod is just to showcase the number associated
The first data is YEET, and the second data is system.
and placeables' images are in texture.src instead of img. Really, for most users that is all you have to care about.
and the Layer thingy
Sure. And there is no fore- and background tiles layer.
_id > id was a v8 to v9 thing
There is still both
can you type all of those in one post for reference sake?
I'm so sorry: would I save this in a journal? or do I run this via a macro? And which of those do I change for the purposes of said storage? or is that just the line for the script??? (still a lot to learn)
*I think I understand: HookID was defined in the World Script???
It is just a line of script that you can use to create the flag.
Then when you need it (must be the same user that tried to get the Flag) you can use ```js
let getSavedHookId = game.user.getFlag('world', 'hookName')
`hookName` can be whatever you want to name it
`world` is a set scope that you can use to set a Flag to it
Checking my understanding: The following will define the "hookID" which I can change to any name
const hookID = Hooks.on("midi-qol.RollComplete", (workflow) => {
console.log(workflow)
//let specialCritItem = game.actors.getName("Special crit actor").items.getName("Special crit");
//await MidiQOL.completeItemRoll(specialCritItem);
});
Would I also run this in the same script?
await game.user.setFlag('world', 'hookName', hookID)
Yeap in the same
Hmm well that might be a bit tricky though regarding when/how you activate the Hook.
Might be better to ask quickly in #macro-polo for the best solution. Not regarding the actual MidiQOL Hook, but how/where to set that Flag when you are using a world script
If you do that as the GM from the console it will be OK
It does not have to be a number. It can be the function itself.
What does this add to the mix? I saw the comment in the changelog about it being used in the sample items from now on. Is that the main reason for it being recommended? (Iβm trying to stick to the mantra of only adding modules that I know the purpose of).
Hi all
(you
me Zhell but I was telling the truth before :D)
Hey folks, I have Midi-QoL and was wondering how I get this weapon to automate +1 damage/attack to a specific type of monster?
It will deal with things like Aura of Protection, Bracers of Defence etc easily and resource light π
OK thanks for the info. Iβll take a look.
How you read the MidiQOL readme? About Activation Conditions specifically?
I haven't no sorry, i will look now
You got off light. This is what I got when I mentioned it π #dnd5e message
Wouldn't it be easier to do with BaB? π
No worries. I am asking to just know what kind of help you might need as there are some examples in there for creature types π
ah, so it is definitely possible?
Ask Mr. Z for creature types filtering
Huh, I thought it had that π€
Target conditions, not target creature types.
Best you can convince me to do is a secondary set of comparison fields, using the target's roll data.
Though I was just trying to do that
Well it probably needs some MidiQOL integration. Get the args from Midi rolls and off to the races π€― π
I'll purposefully break compatibility before I do that.
I will make a module for that 
will you tho
hoy hoy, flag question
is there a flag I can set for "adds 1d4 to the next attack roll against this target" ?
I have an effect set up to apply properly, get removed properly, it's animated properly, but looking if there's some flag that means "the next person to attack this target gets X automatically applied to its attack" and then if that flag can be adding a d4
here's what I've got so far but it isn't doing it
Use Custom instead of Add
so like this?
Never used that one but try it out π€·
still not adding it in
also- is there a tag that lets you ignore having disadvantage or automatically removes it from your attack?
typically you want to put a + in front of all effect values but I know dae typically covers that in midi flags set with custom, but its worth a try
I don't think it works right now
still no dice
not the biggest issue in the world, the marker and the dialogue is enough indicator for people to manually type in the bonus 1d4 when it pops up, but just wanted to see if I could automate
use the grants and mwak/msak/rwak/rsak
nope
Okay this still isn't working haha.
- Original macro in Item Macro slot
- Target/Range set to self
- On use Macros set to 'ItemMacro'
The effect gets applied on the caster, but no damage is added to the attack. It also targets the caster for the con saving throw, rather than the target.
v9 or v10?
you didn't put it in the item then
click on Item Macro at the top of Searing Smite's spell
the spell ON the paladin
Item on the character or in the Items Directory
The paladin
Wait
I'm sure it's working
This is one of those things that doesn't show up in the roll
I rolled a 25 but the extra 1d4 is added in the hit detection (in this case I rolled a 2)
it wil show if you turn it on in dae
how would I go about doing that?
awesome, testing
by default, dae does not display the inline rolls results, instead it shows up as just an integer modifier
it shows up before or after that merge card
Not according to my card
are you on v9 or v10?
v9
No luck.
does yours look different than this?
I just did mwak in my test
send me the item, drag it OFF the paladin to the sidebar and send me specifically that spell that you just dragged, not a copy in your sidebar, right click it and export
It's working
okay so it's working now, but not like..... working
it doesn't show the total to the player, only the GM, and the d4 isn't shown rolling or adding to the total
What do you mean?
but it does appear to be adding it
That's how the grants flag works
oh
Some other flags are like that too. I just don't remember which
welp! okay. I really appreciate the help, even if it seems like I can't get this to do what I really want it to do
At the end of the day it is working so you're fine
Do you need help with the expiration?
nope, it goes away after a round or when they're next attacked, like it should
I don't know why, but you seem to fail to understand how to insert an item macro into an item. The item you sent me has no macro there.
you are suppose to cut and paste the macro into that items Item macro slot
its a button you press on the taskbar:
that should open a window, and then you paste the macro in, and SAVE
Hey, can someone remind me what the flag was for ignoring disadvantage to ranged attacks because of long range
@feral kestrel I don't know where you got this macro, but I called out errors before with it, I just set it up myself to work, and it is NOT working. Theres a whole lot of wrongness with the macro.
I would seek out the author and ask them what is up with it. or paste it here and maybe one of the kind macro fella's might take up the cause, personally, I think all the smite spells are a waste of spell slots for paladins and thankfully my paladin agrees and never uses them.
specifically the macro throws a null error and attempts to apply it all to the paladin instead of apply to the next attack, probably an issue of versions/dae/midi patches.
// Card settings - Target & range: Self
// DAE settings - [1] flags.dnd5e.DamageBonusMacro / Custom / ItemMacro.Searing Smite [2] flags.midi-qol.brandingSmite.level / Override / @item.level
if (!["mwak","rwak"].includes(args[0].item.data.actionType)) return {};
if (args[0].hitTargetUuids.length === 0) return {};
let selected = await MidiQOL.MQfromActorUuid(args[0].actorUuid);
let DC = selected.data.data.attributes.spelldc;
for (let tokenUuid of args[0].hitTargetUuids) {
const target = await fromUuid(tokenUuid);
const targetActor = target.actor;
const effectData = {
label: "Searing Smite",
icon: "icons/skills/melee/strike-sword-steel-yellow.webp",
changes: [
{key: "flags.midi-qol.OverTime", mode: 0, value: `"turn=start,saveAbility=con,saveDC=${DC},damageRoll=1d6,damageType=fire,label=Searing Smite" `, priority: 20},
],
origin: "Searing Smite",
disabled: false,
icon: "icons/skills/melee/strike-sword-steel-yellow.webp",
label: "Searing Smite"
}
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: targetActor.uuid, effects: [effectData] });
await ChatMessage.create({content: `${target.name} is set on fire and begins to burn!`});
}
Hooks.once("midi-qol.RollComplete", (workflow) => {
console.log("Deleting concentration")
const effect = MidiQOL.getConcentrationEffect(actor);
if (effect) effect.delete();
return true;
})
const spellLevel = actor.data.flags["midi-qol"].brandingSmite.level;
return{damageRoll: `${spellLevel}d6[fire]`, flavor: "Searing Smite"}```
Why is the origin a string...
I would just make this a basic OT effect honestly
Why is the selected token randomly called when its been using args for most the macro?
Origins are uuids. 
yeah thats my thought Super
it seems like this would be a perfect plain old damage bonus item
no macro required right?
Yeah, feature with 2 AE's. One applying to target, one to source
expires after the next attack
why two though?
wait I might be mixing up smite spells
extra 1d6 fire on next attack is one. dot is the other
Im definitely using that Itme Macro tab.
Not sure why it didnt come through in the export
This is some basic Effect Macro shenanigans.
do item macros not transfer with export data guys?
Ive had better experience with this. Im do this instead.
Item Macros are saved in the item's flags, so yes they do.
Usually the simpler solution is the way to go imo
did Tim fix the bug where roll self would apply to all ae's on the item?
I've not had issues on v9
This is an overtime effect
Just check the box in the AE
I thought there was a bug where if you set roll self, it did it for all ae's
And another for the initial damage
theres also an initial damge bonus on the attack though
that is where the self roll comes in I think
Have you considered the initial damage?
I don't think any of this needs to be in a macro
just literally 2 seperate ae's, one set to transfer to target and the other set to roll to self
Initial damage happens at some point not when you use the spell
special expiry to expire after the next attack hit
good news is once you set this one up, you should be able to nail the other two for that pally, they just have other ae's
Agreed. How do I apply effects on a weapon hit?
Yeah, so call the feature when targeting the enemy. 1 AE applied to enemy that is the OT, one applied to self which is the damage bonus which expires on attack
that happens by default if you check no boxes on the first tab of an ae
you will need to have literally 2 ae's, not 2 keys flags, two ae's
the one that boosts your damage, neeeds to have a special box checked in the first tab to roll self
gaaaaah theres a smite sample item, shit just copy that mama jama
How did I miss that one
its not in sample items...
Bugbear is that a v10 thing?
-_- its in the wrong compendium folder in the sample items:
I dunno, that branding smite looks an awful lot like the one he just tried to get to work...
So like, which part is difficult here? The transfer of effects?
Cus the initial damage bonus is core, and the DoT is a 3-line Effect Macro...
its all possible within dae no macro required
for that one specifically, for branding smite its an ATE flag ae
Why yall strugglin' then /s
its not my spell and they came to us with a flawed macro /shrug
+(@item.level)d6 is the way to do scaled spell damage right?
Core, yep
I really need to make a postit for overtime options
In DAE, what attribute keys am I putting in DAE?
I'm 90% done making it for you standby
It's all in the readme so...
Im excited to see what a working version looks like ! π
Your original macro works, your mistake was you left the constition save on the item. Our suggestion wouldn't work because the damage over time would need a method of application in an item macro(like tim's branding smite lol or kuffeh's).
But your mistake is 2 fold
you do not seem to have an item macro in the item you sent me, which leads me to believe you don't seem to have that basic step figured out
and the item needs no save:
Your original had the item macro in the file, but it was not displaying in my import weird, I just looked at your actual file and I see the item macro in there
but all your problem was, was you had the item details set to impose a save(on self)
which would halt the whole process, specially if you dont use MTB or LMRTFY as it would not complete till a con save was made by the origin actor
beware of my export, when I took your item and imported it, Item Macro was empty, I suspect the same will be true for mine to you.
Yours was fine actually. The only change I made was adding a special during (ending after 1 mwak hit)
I have that in mine, I actually think I know why it fails to import right, you are on an old dnd5e and foundry version
thats 2 foundry versions ago and isn't 1.6.2 the version with the bad tie breaker bug?
you don't need to update if you don't want to, and always backup before updates, but you are on older versions fyi
Appreciate the heads up. Im updating to build 280
Backup beforehand
backup first bud
This is the most up to date v9 version
Also your issue isn't gamebreaking, I'd only suggest updating when stuff breaks.
although, 280 does have some security patching so there is that
either 1.6.1 or 1.6.2 was a really fast version cause they forgot a + symbol or something in tie breakers
hmm I may have updated to hastily
Well did you backup first?
oh I hope you didn't blow through warnings and accidentaly update to 10
Nah still v9
280
cause that would hurt lol
Don't forget to update dnd too
all sorted then?
for the original query, Yes @vast bane was very helpful . Turns out the core isometric module I was running on is only compatible with 9.254, which is deprecated on Forge.
Might have to figure out self hosting :/
I don't know how forge works but if I was local I'd just step down in versions if it was gamebreaking
does forge not let you atleast try to run a module with a yellow flag?
Oh they 100% do
Midi and RSR are not compatible, right? asking for a friend (on another Discord server)
Not yet at least. There is an issue by tposney to track compatibility, but for now nope
if a creature is hostile, then all its allies are hostile right?
Yes? You can test easily with 3 tokens. 2 hostile (one of which the auto target ranged is on or AA) and 1 ally or whatever it is
That does raise an interesting point, though. Can you have two or more NPC parties that are hostile to each other, that are also hostile to the players? I'm guessing everything would fall apart if they were using Spirit Guardians etc
Is there a way to make this work with the Magic Items module (item can be used to cast Searing Smite)?
I know item macros work in magic items cause I have one in my lesser restoration. If you use the item that is properly setup, and drag it onto the item does it not work?
Negative. Works fine if its a normal spell cast
what is the error in the log?
There's a few now, could be due to the upgrade I did though.
I just dropped it into a magic item and it worked
you keep using the wrong searing smite
you need to find that empty item macro version and get rid of it hehe
if the version in his spellbook is working, find all other searing smites in the sidebar and delete them, then drag his version to the side bar, then drag that one to the magic item(it doesn't let you drag from him to the item)
also, does anyone know how to make the ae in his macro show on the target? I kinda hate that its not displaying the icon personally. #1010273821401555087 message
yeah its applying as a permenant passive effect so its not displaying on target
so I scraped all versions, reimported, dragged to Magic Item. Didnt work. Same Error
Adding the spell as a 1st level makes it work though
Create new item > right click import > imported your version.
oh you mean my import or an importer?
so you still have it in the sidebar right?
click on it and look at the item macro in it
I deleted all version
make a new item, and use MY import, not yours, cause yours didn't have one
mine has a (1) in it
Yeah I used yours file to import. The macro is there.
ok, now drag that to the magic item drop box
are you using items with spells or Magic Item Module actually?
cause I'm testing with Magic Item Module
and it still says no item macro?
The error message, yep
ok, midi qol, dae, and item macro versions please?
I don't think it would display that error if not in combat, but the spell kinda needs combat to be active to function right fyi
I'm on 0.9.83 for midi and 1.6.0 for Item Macro and its working for me
dae is 10.32
I have no idea if I'm current, but it works with my versions
My magic items module is same as yours
To be clear though, my import and yours are named exactly the same cept mine has a (1) in its name.
and yours very definitely imports to foundr 280/dnd5e 1.6.3 without the item macro(even though its in the json).
Im behind on midi and DAE. ill update and test
I'm probably not current, I only update when something breaks
shouldn't be an issue for you however
newer is better
Updated, no dice. Same error.
there must be something critically wrong with how you are going about this process. Does the searing smite on the paladin work?
All you need to do is make sure you do not mix it up with anything else, drag the functional searing smite in the paladins spellbook to the item sidebar, then drag the searing smite from that sidebar into the drop box area of the magic item
Do you have dnd beyond importer module active?
Yep, works fine on the paladin
Its deactivated atm.
show me the details of the magic item
ok DC is probably going to break it
cause the item macro calls the casters DC
it calls the selected dc lol
you could probably edit the item macros entry for spelldc and just put the raw dc number
but regardless, click on searing smite there
right in that window
check if it has an item macro, and that its details says On use macros yada yada ItemMacro at the bottom
I'm pretty sure your problem was probably that the item already existed...via an import and importers always screw things up like this
if you want its DC to be different than the selected token on cast, you need to change the selected.data.data line in the item macro to just be 16
Spells cant be activated from here. Has to be from Spellbook tab in character sheet.
I want you to edit it, click the spell searing smite in that window
you aren't casting it, you are checking to make sure its legit
its probably a dndbeyond imported version
to be clear, you are in the armblade of living steels details tab, scrolling to the bottom and clicking on the actual words Seering Smite, which then opens that spells details
Its possibly a modified version of hand of vecna, imported with an importer
I don't want you to edit the sidebar spell, nor the paladins spell, I want that spell, on that item
click on Searing smite in that item and show me the details of THAT version of searing smite
incase you aren't realizing this, when you created the spell, it was just one instance of the spell, every other instance of searing smite needs to be deleted and replaced with the version you imported from me, its not a universal import. And you need to stop your importer from overwriting stuff when its turned on too.
Okay, covered this step earlier
ive highlighted in red, what I've clicked on
click on item macro in that specific left hand window, is there a macro in it?
the item macro at tthe top
Yep
show me the item in the spellbook that you roll to cast the spell
start a combat, roll initiative, and cast that spell
No dice. I've made sure to be in combat this whole time
its probably throwing an error because its not a paladin
I got nothing then, it works if a paladin has the item, but your error is totally unbelievable. Its saying no item macro right?
I can't replicate your error, the only other thing I can suggest now is to find the culprit, start with midi/dae/item macro installed, and keep going till it breaks.
This error has persisted π¦
give him 1 level of paladin /shrug
or put the item on one of the starter heroes that dnd5e gives us thats a paladin
Put it on good ol Krusk the Half Orc Paladin from the starter set and see if hes able to smite with it
The imported Branding Smite works
Ill try this with a test character
dnd5e gives us a starter set of actors in a compendium, use Krusk from that compendium hes a pally
Searing smite is a regular spell, paladins aren't the only ones that can cast it. It should work without any paladin levels.
I'm in hail mary territory with him, the user was a fighter with no spellcasting ability
Its probably just a bad import, I always say, don't use the importers, make them from scratch
my item made from scratch works, his is an imported one
At a minimum the DC can be hard set in the item
its an item macro, the dc is selected.data.data.spelldc or something
Yea, fresh item the best bet
Im using a fresh item, and importing Motos
You can just swap out the line in the macro
DC = whatever;
ill test that
but his error is no Item Macro when he clearly has one
This on V10?
v9
its in a magic item, it works on my end, in a magic item module item, but his, it is throwing that error
I'd try find the culprit first, just run dae/midi/magic items module and see if it works
then you know the problem is a module
This
also you could have those werid settings on in item macro right? doesn't hat mess with midi somewhat?
Make sure nothing is checked in Item Macros settings:
Usually only happens if you install item macro before midi
Issue still persists only with these enabled.
check your item macro settings, they should all be unchecked
I can't even get the item to go on a fighter
but I think the problem is the bug where magic item module sometimes needs a page refresh, and I'm elbows deep into a prep of a floor in dotmm and don't wanna refresh yet
Same error with the branding smite import
oh you know what? I bet it works for me because I'm using a paladin with those spells in his spellbook
drag the items to his spellbook, the proper ones
even though he has the item
just make sure he knows to only use the magic item versions
if someone smarter than me wants to try and see if its ok to use a folder macro instead of item macro that could work too
This is the same for my fighter. Works if the spell is from his spellbook
My guess is my Magic Item - Item macro cant find the Searing Spell Macro
Theres a way to do it, but I personally wouldn't. I'd just put the 3 spells on the sheet and tell the player to use the magic item.
Cleaner to keep your macros stored on the item
I think ill do this, and make it consume resources
downside is I cant upcast spells
thats the core way of doing it honestly, but you can't upcast if you use the core way
just put the spells in the spellbook and talk to your player about it
the magic item should work the second the spells exist in the spellbook also
Its trying to find a spell with an item macro with the name of that spell, magic item spells are not actually spells
so it can't reference its own item macro apparently
you can use an on use macro to roll the spell nested in the item.
This will work if it's a single spell
let itemD = await args[0].item;
let magicD = itemD.flags.magicitems;
await MagicItems.roll(itemD.name, magicD.spells[0].name);
A question, hoping not to bother you. It seems that pack tactics now also runs for ranged attacks. It's more intended as a close melee combat because of their formation. (for the homebrew I'm running)
Is there a easy fix I can use?
Yes you can. Give me 2 to boot my PC up, on the phone
You're amazing :d
Add as a first line (in the macro stored on the ItemMacro of the Pack Tactics feature) ~~ ```js
if(!["mwak", "msak"].includes(args[0].item?.getRollData().item.actionType)) return;
replace getRollData().item with data.data v9 or system v10 and check again
if(!["mwak", "msak"].includes(args[0].item?.data.data.actionType)) return; //or for v10 system instead of data.data
Perfect!
using System worked!
Is there a way I can quickly update the macro to all my minions on the screen?
I can update token in compendium, but then I'd still need to copy it over
not to worry as it's just a small inconvenience and I'm already happy with the update! π
unfortunately not π
All my vikings have it
though they all have the word Viking in it
all actors
So the item on your Vikings is called Viking Pact Tactics?
It's called Pack Tactics as by your latest import
But I'd call it Shieldwall
but the naming details aren't as important to me
Its not that. The naming details are important for a macro that will try to delete all relevant items from the actors and create the new one (or update them to match the new one)
wouldn't this button update world macro's work?
They are named the same but unfortunaly it doens't work xD
Well I think it bugs out
no worries, I'll update manually, shouldn't take me more than 10 minutes
Thank you so much for the fix!
It seems I called to early, it works for the bow
but the advantage for melee attacks no longer does
Correction, it does
Wait, I'll need to do some testing. I'll stop bantering and make sure there is some actual good info here
Hmmm are you on MidiQOL v10.0.15?
Make sure that the Dispositions of the tokens are set properly
And if you change the name of the Pack Tactics on the character sheet make sure that you go to the DAE of the feature and match the name there:
In the Effect Value make sure that ItemMacro.new name of the feature, preAttackRoll
How do I use this flag that makes a condition remove itself at the start of the next turn?
Go to Duration tab of the DAE window
Here?
Yeap
alrighty thanks
Is there a flag thats basically "when someone with this active effect is attacked, that attack deals an additional 1d8 damage"
sounds like repurposed hunters mark?
or bugbears fiery shield
I just used advantage reminder and called it a day, automation lite
when they cast the spell, all their damage popouts get the button, they sus out if they should click it or not
not compatible with fast forward obviously
I'm trying to make a condition that, when it ends, damages the player for 1d8 damage
the condition ends when you're attacked, so I was just tryna be abit lazy and add a 1d8 onto the attack
Effect Macro module that adds a macro to damage the token when the condition gets deleted is the easiest way to do that
Alrighty. Do you know the macro for that?
if you aren't automating damage, its as easy as /roll 1d8[flavor]
well, that is if effect macros works with chat macros
What's a chat macro
const roll = await new Roll("1d8").evaluate({async: true});
await roll.toMessage({flavor: "Ouchies."});
await actor.applyDamage(roll.total);
return effect.delete();
Oh guess you don't need the last line
awesome. thanks zhell
If in v10 and using DSN add this to make the damaging part wait for the roll to finish. ```js
const msg = await roll.toMessage({flavor: "Ouchies."});
await game.dice3d?.waitFor3DAnimationByMessageID(msg.id)
Is there an "easy" way to add +1 damage to only touch-based spells?
The closest I can find is 'melee spell attack' but I'm just trying to think if that will cause conflicts, and my brain isn't coming up with an answer
@molten solar is this something build a bonus can handle?
Huh.
"Touch" is in the spell's roll data, right?
Have you set the Target or the Range to 'Touch'?
I don't know, there is a range option of 'touch' on shocking grasp which is the spell im looking at
π
but its not in the dae effects list
The item I'm making is a gauntlet, that gives +1 damage to all 'touch' spells
(for now anyway, it'll be an upgradeable item, so I just want to be able to quickly edit the effect when it grows)
atm I just have it as
whats this? another module?
Build-a-Bonus.
Msak would be the right key for touch spell attacks
yeh I mean it works (I think) but I'm trying to think if there's any melee-spell-attacks which aren't 'touch'
Thorn whip?
I think it might negatively apply to cure wounds but idk. You can easily check
It seems to be v10 only? So I'm not there yet (still waiting on a couple modules to update)
Correct
but that's fine, I can make it the janky way for now, and make a note to use build-a-bonus when I update (which will probably be next week anyway)
babonus could just filter for damage types; select all but healing
or even attack types
it does sound like the best result is babo
I may even want it to work on healing (if its a touch heal)
A module of many names.
but +1 heal obvs not +1 damage
It's all just "damage rolls" as far as Foundry and babonus is concerned.
but it sounds like I can stack it so its like "if damage do +1, if healing do -1"
But how does midi interpret that since we are in its channel
dunno. does midi recommend babonus?
I think it's most recent update it does
π
most likely I'll leave this for a week, and come back here and say "I've updated to v10, and am now trying to get this gauntlet working"
not point getting an answer now cos I'll have lost it by the time I can use it lol
The two are completely compatible. People (not me) tested it. All the features work with zero errors with Midi. Far as I am told.
And I'm being pedantic (haha)
(get a room)
So for Pack Tactics in latest MidiQOL v10.0.15 you need no macro
I like the way things are going!
Just a DAE flags.midi-qol.advantage.attack.mwak | CUSTOM | findNearby(-1, tokenUuid, 5, 0).length > 0
now just need a few wrappers for common arguments and its looking real nice
But does that support using the CONSTs? /s
it looks like its evaluated directly, so i bet so
Assuming that -1 is for token dispositions.
It does. But it makes some calc behind the scenes
V9: I am using Midi and I have the setting to remove the "Attack" button from chat and rolls to fast forward for attack rolls, but one of my players tokens is prompting the attack button and not fast forwarding but the other are. Any insights?
-1 ends up being opposite disposition to the sourceToken afaik
The settings are per client
So you player needs to select Fast Forwards Rolls
ah
Actually, no. I have a condition applied that seems to be interfering with the attack roll itself.
Interesting
Well I had an affect that was modifying all attack bonuses rather than using the flag.midi-qol... . Apparently that suspends the workflow???
flag.midi-qol.DR.rwak Damage Reduction?
What was the effect?
And if it suspends the workflow it might be erroring out. Check console
Likely it cannot be evaluated or something
THIS^^^ I think I know what I did
Apparently when you try to modify the attacks using data.bonuses.All-Attacks, bad juju happens.
you have to separate them into rwak, rsak, mwak, msak
in v10 that I just tested the .All-attacks work
might be v9 specific
What was the actual effect? key,mode,value?
Well, that's not it either. I'm trying to figure it out because it was working earlier.
I think I figured it out. Much simpler than I thought. Sometimes, when you put a minus sign, you have to also put a value with it. embarassing
Related question: is there a way to affect all saves like you can all attacks?
data.bonuses.abilities.save I think
Hey everyone. Hope you're all doing fine. I have a problem here and I'm almost positive it's Midi that is causing it.
It's something that, to my understanding, was working recently ago, and should be fairly simple?
Essentially, it seems like it isn't recognizing multiplication formulas.
For example, I have a simple 50 * 2 formula that should result in 100 damage, and even though the calculation goes through, it's applying 52 damage.
So it seems it's understanding the " * " as "+".
Anyone knows what could be happening?
It would appear you need to wrap the formula in parenthesis to work, (50 * 2). Not sure if that is intentional.
It surely didn't need to be the case before.
But it seems to be working with that adjustment.
You could open an issue on the module gitlab, see if it's a bug or intentional.
Thanks for the tip.
actually not always, I've found in testing I had to add logic to mine
How do I set up half damage on save for additional damage? (Specifically looking at the Giant Scorpion's sting attack which does 1d10 + Str damage on hit, +4d10 poison damage, half on con save)
Do I put the 4d10 in "Versatile Damage"?
Take a look at the pins up top.
There is a link to the midi readme.
It covers, among other things, this exact situation
Thanks, will do π
I have a completely newbie question. I've tried to figure it out from previous comments, but I can't. Can someone explain from ground up how to get "Lay on Hands" to work? Thank you. (If there is a web page or video explaining it for v.10, please point it out to me.)
Do you mean in general or the item that's included in the MidiQOL sample items compendium?
No video that I can think off, but there is a small how to in the description of the sample item iirc
Interesting! Thx for the heads up.
I haven't encountered the issue myself, but I haven't used that extensively too.
The pack tactics feature is the one mainly using it and didn't have any issues afaik.
Hey not sure if this is entirely midi but i'll put it here. So how can we configure a spell that uses a template to target only enemies if we have auto targeting enabled in midi? (i am sure this is something that has been answered before but the log is a mess to go through π )
Is this for sculpt spell?
Not only for sculpt spell. There are a lot of spells that let you choose the creatures that you want to affect in the template (Slow, wither and bloom etc)
I would ask tposney nicely to include a Use Late targeting option in MidiQol item properties for these spells.
Right now it's a bit tedious, but you can also try with late targeting
There was an issue to make late targeting work only if you have no other targets selected and the item has targets defined
I am not sure now if it was already implemented or not for v10
late targeting is not working for template items unfortunately
are you on v10?
yup
Let me foul around a bit to check some things π
it is also explained in the config as well
Indeed. I was going off memory here. I will be on my PC in a lil bit π
I'd like to repeat a spell via onUse Macro but my coding is quite limited can someone help with the code?
var times = 9;
for(var i = 0; i < times; i++){
item.use({
createMeasuredTemplate: true,
consumeQuantity: false,
consumeRecharge: false,
consumeResource: false,
consumeSpellLevel: false,
consumeSpellSlot: false,
consumeUsage: false
}, { configureDialog: false });
}
when i use the spell from the macrobar it places template ten times in the same spot
That is bound to create some issues with MidiQOL. How do you set all this up?
What is the item? Does it have saving throws etc which need to be resolved before casting the spell again?
Or do you just want to place 10 templates down?
You would also need to await the item.use and better use await MidiQOL.completeItemRoll() for MidiQOL
check the readme
the item is the fire storm spell, i imagine it creating a template handle the damageroll then create the next until ten templates are placed
could be handled with a spell that has ten individual templates to target, if thats possible
That would be a bit tedious for 10 targets. Hmm let me check something
thanks for your time
Is there anyway to examine the damage that causes an effect to be removed when the "isDamaged" specialDuration condition is triggered?
I'm trying to teach a doOff function to take specific action when isDamaged is true. It should do nothing with other reasons for removal cause the effect to end.
System has a built-in function to create a template using an item, without using the item.
yeap
dnd5e.templates.fromItem or something like that, idk
game.dnd5e.canvas.AbilityTemplate(templateData) was the one I knew.
checking now
you might need to make it a proper doc. Anyways its coming along but my testing instance is having some connectivity issues...
dnd5e.canvas.AbilityTemplate.fromItem(item)
the 10.0.15 notes mention that the sample item compendium's items aura effects now assume BaBo, but I guess this is not quite the case yet as no sample item has a version higher than 10.0.13? Specifically I'm wondering if Spirit Guardians is doable via BaBo
The hell is "babo"
@fathom socket Initial try for Fire Storm spell. Get the SRD Fire Storm spell.
Assumes that you auto target when placing templates with MidiQol or compatible template modules.
Needs Warpgate, MidiQOL and ItemMacro (the warpgate crosshair should target the top left corner of the template to be placed).
Also needs Walled Templates to use its auto-target functionality of drawn templates!
(DF Templates Enhancements is not currently v10 compat, but soon it could also do it)
Create a onUse Macro ItemMacro | Only called once a template is placed
ItemMacro code:
const { workflow:{item}, templateUuid, macroPass } = args[0];
if (macroPass === "templatePlaced") {
const templateinitial = fromUuidSync(args[0].templateUuid);
const templateData = templateinitial.toObject();
let targets = MidiQOL.selectTargetsForTemplate(templateinitial.object)
const getTargetsIds = await nameMe();
game.user.updateTokenTargets(getTargetsIds);
async function nameMe() {
for (let i=1; i<10; i++) {
const result = await Dialog.confirm({
title: "Fire Storm templates placement",
content: `Do you want to place template number ${i+1} out of 10`,
rejectClose:false
});
if (!result) break;
const {x,y,cancelled} = await warpgate.crosshairs.show()
if (cancelled) break;
templateData.x = x;
templateData.y = y;
if (!templateData) break;
const [template] = await canvas.scene.createEmbeddedDocuments("MeasuredTemplate", [templateData])
targets = targets.concat(MidiQOL.selectTargetsForTemplate(template.object));
}
return targets.map(i=>i.id);
}
}
@molten solar I see people calling it BAB and all I can think of is Base Attack Bonus
What's wrong with babonus? π It's fun to say.
Spirit Guardians not, as is still needs Active Auras module
Can't the system's template creation be awaited or am I misremembering?
i didn't find another way π€·
I just did it
π€·
const item = token.actor.items.getName("Item");
for(let i=0; i < 5; i++) {
const template = dnd5e.canvas.AbilityTemplate.fromItem(item);
await template.drawPreview()
}
@tawdry blade a way to place more templates for spells like Fire Storm etc a couple of messages up
something was breaking for me. let me double check
ahh, i think drawPreview might be a new v10/2.x function
no
fair enough
Isn't that what you use in WG?
i had to implement my own system in WG because I didnt have a function like that that I could find at the time
possible it was simply overlooked....but i dug pretty hard
hmm ok there was an issue with tokenmagic probably that was crying for proper _id
I am 100% sure both Freeze and I have written macros with drawPreview in macro-polo a long time ago
oh, maybe it was because it was a dnd5e only function
so it wasnt explored at all
i dunno, but now we know, or are reminded
The templates will also have the item's uuid in its flags (core in v2.0.0+), bug
ability-template.mjs:36
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'system')
Works for me π€·
I know, console is fine. Executing via MidiQOL and modules maybe
Works as hotbar macro, too
serialization
hmmm
just don't do that /s
Anyway, works for now. I will take another look soon as I get my main PC back online.
Does seem like you need to try/catch the templates, otherwise the first aborted one ends the chain
const item = /* ... */
for(let i = 0; i < 10; i++) {
const template = dnd5e.canvas.AbilityTemplate.fromItem(item);
try { await template.drawPreview(); }
catch {}
}
It should end the chain though no? You might not need more π€·
I was thinking about misclicks, but sure
It produces an error which ends the entire macro. If the loop is all you need, and nothing afterwards, then sure
I see, βοΈ
Bug with the system I think. Happens with regular use of an item, too.
Babo rolls off the tongue better π
Is there a way to program this with MidiQOL?
I dont remember there being a way to check for number of attacks
World script on dnd5e.rollAttack? Effect Macro to keep track of the number and prompt the save? π€
oh the ideas. You can do it, but it might be a pain
Get an effect to create an onUse Actor macro on the target (warpgate it on the actor). This one will put a flag after each attack in the same round. If that hits the threshold (more than 1) boom
Sorry, I never realised anyone replied! Thank you for the info.
Thank you
Did you by chance watch critical role last night and decide to make a chetney clone lol?
the automation suggestions wouldn't work if the creature has legendaries, they'd probably cause false positives
like in last nights episode
since the effect only does stuff on their turn, its duration should be set to the end of targets turn, not sources next turn to avoid that
You have a condition on the target creature. If during its turn it attacks more than once, takes 1d8 necrotic damage
Is that not the gist of it?
You will be flagging the attacks the creature makes during its own turn
Reactions and/or legendary actions should not count judging by the description π€·
odd problem - all my gm rolls seem to be hidden from players at the moment, and I can't see why? I don't recall changing the setting, and I can't find it in the options
Midi settings => Workflow settings => GM tab?
;3; one of my PCs has been playing BH for a while and we always have trouble remembering Bloated Agony
but thanks for implying Chetney did something awesome, looking forward to it >:3
I have no idea what this means lmao
TL;DR it sounds possible
I got it 'til warpgate on the actor
Might give it a shot
doesn't warpgate summon tokens?
just the tip of the iceberg
I like geckos, you convinced me! I will ping you at some point π
:ooo
if you have a hard time remembering things but also don't want to go through all the hassle of macros, if you turn off fast forward, the module advantage reminder can solve just about everything in that department
ughhh but no fast forward
for bloated agony I would apply an ae that puts a message that is a document link to a self harm damage entry in the attack popout for their attacks until the next turn.
advantage reminder
but again, fast forward must be off for that module
otherwise, have fun getting a bunch macros made that will break in v11 π
thank god the Defensive Flourish Macro didn't break
Macros won't break in v11. π©
There's not a third document refactor coming, christ on a cracker.
I foresee riots. We want SYSTEM
@modern badger which actions do you want to be counted as attack? eg mwak, msak, rwak, rsak?
What else?
I'd use an overtime flag as well as an on use flag to run a macro to handle the self damage.
Have the macro give them an effect that goes away at the beginning of their turn. Check if that exists then do the self damage if so
Just a MidiQOL.applyTokenDamage() would do it after a check during the onUse Actor macro for no of attacks
I think those are it
Is there one for nat weapons?
It would be considered a melee weapon attack
v9?
does midi have something for armor of hexes
@modern badger For v9, create a feature that targets a creature and on that, a DAE with the Special Duration you want: Turn End: Expires at the end of the source actor's next turn (in combat)
and an effect of flags.midi-qol.onUseMacroName | Custom | BloatedAgony,postActiveEffects.
Then create a script macro in your hotbar or the macros folder named BloatedAgony. If you choose another name, make sure it matches the BloatedAgony,postActiveEffects above.
In the macro paste this: ```js
if (!game.combat || !["mwak", "msak", "rwak", "rsak"].includes(args[0].item.data.data.actionType)) return; //for v10 replace <data.data> with <system>
const CheckTokenId = game.combat.current.tokenId;
if (token.id !== CheckTokenId) return;
const combatTime = ${game.combat.id}-${game.combat.round + game.combat.turn /100};
const lastTime = token.actor.getFlag('midi-qol','bloatedagony.lastTime');
const attacksMade = token.actor.getFlag('midi-qol','bloatedagony.madeAttack');
if (lastTime === combatTime && !!attacksMade) {
const roll = await new Roll('1d8[necrotic]').evaluate({async:true})
await roll.toMessage({flavor:"<p><b>Bloated Agony:</b></p> You attacked more than once during your turn! Just don't!"});
await MidiQOL.applyTokenDamage([{ damage: roll.total, type: "necrotic" }], roll.total, new Set([token]), null, new Set());
}
else await token.actor.setFlag('midi-qol', 'bloatedagony', {'lastTime':combatTime, 'madeAttack':true});
Let me know if it works (in combat only).
This does NOT include the `Amplify` of the same ability.
You can create a normal Reaction action which will call a macro that does a roll of the 1d6 and based on the result, creates an effect of ac.bonus + 99 making sure that the original attack misses.
hmm though crit would go through
Heads up - 10.0.15 includes an experimental change to reset the adv/disadv key state whenever a roll if completed. This means that holding advantage and clicking the item will result in ONLY the first click being done at advantage, the second and subsequent clicks will be rolled normally. I will reverse this change in 10.0.16 since it's a bit annoying for players that want to do all of their attacks one after another.
what. I guess the answer is no then
@gilded yacht just double checking. When you create a DAE which is transferable to another token, the only way to call a flags.midi-qol.onUseMacroName is still by eg Macro_Name,macroPass or ItemMacro.<itemUuid>,macroPass?
(And compendium link)
There is a flag that can be set to make you unable to be crit.
Indeed. I was not sure if that would cancel the attack but probably would
I had even used that in the past... πΆβπ«οΈ
Sorry I was dming a game and was bad at splitting my attention lol. My midi is already set up this way
plus the roll we noticed it on was initiative, my initiative rolls were hidden
which isn't mentioned here
Try Find the Culprit
Ah that is different
Check the Dice So nice settings
I recently put together a macro for the blink spell and have the person +100 ac and immunity to crits while they're "away"
I mean yes there isn't something premade. But can be done...
the only relevant setting I can see in dice so nice is "show ghost rolls" which is on. If I turn it off... the player sees no dice at all when I roll lol
Armor of hexes could also be done with a world script and midi hooks if you don't want it to function as a reaction
This?
that turns off 3d dice for everyone during initiative
nothing to do with making the roll blind
yeah that sounds complicated, was hoping for some option I wasn't seeing
I'm not a programmer
wow I need this setting on lol
Reaction your best bet then
I got like 30 modules trying to do something when I hit begin combat, that'd slim down the hiccup immensely
OK It's late here and I read hidden in your initiial post as not shown at all.
it was written while I was in the middle of dming a game so I'm not surprised it was nonsensical haha
ok so it still does it even with all modules off so it must be a core setting somewhere
Wild guess: Did you ever use a world script to make the initiative rolls hidden?
not as far as im aware
and it sounds like it would be hard to do something like that by accident
yeah yeah nvm π
I turned off every module, including dice so nice (so no dice but I can see the sidebar)
and dm initiative is still a hidden roll
but... there's no core setting for it that I can find
soooooo
the drop down above chat input 0_0
yupp
oof
which I've never touched
but I just happened to think of it and saw it was on 'self roll'
I've done worse, don't worry you are among friends!
@vagrant wharf Armor of Hexes. Needs MidiQOL option to trigger reactions.
Create the feature with:
Action Cost: 1 Reaction,
Target: blank | blank | Self,
Range: blank | blank | Self.
Action Type: Other
midi macro onUse: ItemMacro | After Active Effects or if you are not using ItemMacro module Name of the script macro you created | After Active Effects
In the ItemMacro or the script macro you created, paste this: ```js
const roll = await new Roll('1d6').evaluate({async:true})
const msg = await roll.toMessage({flavor: Armor of Hexes reaction roll. The result is ${roll.total}})
/*if on v10 and using Dice So Nice delete the // from the line below if you want to wait for the 1d6 roll to finish first and then continue */
//await game.dice3d?.waitFor3DAnimationByMessageID(msg.id)
if (roll.total >= 4) {
const effectData = {
"label": "Armor of Hexes",
"icon": "icons/equipment/shield/heater-crystal-blue.webp",
"duration": {
"startTime": game.time.worldTime,
},
"disabled": false,
"changes": [
{
"key": "data.attributes.ac.bonus", //change <data> to <system> for v10
"mode": 2,
"value": "+99",
"priority": 20
},
{
"key": "flags.midi-qol.noCritical.all",
"mode": 0,
"value": "1",
"priority": 20
}
],
"tint": null,
"transfer": false,
"flags": {
"dae": {
"transfer": false,
"specialDuration": [
"isAttacked"
],
"stackable": "multi",
"macroRepeat": "none"
},
"core": {
"statusId": ""
},
}
}
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: token.actor.uuid, effects: [effectData] });
}
Hmm if you are on v9 Foundry, you might need to change the icon path π€·
Doubt that. The migration happened long ago.
ok I think it works, thank you
Do 'on use macros' no longer work to trigger item macros?
Is the midi way to use the dae effect field?
ItemMacro, but if you have the settings wrong in item macro it can fail, basically all the boxes need to be unchecked in item macro I believe.
That might be your issue, is that right guys?
@vast bane howβs your v10 experiment going?
not a single moment spent, I decided to go out for dinner instead of do my v10 experimentation lol.
maybe next friday(but not really)
I just did a test migration and it seemed to go pretty well although for some reason midi and dae and tidy5e disappeared and I had to reinstall them
macros, icons, and lack of pizazz to sell me on the update is why I haven't taken the plunge. Its just a clerical upgrade
All my icons seemed to be ok, that I saw anyway. I did notice About Face seems a lot slower due to the new transition animations⦠makes the game feel sluggish
@chrome gale I'd probably go with something more midi centric then that example given for thorn whip, but I also didn't automate my thorn whip. I tried to use that macro but the inability to write macros is rough. I'm tempted to suggest looking at the crusher macro that bugbear made, but again, all this crap is macro heavy, I'm too burned by macros right now.
most of the warpgate macros wiki are great with midi examples, but that one had no midi interaction and I got lost.
My barbarian loves the crusher feat macro you hooked us up with bugbear
Oh I need to change it a bit more. I want to re-trigger the crosshair if you click on an invalid move, and for my table to link the move to an invalid space (where another token is) with a trigger of a dex/str save or contested athletics to see what happens
the thorn whip "pull 10ft" one seems to work, however it doesn't pull 10ft, instead it lets you move them in any direction (so you can pull or push or slide them sideways)
The only pull is a bit tough to put in the macro's logic
which is still usable, just seems more complex than strictly needed
fair enough, I'll probably just leave it, there's a couple spells I know which use similar effects, I'll just remember to make sure they move the target the right direction
it works well enough for my purposes
also I don't think thornwhip is like lightning lure like that macro implies
unless I'm misremembering it, thornwhip can originate from anywhere within 30ft of the caster
Having said that, I have a modified macro from theripper originally that does a mean knockback or pull or whatever you want it to do
so its 10ft in specific directions
thornwhip pulls creature closer to you by 10ft
Make a melee spell attack against the target. If the attack hits, the creature takes 1d6 piercing damage, and if the creature is Large or smaller, you pull the creature up to 10 feet closer to you.
I use it for a big boss, which does a Scorpio come here move to all tokens around and then makes one attack to each when they are all pulled to melee range.
I want this haha. I wanted it for frogs/chameleons with sticky tongues
possibly mistaking it with a pathfinder spell my bad
I will post it when I get my main PC back online.
Man a roper automation pull would be scary as fuck and awesome
Roper, the original Scorpion
please do, though unless you tag me I probably won't see it (I'm assuming fixing your pc is an ongoing job)
packed some stuff in the house due to works, which took more time than anticipated... as always
always the way
no huge rush, I may make a note to myself though in my 'dnd dm list of stuff to do' to remind me to message you in a few days and ask
which I'll probably get to in a couple weeks lmao
I forget - is there a way to set up a template spell which is meant to originate from your position, so the cone should always start from you, to throw an error if you try and place the cone somewhere else?
I tried 'range - self' and 'range - special' (I had a vague recollection that 'special' was used for something like this) but it doesn't seem to prevent anything. It may just be that it's not possible
My original version does limit from pushing, but yea, square grids means that there are multiple valid pull locations
So I left it up to the user, rather than assuming what they want
fair enough, it works fine, but some of my players aren't likely to remember all their rules so if they see it let them move any direction they're likely to think that's correct
and I also am not likely to remember all of everyones rules lol
though usually I just move along, as its not a big deal in any case
Ya, just letting you know what the intention was
You can also use macro.execute and macro.itemMacro which is the DAE way of calling a macro, it is called with args[0] === "on" when applied and args[0] === "off" when removed. Also have a look at the lastArg (args[args.length-1]) details in dae and the ability to pass arguments as part of the macro call.
That's Blood Hunter, right? I believe @celest bluff did a lot of automation on that class, maybe they can pitch in how?
I already have a blood hunter kit
I tried and it didnβt work, might be because Iβm in V10 ;-;
gonna give it another try maybe I punched in something wrong
There is a data.data entry in that macro fwiw.
I have bloaded Agony in my blood hunter set
Hi, please could somebody help me with this error?
Latest foundry Version, V10
I cannot use some items on characters for some reason
why not go from the canvas token up?
rather than the actor
meh data.attributes.movement.all 0 just isn't working ~_~
Could anyone please help me modify a weapon?
I'd like to have the weapon's attacks always be made at advantage (as an effect, so it can be toggled on and off).
There's a part 2, but that seems like the easier of the two so I'll start with that.
I made it in v10, so that's not the issue.
Make sure the target is in an active combat
Any errors?
I didn't emphasize the actual question properly π
From midi v10.0.13 release notes
Sample items updated to use dae 10.0.9 feature where ItemMacro (as a flag value - e.g. damage bonus macros) does not need to specify a name, on application of the effect (passive or active) ItemMacro will be mapped to ItemMacro.<item.uuid> which will fetch the correct macro rather than a name match. (Hunter's Mark and Sneak Attack)
That is not something that can be done for a transferable DAE with flags.midi-qol.onUseMacroName | Custom | ItemMacro,postActiveEffects for example.
Using ItemMacro as the effect value will not be linked automatically back to the source actor's Item for the ItemMacro needed.
Try *0
it was the token for whatever reason, I tried it on another target and it worked fine
Those items run macros with a function it does not recognize, the error is in those. edit: I believe v10 actually reserves actor so it's because the macro is using that, the macro probably needs to be updated through to what it's trying to run that function on
You get weird delayed issues with MidiQOL.completeItemRoll(item, options)?
Like it rolls the main item attack, but then doesn't process the damage until MidiQOL.completeItemRoll(item, options) is completed
if you run it with another workflow
Hmm nothing comes to mind rn. V10?
happens in either version
Was testing a build of Hail of Thorns with it
after you hit the button damage, then it resolves the top damage
Yeah as @short aurora said. Paste the macro here for more help
OnUse macro?
damage bonus
Wouldn't a macro with like overTime work better with hail of thorns
getNearby then overTime somethingsomething
nah
Ha weird macroPass timing issue maybe?
I have a simple build for it which works, but figured I'd try this new method
yeah may need to filter
I think it just hates
It might make sense. I never saw that cause I always auto Roll damage when needed
Overtime used to have this same problem when it first came out
V9: Using Midi/DAE/CE, how would I double an actor's damage output based on an applied effect?
Is there a setting I missed to make tools automatically roll like attack rolls?
ok @celest bluff what's your kit? Is it a module ;3;
also thankslonelybugbear I'll try it a bit l8r and get back to u
ability checks and saving throws are outside in the main settings section of midi
you can also use T to do the opposite of any particular rolls default method
Good day my friends. I noticed midi-qol has disappeared from my list of modules so I went to re-install it through foundry's module installer and got this error message:
Is there something I can do to fix this?
Midi SRD is not v10 compatible
Ahhh. Thanks!
you can technically carry those over if you install v9, and copy the compendiums it gives you into world compendiums and then carry the world compendiums over in your world migration.
but alot of stuff in midi srd needs some love to work in v10
alot of it relies on 2 other kandashi modules that may or may not work with PR's and a bunch of macros with v9 syntax in them that I'm sure someone here would gladly convert for you.
If people are willing to convert them, then could that be done to the manifest for a v10 beta?
Not a clue, I'm still on v9 because of that conundrum. You go to macro polo and they will sweep you here.
His modules basically all have PRs that you can use
yeah but I think midi srd is a lil more weird than usual modules, since each individual bit inside of the compendiums has a 1 in 3 chance of needing a fix to it
some work totally fine though
Not a module but an actor already pre setup as a json file. You just import.
pog!
I have an item macro (which works) on an item which has an attack roll to hit, and then an enemy saving throw to resist a grapple. I only want the item macro to fire if the enemy is hit but fails the grapple. However at the moment it's just firing all the time.
I assume I need some kind of IF/ELSE at the start, but I'm not sure what it would look for data-wise
Whats the end goal here?
(5e mechanics wise)
the macro pulls the target closer
its only meant to do it if the attack succeeds
atm it does it even if it misses
Should just be enough to set it to only fire on the post-attack roll phase π€
my onuse is currently set to 'after active effects'
Try and set it to "after saving throws"
Also what does your Item Macro settings look like?
Yeah that one should be off
π€
After failing to get an Aura Effect to work properly on a v10 weapon, I've been told I am best using an ItemMacro to give Poison Resistance to every creature within 5 ft of the wielder, whenever they fire an arrow from their bow.
Could anyone please possibly help with what such a macro would look like? Macro Polo sent me here and, although I have tried to get my head around it, I have no clue what I'm doing writing scripts.
(I'm using MidiQOL, obviously)
Weirdly, it's also not applying the CE grapple effect from DAE. Which should be a totally separate issue, but its weird that this one item has two broken things
Why not have the macro check if they saved?
Which brings me back to my first message - I don't know how to do that lol
Oh lol
In the args there is a list of saved targets, I'm not at my PC to check the exact name of it
Throw in a console.log(args); Look in the console at the data structure.
(in the item macro)
ok i'll try that in a sec
First I'm trying to figure out why it's not applying the grapple condition
It works on another weapon, which inflicts blinded
and I've set this up the same way
jackie chan confused face
Check the details of the effect
I'm having difficulty understanding how use the "Called before item is rolled (*)" for On Use Macros. I've looked online with not musch success for the answer I'm looking for.
My aim is to have the item not be rolled to chat if certain criteria isn't met. Is this something that is solved by adding some lines in the macro or am I missing something else? My scripting experience is very little I'm afraid so it might take a bit for me to understand.
See if you accidentally checked something
Midi on use or dae on use?
If it's the midi way you return false to "cancel" the attack.
midi on use
That's the specific documentation for it.
async function main(){
const actor = game.actors.get('Actor ID');
if(actor.data.data.resources.primary.value == 0){
ui.notifications.error(`${actor.data.name} has no more resource`);
return;
}
let newResource = actor.data.data.resources.primary.value - 2
if(newResource < 0){
ui.notifications.error(`${actor.data.name} does not have enough resource`);
return;
}
await actor.update({"data.resources.primary.value": newResource});
ui.notifications.info(`${actor.data.name} spent 2 resource`)
}```
this is what I got for the macro but I don't quite understand the documentation and how it is implemented in this. I've very much a learn by seeing type and not having a close example makes it challenging
Or are you trying to make the item not do anything at all?
Because that would just be in the item macro
That looks like it's just trying to use more than one resource for its usage.
it is, the intent is that if there is not enough of the resource to use then i'd like the item to not roll to chat. if there is enough then it will spend the resources and then roll to chat
If this for an item macro on a spell, item, or feature?
Ok I can get this exact effect working on a spell, but when I try and get it to work from a weapon it... does nothing? I've tried everything I can think of, the target will just not get grappled
it would be on an item/weapon
You should just be able to set the feature to need a set resource.
Resource consumption on the details of the item
Try removing the activation condition line
this issue if that the resource is tracked on a different actor. two actors use the same resource pool and instead of trying to write code to mirror resources on two actors i've been able to have one actor have the resource pool and the other can spend those resources with that macro i posted above
You on v9 or V10?
Your 4th line need the ID set
Or change it to game.actors.getName("Name Here")
v9
ok thankyou, that solved that, I didn't think activation condition line was used unless I ticked the "activation condition true required" box
I assume that's a bug, or it's just badly worded
In v9 it's been breaking all my imported reactions from the ddb importer lol
Set the ID in your previously listed macro
The one you posted line 4
That should be the ID of the actor
I'm looking for the saving-throw flag in the console
but... I mean could you narrow it down at all from memory? Cos I'm like 20-levels deep atm and nothing is looking close
I already have, I changed the ID to "Actor ID" just to show I put the jumble of letters and numbers that make it up. with the right ID in the macro I'm already able to spend the resources from the pool no matter which actors I have selected
Try #macro-polo since this doesn't appear to be a midi-qol specific macro. Someone there can help you troubleshoot your macro.
Should be like failedsaves
Sounds good, figure I'd try here since it might have been more Midi QOL specific using the On Use macros. Thanks π
I was in macropolo first, but I was told to ask here cos it was midi related haha
That was for the other person
Your choice is between a redirect or an "idfk," pick your poison lmao
oh sorry lmao I'm tired
Settings/Midi-QOL/Workflow/#Damage says this about 'Other Damage' ππ»
I want to set an activation condition for the other damage (1d8) on a weapon to only go off if creatureType=undead (I think that is the correct code right?)
But where on earth do I input that activation condition? π€·π»ββοΈ
It should be arg[0]. save fail
Something like that
Not at PC to actually look
It'll be a list of targets that failed the save
[0].failedSaveUuids
Sounds right
ok so that gets me the id of the target if they fail the save, how do I compare that to...anything?
Actually I guess as it's a single target attack it doesn't need to be compared, I just need to check that it's not empty? Way more janky but probably simpler
When the issue is using Midi to cancel the use of an item, it is a Midi issue, not a macro issue. No reason to redirect to #macro-polo.
What you fine fellas have to figure out is how to get Midi to cancel the use/roll of an item.
@drowsy dirge
