#MidiQOL
1 messages Β· Page 99 of 1
okay lemme test
theres a problem with the formula in other though
My guess is the other formula needs the long form attribute mod
it worked for me
OH, my 4 thats missing is unrelated to your issue
apparently other formulas ignore global modifiers thats strange and probably a problem for midi
I suspect that its working as intended, globals should not stack between instances of healing from the same item:
yep is working as intended
I would like to know why it isn't showing me name of the retribution-style damage .3.
since i dont have that heal damage bonus i dont have that issue
and the damage roll
probably a midi issue tho
show me the macro thats doing retribution damage, you probably left out some options in the damageOnlyWorkflow
wait a minute
you got a naughty module installed I think
are you using check hits for dnd5e?
this is the AE
try {
const actor = args[0].options?.actor;
const token = args[0].options?.token;
const target = fromUuidSync(args[0].tokenUuid);
if (!actor || !token || !target) return;
const damageRoll = await new Roll("1d8").roll({async: true});
await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: actor.items.getName("Tale Of The Avenger")});
// Could do a MidiQOL.completeItemUse with the fetched item instead
} catch (err) {
console.error(`Retribution ${version}`, err);
}```
and this is the macro .3.
```js
paste macro here
```
oh, forgot the ItemMacro. again
I think theres also a mistake in one of those lines and the JS code will show us
const version = "10.0.33"
try {
const actor = args[0].options?.actor;
const token = args[0].options?.token;
const target = fromUuidSync(args[0].tokenUuid);
if (!actor || !token || !target) return;
const damageRoll = await new Roll("1d8").roll({async: true});
await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: actor.items.getName("Tale Of The Avenger")});
// Could do a MidiQOL.completeItemUse with the fetched item instead
} catch (err) {
console.error(`Retribution ${version}`, err);
}```
fancy
isn't it damageOnlyWorkflow @violet meadow ?
but yeah, I wanna have it show both the damage roll and the 'Tale Of The Avenger' card text
rn it works
I just want to see the roll and all
for some reason it shows the roll perfectly when I use the base 'Retribution' feature but not when I change the name and such ..
I can get you this far:
Retribution is on the caster/owner of the original item, this one is on a target, does it look as expected if the caster casts it on themselves?
have the person hit themself
it doesn't show up when someone else hits them
neither when they hit themselves .3.
it doesn't seem to have anything to do with that
no clue rll
do you have the module I circled above?
that should not check twice
oh
it's not checking twice
the 'hits dummy' is the retribution attack
but for some reason it isn't showing the name and the roll
and the macro above is the retribution item macro?
what does retribution ITEM have?
for details
mostly want the bottom third but really the whole details
why is the actor on use referencing a compendium item?
I think its technically ok, but abnormal, usually you reference the feature on the actor
ok I got all sorts of not understanding here
how many items are involved in this setup and what are their names?
basically, I got 1 '5. Tales Of The Avenger' item in the actor
and 1 in a compendium
and the ItemMacro references the compendium item
do both items have item macros?
do you have automation that yoinks the compendium item temporarily to the sheet?
for some reason, the OG one shows the dialogue and roll perfectly well, while the other one just says 'hits' and does it below the hood
nope
you gonna have to wait for bugbear to return to help you. This is confusing AF
it shouldn't be confusing, it's the way the original Sample Retribution is coded ;;
the item has an ItemMacro and references itself in the AE
Will need some touching up. I cannot do it now
It's a common issue with these items
For the MidiSRD fire shield I needed an extra item to get the targeting correctly
I will explain when I have time π
why are there 2 items involved though?
oh boy this subclass is full of pain for foundry automation
I'm just gonna do this manually and turn off the effect when they lose the temp HP π
I don't see retribution in that feature?
could mutate the target with wg and revert when the temp HP runs out
wg? .3.
warpgate
I have a world script that kills a specific ae on targets who lose temp hp
could very easily adapt that to this
Hooks.on('midi-qol.RollComplete', async workflow => {
if (workflow.hitTargets.size != 1) return;
let targetToken = workflow.targets.first();
if (!targetToken) return;
let targetActor = targetToken.actor;
if (!targetActor) return;
let targetEffect = targetActor.effects.find(eff => eff.label === 'Symbiotic Entity');
if (!targetEffect) return;
let tempHP = targetActor.system.attributes.hp.temp;
if (tempHP != 0) return;
MidiQOL.socket().executeAsGM("removeEffects", {'actorUuid': targetActor.uuid, effects: [targetEffect.id]});
});
change Symbiotic Entity to whatever you are trying to end on someone
also fyi spore druids out there, this script is dope π
keep in mind that this script only works when the damage is applied by midi, if you manually clear the temp hp via core means it will not catch it
hook on updateActor instead
I think there was a reason we didn't
I wonder if this can be handled with the new onuseMacroname handling
Hi everyone!
I want Shocking Grasp to automatically grant advantage if the target is wearing metal armor. I searched and saw that Moto mentioned that this could be implemented with an ItemMacro, preRoll, using a conditional that search the armor description for words related with metal.
["iron","steel","metal"].some(mat => token.actor.itemTypes?.equipment?.some(i => i.system.armor?.type === "shield" && i.system.equipped && i.system.description.value.includes(mat)))
That is the conditional code that Bugbear wrote during that convo (but I want the condition to check on armors, not shields). Can someone give me a general idea about how the macro should look like? π
that's what you would do in updateactor
:3
this kind of world script is really easy with worldscripter module
I feel like the target count check is unnecessary in this world script though
3?
I can't stop laughing at this
if you use the module then any macro that is stored in its compendium will run and stay active the whole time the world is up
make sure its a script macro, but I'm pretty sure world scripter auto fixes that mistake when people do it
you just need to make sur ethe name of the effect is the same in the world script macro and the thing on the bard
or whomever it gives it to
and remember, they have to lose health via midi, just reducing hp on the token is not gonna fly unless you figure out the other hook
I also have an effect macro on symbiotic that clears the temp hp, I did this cause theres always the chance the druid either re uses it early, or needs to shape into an animal from symbiotic:
actor.update({'system.attributes.hp.temp': 0});
I have this as an effect macro on deletion on the actual ae and wildshape ends the ae
(I don't use core wildshape, I use warpgate shennanigans)
less so than a chain of other modules π a few lines of code, and clicking "revert" when they run out
y'know what would be poggers
AE special duration having 'the actor has no temp* hit points' as one of its durations :p
have you looked to see if there is one? Hint: ||There is one||
sorri, meant to write temp hit points
that special duration would basically be exactly what badger suggested when I shared my world script only manually made for your world only
for the effect value?
Yes regardless for a damage formula format
yeah but if you really wanna do it all I think it needs an onUseMacroName that also expires after the hit and have the macro just simply apply the frightened condition(the next time you hit a target)
yeh, well, dunno twt
you can yoink it out of any of the premade bonus action smites I'd imagine
Wow I think I just came up with a brilliant idea for redirect damage reactions. Since I don't fast forward i could have the aura be a grant message that prompts to do the damage to the other target.
Don't forget +
Looking for a template macro for grease and hunger of hadar. If anyone has sample macros that use template macro for me to use as a base for learning, i'd appreciate. I already looked at darkness and cloudkill from chris and spirit guardians from lonelybugbear
pretty sure grease is in midi SRD, if its not there its in active auras premades
CPR does not have either of those spells sadly
midi srd grease doesnt have advanced functionality. Im going to check active auras.
Active auras has a premade for it
Btw, thanks, i have referenced more then once a list of links for midiqol premades you made.
the old midi srd v9 was an overtime via active auras:
turn=start,
saveAbility=dex,
saveDC=@attributes.spelldc,
rollType=save,
label=Fall prone on fail
if (!game.modules.get("advanced-macros")?.active) { ui.notifications.error("Advanced Macros is not enabled"); return }
if(args[0].tag === "OnUse"){
AAhelpers.applyTemplate(args)
}
Does it apply this aura to a template, or only to a token? I dont have active auras installed atm.
Is it possible to have two fondition removal options? Such as either the start of their next turn, OR moving? And is it possible to damage someone in that manner or would that need to be a macro?
I haven't tested it but I for a fact know how to do them, as I have one for spreading spores right now for my druid player. When the tokens step into the template, depending on how the overtime is setup it fires at beginning or end of turn, the key however, is to make sure that midi is not stepping on active auras
you have to check the "activation true box" and then put false in activation condition on the spell
cause you don't want each actor to get the full blown aura ae, you want them to get active auras transfer instead
cause active auras is actualy a form of effect transfer itself too
@toxic cape your midi damage automation is set to off, that is your problem
there are levels to damage automation in midi, theres OFF, manual damage but automate the DI/DV/DR, and then full auto. You probably have it OFF which makes things kinda messy when you use merge cards.
Either turn on the manual setting for damage so that you get the damage card for midi, or turn on the legacy buttons in the main midi settings if you really do want fully OFF(imo people only set it to off cause they don't realize theres a manual with bells and whistles)
is this supposed to go into item macro? or effect macro?
item macro
and then details of the spell will be ItemMacro After Active Effects
I honestly think that macro repeat is a typo, its an old midi srd v9 premade
he doesn't support active auras in midi srd v10
leave it in if it doesn't work right then remove it
lets make this easy on you:
make a blank spell, import that into the blank spell in sidebar
Imported. going to test it.
its not the greatest but it does technically do most of it
what it really needs is a macro= line for applying prone
Yeah. That'd be great. I wanted to do it with template macro to have it set properly when someone enters the area or ends his turn there
yeah thats possible but with macros for active auras, spirit guardians is an example of that with active auras. For template macro, gonna have to corner bugbear or chris for that
i wonder, at the moment it is impossible for a feature to scale using points? like for example
Deals 1d6 damage if you use one point, if you use two or more points add 1d6 per point used
Can someone look into this? I don't necessarily need the macro ready to work. But if you know a macro similar to this, it would be a great start.
Lay on Hands premade
CPR has Shocking Grasp
hol up, it does not look like shocking grasp is automated for that part though
I don't think you can really pull that automation off reliably
the best you can do is not fast forward and put a reminder in the popout for advantage/normal/disadvantage
where can i found the premadeΒ‘
Midi Sample items has lay on hands, Crimic's patreon has the version that purges diseases and poisons
kk
So the conditional, checking the description of the armor, is not an option, right?
The Dm would need to reliably name all the armor and equipment properly and somehow account for creatures like Steel defenders and Iron Golems
I can do that. π
the activation condition would be a mile long and you'd still be adding onto it 3 months from now
you'd have to do a target.equipped for every single armor you think is made of metal, then also do a check if they are named Iron Golem and any other creature whose made of metal like all the drones
you can't parse equipment descriptions in an activation condition I don't think
when you start diving down these rabbit holes, there is always one question I ask myself and if its not solid then I don't go down the rabbit hole. Wilil this automation be definitive or still have holes I have to account for?
The code I put in my first message was something someone from this channel made, that apparently does that... Or it was a joke? π
I would not break my back for a partial automation. Advantage reminder however, could totally pull this off easily
what if the character wielding the shield is a druid, then its not metal its wood
This is true. Well, I wanted to try but I get it.
if you don't fast forward you can plop a nice message in the popout
great for these kinds of conditionals
It does not affect shields: it says "wearing armor". You wield a shield.
you could also do an optional.name on shocking grasp and just have shocking grasp constantly prompt if you want to roll 2d20
My wizard player has this spell and he ONLY uses it for the express purpose of trying to get advantage on an attack roll so hes never forgotten to ask if they have metal or not lol
π
Thanks for all the suggestions, Moto.
i tried copying lay on hands but didnt worked this is the effect im trying to set
is this published? I feel like I've seen this premade before
if its warlock related, always check CPR lol, Chris is a warlock player
kk
As a general rule of thumb, It might be wise to all new folks to share the description ofwhat you are trying to make before we take the trip down the rabbit hole, theres alot of past projects we could leverage
what's the simplest way to do this with MidiQOL?
"As a bonus action, you can utter a vow of enmity against a creature you can see within 10 feet of you, using your Channel Divinity. You gain advantage on attack rolls against the creature for 1 minute or until it drops to 0 hit points or falls unconscious."
specific advantage vs. a creature from a specific creature
that has to be premade, that predates CPR
wow I can't believe its not in anywhere, thats vow of enmity isn't it?
Channel Divinity?
I swear this exists somewhere
Build-A-Bonus doesn't let u do adv. so that's a no-go
β¬οΈ
it's not working :<
const workflow = MidiQOL.Workflow.getWorkflow(args[0].uuid)
const tactor = workflow.targets?.first().actor;
if (tactor?.effects.find(eff=>eff.label === "name_of_the_effect")) workflow.advantage = "true";
Is nameoftheeffect supposed to say Vow Of Enmity: Mark?
its not working :<
very specifically whatever the name of the ae that goes on the target
you probably are not understanding that its two ae's with different boxes checked, I gotta afk for a few I'll reinvisit this in a sec
mark is applying to the enemy and normal is applying to the user ;;
it works now u3u
Is there a way I could draw an item from a table and give it to an actor as a temporary item that dissapears on use?
.3.
description of the thing you are tryin to make
Tales From Beyond, still at it
basically, you roll a Bardic Inspo die and draw from a table, getting one of the features until you take a long rest or use it
and you get to use the feature once and it dissappears after
until you roll again
I would pull this off how I pull off all my traps
? '3'
inline roll commands to populate the roll in the rolltable and have it roll abilities off my avatar
huh?
scroll to "Item Command"
https://github.com/kaelad02/inline-roll-cmd
Lets say that your table is that of 8 abiltiies called Bard 1-8. You can put in the rolltables as text document entries: [[/rollItem Bard 1]]
then have the bard roll the table to themselves and if they click the button thats created from this, it will find their bard 1 item and roll it
you'll need late targetting for it, and probably need to clear targets before they click the button or else it will unintentionally go one someone they don't mean to
all of my traps in my campaign are on an avatar that I have setup as the assigned character for me so whenever I see a trap button in my journal entries its a button I just roll and it applies to who I target
yeah that's the issue because the way this feature is meant to be used is that you can roll the Tale early and decide when to use it .3./
I still think it'd work
if its a set and use later thing then thats something like an optional.name or a macro.createItem
so rollItem, apply it to self or whomever, and let it play out
rollItem only works for the assigned actor of the user or the selected token actor
to be clear, its a module
its not built into midi or core
what it does is it replaces the need to make a shit ton of macros for the table
instead it just rolls the item on your assigned actor, in this case, the bard
surprised the wildmagic surge module doesn't have the spirits bard thing in it too
IIRC I had tried to make use of that, but as Moto said, you will need to make sure you name your Item's "materials" correctly
Yes. A table of items can be rolled. Item retrieved and handed to an actor
if the actor already has them then inline roll commands can circumvent all the macros
Did you find one? I got the MidiSRD version (not yet updated), but I can grab it out of my dev branch and share if you still need it
theres an old midi srd confusion out there somewhere too, I think it just does a dice roll in overtimes
π cool, just didnt see an answer to the specific "can roll and grant" questions
It should be working. I enriched some text and cleared it up a bit
Yes, I think we had been discussing this with Moto once upon a time? π€
I have a really simple but cool Command spell automation
then I just have dae expire it with a special duration
I found myself constantly forgetting to run the command
could prolly args off it to keep it all self contained for midi srd
Hmm, I got the basic commands working, but I not sure about how much use you can get out of them, as for the most part my players find totally unpredictable ways to use it...
that and suggestion I find are hard to automate that well
Dialog with some basic options, Prone, Disarm, Come here, stop and a button that essentially just places a "Command" icon on the target.
how? o3o
have you already made them, if so where are they currently?
in a compendium
do they all get rolled and applied to the bards target?
or do they get added to random actors who are the targets?
nono, added to the bard
put them on the bard, install inline roll commands, make a table that has 8 entries or whatever that are all [[/rollItem FEATURE]] where feature=the exact name of the 8 items you'd use on the bard to fire them.
then its a matter of making an on use macro for the bards rolling of the table as a whisper to themselves
the way the feature works makes this a bit cumbersome tho!
it'd be way better to be able to pull them from a compendium
I literally do this for 40 traps on my avatar
const results = await game.tables.getName('foo').draw()
const roll = results[0]
information about the item rolled is in roll (just not sure what it is)
and not have them in the bard's statblock inherently
You could probably hide them on the bard fwiw with css or something or you can try to figure out how to write macros to do the same thing as what I just said is possible with a module install
const results = await game.tables.getName('foo').draw()
const roll = results[0]
what would I replace here?
name of the table
in the getname?
and where would I put this macro? :0
unsure what exactly you are trying to do, but rolling from tables and creating items on actors is core and assistance can be sought in #macro-polo
yeah, but this functionality is not what I'm looking for, I wanna create a table that gives the specific item
to the actor
yeah but they need to be able to hold onto it long after they've rolled it :0
if all you want to do is roll on a table and give an item to someone thats basic rolltable stuff, drag the items to a rolltable
@modern badger sidenote. Did you solve the Tale of the avenger issue?
I have no idea how to do that
it still works but it doesn't show the roll or the feature name ;;
the items are on my rolltable
Item details screenshot and final macro
Look, I know what you want, I know its possible the way I'm showing you, but you aren't seeing what I'm trying to tell you. You can go their route but you are gonna have to write macros, or go the really simple route of just rolling a table of documents and dragging the document manually
I'd like to know the macro tvt
If all you want is for 8-12 items in a compendium to be in a table, drag them to an empty table
when the bard rolls on the table, the bard can drag it from chat to their sheet
what I'm trying to give you is a rolltable that rolls it
const version = "10.0.33"
try {
const actor = args[0].options?.actor;
const token = args[0].options?.token;
const target = fromUuidSync(args[0].tokenUuid);
if (!actor || !token || !target) return;
const damageRoll = await new Roll("1d6").roll({async: true});
await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: actor.items.getName("Tale Of The Avenger")});
// Could do a MidiQOL.completeItemUse with the fetched item instead
} catch (err) {
console.error(`Retribution ${version}`, err);
}```
here's everything @violet meadow
yeah but I want the item rolled to automatically be given to the bard, that's all!
Is there a simple way to do that? ..
I trully feel that is an unnecessary storage step
aren't there only like 8 or 12 of them?
yeah, and I wanna make it as easy as possible for my players, and thematically have the thing where they roll for their specific thing and can consider that they only have that one .3.
you could remake them all as items, remake them as innate spells, remake them as features, and then just pack them away in a custom category or a custom bag and hide them or leave them out and tell the bard no touchey, then you aren't chompin on a compendium for something only 1 user is going to reference
you are highly unlikely to get someone to write that macro for you lol
I just have no idea how to do it, it must be simple but I'm code-illiterate and can't find a solution in the foundry wiki :<
Is it that complex?
well its gonna be 8-12 macros for sure I imagine
huh? ;A;
or a macro that rolls the table and yoinks the result to the sheet so just 1
what does this compendium item link refer to?
The macro I shared before, made it so that it doesn't need a compendium item
Is it Self or 1 creature Target?
THe one in the compendium?
1 creature target
ok, grabbed your non compendium macro!
question, does that one need an AE?
just to close the loop and may serve as a good template: #macro-polo message
If I had to do it I'd probably have the table just be a DAE that gives the item and then has a button in the VAE so that the player doesn't have to go hunting for the item
ok @violet meadow I used ur macro without AE, and it's still not showing the dmage roll and feature name .3.
lookie
A (hopefully) quick question... trying to set a damage formula for an effect value and I can't seem to get the key or formula right to call the damage based of the spell's level. Here's the code: "turn=start,
damageRoll=(2 * @item.level)d4,
damageType=acid,
label=Caustic Brew Acid,
saveRemove=true,
saveDC=@attributes.spelldc,
saveAbility=dex"
I've tried a few variations of the damageRoll, including ((@spellLevel)TIMES2)d4, ((@item.level)TIMES2)d4 --- replacing TIMES with *, of course (discord formatting). Any suggestions?
damageRoll=(@spellLevel * 2)d4,
saveRemove is also redundant you could have left it out
When dealing with Overtimes I like to use this cheat sheet so I don't mistype:
#1010273821401555087 message
Still giving this result. Thanks for the note about saveRemove though
is it a dfreds CE?
Yes
Thank you. I found the midi-qol one, and found several things I was looking for in that compendium
Dfreds and Midi are both up to date. I also cannot drag the effect to the item - doesn't add anything in the effects tab (unless it isn't supposed to)
you can drag ce's to OWNED items effect tabs
contrary to proper safe editing
I was able to add the effect to that item how you mentioned. It still results in the same 0d4 formula.
If you happen to have it, can you share the Item Macro you used when you were trying this? π¬ I want to give it a try.
My strong guess is you have Effective Transferral or Ready Set Roll installed
(or wire)
I also have none of the other modules enabled or installed - including WIRE and Ready Set Roll.
Darn. Not a huge deal, I can revert back to a flat formula without calling the spell level, was just hoping it was a simple syntax error!
is the item a spell?
It is
can you show me it applying in chat to a target?
Sure
do you not have dae installed?
It is applying the effects to tokens and tagging them in chat with initial damage.
I do have DAE enabled, ver. 10.0.25
CPR to the rescue:
turn=start,
damageRoll=((@spellLevel)*2)d4,
damageType=acid,
label=Caustic Brew Acid
That's where I pulled the syntax from in the first place and the first formula I used. Will retry now that the item has the DFreds CE.
it used to be a dfreds/midi issue like 4 versions ago during 4.0's release for dfreds that the transfer wasn't taking the item level
but that should all be gone
I didn't insist on versoins from you, but you are certain you are on the newest right? dfreds and midi?
its been some time now, will need to check if I got something. I will take a look in the morning!
do you have CPR? why not just use CPR's tashas caustic brew?
Pretty confident, updated them on Foundry last night - Midi is 10.0.36 and DF is 4.2.1...formula remains at 0d4 after reapplying the before syntax.
Thank you! π
if you have CPR, click the medkit at the top bar
update it to CPR's version so it gets rid of the dfreds flag on the item
dfreds is suppose to be fixed for not transferring spell level
but I think we just got a new version maybe it broke again
actually isn't the spell level midi?
Pretty sure it's midi adding the spell level stuff
No dice. It correctly found the automation and added it, but is still resulting in a 0d4 formula on failed saves.
ok now I gotta test his
(that can easily be a bug)
probably, this dingus is on the end of their day and tired lol
I'm using a modified version of the spell personally.
Well...
the overtime on mine works too
turn off all but midi/dae/socketlib/libwrapper
I doubt this specific CPR needs CPR enabled right?
yea, it's just a basic midi overtime
should just need midi and dae
if it's doing 0d4 it means it's not getting the spell level
lets rule out module conflict then we'll start digging into settings
turn=start,
damageRoll=((@spellLevel)*2)d4,
damageType=acid,
label=Caustic Brew Acid```
I didn't point these out cause I half assumed you couldn't see a bad roller but seeing as how it rolls 0, you don't have roll groups, MRE, better rolls, or WIRE installed right?
Sec, creating a testing environment duplicate of my world quick. Will update once I finished.
just use find the culprit for module troubleshooting
I assumed you'd see a damage roll before the overtime, so I stupidly rushed to ready set roll/Wire/Effective transferral but really any of those rollers in the list could be the culprit possibly here
Just send me an export of your Item by DM and I will take a look tomorrow
1d4, 1?
let dfreds handle it
dfreds CE has guidance as a premade
oh
if you have the second option in the special section in the workflow tab set to something like ae before CE then if guidance has no ae on it, on the item, then it will try to apply this CE
the one bummer about guidance is the conc doesn't end after usage but oh well
if you omit count in an optional.NAME then it assumes 1 and done
which is mentiond in the readme, and honestly I never remember those so I keep the readme bookmarked to the optional.name section
With just the 4 enabled it is functioning as intended. I will double check I don't have a strange rolling module enabled, but I don't believe I do. Will also add find the culprit quick.
in all seriousness, can you let me know what it was so I can add to the list if its something not in the list
I have been pondering fast forwarding for the DM on damage, My players are level 12 now and I do ALOT of actions each turn now
Alright, never used find the culprit before - how do I find what I'm looking for? -- nvm. Google is a friend.
So...I have no idea what's going on? When I first activated Find the Culprit and pressed start, nothing happened. I manually reloaded the world, and it hadn't deactivated any modules (could still see Monks TokenBar), and asked if the issue persisted. I said yes, and it was convinced I only had the aforementioned modules activated. I pressed reactivate all modules. Everything EXCEPT the locked modules then got deactivated. Ok, fine - restarted the world again, used Find The Culprit, and the issue still persisted with DFreds CE activated. Trying again without it activated - but quick question. Does it matter if I use the app version of Foundry vs. the Browser version for Find the Culprit, and is it behaving as expected?
it is possible to create a DoT effect on an attack?like poison damage per turn
what version of FTC are you on?
I assume that's what is said down on the bottom upon startup: "Foundry Virtual Tabletop | Version 10 Build 291" - otherwise, I don't know.
midi overtime effects,
Heres my cheat sheet for it:
#1010273821401555087 message
and the readme has info on overtime
manage modules, look for find the culprit, number to its right
Ah - misunderstood your question. 1.4.3, just installed it minutes ago.
hit update in the menu
uhmm
1.4.6 is newest
sorry for being dumb but i dont understand the overtime stuff
did you look at the readme?
For some reason it seems that DFreds CE may be the issue here as it was the only non-required module that was activated with the issue persisting (and not active with a successful role). Going to reenable everything and will get back to you when I wrap up.
cause even if I typed it all to you, even I have to go look at it from time to time or use the cheat sheet
overtime is a special active effect key that runs a setup at a specific point every turn of the owner
you have to enter in a bunch of lines like my cheat sheet has, someone just shared one for caustic brew above
the last line should not have a comma, if you look at my cheat sheet I shared above to you, it gives you all the options for you to copy/paste, if the option has a // in front then it can be omitted from your overtime as its the default
all of them are explained in the readme
so i guess it should be something like this
flags.midi-qol.OverTime OVERRIDE turn=end,damageRoll=1d6+5,type=necrotic,saveDC=17,saveAbility=con,label=Blood Bost
It seems to have been DFreds. I have reenabled all my modules (*iirc) except for that one and it is functioning correctly.
I prefer to do linebreaks after the commas but technically thats ok
is the 5 in the damageRoll really suppose to be a flat 5?
WAIT, type= is wrong
damageType
DFreds is ver. 4.2.1, updating returns the same version π€·ββοΈ
you have a typo I just noted it above
Well now I'm further confused - reenabling DFreds and the function is working correctly - it is using a preapplied version of the effect though, will reapply and double check.
kk
flags.midi-qol.OverTime OVERRIDE turn=end,damageRoll=1d6+5,damageType=necrotic,saveDC=17,saveAbility=con,label=Blood Bost
like this?
the ae should have no boxes checked in the first tab of the AE, and then the item itself should have its range/target set to dictate who gets it
if its for some reason a self/self then do self/self otherwise 1/blank/creature(or enemy)
oh shit is your caustic an active aura?
I don't think active auras transfers spell level
Afraid not.
Changing second drowdown to Apple CE and item effects from Apply CE, then look for Absent if not seems to function (more or less) as intended, though it does obviously duplicate the effect.
that can really mess up CPR
you really should not do CE before AE unless you have dfreds as your mainstay premade module
actually I think CPR specifically checks the box if you have that setting
remove that special duration
hes got CE before AE in midi for effect transfer
me too
Would you suggest I return to CUB? Applying Item Effects before checking DFreds works as intended - a single status is applied, damage is rolled overTime until the save is completed, and status/concentration removed.
To clarify - AE = item effects, correct?
Cub conflicts with CPR
and this is the feature configuration
Not really conflicts, just not accounted for
and in that particular phrase, it means FOUNDRy item, not dnd5e item
so features, spells, items, yada yada
Correct, spells and all that good stuff
Got it. Was going to say, that seems to have fixed my issue. Thank you so much for your help.
if cub is managing ae's then I think macro.ce will mess up?
macro.ce won't have as many options cause it won't be set to replace or add
it could just be the reboot that fixed things
you really shouldn't rely on dfreds for player sheet items
dfreds/midi is good for monsters with spellls or something
or cantrips
Is there an alternative? Or do you mean just creating a new DAE per item?
create the ae on the item, draggingt the CE should have been the same thing but maybe I missed that it still treats it as a ce
It does seem to treat it as such, but using the Active Effects first in Midi seems to still work with the CE dragged effect
I think the only problem was that is was checking CE first, found the effect with the name and said "screw the active item effect" so it couldn't pull the local item level.
gotcha so you should do AE before CE, and I will test the midi/ce thing now, thats a shame if that broke again
or maybe it hasn't been fixed yet 0_o
it was a thing during his vacation I think, maybe nobody posted it?
or we gave it to dfreds not realizing it was tposneys deal
Exactly. It doesn't seem to be a CE/Midi issue specifically, just that Midi says it will only look for an Item Effect if it doesn't find a CE first --*with the CE before AE option.
is it meant to apply on on save fail?
yep
somewhere below the snippet is a box that needs to be checked
effect evaluation true yada yada
@scarlet gale and @violet meadow I dunno why this has come back, but I thought tim fixed this: The fluff in reactions are throwing warnings in the console again, maybe clear out the fluff in reactions for your premades?
Apparently Which is a javascript function/expression?
the big box yes, the half dam save box I think only works on the initial damage, if you want half dam save in the overtime theres a code for that to add
midi really just needs it's own activation condition area that isn't the core description one
that isn't based on eval() π±
both absorb elements and shield have fluff that start with Which
nah is just if the target fails he gets the dot
if not the target takes half damage and no dot
its funny that its always reactions that have the fluff, and all these reactions have ae's
and they always start with Which
now it worked, but can i add something like "if you use two points of resource the damage becomes 2d8"
or that is really hard and specific?
anythings possible with macros
I'd look to how lay on hands does it
healing light in CPR is something similar I think
lay on hands is easier to dissect though
yeah im trying to dissect the effect
okay cant find how it works
i dont understand how can i make something similar
is there an easy one-line macro to remove concentration?
i've got this macro, which finds concentration, but isn't removing it. Removes all the other AEs though: ```js
// Remove all temporary effects from the selected token
let removeList = token?.actor?.temporaryEffects.map(e=>e.id)
console.warn("removeList:", removeList);
token?.actor?.deleteEmbeddedDocuments("ActiveEffect", removeList)```
if its a dfreds CE use dfreds
he gives you a sample compendium of macros and in there is one you can retrofit
if the actor is always going to have concentration you can forego the if statements
if its not the owners document you need to use midi instead I think
dnd5e has a "equipped armor" field. Checking the description for metal makes a nice onUseMacro for Shocking Grasp with this slapped in there in Before Attack Roll.
if (this.targets.first().actor.system.attributes.ac?.equippedArmor.system?.description.value.toLowerCase().includes("metal")){
this.advantage = true;
};
need to search the descriptions I think
Caught me just before the correction, this should be pretty much a catch-all
should also do names like iron golem, steel golem, all the drones, steel defender
I'll leave that to them, technically I guess they don't wear armor and that's what Shocking Grasp hits. I kinda get that, I don't necessarily think Plate Armor is hurt by having lightning coursed through it, but liddle me inside definitely is. Later thought: wouldn't they just have given carte blanche advantage against constructs if that was their intent? Seems like their kind of design. More of a #tabletop-discussion tho'
It's "natural armor" system wise
Saw that yesterday and wanted to raise an issue but forgot
Metal shields should also be affected iirc.
edit: not remembering correctly it seems π
They had a line that looks like it was checking for shields, but the same property path also has a shield field if they want to expand
My Google says shield shouldn't count because wield != wear, but again back to #tabletop-discussion π
Midi exports a function to retrieve concentration, then you can delete the effect:
const effect = MidiQOL.getConcentrationEffect(args[0].actor);
if (effect) {
await effect.delete();
}
Yea need to use that more π
its just a warning though, the reaction still plays fine
I think when he fixed it he fixed it causing a stoppage so it still has the warning
I wonder if its possible to automate shield better. Could it have an activation condition for reduce all damage if the name of the damage is "Magic Missile"?
now that there is an istargetted reaction prompt?
Thank you Krig! π
This is exactly what I needed.
I have it for MidiSRD π
Brooch of Shielding. Waiting to check if the latest MidiQOL fixes an issue I had with some timings
Hi automation lovers. I'm looking at automating a pre-attack, reaction-based, target-swapping magic item:
"When a creature you can see attacks a target within 30 feet of you while you are carrying this magic shield, you can use your reaction to magically swap places with the target of the attack... The attack is made against you instead."
Would it be feasible to automate this, given the need to constantly check all eligible targets in range if they are attacked to then auto-prompt the reaction for the player wielding the shield, or should I just go with the usual "the monster is about to attack X, does anyone else want to react?" and just auto-animate the 'swapping places'?
third party janky reaction with active auras but the larger the aura the laggier it will get and if your table already has lag without active auras it gets worse with active auras
I need an on use midi macro that finds the first shield in inventory and if its not equipped, equip it, if it is equipped, unequip it. Is this possible?
so a toggle like ability for their shield
wow, asked Chat GPT:
Don't leave chat GPT macros up unless they are vetted first
It's wrong twice as fast
I only checked the first line; maybe? I don't recall a characterId in there, but I've never called for a user's character in that fashion
I think I'm gonna make it an effect macro so the actor definition is simple to fix
on creation, will equip the shield, and on deletion will unequip the shield
that means I only need to do the actor.update lines
I am tying shield master to an item roll
HAHAH careful running that macro, it just made all my items shields
oh god
I will delete that macro
Heres what I need. I need to automate shield master AND dual wielder feat. I need 2 active effects that turn each other off. The first AE when applied will apply th shield master automation, equip his first shield in inventory and delete the other ae for dual wielder. Then I need the opposite, the dual wielder when turned on will run the ae for dual wielder and equip their preferred offhand sword and shut off shield master
I'm currently fighting the filter system, so anyone else is free to pitch in
I think I figured out how to use chat gpt better for this, instead of asking to write the whole thing I just ask it how to do parts of it
Its not midi so I'm moving to macro polo
cause its all effect macros
The loadout macro I have in my foundrymacros git, will do that. At least the Dual Wielder part
And some Fighting styles
I'm gonna go check it out in a few here just finishing up some stuff, now that I kinow midi better I can revisit my advantage reminders on shieldmaster, clearly it should be supersaver.dex for half of it
Hmm I could add the Shield Master feat automatically too
Oh and now with the correct triggers can be 100% automated π€
awwwwww, toggle effect disables the effect instead of removes it
I just wrote it all for deletion and assumed toggle would remove/add, instead it suspends/unsuspends
This is working great and as intended... Except when the target has Natural Armor or doesn't have an equipped armor. In those cases, midi is not auto-rolling the spell attack (it shows the chat card with the Attack button).
There should be an error in console which would be easily solvable with some optional chaining, would be my guess.
Does adding a ? after equippedArmor do it?
I wanted to add to that activation condition to include creature names like "Anything with drone, iron, metal, steel in name"
add clockwork to that list
Let me check.
Yes, now it works @violet meadow π
In a midi item macro, how do I get the spellcasting ability mofidifier used with a spell? (Tangentially, is there a list somewhere of everything you can get out of args[0]? The gitlab page wasn't much help.)
hmmm is the caster a multiclass of two different casting attributes?
Nope!
you should be able to just call the actor.s spellcasting ability modifier, might have to define actor if its not a selected/assigned actor
Well ideally I'd get whatever @clever carbon is for the item in question, right?
Oh heck, 
no cause @mod is a roll formula thing on items themselves
I finally did it, accidentally pinged MoD π
you must use longform @abilities.x.mod in macros
in your case its one of the new things for spellcasting
coles post has it
If you really want a forehead slap moment hit down arrow when accidentally atting mod π
(don't)
What post is that?
If I wanted to check for multiple words, I should change
("metal")
to
["metal", "metallic"]
...right? Or that's not possible?
the pins in #dnd5e
Just want to point out that unless the item is describing an amazing 80's metal band, its metallic
Thanks!
I'm gonna throw a Tungsten Golem at you to really throw that shocking grasp for a loop.
As Krig said, RAW the golem is not "wearing" armor.
someone should make that activation condition though just to show to dnd5e channel so everyone can get a laugh at a mile long activation condition.
yeah but raw isn't fun and I treat my players like my kids, I say no once and when they beg I cave
@attributes.spellmod so search for that in the actor's rollData
actor.system.attributes.spellmod.value would be the macro version if you have the actor selected or its your assigned actor and no selection. If its an item roll you have to define actor as args something.
Also spellmod is dnd5e 2.1+ I believe so if you are on an older foundry or 2.0.3, you won't see it
Unless 2.1 came out, like, yesterday, I should have it. Thanks to you both!
trying to do this
would it be 2 separate overtime effects?
this will deal damage at turn start and prompt save at turn end right?
If you really care about the damage being at the start and save at the end, then yeah. Otherwise just pick up and use damageBeforeSave=true
use my cheat sheet, type is wrong
highly recommend keeping my shared cheat sheet here handy:
the benefit of my cheat sheet is its designed for you to select/copy/paste so that typo's can't happen either
cause if I had a nickel for every damned time I capitalized the first letters of shit in foundry macros I'd be a rich man
That's how you don't learn
I suppose, but my goal is to avoid typos
Super is right about the damagebeforesave thing
I also attempted to do two overtimes in one ae and it was...messy and not functional
:0
I mean
I did it and it works pretty well
it deals damage at turn start and saves at turn end
I do it for hunger of hadar and it works flawlessly
And that one has the item macro for an OT on a template
I also make sure those labels will include Turn Start and Turn End in there just so I know where it's coming from if there is an issue
can u share ur hunger of hadar macro?
also I'm cracking my head open figuring out how to do this
first, overtime damage auras, second, figuring out how to check for 'enters for the first time'
I'm on v9, but look how at the Active Auras compendiums have there template auras setup
Grease is one IIRC
Shield Master and Dual Wielder feats
- Fill in the descriptions with your source materials.
- Requires Effect Macro, Midiqol, DAE, and optionally Advantage Reminder
- Edit the Effect Macros and replace the names of the items with the items your actor would want toggled equipped/unequipped.
- If you change the names of the feats, you must also change the names of the effects in the effect macros.
- The on toggle off effect macro is currently broken till I figure out whats up with midiqol. Do not suspend the effects(toggle with midi) or they will get stuck in a suspended mode
- These items are features so import over blank features.
if a guru wants to take these and gussy them up with a dialog prompt for shield and weapons go ahead π
I personally went the easy route and defined the specific names of the items for the person I made them for.
oh ok so it basically applies the effect to whoever ends/starts their turn on the area
v9 midi srd oddly enough has the best grease
I live and die by v9
also, how the hell do you check for 'enters for the first time on its turn' for an aura?
someone just made hunger of hadar and grease and dm'ed me let me see who it was
I make those turn ends to account for that
this sort of automation requires macros and I personaly avoid it
but macros are cool .3.
template macro module exists to make this easier, but its not easy
If I could write macros in shell or python, I'd be a macro guru
I mean I can do it from grease
But since idk JS yet, I keep it as simple as possible
If I need to change the spell a little bit to do something easily with an AE, I will
And if it's something I can't do with an AE and need a macro, we just do it manually
@mellow fossil made grease and hungers of hadar the most recently.
I believe they also punted on first time entering and did end of turn like super and I
really only Chris and Bugbear deal in that sort of level of automation here
(and tposney since he did spirit guardians premade)
you could probably do it in effect macro fwiw if active auras properly transfers the actual effect document to the aura recipients
an on creation effect macro to roll the item minus the effect transfer
origin.use();?
wow I think I just solved when first entering...
Check this Spirit Guardians <#1010273821401555087 message>
This should do everything except for applying the "stronger" aura in case of multiple ones
God this is ugly:
wheres Lukas when I need them
this is not a document link, its inline roll commands in VAE
how do I tie this to a template instead of an aura? :0
use template macro instead of active auras/CPR auras
Search for a post of mine about Spirit Guardians and Template Macro
Does CPR have it?
I think chris was doing a cloudkill the same time you were doing SG
CPR does not have grease or hungers of hadar
I went through this exact scenario with Lionel yesterday and I helped them in DM's make a pseudo automation for it
huhhhhh, don't see it o3o
My spirit guardians actually just uses my own token update hook
the v9 grease is pretty janky but does everything minus the enter save
but if they stay in it, at end of turn it saves
Both of the shared ones actually take care of the "first enter" but it's a bit tough to get it right at first
For grease, it prmpts a save on roll, so if you can get an effect macro to roll the grease item with the right target args, it could be totally doable with a 1 liner effect macro on creation
you just have to mod the item before the roll to be a single target instead of place template
so probably not a 1 liner 8)
ok, got it
how would I modify this for hunger of hadar?
I see no place to tweak the overtimes .3.
and it has nothing at turn start and end
Are you asking me about that or Moto?
u ;3;
Hooks.on("visual-active-effects.createEffectButtons", function(eff, buttons){
if (eff.label === "Dual Wielder") {
buttons.push({
label: "Equip Shield",
callback: function(){
MidiQOL.completeItemUse(eff.parent.items.getName("Shield Master"));
}
});
}
});
best practices as you said in Chris' discord π
Search for MidiQOL.completeItemUse(
oh I can see you had used that from the search results too π
it goes before?
Hey, how do I use the flags.midi-qol.advantage.ability.save.str flag in an effect
updated?
Custom | 1
Seems better Moto!
I highly doubt my imaginary friend knows how midi works, don't give me a cryptic answer ;p
Yeah it should be fine
But what would the Shield Master Item use do?
equip the shield?
It does this:
they have complex effect macros when the item rolls and applies the ae's the ae's utilize effect macro to control which one is active at any given time and also specifically manages my paladin players offhand object
the buttons are meant to facilitate an easy way to toggle between them since midi's toggle effect feature is...well broken imo
if you set an item to toggle effect, it suspends it
and the suspend is abnormal, effect macro doesn't pick it up
So I leverage the VAE buttons
hopefully he sees the ping in chris's discrd and fixes it so I can employ the suspension catch in the effect macros
I don't ever want the two ae's on these feats to be suspended ever, so I put a deletion macro in on suspend for effect macro, but midi /shrug
I'm sure someone like you or chris could go in and put a dialog in them, but dialogs are the bane of my existance so I opted to just define the items directly lol.
trying it, thank you!
Dialogs are kind and caring, what kind of dialog would you have liked?
Hello , i got a problem with MIDI QOL module , i don't know why but some monsters get advantages , and others get disadvantage for no reason π’
@vast bane π
I will need to style the dialog better π©
(I hate the new discord preview ... )
Did you check Moto's post that he linked in the comment in #dnd5e ?
Toggle attribution and you'll see why, it's in the workflow settings somewhere. It's most likely because they don't have visions edited properly and midi judges them as hidden or in melee while shooting ranged
I sent you a message in the other channel for you to follow here before asking, I can resend the message here if you want lol
Anything is possible since you asked for it, change the syntax for some instead https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
the gist of your solution is that there is a setting in midi thats off by default that if you turn on, will immediately solve your problem, however, its also very likely that the problem is that your tokens visions are not setup so midi is saying the tokens are blind. (Attribution shows this to the DM)
the token vision is just highly likely but theres a few other hidden flags it can be, range disadvantage, flanking, and um.....something else are also hidden flags that only attribution shows
in the thread link I posted in the dnd5e channel is a link to two images I posted to explain how to turn on attribution
@scarlet gale @violet meadow do either of you use MATT with midiqol?
I honestly thought MATT handled args somehow but apparently it doesn't. How do you hand a macro tokens in a MATT trigger?
also what do you lose if you do item.use() instead of the midi completeItemUse()?
the only trigger options in MATT is run as DM or Run as triggering player
so if it affects many tokens it has to be DM which means it needs targets somehow
My first thought is to have it be triggering player and then run findnearby for the trap area if its an aoe? which means we're using the token.actor?
Thanks you verry much , that was the same prob ( hidden)
i misunderstand your first message sorry ^^
last 2 months its been a high volume common problem we could tell π
I can count on one hand the amount of times it wasn't the new hidden flag
I am not using it, no. Do you want a Trap or something?
someone reached out to me asking for a solution to matt not using midi for damage rolls
Dow workflow?
Do they want MidiQOL or no MidiQOL for MATT damage?
they want midiqol for matt damage
My thought is to just use an avatar and roll the avatar's items instead of MATT but I can't believe midi/matt doesn't have synergy
Create an ephemeral item and roll midi item workflow on it? I don't actually recall am example
You can use MidiQOL.TrapWorkflow() but will need some more context
Haven't followed that, but just saw it as a result
can you do a midiqol.completeitemuse() with no targets?
Yes
It will roll the Item as needed. If you have the MidiQOL settings set to need targets, the same will apply to the completeItemUse
sorry I mistyped, I mean can you set a macro to run the complete item use without listening to the DM's current selection or target, like pass it as if they had nothing so it fires late targetting?
Trying to think of a way to utilize matt's triggering event and then run an item on the DM's avatar but if the Dm in that moment has something targeted or selected then it'll screw up I think
What would that item be?
Honestly I don't think matt is an efficient dm tool lol
I gave up on it
I do my traps as items on my DM avatar and then I use inline roll command buttons to fire them from my map pins
99.9% less macro, 100% more quick and simple reuseable prep
I think that MATT provides the triggering token for a macro execute, correct? ```js
const targetToken = token; //change that to the token argument provided
const targetActor = targetToken.actor;
const pack = game.packs.get('dnd5e.spells');
const spellId = pack.index.getName('Fireball')._id;
const spell = (await pack.getDocument(spellId)).toObject();
spell.system.save = {ability: 'dex', dc: 15, scaling: 'flat'}
spell.system.preparation = { mode: 'innate', prepared: 'true' };
const trapItem = new Item.implementation(spell, { parent: targetActor });
new MidiQOL.TrapWorkflow(targetActor, trapItem, [], targetToken.document.center);
Instead of the Fireball spell, you can use another Item you want
In the [] you can provide targets
is args.token all the tokens on the tile?
no idea
Its more of a placeholder for the correct argument
I have no idea what MATT provides for a macro execution
edited it a bit
edited again
the guys over on monks server said that the way they get matt to work with midi is you don't do macro but instead use roll as an attack, whatever that means. Then midi picks up the item workflow
the thing I can't connect is Matt doesn't say how it feeds the args of the event, so we're left wondering how to define token
token as is, is what? selected or assigned actor
just put in the MATT macro ```js
console.log(args)
if its run as the GM, thats going to be whatever the GM has selected when the trap fires for the player
if its run as the triggering player it will happen to just that player
Heres the other part of this though, its not me that wants to know, its just a user whose too shy to talk here lol, I get that alot with users
so I'm just the middleman, and in this case a middleman without MATT installed
I pinged the two of you cause I kinda sorta assumed one of you used it cause it seems like a hghly popular module and I just didn't have it
isn't midi's trapworkflow suppose to interact with trigger happy?
I kinda feel bad now, I probably shouldn't have pinged you and dragged you into this, I could be doin this too, I was just trying to see if either of you use it in your sessions
shield master would need a dialog to put in a premade module, its too janky I think as is
OK this should work find with a Run Macro for the token that Enters MATT tile ```js
/* These are some of the predefined symbols
console.log(arguments[0]);
console.log(token);
console.log(actor);
console.log(tile);
console.log(scene);
*/
const targetToken = token; //no need but I had the rest as is...
const targetActor = targetToken.actor;
const pack = game.packs.get('dnd5e.spells');
const spellId = pack.index.getName('Fireball')._id;
const spell = (await pack.getDocument(spellId)).toObject();
spell.system.save = {ability: 'dex', dc: 15, scaling: 'flat'}
spell.system.preparation = { mode: 'innate', prepared: 'true' };
const trapItem = new Item.implementation(spell, { parent: targetActor });
new MidiQOL.TrapWorkflow(targetActor, trapItem, MidiQOL.findNearby(null,targetToken,20).concat(targetToken), targetToken.document.center);
It will explode a Fireball centered on the Token that enters the Tile.
you could change this to a spell on an actor too if one wanted to store their traps on a avatar like I usually do
Yes
I can almost see one making a Midi/Matt module like dnd5e animations is to automated animations lol
Get the Item however you need to and use that as the trapItem
oh shit no forget actor, just make a trap compendium lol
That would be a way to go!
My only gripe is that its going to further clutter my system macro folders lol
my current setup I don't even have to do a macro: I use inline roll commands to roll an item on my avatar
You can link compendium macros in MATT too
primarySpell.roll();
let message = await primarySpell.roll({
createChatMessage: true
});
debugger;
let workflowId = message.getFlag("midi-qol", "workflowId");
let workflow = MidiQOL.Workflow.getWorkflow(workflowId);
let itemLevel = workflow?.itemLevel;
message.update({ flavor: `Missile 1 of ${2 + itemLevel}` });
message.render();
so, this works to roll my item and allow me to modify the flavor text
however
it leaves the config dialog open
anyone know how to close that/
const message = await primarySpell.roll();
const workflowId = message.getFlag("midi-qol", "workflowId");
const workflow = MidiQOL.Workflow.getWorkflow(workflowId);
const itemLevel = workflow?.itemLevel;
await message.update({ flavor: `Missile 1 of ${2 + itemLevel}` });
Should likely just do a complete item use
what does that look like?
magic missile is properly written in w15's module
Sources of premade stuff for Midiqol:
Modules:
Midi Sample Items Compendium(comes with the module)
Midi SRD's compendiums
https://foundryvtt.com/packages/midi-srd
Chris' Module form of his macros:(CPR)
https://foundryvtt.com/packages/chris-premades
Dfred's Convenient Effects:
https://foundryvtt.com/packages/dfreds-convenient-effects
w15ps's Module
https://foundryvtt.com/packages/w15ps-srd
Macros:
Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros
Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros
Wiki:
Activation condition and other useful info:
https://github.com/thatlonelybugbear/FoundryMacros/wiki
i can try the mod, but still want to learn
Still you will be getting some deprecation warnings. Use .use() instead of .roll()
i am still v9
ah OK!
basically, i have a macro, where the first time you hit it, it casts magic missile. I have an item macro that creates a consumable with the remaining darts. Each time you click the macro it expends an additional dart.
i get that is probably not optimal, but i haven't started module development, only macros.
I'm trying to create this item:
Magmasteel Axe
Weapon (battleaxe), uncommon
This axe has 4 charges and regains 1d4 expended charges daily at dawn.
Unstable Overheating. As a bonus action while holding this axe, you can expend 1 charge to ignite it, causing veins of searing magma to light up across its blade. While ignited, this axe sheds dim light in a 5-foot radius and deals an extra 1d4 fire damage to each target it hits. When you roll a 4 on this extra damage, the axe erupts violently, and each creature within 10 feet of the axe must make a DC 13 Dexterity saving throw, taking 2d4 fire damage on a failed save, or half as much damage on a successful one. After the axe erupts, itβs no longer ignited.```
by creating a custom feature that allows the user to "ignite" the axe by creating an active effect on the user, which edits the axe to add an extra 1d4 fire damage. Once the 2d4 fire damage happens, I'm looking to delete the extra fire damage on the axe and remove the active effect. Here's what I have so far.
```js
let actorToken = canvas.tokens.controlled[0];
let magmasteelAxe = actorToken.actor.items.find(i => i.name === "Magmasteel Axe");
if (!magmasteelAxe) {
ui.notifications.warn("Magmasteel Axe not found in inventory.");
return;
}
let effectData = {
label: "Unstable Overheating",
icon: "icons/svg/fire.svg",
changes: [
{
key: `system.damage.parts`,
mode: 0,
value: [["1d8", "slashing"], ["1d4", "fire"]]
}
],
duration: {
"seconds": null,
"startRound": null,
"startTurn": null,
"endRound": null,
"endTurn": null,
"combat": null,
"turns": null,
"start": null,
"end": null,
"rounds": null
},
flags: {
"macro.executeAlways": true,
"macro.autoCheck": true
},
origin: actorToken.uuid,
disabled: false,
changesDuration: null
};
actorToken.actor.createEmbeddedEntity("ActiveEffect", effectData);
ChatMessage.create({
content: `
<div class="dnd5e chat-card item-card">
<header class="card-header flexrow">
<img src="${actorToken.actor.img}" title="${actorToken.actor.name}" width="36" height="36" />
<h3 class="item-name">${actorToken.actor.name}</h3>
</header>
<div class="card-content">
<p>Magmasteel Axe gains 1d4 fire damage</p>
</div>
</div>
`
});
effectData.changes.push({
key: `system.damage.parts`,
mode: 1,
value: [["1d8", "slashing"]]
});
let effect = actorToken.actor.effects.find(e => e.system.label === "Unstable Overheating");
if (!effect) {
ui.notifications.warn("Active Effect not found.");
return;
}
await actorToken.actor.deleteEmbeddedEntity("ActiveEffect", effect.id);```
What's the correct function here?
you don't want this involved at all, what exactly is your problem, the template stays after the fireball?
show me the details of "fireball" on the item
Yeah, basically the fireball template showing the radius stays after the actor casts it
the AA details? Sorry am slightly confused
show me the details of fireball item
not aa
the actual item on the actor thats a spell, details tab
details tab
would that be under the configure setting?
let actorToken = canvas.tokens.controlled[0];
let magmasteelAxe = actorToken.actor.items.find(i => i.name === "Magmasteel Axe");
if (!magmasteelAxe) {
ui.notifications.warn("Magmasteel Axe not found in inventory.");
return;
}
let effectData = {
label: "Unstable Overheating",
icon: "icons/svg/fire.svg",
changes: [
{
key: `system.damage.parts`,
mode: 0,
value: [["1d8", "slashing"], ["1d4", "fire"]]
}
],
flags: {
"macro.executeAlways": true,
"macro.autoCheck": true
},
origin: actorToken.uuid,
disabled: false,
changesDuration: null
};
actorToken.actor.createEmbeddedDocuments("ActiveEffect", effectData);
ChatMessage.create({
content: `
<div class="dnd5e chat-card item-card">
<header class="card-header flexrow">
<img src="${actorToken.actor.img}" title="${actorToken.actor.name}" width="36" height="36" />
<h3 class="item-name">${actorToken.actor.name}</h3>
</header>
<div class="card-content">
<p>Magmasteel Axe gains 1d4 fire damage</p>
</div>
</div>
`
});
effectData.changes.push({
key: `system.damage.parts`,
mode: 1,
value: [["1d8", "slashing"]]
});
let effect = actorToken.actor.effects.find(e => e.system.label === "Unstable Overheating");
if (!effect) {
ui.notifications.warn("Active Effect not found.");
return;
}
await actorToken.actor.deleteEmbeddedDocuments("ActiveEffect", effect.id);```
Appears to be giving me this error now.
my bad π€¦ββοΈ
the argument right after the edited createembeddedyadayada needs like [{ or {[ after it
I think its [{
@covert mason
actor.updateEmbeddedDocuments("Item", [{_id: item.id, "system.equipped": false}]);
I was told to make the object an array by wrapping it in these combo's of brackets
I'm gonna chalk all this up to conflicting modules and weirdness, delete the template and recast after ctrl F5 and tell me if the issue persists
Hmm issue still persists
I did a encounter, and advanced the rounds/turns, even ended combat and the template still stayed
wait do you have simple calendar?
how is your ingame clock progressing?
The fastest way to sus things out is to install find the culprit and run it, but you need to sus out what you want first, do you want midi automation to handle your templates or do you want automated animations to? if you want midi, then shut everything off and just leave midi/socketlib/libwrapper/dae/times up/and your clock manager module active
smalltime or simple calendar
@vast baneYeah I have simple calandar
Can auto animations handle templates just fine on its own? Is this maybe a case where I have two mods that are essentially doing the same thing?
Because if AA can just do templates and remove them on its own, then I'm fine with not utilizing midi; I just was led to believe you need midi to help with AA for some things
the problem is you have the opposite of what normally is the problem
your problem is that nothing is deleting it, usually the problem is that aa is deleting midi's automations too early
haha ok, well then
Let me do what you suggested and disable all but those ones in that list
on that fireball above, click the aa button on the top bar is it using the global auto recog?
what version of midiqol, dae, socketlib, libwrapper, simple calendar, and times up are you on, and throw AA in for the hell of it
version numbers
midi = 10.0.36
dae = 10.286
socketlib = 1.0.12
libwrapper = 1.12.12.0
simple = 2.1.80
AA = 4.2.45
D&D5e Animations (AA adon) is 1.2.1
dae is off, are you mid test?
10.0.4 for times up
if you want midi to handle template removal it needs dae enabled
ok, so I need to update dae then?
alright let me relaunch, then test with just those mods suggested
@vast banedo I need About time active as well?
do you know what it actually does?
imo people only need about time if they literally know what it does and know they need it
otherwise half the time people have it cause they think its Times Up π
times up gives us yummmy automation in dae/midi for special durations and expires aes. About time has to do with running macros based on time delays
I think
Well, with those active, that did remove the template
so midi did handle it
when time advanced
maybe about time is the culprit? π€
if dae was off this whole time then it was the absence of dae
dae is not listed as a dependency for midi but...it is
So, AA not the culprit, midi still removed after test
You know, im noticing, and wondering, maybe I forgot to roll the fireball damage after advancing clock
cuz the template doesnt remove until after damage is rolled
@vast bane I think this one may just be user error. Sigh. Thank you! I reactivated everything, and tried final test and its working perfectly now
if you leave aa deleting random templates eventually when you upgrade to more midi automation aa's gonna be a culprit for a bunch of breakages
Sounds good; I'll leave it to midi π
Is it fine with AA doing it to spell templates? Cuz right now it looks like the AA default option is to remove templates on spells like fireball for example
its been mentioned a few times if theres a way to turn that setting off in all the template and aura auto recogs, I dunno if Otigon ever got around to it lol.
its probably dnd5e animations fault not AA
cause I totally had all mine set to not remove, then I installed dnd5e animations lol
Ah ok, glad I'm not the only one, cuz yeah that's a lot of animations to go through and turn off. So far though it doesn't seem to be causing any problems
Can you use spell level in a spellβs active effect? Like Ashardalonβs Stride, which increases movement speed by 5 + 5 * spell level.
@item.level
btw thanks for that, I took that part and applied it to all relevant spells my players have. it is sooo nice
Is there an easy way to have a spell template automatically get removed after casting, or after your turn ends?
MidiQOL can automatically do it if you want. MidiQOL settings => Workflow settings => Workflow tab, a checkbox 3-4 lines from the top
looking
must not have been in v9
i am clearly going to have to work on converting to 10
π
Maybe I should add it as a dependency - they are so intertwined that many things break if dae is not present.
v9 is way behind what is in the v10 version. Really is time to convert (provided you have many minutes/hours to spend on it). Worth doing cause v11 is just around the corner....
Is v11 going to be another let's break the APIs release?
Yesno
Okey... Hopefully this is the right channel... I am going to copy the message again π
Is there a way to apply the status "asleep" when cast sleep on top of some enemies? The thing is that my template select's the enemies but applies damage and not the actual effect. Basically what I am looking for is something to calculate which wnemies are affected by the spell (base on the roll) and then add the status on them. Thanks!!!
I've seen signs from mod authors that v11 looks alot less painful to work with than the v10 reworking of stuff.
Pretty sure Compendium folders module is going to see almost its whole scope absorbed in v11
@violet meadow Hey bugbear, do you think it'd be feasible (and allowed) to list features on the wikiβ’ and then list which modules/automations are available for them? Moto's list is great and should stay, but it is so often a person comes in and asks "how do I do <x> feature" that I wonder if we'd save ache by having a searchable index
We can always skip out of keeping it updated by just listing when the feature was added, so if someone comes in the far distant future, they can't complain it's outdated 'cause we wrote "for version 143 of dnd5e"
Has anyone touched v11 that can confirm if the new folders have the same functionality as CF has? can you right click a folder and choose to export its whole structure?
also can you drag directly to a folder or is it like CF where it lands in the root and then you have to do a second drag inside the compendium?
tbf I have been thinking of doing this and adding it to his wiki, the problem is that ...well its not a problem...the issue I have is that midi srd is about to drop a big update and CPR updates multiple times a day
If someone has CPR and Midi SRD installed, its honestly really easy to check for someone when they are asking if theres a premade, the hard ones to find are crymic/mrprimate's premades cause they are in github repositories
I wonder if bugbear/chris have something in their raw dev branch that can list off names of their stuff that they can feed a link to
I definitely think that, until the wik's pretty up to date, there's a huge workload, yeah. In the future once things are and me-not-having-thoroughly-checked-github-actions, I wonder if it can't be automated partly
I know some users have the dream of all developers joining hands and making one automation module to automate players out of being needed, but until then, I think a list like that would be super helpful for users and a little for developers, if they want to offer alternatives. I'd gladly pitch in to try and help maintain, buuuut not before making sure that's something bb thinks is cool π
Can you give me a structured example of how you think that would look like?
I honestly ponder if chat GPT could write me a list and then i could just amend them
After a release we hope to get feedback from users excited about the features of Foundry VTT's latest version. However, this often leads to users forgetting to backup their worlds and ending up in a situation where they have not protected their data properly!
The awesome @proven girder has assembled a video on how to safely try alternate versions of Foundry VTT, and released it through our partner Encounter Library.
Check out the video guide on how to run additional versions of Foundry VTT.
Don't forget to backup your data!
USE?backupFOR MORE INFORMATION!
Moto ^
my alternate install is a v9 install lol
its how I yoink out midi srd v9 premades
not that bugbears v10 is lacking, its just that theres a few things in the midi samples in v9 and midi srd that I liked that utilized ATE
Also https://gist.github.com/omaraboumrad/35654da0a376c57a2e0ab4d92ad0c339 this link in the pinned messages by honeybadger introduces a way to make some changes and submit PR etc for the wiki
I actually like the v9 spiritual weapon better than the v10 one in the samples
I can't figure out how to use that but I'll reattempt to read that
Want me to see if you can also have a v10 testing instance installed?
I really do intend on adding to your wiki, I think it'd help us all
Pages/sections of pages with feature names divvied up into categories. Like illegal sites with descriptions and whatnot, here it's literally just the spell name and then repos. I don't even think we'd need to link directly to where on the repos/modules, leave the detailed instructions to the developers.
Search "Light" and the Cantrips pages comes up or something with just "Light - Midi SRD, thatlonelybugbear's private repo" etc.
I don't install 3 cause my setup is already fragile
My idea was to do the spells first, just list them all alphabetically and then to the right a link to the location of what module or github has a premade for them, no sensitive copyright materials at all, just who made it
I can do that for the MidiSRD spells included in the next release
But I would want help with CPR or others
actually, can we list the special name? Example: Can we say Tasha's Hideous Laughter or do we have to say Hidious Laughter if we aren't using any of the description or functionality of the spell in a list?
Anything DnD specific and the word got to be axed, I think the mansion spell and hideous laughter is an example
Or at least that's what I've seen from other publications
I'm game for helping out, hopefully it encourages others to tag along
I'll do the forking thing so it's easier to merge
Well I am not sure about what would listing nonSRD spells links in the WIKI would actually mean for displaying it in here as a pin.
Maybe a mod could help with that dilemma
Yeah, Mordenkainen's Magnificent Mansion is just Magnificent Mansion in the SRD.
I'm hoping with just the title and no DnD specific terms, no descriptions no nothing and no linking to copyrighted material, it'd be ok
You and Chris already do alot, if you want I can try to submit a page to the wiki that ha the list, if you want it a particular format maybe do one of the smaller sections like feats and then I'll take your formatting and do the big groups like class features and spells in the same format and submit it to you
I asked about the names over in the other channel where the moderators hang out
yeah it don't wanna work, I can't figure out how to fork just the wiki
I forked your foundrymacros, it gave me everything but the wiki
I hit create first page, I get NO error, and then I get no wiki after that when I am following the instructions