#MidiQOL
1 messages ยท Page 29 of 1
ASE was nice when it lasted
pretty sure hes intending to update it
Only thing I haven't replaced with my own macro from ASE is magic missile.
Also I bet Kandashi will return in force and update his other modules
ah okay, I'll maybe just leave it as is then. I think its the kandashi modules I'm haiving issue with - DAE/Midi SRD
I just didn't want to remake all my premades all at once, now I feel with the work that Bugbear did, and kaelad/mrprimates work on aa/ate, its an attainable update for me.
Without Active-Auras there was a wide swath of effects that can't be automated. The current situation, where we're passing around Primate's de-facto inheritor manifest is less than ideal. Kandashi obviously deserves to captain the ship they built, but this sort of thing (a fractured module environment) is exactly what FVTT's critics decry about the system
dae srd is defunct and replaced by midi srd, and bugbear has forked that module
Nature of all software that allows user created content, I don't see if being any different then playing video games that need mods to get updated when the main game gets an update.
It's not though, there are other systems on Foundry that don't see this level of module fracture surrounding the golden path for play. The reasons are complex and multi-faceted, no one person's fault, but DND5e on Foundry is uniquely tricky
alot of midi srd and premades in general are probably going to be replaced over time by bab/effect macro/new midi/dae functions in v10
Ah I see, thanks. Sorry my knowledge is severely lacking with this stuff probably going to come away with a bunch of stupid questions
Its just a matter of getting a cohesive repository for us all, tposney posted about this but I saw no results whether theres some sort of work going on in the background or what?
I don't think midi srd is the path to take for it as theres more premades of non srd content
Isn't that because other system modules come pre-automated. The DnD system is more simple in comparison.
Yes. But why is the DnD system more simple? Answer: It's complicated. Atro's personal preference, sure, but why is it up to Atro alone? Well WOTC doesn't support it officially or unofficially. Why not? Well...
On and on, it's complicated
maybe we should use like gearheads to post the premades?
Yea, official support would likely make it better. But it won't happen because WOTC is making their own VTT.
Ya, it's not worth getting into. The unofficial-dnd5e-automation-environment is mostly concrete around midi, dae, and itemmacro and it's good enough 80% of the time. Just unfortunate that active-auras, which would likely be the fourth addition to that list, currently needs a manifest that isn't in the official registry
I actually think that Effect macro is a strong contender now too
Alot of Zhells stuff is really nice.
I love its capability to store the macros in the affect/item
I tagged the release wrong. ๐
I figured as much lol
10.0.0 instead of v10.0.0 lul
I can't reproduce your errors though
Is it expecting the template or the document for that function?
So if I use the template variable you passed, it should be template.document?
Can you send me the macro?
console.log(template);
console.log(this);
let tokens = game.modules.get('templatemacro').api.findContained(template.document);
console.log(tokens);```
Was just testing out how it worked and had errors right away
Hm, no errors here
ah ha
https://github.com/flamewave000/dragonflagon-fvtt/tree/master/df-templates
DF template enhancements breaking it
Of course it does. What does it do, delete all the flags?
hold on
still testing
I may have spoke too soon
oh wtf
Token Magic Fx?
Yep, it's Token Magic Fx
that's very weird
Latest changelog for that module
It lies
oh well
Easy enough to just downgrade a version
Beta release? ๐
It's the one that auto downloaded when I hit update modules
๐ฌ
You should ping the dev about that in #513918036919713802 imo
Was just trying to figure out who the dev was
oh?
This, right? https://foundryvtt.com/packages/tokenmagic
Token Magic FX, a Module for Foundry Virtual Tabletop
yea
Ah
I see
In the mean time, if you had to store whether a token has already been in a template during a specific turn, what do you think the best way to store that info is?
Flag on the actor?
Flag on the template with a list of actor ids?
Since it's during a turn, maybe flag the combatant or the combat
Oh, that's possible?
They are documents
That seems way better, and far less likely to leave a flag on an actor if something goes wrong
A combat is a Combat document with Combatants as embedded documents. Flags and all.
Makes sense
With a weird quirk that players can actually update the combat - I think? They can end their turn at least. I dunno, didn't test that, but they can update their combatant, which is an embedded document of a document they don't own (the combat). Which is weird.
Anyway...
Won't matter much, I'm running the template macro as GM due to processing effects on other tokens
So it shouldn't be an issue
It should not, no
and getting the combatant from a token is just TokenPlaceable#combatant
Can flags contain sets?
Sets, arrays, objects, strings, those should all be good
Easy to test
Just setFlag("world", "steve", new Set()), see if remains a set or turns into an array
I'll have to mess with this more in the morning, thanks for the help.
Is the Roll Other Damage workflow global only? i.e., a player with a weapon of slaying and a different weapon attack that does some secondary damage based on a save has to "pick one" to automate with midi?
pretty sure theres checkboxes at the bottom of details on the items?
that checkbox reads Activation condition true required for effect activation -- I'm confused because I just tested the midi sample arrow of slaying and it worked as expected but the box isn't checked
Moto us probably talking about a different checkbox. A bit further down in the MidiQOL properties.
So you have set a Save on the item? And an activation condition for the Other Formula?
And if save fails it should apply an AE?
I think he just wants an item to roll other damage formula, isn't that just a checkbox
wait a minute
what is the second weapon in your example
I think he doesn't realize you can drop more damage formulas in
to clarify, nothing is really "broken", im just trying to understand what these options are for
both weapons you gave an example for would work with that setting, because an empty activation condition is true
the only time it would be a problem, is if you are trying to put like the flametongues fire damage in other instead of an additional damage formula
hmm ok so say for the ifSave, it doesnt work vs constructs or undead
you would need to fill in the activation condition accordingly
the giant spider has a bite, that if you fail the save you take poison damage I believe, no activation condition required, its empty
you'd probably have to give us a use case example to understand what you are getting at, still kinda don't get what we're talkin about exactly
well let me start with this, how do you set up an activation condition to exclude raceOrType? .!includes?
Just use ! at the start of the expression
Is there a setting to allow magic weapons to full damage to those who are normally resistant to physical damage? I have some magic weapons that are auto-applying only the half damage.
did you check the boxes on the items?
what do the monsters have for resistances setup?
Hey there! I'm trying to mod the MidiQOL sample item 'Spiritual Weapon MQ010.0.13 + Warpgate' so my players can summon a Moonbeam. I want to do this so I can have a 'Moonbeam token' that emits light (cause I don't have any idea how to do this otherwise - I want to to achieve something similar to what ASE did with spells like Darkness that came with a light source attached to a template). In principle it is easy, but I ran into an issue. I don't know how to make it a concentration spell. If I simple toggle 'concentration' in the spell sheet the effect is dropped immediately after casting. Any ideas?
Yeah, its magical piercing +1 vs a normally resistant to normal piercing damage
Rapier +1 vs a Flameskull
can you share the details tab of the weapon?
oh, actually, your issue is the monster not the weapon. Flameskulls are resistant to piercing. It doesn't matter if its magical or not.
I'm unsure if midi can handle that
I don't think you can pull off what you want, midi doesn't seem to break non magical physical up
but for the record, raw, that weapon should do half damage
so its right, but what you want, is not possible because theres no non-magical piercing resistance, wait didn't tposney just add custom damage types?
i thought raw magical weapons overcome resistances
they overcome non magical resistances
oh thats right v10's damage tab is different than v9
ok so zhells showing you how you can change to a non raw answer, but for the record, flameskulls are resistant to all forms of piercing
you are confusing the two things
midi does, I'm just on a v9 build, v2.0.3 dnd5e changed the damage stuff around
For the better. It allows anyone to modify what weapon property is a bypass, as well as what damage type is "physical".
its why theres a rule with midi in v10 where you have to have everything above a certain version, cause of the dnd5e change to that window
ok so the issue wasnt midi honestly it was my bad interpretation of the rules
you can make your flameskulls that way though if youwant
well, RAW then I mean
I think slimes have a similar thing with slashing
its very rare but they exist, probably why they changed dnd5e in 2.0.3
Elemental Spirit from tashas has a similar set of resistances, if earth form, it has resistance to piercing and slashing.
Hey Moto, I wanted to a workaround for the lack of Mob Attack --- What did you mean by this exactly?
I forget what book its in but theres a way to make swarms out of monsters
Hmm okay yeah that in tandem with the Item with Spells mod I already got would be so fantastic if you're able to recall it ๐
I want to deploy Mob actions (within their Turn) should they be adjacent in Initiative and just need that last step.
What's the duration of the spell set too?
I'm looking to make a homebrew magic item: a bag that can convert currency into a higher variant, say, it can convert 5000 silver into 500 gold, or 500 gold into 50 platinum. Does anyone have any examples of such a thing in macro form?
Click the conversion button on the sheet.
probably wants a macro that handles it and reduces charges or something
isn't that conversion button a module?
Core.
yo, quick question, i'm trying to configure an attack's effect to only trigger on a critical hit
i figure it's got to do with the activation condition, but isCritical by itself isn't working
(and yeah, the Activation Condition true for effect activation box is ticked)
workflow.isCritical
Aye, something like that. Once per dawn it can convert a set amount of currency
okay yeah that got it, thanks a ton
(also, side question, is there any documentation on where i can find more things like this? just so i can tinker around with more advanced effects and conditions)
MidiQOL readme and the release notes help quite a lot.
So dear community, I need some help. I just updated to v10 for dnd and are using mid qql for automation. Awesome, but when I'm trying the functions, I can't get my lich to use power word kill on an acolyte. It doesn't happen anything. Other spells works but PWK don't generate the poor bastards death
How do you go about doing that though?
its not in midi srd or sample items so did you make it?
not sure I follow what you mean
Midi doesn't automate things unless you make them
theres a few modules with premade stuff you can pull from, but dnd5e's basic stuff typically does not automate in midi
PWK is pretty easy though, basically make it apply the dead status to target token, undo it if the dudes got more than 100hp
could pull that off with a dfreds macro pretty easily
I am sure one of the macro gurus knows how to filter out creatures above 100hp too
Yeah, I can do it manually for sure. My concern was if it was a option or tab somewhere who needed to function properly
you need to make the item to work with midi. have you done this for anything else yet? How long have you been using midi?
I used midi for v9 and it worked flawless with my players and monsters with swords. Now when I updated to v10 I wanted to check if the spells like PWK worked.
so I have used midi for like 1 week
You need to move a power word kill spell to the sidebar, once its an unattached spell there, edit it and add an active effect with the following key:
Statuseffect | Add | Dead
have the first tab of the effect have no boxes checked
you may want to save the sidebar spell in your own custom compendium and start moving all the automation you make to these compendiums so you have them for future reference
Additionally, if you have dfreds Convenient Effects, you could just make a CE of Power Word Kill that does the same thing that way it works for all your monsters as well as the players when they all cast their own versions of the spell.
You can edit AEs on owned items in V10
not in core
you shouldn't unless you are a pro, this guys very new, we shouldn't teach them things that are gonna bring them back here lost lol
there are problems when editing owned items in DAE that a new player will get lost trying to figure out
Someday I need to learn what is actually in core
(And we don't know if they even have dae yet)
Ignore me
I have had enough with crashed and lost journals and s*** so I don't have the patience for anymore troubles lol ๐
it got alot safer to edit owned items in dae when he turned off the default of checking that box for apply on eqip
but its still wise not to tell the new guys about it lol
1 minute. But I've seen that perhaps it's not too straight forward to tie concentration to a warpgate summon. The sample item flaming sphere is concentration, but the sphere token does not disappear if concentration drops
Is the caster a linked or unlinked token?
Yeah, seems with the latest MidiQOL update something might be off. Are you on v10.0.21?
. 20
I see in the Midi Sample items, it uses an active effect to set a permanent effect. Is there a reason to do that instead of an actor update macro to set the flag permanently?
It's working now with a player character ๐
Thanks for the tip
No clue
@violet meadow
My newest createitem use case, that I cannot wait to setup:
Using dfreds CE, you can setup humanoid archetypes where some are casters, some are crosbow experts, others are bow experts, 2 weapon fighters, sword and boarders and heavy weapon specialists.
just spawn your basic minions, and then toggle on whatever dfreds CE you want and they suddenly gain all the items
Are you making a NPC generator based on AE practically?! ๐
Not my own idea, it was @lunar notch who sparked my genius plan lol
I bet you could also create ae's that randomize the stats too
Yeah that seems like a bug. I will try to find out what's happening and create an issue on the repository, for tposney to take a look when he returns to base.
I mean there are (or at least were) modules doing that exact thing, but it sounds fun ๐คท ๐
I mainly just want to have the weapons/armor/spell loadouts setup, its on my todo list lol
I currently have an item macro which I want to have trigger after a failed save (the attack its on has a dex-save roll), but it's triggering after all saves whether its sucessful or not... is there an easy solution?
is there a way to code damage resistance to any damage that does 10 or less? I seem to remember there being a discussion on that, but I can't for the life of me find it.
probably use the Damage reduction key but do some funky math with it. 5 or half damage total whatevers lower.
@scarlet gale https://foundryvtt.com/packages/templatemacro ๐
Template Macro, a Module for Foundry Virtual Tabletop
I just made one...lol, speak of the devil (though not AEs)
yeah my method would have issues with armor cause you can't unequip anything they have currently on when you apply the ce
probably would need to use ac.bonus
yep, great minds man, thats immediately where I went after I typed that
Hello, Im not sure how to do this but I want to make versatile damage be the only one to trigger the saving throw. Any way to do that? Thank you
Check this setting in midi under Workflow > Damage
@vast bane I'm pretty sure it works for Versatile too (despite what it says), since that's how the SRD creatures are set up?
I mean like, I want it so the saving throw doesnt come up when they do the normal damage formula but only when they choose the OTHER damage formula, is that possible?
Ah sorry I misread... idk about that ๐ค
No worries haha I'll just do -100 on mod whenever it comes up on the 1d6
that doesn't make sense. what is your use case?
if you want a seperate ability that damages on save, then make a seperate ability, if you want it to be a typical "on hit" save then put it in other and turn on the setting in midi.
Yeah might have to do that. Thanks
The weapon Im trying to use is Staff Of the Adder dunno if that helps at all
Any chance I could convince you that having an event for combat turns might be useful?
See I thought that too
But
Having to embed an effect macro on a token to handle template stuff seems clunky.
Plus, I feel like it would be better to have it trigger every turn, not just the "caster's" turn.
Alternatively I could try to put a hook in the template creation part to do that
Combat turns would be a system specific concept as well
Well, their usage of the round and turn numbers
Which could be none... But then it doesn't matter.... So nevermind me
The big thing is that I need to make a way to trigger a specific part of a macro to do some cleanup on keeping track if a token has entered the template during the current turn
I could just put another effect on the character that only lasts a turn
And do checks around that I guess
Stamp the turn and round number in the affected tokens flags
Read that back and look for a change before the application
Or record it in the template itself, for permissions issues
I'm already running the macro as GM on the template macro due to making effects on other tokens
So I'm not too worried about permissions
Hook on updateCombat?
Token documents are documents
That might just be best then
Store the round and turn as a flag unique to the template id
Since that can just be handled in "When Entered"
How would you feel if I said my player found a bug in babonus that you overlooked? ๐
The correct answer is "Great shame"
(I just levelled up in my session so it will soften the blow)
babonus doesn't block the unconscious paladin's aura... on the paladin.
Hello this is happening when I roll damage at the moment in console -
The only modules I have active are -
socketlib
TidyUI -- Game Settings
Libwrapper
MidiQol
DAE
I did find the culprit and it said it was PDF pager?!? So that didn't help.
I have restarted the server twice.
Please can anyone help?
midi left in a stray console.error in it's release.
I noticed that too, it doesn't break anything
I got a bit concerned because is was an error. It isn't doing anything in the game.
last version added custom damage types right, makes sense
yea
just an oopsie
One of the addon modules to dragruler in v9 has a debugger line left in it
That was fun to find out
Had console open when I was moving a token and the whole screen turned grey
Oh! I see. Was it not checking source RollData for the blocking conditions? Or do you hard code it to be unavailable when specific conditions are met?
I somehow checked for bonuses applying to an actor with the logic that it should be bonuses that (1) aren't auras or (2) aren't templates or (3) are auras but apply to self, but forgot (4) are auras but are not blocked
If you're trying to do something like flags.world?.spell?.cloudkill[template.id]? is that right or should the last question mark be before the brackets?
flags.world?.spell?.cloudkill?.[template.id]
ah
or rather:
#getFlag("world", `spell.cloudkill.${template.id}`);
@vast bane did you try the delete when empty thing yet? Trying to figure if it works with your MidiQOL settings ๐
I can't fiddle with v10 this week, we're doing a wednesday session and a saturday session, my tables doing some really intense stuff in campaign and they are all desiring more play time lol
only thing I play differently with is fast forward though
Looks like making a set in a flag doesn't work. It's turning it into an object I think
I would have expected an array
You can definitely save arrays tho
Yep, I'll just have to check in the macro if the token is already in the array
Set#toObject works as well
(does the same thing under the hood, effectively)
Set just doesnt have a toJson function
So now I have an interesting issue, I need to pass the cast data to the template macro, I'm using item macros and midi-qol to set a flag on the template in it's workflow. The issue is that "When Created" is running before I can set a flag on it.
@molten solar Any ideas how I could work around that?
Maybe there's a better way to get the cast data?
I just realized I can just do the initial stuff in the item macro
Probably easier then trying to mess with hooks
@violet meadow Hideous Laughter macro version in midi srd ON V9 is throwing an error:
(is it meant to roll saves when damaged?)
@molten solar I'm getting a weird error when having any sort of "When Deleted" template macro.
Does it will only template macros active.
Day 1 patch time!
Does the template still exist when the deletion part is being done? Trying to figure out if I can read flags off of it before it goes poof.
The template document being passed to the hook can be used as much as you like
It was the _refresh I added which needs the placeable
I'm getting pretty close to having cloudkill setup in a way I like. Need to wrap up cleaning up flags when it gets deleted.
Then figure out having it automatically move the template during the spellcaster's turn, that'll be interesting.
Oof, actually I see now that since it's the placeable being passed to the deletion hook...
or rather all macro calls
Maybe in hindsight it's best to just change that to be the document
Yeah that's what I'm gonna need to do. template will be the TemplateDocument instead, otherwise the deletion macros just plain will not work
For people who still need the placeable, they can just do template.object
How would you guys handle a cloudkill running into a wall in terms of gameplay?
Just chill there and stop moving right?
Everything is done except for making the template move on it's own. I'm interested in seeing if anyone can break this. Requires Midi-Qol, Template Macros, and Template Macros.
Incase anyone wants to see the macros without importing it.
You can store an entire object when you setFlag rather than doing multiple operations
Oh
eg template.setFlag("world", "cloudkill", {spellLevel, spelldc})
Looks good to me tho
Next up is just having an effect macro that runs on the caster's turn to move the template relative to where the token is currently at. Hopefully wall collision detection isn't too hard.
famous last words
I will take a look in a bit
@violet meadow thought I would update you on my continued struggles with Spiritual Weapon, maybe you have ideas for better fixes. The version from your midi-srd seemed to work at first, but after a few casts it bugs out again. By "bugs out", it seems to try to run the Item Macro on every Actor, throwing lots of errors and giving everyone a copy of the summoned spiritual weapons. I cant seem to figure out why it changes to run for everyone. I was able to "solve" it by changing the passive effect, checking the "Apply to self when item applies target effects". This seems to stop the item script from executing on every actor.
@vast bane find in your local MidiMacros.js the Hideous macro and change this js if (args[0] === "on") { if (actor.system.abilities.int.value < 4) actor.deleteEmbeddedEntity("ActiveEffect", lArgs.efData._id) RollHideousSave(target) } to ```js
if (args[0] === "on") {
if (actor.system.abilities.int.value < 4) actor.deleteEmdeddedDocuments("ActiveEffect", lArgs.efData._id)
RollHideousSave(token)
}
That deleteEmbeddedEntity was not seen cause it is not common to target a creature with less than 4 INT ๐
target is not defined so I think token will do it.
I think this might have something to do with templates auto-targeting. Do you have a module that does that automatically? Like Walled Templates maybe?
I dont see any that I know of. I do not have Walled Templates. Here is a list of all modules if you see any suspicious ones I can try disabling them.
I am not using Argon. Does it remember last targets or something? Could that be an issue?
When you say after a few casts what do you mean?
When recasting the spell?
I will try turning off Argon, i am also going through various modules turning them off. Recasting generally means removing the effect from the caster (which deletes the template) and then casting it again. But thats not even really necessary sometimes. I can't nail down a pattern besides 9 times out of 10 it breaks. I have tried various reloads or different actors, etc without much luck.
Linked/unlinked actor?
Can you make sure that you have the DFreds Don't apply convenient effect checkbox checked (if its there) in the Spiritual Weapon's details page, down close to the bottom?
I cannot reproduce ๐ค
unlinked actor, and I for sure have the Don't apply convenient effects checkbox checked. Still disabling various modules to see if I can isolate one
my repro is now better. After a reload I can cast the spell 1 time and it works. Subsequent casts fail until i reload. I noticed in the log that on the first cast i do see an error, perhaps that is related
you have likely left a hook enabled, but the callback function has gone out of scope
be sure you are managing hook lifetime correctly if you are creating them inside macros
What are the Item details of the Spiritual Weapon? Targeting self?
yeah nothing changed except clicking the Don't Apply Convenient Effect
MidiQOL version?
10.0.15
Update to last. There was an issue with the Self targeted effects
The Hooks.once("createMeasuredTemplate", MidiMacros.deleteTemplates("SpiritualWeaponRange", actor)); Will probably be failing to get the correct target actor and thus never deleting and creating a mess
Update DAE too
Updating MidiQOL seems to have fixed it ๐ Still see a hook error but it doesnt bug out
Yeah I will take a look for the hook error
The measured template is cleaned up when the effect is removed. Not sure what the Hook is for? I want to keep the template until then
Not that one. Its the one that indicates the range within which you can create the Spiritual Weapon
oh thats the "flash" that happens when it casts. Seems to disappear right after it appears for me
a cast range template would be nice
could someone help with a web macro? I'm adapting the @scarlet gale's cloudkill series macros for Web... but I can't seem to figure out how to apply the Restrained condition. it's not applied when the spell is cast... it's checked against a saving throw at the start of each target's turn or if they enter the web on their turn. ```You conjure a mass of thick, sticky webbing at a point of your choice within range. The webs fill a 20-foot cube from that point for the duration. The webs are difficult terrain and lightly obscure their area.
If the webs aren't anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the conjured web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet.
Each creature that starts its turn in the webs or that enters them during its turn must make a Dexterity saving throw. On a failed save, the creature is restrained as long as it remains in the webs or until it breaks free.
A creature restrained by the webs can use its action to make a Strength check against your spell save DC. If it succeeds, it is no longer restrained.```
I think the overtime effect would be turn=start, rollType=save, saveAbility=dex, saveMagic=true, actionSave=true, saveDC=@attributes.spelldc, but how would I work in the restrained condition at the right time?
here's the item macro that I adapted from Cloudkill... js let template = canvas.scene.collections.templates.get(args[0].templateId); if (!template) return; let spellLevel = args[0].spellLevel; let spelldc = args[0].actor.system.attributes.spelldc; template.setFlag('world', 'spellLevel', spellLevel); template.setFlag('world', 'spelldc', spelldc); let effectData = { 'label': 'Web', 'icon': 'icons/commodities/materials/material-webbing.webp', 'changes': [{ 'key': 'flags.midi-qol.OverTime', 'mode': 5, 'value': 'turn=start, rollType=save, saveAbility=dex, saveMagic=true, actionSave=true, saveDC=' + spelldc, 'priority': 20 }, // { // "key": "macro.CE", // "mode": 0, // "value": "Restrained", // "priority": 20 // } ], 'origin': args[0].itemUuid, 'duration': { seconds: 86400 }, 'flags': { 'effectmacro': { 'onTurnStart': { 'script': "let combatTurn = game.combat.round + '-' + game.combat.turn;\nlet templateId = effect.getFlag('world', 'spell.web.id');\nif (!templateId) return;\ntoken.document.setFlag('world', `spell.web.${templateId}.turn`, combatTurn);" } }, 'world': { 'spell': { 'web': { 'id': args[0].templateId } } } } }; let tokenList = []; for (let i = 0; args[0].targets.length > i; i++) { if (!tokenList.includes(args[0].targets[i].id)) { tokenList.push(args[0].targets[i].id); await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: args[0].targets[i].actor.uuid, effects: [effectData] }); } } template.setFlag('world', 'tokens', tokenList);
i guess the issue is the linking of the restrained condition to the overtime effect
How many scripts do you want firing on the start of a turn? ๐ค
You got both DAE and EM
well, like i said, I adapted this from @scarlet gale's macros above.
so not sure how to answer that
Hadn't realised it used both, nvm me ๐
hm. maybe i need to call the initial saving throw in the effect macro?
That is pretty easy to do
You have the Dae effect run on start of turn. On each is where you'd place a check to see if they're restrained, if not, then have them make a saving throw. Then if failed, then apply the condition.
Anyone know anything about a problem with Dfreds or Midi? When I am casting a spell the active effect isn't being auto applied to the token. e.g. Mage Armour, no icon on the token and no increase in AC.
Yet when I apply direct from DFreds CE it is being applied.
All the correct settings are set in DFreds and Midi. (In fact I haven't changed any settings and it was working perfectly well yesterday)
Nothing in console and FTC isn't revealing anything.
The overtime effect can be setup to remove itself on a save
I'm sorry I have to ask the obvious, how is it spelled in both locations?
Also can you share your specials section in the workflow tab as well as the details of the spell shield on the actor with the lazy spell?
Worth an ask, and it is not just Mage Armour, which is spelt the American way in the spell and the CE.
"Mage Armor"
It is all the spells I have tried. Shield of Faith, Bless etc....
those happen to all be spells that are noteworthy broken if you are using dnd5e's versions of them....
The Midi workflow?
midi settings, workflow tab(or whatever v10 does with that stuff) the specials section of it
should be a drop down like apply ce before ae or some weird stuff like that
and I wanna see the details tab of the mage armor spell on the actual actor
ok, so now show us the details of mage armor on the actual actor
If theres no issues with the details tab, then my last idea is that you have installed another roller who is rolling the items which then makes midi unable to detect and apply effect transferrals...very often its usually a ready set roller.
Thank you Moto for your help. I cannot believe what I was not doing. Utterly embarrassing! Bloody hell! Grrrrr....
I think you have the dnd5e versions and theres an inactive shield on the actor and dfreds won't apply
oh it was RSR after all?
It is OK, complete schoolboy error. In fact Kindergarten error.
Can you believe I wasn't targeting the token I wanted to effect.
I am going to walk away now and come back some other time. ๐
However with you conversing with me, made me realise, so thank you. @vast bane
I originally had my cloudkill effect giving the target the blinded condition, but I noticed macro.ce acted weird when I updated the flags on the effect
well shield should work as a self/self fwiw but yeah shield of faith would have that problem
but a bad import may have the target/range unset which then makes midi think its not self
I shouldn't be left alone with technology. I can't be trusted lol
we all do weird stuff, not too long ago I edited a line in a macro, and reported it being broken only to realize after sharing it that the line had // in front of it and that was why it wasn't working so we all do dumb things from time to time.
When Midi applies an effect from a spell, the castdata is saying this no matter what level it's cast at
You could turn on Late Targeting? It's much better in v10 โ only bugs you if you have no targets
Yeah I just saw that, prompted by your question in #macro-polo. Seems like a bug.
Well, crap.
I will take a quick look
v10.0.21 MidiQOL correct?
That is correct
OK yeah I found the issue, I think. Let me double check
How did you set this up? It is asking for at least 1 filter and I have not idea what to put in it. The midi qol sample item appeared blank to me so am having to set it up from scratch.
Just seen this.
#1010273821401555087 message
I have a character with Adamantine armor (immune to critical hits). If use "flags.midi-qol.fail.critical.all | Custom | 1" do I also have to specify "Transfer to actor on item equip" ?
Yes
And that's because I want the ACTOR to be immune to critical hits, not the ITEM, right??
(I suck at Javascript and can barely wrap my head around the classes and objects involved)
More or less yes
If you donโt tick that, the effect will be applied to the target, not the owner
You want it to act as a passive effect essentially
Instead of something the person needs to actively click on to use.
LOL, so ... if I have a PC with Adamantine armor, and he targets a Troll or whatever, the Troll would be immune to criticals if I didn't check that?
If they had them targeted and clicked on that item
Yeah that tickbox has been one of the single biggest points of confusion in DAEโฆ itโs getting better though, it used to be ticked by default and there was no description ๐
Tim Posney is an amazing programmer and a invaluable community resource, so please take this 'complaint' with a grain of salt, but I feel like the descriptions of these checkboxes are bewildering at best:
Like, is there an easier way to state that? Perhaps: "Apply to Target | Apply to Actor when Equipped | Apply to Actor when Used" ...?
It's not only for "items"
I dunno... I honestly don't know the first thing about the object model, but I will say I have a hard time parsing those sentences.
A feature is technically an item and you don't equip those
Oh, like a class feature like a Paladin aura or similar?
But if you put the effect on an item, you can equip those or attune to them
changing how that part works
Yea
If you have an item set to require attunement for example, the effect will be suspended unless they're attuned to it
Imo it could definitely be a bit clearer, itโs effectively evolved that way as Tim has added features. Heโs very open to suggestions though
Okay so here is the thought experiment: Imagine you could rewrite those sentences to be as clear as possible. How would you go about it?
Iโve recently logged a git issue with minor suggestions to clean this window up a bit (make the descriptions more discrete like core settings). Perhaps any suggestions could be added to that
Yeah, that's a good suggestion.
Itโs too late in the evening here for me to wrap my brain around it fully but I feel like certain tickboxes could be mutually exclusive, so either radios or hide the other options?
Iโm not sure Iโd fully understand the ramifications though
So I think that first line should read:
"Apply this Effect: " [Dropdown][1. to the owner when it is equipped][2. to the target when it is used]
Iโm not sure I fully get the other tickbox but I think it might only apply the effect to the user if the item also successfully applies other effects to a target?
Yeah, it's late. Sorry, I've been drinking, worked for ~7 hours and DMed for ~6 hours. I'm going to table this. Perhaps I can chat with Tim about it at some point in the future. I'm not an expert in this system and these "novice" eyes might be an asset if we're trying to make it more understandable.
Apply on self I think always works
Though today's UI says "equip", which you don't do on a feature... so maybe we could improve on that.
Maybe the whole window should look different for equipment and features? Cut off confusion at the stem
Spells would can also have them
You never equip spells so remove that option
But you can prepare them
I haven't found the need for it, but if you want a passive effect active while a spell is prepared? (I don't even know if that would currently work)
Well if you had an AE kick in on spell preparation (maybe a new subclass thing) then show that tickbox with a different description
I think tailoring the window more depending on item type would go a long way
Is it weird that the question of "who is affected by this effect" is handled in a different tab than the effects list?
I could see a magic item that grants +1 AC to the wielder, but when you "use" it imparts some penalty to the target.
What I'm suggesting is that each Effect should indicate whether it should be applied to the wielder (or actor, in the case of a feature) or the target.
Just because I was curious, I checked spells always apply the transfer on equip whether or not a spell is prepared
Like this:
Wielder: +1 AC (Passive)
Target: -1 AC (when Used)
You can have a DAE do both.
Have a passive ability and a targeted one
On the same item/spell/feature.
Even just a summary pane at the bottom describing what youโve selected in clearer wording? Starting to sound a bit like babonus lol
Alright, I'm tired and tipsy - I suspect Tim could sort this out in a single conversation and I'm just going to squander my time trying to brainstorm fixes for a system I don't truly understand.
Thank you for your help Lukas and Chris, I got my Adamantine Armor and Cloak of Protection working so I'm good for today. ๐
That is a brilliant idea and upgrade.
I feel as though that specific checkbox is even worse in core, so if anything midi's explanation atleast says more about it. But its really only an issue for new people.
Shorter labels + v10's fancy new tooltips ๐ค
You can put an entire novel in there.
@violet meadow not sure if this is srd or not, but the fighting stance for martials and the sidekick stance which is:
When a creature you can see attacks a target other than you that is within 5 feet of you, you can use your reaction to impose disadvantage on the attack roll. You must be wielding a shield.```
My idea for this, but I don't know how to make the reaction really, is to use a 5ft aura around the fighter/martial with the ability, that is a `createitem` key that gives allies within 5ft the reaction feature and on being targetted for an attack, they are prompted with some sort of macro that interrupts the workflow and imposes disadvantage. Think this is possible?
I also have a really frikkin cool idea using the same process, that is for the upgraded Emboldening bond for the Peace Cleric:
6th-level Peace Domain feature
The bond you forge between people helps them protect each other. When a creature affected by your Emboldening Bond feature is about to take damage, a second bonded creature within 30 feet of the first can use its reaction to teleport to an unoccupied space within 5 feet of the first creature. The second creature then takes all the damage instead.```
Using the same idea for an aura that pulls an ally and transfers the damage to them on reaction.
This is not doable (impose disadvantage on an already initiated workflow), at least as things now stand with MidiQOL.
You cannot impose disadvantage after the fact when you've reached the reaction processing phase.
What you could do, and it might be a PITA, is to have the reaction roll another dummy attack and, depending on the result, try to pass to the attacking client a workflow abort command.
If, at some point, midi makes the triggering workflows available to all clients, these things could should be done easier.
This update to emboldening is doable though.
One thing that currently I think is probably a bug and I haven't checked if it is resolved in the latest update, is that your cannot pass a workflow false when the attack is critical
I have it almost ready in another ability
Will double check and let you know
what if on damaged, a new d20 is rolled, and then takes the equation of if the lowest of the original and the newest is less than the AC, the damage dealt becomes no damage?
a pseudo disadvantage kinda?
would probably still cause weird on hit effects to happen
This is essentially what I was proposing.
A secondary roll.
The issue is that you need to be able to"reach" the initial workflow to alert it and that due to being in a different client is tricky
Another idea would be to rewrite the reaction to simply give 5 ac to the defender, very awful but a neat alternative
Your can always give immunity to the attack's damage though
ooooooh what if You gave the defender immunity to the damage hmmm
hahahaha
I think I'm more inclined to just give the 5 ac instead
and rewrite the ability, its not like its not the first time I've changed something just to make it work with foundry hehe
Use the alternative advantage rules? Yeah why not
yeah cause mathematically isn't it why they do 5's to passives
I think the 5ac has the least odd interaction alternative, cause then it would impose a miss causing all the on hit shennanigans to not happen if we instead did immunity
plus the other added benefit of doing just a simple 5ac is that then you are off the hook cause I can totally make that myself lol
basically shield without spell type, or parry with more ac
can you expire a reaction on the very hit its happening on, I forget, like if you set special duration to the next is damaged or is attacked, does it count the attack thats prompting it?
The issue I still have when trying to create the Cloud Rune, is that you can give a 99 boost to AC to emulate miss, but if the attacker rolls a critical that is thrown out of the window (with my midi settings)
I think you can still manually solve that if you play with my settings 8)
I leave the button in chat
you can always force damage even on a miss that way I believe
Hooks.on("dnd5e.preRollAttack", (item, config) => {
/* pseudocode */
if ( target has specific effect ) {
config.critical = Infinity;
}
});
so it would probably break for your settings cause you auto roll/delete buttons/and fast forward, but for me cause I left the button there, he can just roll it on a miss
Crits are determined by the critical threshold, not the ac.
Yeah trying to eliminate that after the fact.
It could be doable if Midi could accept a change to the workflow's isCritical at points ๐ค
Can't it use the core system hooks or?
Its already started. The hit has already been registered at that point
Oh it's a reaction or something?
Yes
how does shield handle things in midi then
is shield just suffering the same problem?
and parry for that matter
and its really only an issue for full automators right...cause in my game the player can just choose to roll damage and choose crit
I'm checkin that now actually
Of course. If you don't have a module forcing you to roll damage, critical or otherwise, then you can just choose not to roll.
I think our problem is that if shield goes above the nat 20 roll, it somehow prevents critical in automated form
Yeah you can manually crit with non fast forward in midi, but you have to use the core method for damage application
I forgot to hit crit there but it was available to press, so not a solution for automators, but totally possible for me
@vast bane OK so workaround for no critical damage too! Needs an executed as GM secondary macro (and will not work if other players have attacked the player)
Needs:
- a feature set as
Reactionwith anItemMacro | Before Active Effectsand a simple macro ```js
await game.macros.getName("Reaction to Critical").execute(this.workflowOptions.sourceItemUuid)
2. the same feature applies an AE `system.attributes.ac.bonus | Add | +99` with a special expiration of `isAttacked: Expires if the character is attacked`
3. The execute As GM script macro named `Reaction to Critical` in my example will be ```js
let origWorkflow = MidiQOL.Workflow.getWorkflow(args[0])
setProperty(origWorkflow,"isCritical",false)
The
is changed to
Could be used in an Active Aura (creating the Reaction No Critical on allies with DAE macro.createItem) for the Grave clerics ability me thinks ๐ค
Yeah, just get rid of the +99 bonus to AC and you are golden. Cherry on top, update the right character to use their reaction and ๐ฅ
Though it will be triggered during every attack and not only critical hits ๐ฉ
I have a macro that stopped working after upgrading to v10. After some digging I could reproduce the error with a simple macro.
I have two script macros, macroPlayer and macroGM.
macroPlayer is called by Midi-QoL in a spell (OnUse, After Active Efects)
macroGM flagged to "Execute Macro As GM"
MacroPlayer is:
let macro = game.macros.find(i => i.name === "MacroGM");
macro.execute(args[0]);
MacroGM is:
console.log(args);
If I, as the GM, roll the spell, the macro executes flawless and args is outputted to the GM console.
If my player roll the spell nothing is outputted to the GM console. The player console gets an error:
Advanced Macros | RangeError: Maximum call stack size exceeded
at gt (is-binary.js:24:17)
at gt (is-binary.js:45:63)
at gt (is-binary.js:45:63)
... repeats dozens of times
at gt (is-binary.js:45:63)
at t.value (index.js:40:17)
at s.value (manager.js:247:45)
at i.value (socket.js:173:17)
at i.value (socket.js:132:18)
at executeResponse (Macros.js:271:16)
at new Promise (<anonymous>)
at FurnaceMacros.executeMacroAsGM (Macros.js:268:33)
at async Macro.executeMacro (Macros.js:239:12)
@molten solar suggested that may be a serialisation problem. I did two test, changing only macroPlayer:
let macro = game.macros.find(i => i.name === "MacroGM");
macro.execute("test");
and
let macro = game.macros.find(i => i.name === "MacroGM");
let transfer = {actor: args[0].actor, concentrationData: args[0].concentrationData};
macro.execute(transfer);
Both work fine and the variables are outputted to the GM console.
Would this be a bug in Midi-QoL or Advanced Macros?
Many thanks in advance for the idea to the workaround.
Versions and modules:
FoundryVTT 10, build 288
DnD5e 2.0.3
Advanced Macro 1.17.3
DAE 10.013
Find the CUlprit 1.4.6
liwrapper 1.12.10.0
Midi QoL 10.0.21
Socketlib 1.012
Times Up 10.0.2
you are trying to serialize a recursive object (Actor)
or...something, your execution workflow is quite complex
9 times out of 10 "Execute as GM" is the cause of all of your woes
I use execute as GM in v9. Its used specifically to fix a problem with midi:
The taunt/skill challenge macro bugbear built that I've repurposed for like 5 things now
I use it for taunt, shove, shield bash, hide, distract, and a custom counterspell ability
The players have an on use macro that says this:
game.macros.getName("TauntIntimidation").execute(args[0]);
and then I have a folder macro that executes as GM, that is the actual macro pulling their args so it works on the right targets with GM permissions to edit/do stuff.
I'm on v9 so I doubt my syntax works for you
Hello again! Today's project for me was to adapt midi-srd spiritual weapon to something similar for flaming sphere. I have hacked apart the code from @violet meadow to make a functional flaming sphere (a few bits of cleanup in the item script are still due). One feature I can't make work so far is concentration though. The spell is marked as concentration and it is applied, but Midi doesn't pick up the roll when the actor gets hit to check if it is maintained. Suggestions welcome, thanks!
As honeybadger pointed out the issue is that something has changed in the available args[0] in MidiQOL v10.
Try passing in the macro call the args[0].workflow. Does it trigger the Maximum call stack size exceeded error?
Yes, it does.
OK so that is what changed. The workflow has been added in the args[0] recently
Could you create an issue in MidiQOL repository, about that specific usecase and the error?
You might just be able to get the args[0], delete the args[0].workflow from it and pass the rest.
Do you need the whole args[0] available? Probably not. So either that, or only pass the data you need
Deleting args[0].workflow solved the issue. Thank you very much.
I will create the bug report.
I swear there is a flaming sphere macro out there, I wanna say its in the warpgate wiki, probably needs an update to v10
its even midi inspired
yes I have the warpgate one, but i really like the way midi-srd works. For a few reasons:
- doesnt require a new actor(measurement template instead), which messes with other mods that I have enforcing no movement during combat
- creates a weapons to roll damage during combat, so damage rolls and resistances are automated
yeah mine uses an actor but I don't have issues with resistances and stuff
I actually don't think it should be a template if you have an actor, its an ae around the actor, a template will be slightly off because its not a circle template, its an "all creatures within 5ft of the sphere" which is different in dnd.
Is the token linked or unlinked?
The caster?
unlinked
Try linked quickly
I don't think hes doing an actor
i think its unlinked, thats dragged into the scene or am i forgetting
Wait I mean the caster of the Flaming Sphere spell, is it a linked or an unlinked token?
And what is the issue? It is working for me (quickly tested) when I imported it
Do you use MidiQOL concentration only?
I don't use anything else for concentration (CUB I think does it too? I dont use CUB)
Auto rolling saves?
The issue is concentration is not being rolled when hit
it did last week, but i did update MidiQOL for the other issue. I will go test it
pizza delivery is here, get back to you after ๐
has anyone noticed midiqol interacting strangely with Ready Set Roll for D&D5e? Our rolls usually are just one click with RSR, but with Midi installed it then prompts you to roll damage, as well as shows the RSR formatting afterwards. See screensshot
Yes, of course. They are incompatible. ๐
ok then! thanks
I've had luck setting isFumble to true
is your flaming sphere spell checked for concentration?
It'd need to double check, but it effectively stops the attacks. Or at least prevents it from rolling damage
Is there a way to tell midi to ignore resistance? IE Blood hunter Crimson Rite self damaging necrotic damage cannot be reduced in anyway per the ability. Can you tell midi to ignore necrotic resistance that if it exists?
Can always have the feature do an item macro that directly applies the damage instead of having midi take care of it.
change the damage type to a ridiculous thing
thats been a notorious problem with midi from the start, if you put a weird flavor in it breaks resistances
you can also kill a workflow if you put 2 flavors into an attack
Yeah I don't want it to be Fumble, cause other things might trigger in a Fumble. Passing the a isCritical: false to the workflow does it though.
(<#1010273821401555087 message>)
You can in an ItemMacro check if the target has resistance to the damageType and bypass by giving it vulnerability momentarily (1hit) to the damageType
Thank you.
Did you manage to have the intended result?
Not yet, I'll give it a go when I have time at my computer. I did pass the info onto the macro creator too.
As an actor onUse macro After Attack Roll ```js
//bypass a specific damage resistance by adding an Active Effect for damage vulverability, with a special duration of 1Attack.
//v10 macro. Change <actor.system> to <actor.data.data> and <system.traits.dv.value> to <data.traits.dv.value> for v9 compatibility.
if (!args[0].hitTargets[0].actor.system.traits.dr.value.includes("necrotic")) return;
const effectData = {
changes: [
{
"key": "system.traits.dv.value",
"value": "necrotic",
"mode": CONST.ACTIVE_EFFECT_MODES.ADD,
"priority": 20
}
],
flags: {
"dae": {
"transfer": true,
"specialDuration": [
"1Attack"
],
}
},
origin: token.actor.uuid
}
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: args[0].hitTargets[0].actor.uuid, effects: [effectData] });
@violet meadow all concentration checks seem broken. I am trying to see if there is a pattern why
make sure you're using midis and not some other modules
for sure, i dont think i am but i am trying to verify
Are you auto rolling saves? Using Monks Tokenbar or LMRTFY?
CUB has concentrator, make sure that is disabled. if cub
no CUB. Let me check other 2
i have Monks Tokenbar and LMRTFY, but disabling both had no effect. testing with this spell, i will try disabling more stuff
DM me your MidiQOL settings export to take a look if you want
did you rename concentrating in dfreds?
or....are you auto applying dfreds...is that even a thing? does dffred ce's not lose when concentration is lost?
this was an issue of something like your // Moto ๐
oh boy, I got the feels guys
Welcome to the club Balrog! I feels for ya
Welcome to the club Balrog, have a seat:
https://media.giphy.com/media/IcifS1qG3YFlS/giphy.gif
i can confirm that it was 100% user error and @violet meadow is amazing for putting up with it. Also that gif is frightening
(actually applying the damage to an actor helps if you want them to roll concentration. fyi)
tested again with my setting and a player, all worked perfectly. thanks again for the help
Sharing is caring bud.
... I'm now making a Club Balrog in my world... thanks for the inspiration
IDK what's going on... feel like that must have been some fever dream, but I swear it was working perfectly when I tested it back then but for the life of me I can't get it to work now. Now it's not rolling if they enter on their turn or someone else's ๐ค I tried reverting back to the sample SG and switching your macro again but still no luck. Probably not worth worrying about though, it's v9 after all
We'll just stick to manual for a bit until we go v10
Oh well, live games are the actual test ๐
I will take a quick look.
it requires combat active
and I think v9 SG breaks if an npc casts it
a good backup incase it fails is to leave the core method available, don't delete your buttons and pop out the chat card with the damage button on it for future use
Is there a way to have it auto roll fast forward damage all the time except when versatile is filled out?
there is a button you can hold down for versatile and a button you can hold down to toggle the opposite settings for a singular roll in midi
Yea... my players will not remember that, so I'll just put the versatile in the other and have it roll that.
you could also turn off fast forward if your players are prone to forget things
and install advantage reminder to reinforce their memory
They are kids, I would rather them focus on the fun, I'll take care of the minutia.
But speaking of advantage reminder, I do not have auto roll Fast forward attack, saves, and checks, but the advantage button does outline red when they have it. Is that just part of Midi now?
Trying to figure out what has changed in the meantime!
I can't make it work either rn.
Another issue I am noticing is that Concentration is triggered on one of the affected creatures ๐ค
Hey, did anything come of this? I did not put in an issue, but can if you would like. Never mind, saw you did
I have put an issue in. It is more convoluted than I first thought and couldn't find an easy fix ๐คท
No worries, thanks for looking into it.
I feel its important to point out that auto rolls are not the same thing as fast forward, and i fyou are seeing the popouts, then you have fast forward off in some way shape or form.
That's fair. My bad on the wording.
My v9 spirit guardians is working as expected fyi
I did the cardinal foundry sin and didn't test with my player's account. Only GM. If I run as GM then it seems to work okay but if my player runs the macro it pops up a syntax error, multiple card show up in the chat and the macro goes off infinitely. I have this in Item Macro settings.
game.macros.getName("Hidden").execute(args[0]);
And this in the macro folder
let results;
const hider = canvas.tokens.get(args[0].tokenId);
const {object: target} = await fromUuid(args[0].hitTargetUuids[0]);
const skilltoberolled = target.actor.system.skills.ste.total < target.actor.system.skills.prc.total ? "ste" : "prc";
results = await game.MonksTokenBar.requestContestedRoll({
token: hider,
request:`skill:${skilltoberolled}`
},{
token: target,
request:'skill:prc'
},{
silent:true,
fastForward:false,
flavor: `${hider.name} attempt to hide from ${target.name} `,
callback: async () => {
const hiderTotal = results.getFlag("monks-tokenbar", `token${hider.id}`).total;
const targetTotal = results.getFlag("monks-tokenbar", `token${target.id}`).total;
if (hiderTotal >= targetTotal) {
if(!game.dfreds.effectInterface.hasEffectApplied('Hidden', hider.actor.uuid)) {
await game.dfreds.effectInterface.addEffect({ effectName: 'Hidden', uuid: hider.actor.uuid});
ui.notifications.info(`${hider.name} Successfully hides from ${target.name}`)
}
}
else ui.notifications.info(`${target.name} has keen eyes and ${hider.name} was unsuccessful in hiding`)
}
});
I also noticed it shows up in the Macro section under Monk Token Bar. Any help would be much appreciate.\
Do not give permissions to the players for the specific macro. Only the GM should have permission to view it, otherwise the execute as GM will not be available
const otherItem = actor.items.getName("(Snack Buff)Monstrosity's Liquor");
const {value, max} = item.data.data.uses;
const {total} = await item.rollFormula();
const toAdd = Math.ceil(total/5);
await otherItem.update({"data.uses": {value: value + toAdd, max: max}});
This is a midi on use macro meant to take the roll of the item its on, and divide it by 5 rounding up and then add that rounded value to another item, but its math is totally screwed up and I have no idea why. Anyone have a solution? A 26 adds 12 charges.
Also if you are on the latest v10 MidiQOL there is an issue with passing the args[0] to the macro execute. Triggers a stack exceeded error
You should take the args[0].workflow out of the args[0] you pass
I am on v10 MidiQOL. I think I have seen that stack exceeded error. It just goes on ad infinitum.
Just do ```js
delete args[0].workflow;
game.macros.getName("Hidden").execute(args[0]);
log out all your variables and verify the math
What's your Formula?
You will not be able to roll like that
max doesn't matter I just didn't know how to remove it without breaking the macro
its an ability check
is my console.log thing what you guys recommend I put in?
const otherItem = actor.items.getName("(Snack Buff)Monstrosity's Liquor");
const {value, max} = item.data.data.uses;
console.log(value, max)
const {total} = await item.rollFormula();
console.log(total)
const toAdd = Math.ceil(total/5);
console.log(toAdd)
await otherItem.update({"data.uses": {value: value + toAdd}});
yes, every single symbol you use, log it
console.log('This item's uses:', value, max)
the string helps add context for debugging ๐
now dig into any strange numbers you see
ok I think I figured it out actually
more than the max?
value and max are the items charges, not the other items
You should clamp the uses to max anyways if that's what you want
the roll was a 22, 22divided by 5 is 5, and its adding the original items charges
OH
is it cause we're using value twice???
yeah I think thats it!
?
we need to change the first const value to a different word
cause its adding the original items value into the new items value see
what IS Item.data.data.uses?
Try something. ```js
const otherItem = actor.items.getName("(Snack Buff)Monstrosity's Liquor");
const {value, max} = item.getRollData().item.uses;
console.log(value, max)
const {total} = await item.rollFormula();
console.log(total)
const toAdd = Math.ceil(total/5);
console.log(toAdd)
await otherItem.update({"data.uses": {value: value + toAdd}});
the limited uses
An object.
the item.data.data.uses needs to be the otheritems uses not the rolled items uses
am I still trying that bugbear?
Try that. I am confused anyways rn with what you mean by otheritems uses and rolled items uses
Item A rolling a formula and adding to item B's limited uses.
what I'm trying to do, is I have a homebrew cooking skill challenge, they roll their ingredient, which expends a singular charge, and then depending on how well they roll, they make X charges of another item
but it seems the value in the final line is pulling the value of the original item
because the mystery additional charges are always 9 more than intended
I want the toAdd added to the charges of item B, but apparently that value+ toadd is pulling the original items charges Item A charges instead of Item B's current charges
const otherItem = actor.items.getName("(Snack Buff)Monstrosity's Liquor");
const {value, max} = otherItem.getRollData().item.uses ?? {};
const {total} = await item.rollFormula() ?? {};
const toAdd = Math.ceil(total/5);
await otherItem.update({"data.uses": {value: value + toAdd}});
this works
perfect thanks guys!
and fwiw, the reason why I didn't catch it till now, is cause value was always 0 when I tested hehe
serves me right for not better testing it, I was rolling and unchecking the resource boxes lol
Oh that Babonus update ๐ค
Just a small one this time.
if @opaque current is still intimidated by this UI, I will officially give up
rookie numbers
Now I'm kinda curious what midi's look like
he's on vacation though we'll not find out for a while right
Just go to the repository and check the files line count ๐
How would I go about having this macro abort before it runs that actor.update if the targeted creature is an undead, construct, or the attack deals no damage?
the last one's not as important to implement as the first two
nevermind, figured out which block of text to add
Remove that first data and replace the next two instances of data.data with system
That's old pre-v10 syntax. ๐
will do, ty
so its, basically if a single data....remove data, if its data.data replace with system?
I must have told you this 50 times. Yep.
I'm gonna be doing a bunch of this soon so trying to lock that advice down
well I been only knowing about the data.data, that single data tip seems new to me, but I do have a horrendous memory
The first data is completely gone. Any instances of data.data is how you find system-specific data, but that's just called system now.
k, and this is not a rule to follow with for instance AE keys cause those are data is replaced by system
Only caveat is that updates were relative to the first data, meaning you might see actor.update({"data.etc.etc": someValue}), which should be actor.update({"system.etc.etc": someValue})
k I'll probably still come back here for help, but that wont' start happening till thanksgiving day weekend
They fall under the caveat.
yeah understood thanks
Iโve not seen that happen, yet haha. I feel like you may have somehow cleverly made this a once in a lifetime spell ๐ Iโve tried fresh combats, clearing chat, fresh monstersโฆ nothing seems to get it going again lol
Yeah I have no idea what changed in between. The message I used to check for things like target is not the same now as it was when I made the macro addition. I need to see if I have changed some settings or something...
Hey, can anyone tell me why this is dealing damage to the source token instead of the target token, and how I might go about capping the temp hp gained to 15 (+10 to the cap for every spell level above 2nd)
new MidiQOL.DamageOnlyWorkflow(sourceActor, sourceToken, othDamageTotal, "temphp", [sourceToken], necroDamageRoll, {flavor: "Theft of Vitae", itemCardId});
The item description for reference. Implementing this Grimhollow stuff is kicking my ass q.q
you tell it to do damage to the sourceToken
The target goes here new MidiQOL.DamageOnlyWorkflow(sourceActor, sourceToken, othDamageTotal, "temphp", [TARGET], necroDamageRoll, {flavor: "Theft of Vitae", itemCardId});
I'm using the same thing for this basically. Is the fact that the necrotic damage is in other affecting it?
The latter is dealing the damage to the target token, and then healing the source (my goal for the former)
Log the args[0] and check the ones you are using.
In the first item you have it as Target Self
The second item with no target, but I guess you are targeting a creature manually
args[0].tokenId will be the caster anyways.
You will need to go into args[0].hitTargets to get the targeted one (after a successful hit)
How would I do that? I've zero js experience beyond copy-pasting blocks of foundry macros, so this is a bit confusing
If you could share the description of the item I will take a look later. Makes it easier for me to get what needs to be done with a concise text, instead of looking at the screenshots ๐
*"As part of casting this spell, you must expend two hit dice or the spell automatically fails. If you do, roll the hit dice and the creature takes necrotic damage equal to the result, then you gain a number of temporary hit points equal to the triggering damage plus this necrotic damage you dealt, to a maximum of 15.
At Higher Levels. When you cast this spell using a spell slot of 2nd level or higher, the maximum number of temporary hit points you can gain from casting it increases by 10 for each slot level above 2nd."*
Thank you for the help so far, I really appreciate it
OK I will ping you when I am at my desk again, if noone else picks that up in between ๐
What are some useful things I can do with this field under Item Details?
The onUse macros?
Yeah
I assume I have a Macro made, and then it prompts anyone that has this Item to do a AE?
So it could be like idk 100 NPCs that could trigger from it?
Macro -- Blowup Village
The linked macro is executed only when the specific Item is rolled.
What that macro does, more or less is up to the imagination of the user ๐
Oh man a rabbit hole I shall have to climb later, lol obv I'm tryna use this as a workaround to generate NPC stats somehow haha. And I know others have already put up their Macros on that use-case ๐
I figured out that the spell's details had Range and Target set to self, which ignores any targets and applies the damage to the source. Changed it, and now it works properly. Now I just need to figure out how to cap the temp hp ๐ค
To 15?
15, plus 10 for every level of the spell above 2nd
though i'd settle for just 15 at this point lmao
+15 + (@item.level*10)
where would that formula go?
attributes.hp.temp
you should always lead with a plus if its an ae value
oh its temp hp it better not be an ae
Math.max(necroDamageRoll.total,15+10*(@item.level))
so like this?
Probably not correct. I am watching basketball at the same time so...
getting invalid or unexpected token error
extra space before .total
delete that space
But you want to clamp it between what numbers?
Probably need min too
I think the space is on the otherside of the period
I think maybe I need it for othDamageTotal instead of necroDamageRoll?
So you want it to be max of the othDamageTotal?
It's pulling the damage from the item card, and then using that value in the new workflow to heal the source token
so I'm assuming that's what needs to be capped
Math.max(necroDamageRoll .total,15+10*(@item.level)), this is just invalid syntax
OK so also check damageApplied and damageTotal
I think that's true since I'm always getting a invalid or unexpected token error regardless of where or what it is
now i'm getting "Cannot read properties of undefined (reading 'length')"
deleting the first line doesn't fix it
the macro again for reference
if (!args[0].hitTargets.length) return;
const {tokenId, damageTotal, itemCardId} = args[0];
const sourceToken = canvas.tokens.get(tokenId);
const sourceActor = sourceToken.actor;
const othDamageTotal = damageTotal;
const necroDamageRoll = await new Roll(`${othDamageTotal}`).evaluate();
const damage = Math.min(necroDamageRoll.total,15+10*(args[0].spellLevel));
new MidiQOL.DamageOnlyWorkflow(sourceActor, sourceToken, damage, "temphp", [sourceToken], necroDamageRoll, {flavor: "Theft of Vitae", itemCardId});
Does this work?
it applies the healing and damage correctly, but the temphp cap doesn't seem to be working. He gained 20 temphp
perhaps it's because the 10*spelllevel would evaulate to 20 since the spell is cast at level 2 by default?
so the minimum would be something like 15+20
Yeah that sounds about right
15+(10*(args[0].spellLevel)-2)?
15+(10*((args[0].spellLevel)-2))?
Item Macro has no part in the plague of args
still doesn't work, it ignores the cap
define the spell level above and use its variable in that equation
Yeet the damageOnlyWorkflow. do await sourceActor.applyTempHP(damage) for v10 and create another message
or use the MidiQOL.applyTokenDamage()
this fixed it
It works!!
Construct the roll to be a min if you want to do the damageOnlyWorkflow otherwise
@violet meadow living the meme:
A good copilot for us all!
True, an absolute legend
Thanks for all the help! Luckily it's only half of this Grimhollow bs that's this hard to implement
We are Bugbear
I need to add sunglasses to that
Is there a way to give ammunition weapon properties that it will pass on to the ranged weapon? For instance giving Arrows the Silvered property so that they'll pass that property over to the Bow?
tposney did add something in the last MidiQOL v10 version for that I think. Not sure if all the properties get picked up though.
Have you tried with v10.0.21?
What does flags.midi-qol.absorption.acid do?
Does it just reduce acid damage by a set amount put in the Effect Value?
I'm trying to automate Body of the Astral Self, specifically this:
When you take acid, cold, fire, force, lightning, or thunder damage, you can use your reaction to deflect it. When you do so, the damage you take is reduced by [[/r 1d10]] + your Wisdom modifier (minimum reduction of 1).
yeah those aren't in the readme at all, maybe search the changelog, its as old as v9 so its gonna be old when he added them
Crap, no, I'm still on v9.
Also, trying to modify Crymic's divine strike macro into Body of the Astral Self Empowered Arms ability.
Once on each of your turns when you hit a target with the Arms of the Astral Self, you can deal extra damage to the target equal to your Martial Arts die.
Trying to turn this
let numDice = level > 14 ? 2 : 1;
let damageRoll = new game.dnd5e.dice.DamageRoll(`${numDice}d8[${damageType}]`, {}, { critical: args[0].isCritical }).evaluate({ async: false });```
into something that uses Martial Arts die.
I found this dice expression for the martial arts dice.
```1d(4+2*floor((@classes.monk.levels + 1) / 6))```
I'm just not sure how to impliment it ๐
You don't.
Make a scale value in the class or subclass item.
I'm afraid not 
There's a playlist in the FAQ thread by Alaustin on how to make them, I'd encourage you to check those out. Gonna make your life a lot easier.
Oh. I'm using v9 right now. Still waiting on Advanced Spell Effects to update. Not sure how much of this would apply to v9
Scale values were implemented in 1.6.0.
Is there any way to make the absorption flag absorb only half of the damage dealt?
i tried putting /2 in the field, but it didn't work
I assume these fields as long as the Condition is true add the Effects? Like idk if you had a Weapon that Crit and it gave you Bless or something?
Or your HP hit 0, it put Sanctuary on you?
Curious if there is like a Midi Sample item I can refer to off the bat that uses the Activation Condition
many
but also the readme has a pretty decent writeup on how to do activation conditions
I notice like some of them see mto be 'Abilities' or 'Spells' as an Item
no idea what you mean
activation conditions are for things like "If undead or a fiend, do an extra 1d8"
But I guess Spells are Items too?
items in foundry are all things added to a character
items in dnd5e are items
its just unfortunate that they both use the word differently
Yeah I was looking for a simple string like AC = 10 or something to play with. Would I be looking at the Midi Readme?
I don't think thats what its for
its usually when the item is rolled
its usually X=true and X can be just about any attribute on either source or target and it assumes target unless you put source I think
Yeah I was looking at some reddit stuff like this one
thats a different animal than activation condition
Yeah the OP wanted to have Weapon Restrictions based on ASIs
I guess they were going Dragon Age with it, you need 21 STR to wield this, etc.
That seemed interesting, something I'd probably be down to integrate in tandem with my existing goal lol
Only this Class can use/activate this or w/e
Be a bit more mysterious with Items, if like I don't use Attunement and people just gotta try a thing out to test it haha
you can always use an item in dnd5e, its a matter of proficiency/attunement for the extras
Yeah I was just curious if anyone ran a super gritty system and was doing something like that, perhaps in another World setting.
Do you still have this macro?
Yep. Not at home at the moment so I'll have to get back to you with it
All righty!
This can be done. With a macro as before item is rolled. If the test you include is not true, you can return false to the workflow and the Hook will cancel it
Taking a deep dive to Template Macro + Effect Macro shenanigans. Let's see
๐ ๐ป ๐คฟ
Yeah I'm most curious about this, creating Prereqs for Item use -- Like it could be used for Alignment changes, the Paladin can no longer wield something and I can add Chat flavors for failures.
Looking at you Fable, treasure of RPGs ๐
It can be done, but you would be over-complicating something that could be just a you cannot use it as you are CG and it needs LG ๐
Oh yeah for sure, I think moreso I'd use it for random Objects I place in a scene, that I simply don't give context to and demand attention from players like an easter egg thing.
Because I do plan creating most of my assets in Unreal, and hopefully learn a great deal of FX stuff I can apply to Foundry.
But say in the instance, Ogre Gloves, a magic thing that gives you 19 STR got depowered somehow or a Physical stat that was necessary for Combat Automation/Rolls. It'd be nice if it just happened haha
I know someone was doing a thing where someone could take 75% less damage or something or increase healing by %. Very videogame, like Cursing an Archer's Aim by a Warlock.
Are you on V10?
V9
A (D)AE on the item to upgrade STR does that easily
(doesn't need DAE)
Just remembered I've started putting my macros on my GitHub. V10 version here: https://github.com/chrisk123999/foundry-macros/blob/main/Features/Class Features/Monk/Focused Aim/Chris-FocusedAim.js
You'll need to swap out some references from system to data to make it work in v9. When I'm home from work later tonight I can do that if you're unable.
Oh definitely haha, but there's not a Prereq Item use thing that's transparent, I'm looking into creating a Macro since it sounds possible to do a Preroll Activation effect with Midi + Item AEs.
Would you be willing to? I know a little in terms of coding macros, but not enough ๐
Sure, just have my full work shift ahead of me so it'll be a bit
Wherever you see .system. replace with .data.data.
and if you see a system.something.something in an update replace with data.something.something
No worries at all!
Oh, nice! Thanks!
Is this an ItemMacro?
The thing is that specific macro from @scarlet gale has a sister macro executed as GM apparently. So you will need to grab that as well.
I imagine that the shared one is an Item Macro before Item Roll or something
Ah
Setup info
(or just read a level up ๐ )
I'm just lazy and hate making warpgate menus so I have a macro that makes it less dumb
I can embed the function when I edit it down to v9
Also I would suggest to change the Focused Aim.md to a Readme.md maybe to make it more visible ๐
Oh does that change how it works on GitHub?
I mean you can just change the title. Do you have it doing something automatically?
Nah
I originally planned on linking to all the setup files on the main readme. Just didn't get to it
Huzzah! It works!
lets make it a bit more sane ๐
if (!args) return;
const title = args[0];
const buttons = args[1].map( ([label,value]) => ({label,value}));
const menuReturn = await warpgate.buttonDialog({
buttons,
title,
}, 'column');
return menuReturn;
I think either fotoply or chris wrote me a cool dialogue for lesser restoration that I really liked, reused it a bunch now
Not me I think
if(game.user.targets.size !== 1 ){
ui.notifications.warn("You must have one token targeted.");
return;
}
let VALID_EFFECT_LABELS = ["Blinded", "Deafened", "Paralyzed", "Poisoned"];
let [targetedToken] = game.user.targets.values();
let availableValidEffects = targetedToken.actor.effects
.filter(e => VALID_EFFECT_LABELS.includes(e.data.label))
if(availableValidEffects.length < 1){
ui.notifications.warn("No conditions exist on this creature which are removeable by Lesser Restoration.");
return;
}
let dialogButtons = availableValidEffects
.map(e => Object({
label: e.data.label,
callback: () => {e.delete();}
}))
let dialog = new Dialog({
title: "Lesser Resoration Condition Selection",
content: ``,
buttons: dialogButtons
})
dialog.render(true);```
its not a drop down its like a button choice and I really like the concept
Oh that's much better lol
that's what this does, short of the integrated delete (just an additional line or two)
yeah I like this one, I also use the drop downs cause thats like what everyone builds, but this one was a neat take on it
I have a Twilight sanctuary that does something similar
yeah that removes things too I forgot about that one
I basically repurpose it for tons of removal things
Need some gap: 5px in that dialog
Was not me either ๐
I really need to start labeling these things
I wish you could search the code in discord search but it specifically excludes things in codes
Tbf, the author should put a comment at the top saying who wrote it, not that I do that myself either ๐
Steal the css from my Font of Magic macro ๐
(they are just gonna get a proper overhaul with more flexibility)
oooh I like that
If you tossed in stuff from animate css, you could have it do more things when hovered on and off
have the buttons slide in from the left or fade in
shape it like an itunes EULA
Yeah this one is old as heck
I have an item that grants a buff that lets melee weapon attacks deal 1d4 cold and 1d4 necrotic on normal enemies, but 2d4 cold and 2d4 necrotic on undead. Is there a way to apply the extra damage to undead on an active effect?
As an action, you can expend one charge to imbue your strikes with death energy. While imbued, for the next minute, whenever you hit a creature with an unarmed attack, the attack deals an additional 1d4 cold and 1d4 necrotic damage. If the target of your attack is undead, the attack instead deals an additional 2d4 cold and 2d4 necrotic damage, and the creature has disadvantage on attacks against you until the start of your next turn.```
probably a warpgate mutate, OR just cause I love this key....createitem and make another unarmed strike with an activation condition for undead
just like steal the activation condition from mace of disruption or something
Trouble is the monk is a Way of the Astral self monk, who uses an Astral Fists item that's given to tem when they manifest their arms
the createitem would just make a new attack item, mirror whatever that is and add on top of it
for the disadvantage thing, thats gonna be something complex that I can't figure out how to do
The new item created by this would then have to be force damage, +2d4 cold +2d4 necrotic.
I'm just looking for something that overalls buffs melee weapon attacks
As well as another item for unarmed strikes that deals bludeoning damage, +2d4 cold +2d4 necrotic.
no it would be force damage+ 1d4 cold +1d4 necrotic
and then in the OTHER field do the other d4's and then the activation condition would be something like the mace of disruptions activation condition
Roll other if true
make sure you check the box for critical other
incase they crit
So two other items. One variation for their Astral Arms, and one for their Unarmed Strikes
is the astral arms considered an unarmed strike?
and sure you can create multple items this way
Not techincally the same, 'cause the arms do force damage and use wisdom instead of dex.
you could also do a warpgate mutate, that is more macro centric but cleaner looking
Unarmed strikes do bludgeoning damage and use dex. Whenever the monk manifests their astral arms, an item I call 'astral fists' is created in their inventory, which deals force damage and uses wisdom for its attack. So they then have two items. One for the unarmed strike, one for the astral fists.
I'm not sure I want to clutter up the inventory with two more items for that extra cold and necrotic damage ๐
do you fast forward?
I fast forward damage, yes
darn, was gonna suggest AR then
if all they do is unarmed strikes
just use the same thing that rage uses in an ae
hmmmm but bonus against undead would not work nm
DamageBonus
you could maybe do something like if undead, vulnerable to cold/necrotic or something
or you can do a preItemRoll
but thats not the same as 2 dice
but you said you wanted on an activated effect
Aye
damagebonus it, have it detect the target's details, then form your formula that way
This is pretty much the item in question
I've been using something like this for when using a weapon that deals specific damage to certain types of creatures, but this is for the weapon, not an item that gives you a buff to damage.
IE: If I used this, I'd have to attack with the bracers, which kinda defeats the purpose of a monk's unarmed attacks.
if (!["mwak"].includes(args[0].item.data.actionType)) return {}; // weapon attack
if (args[0].hitTargets.length < 1) return {};
actor = await fromUuid(args[0].actorUuid);
let target = await fromUuid(args[0].hitTargetUuids[0]);
if (!actor || !target) return {};
let PC = target.actor.data.data.details?.race ?? null
let npc = target.actor.data.data.details.type?.value ?? null
const isType = ["undead"].includes(PC ? PC : npc || "");
if (!isType) return {};
const diceMult = args[0].isCritical ? '1d4 + ': '1d';
const damageRoll = await (new Roll(`${diceMult}4`)).roll();
new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total,"Radiant", [target], damageRoll, {flavor: "Extra damage against undead (Radiant)", damageList: args[0].damageList, itemCardId: args[0].itemCardId});
// if (game.dice3d) await game.dice3d.showForRoll(damageRoll);```
I have the damage part written out.. the next bit about disadvantage on attack
I think chill touch does that doesn't it? the disadvanatge to undead
disadvantage only to you
That reminds me of something. Quite old too !
damageBonusMacro is better I agree
i have it rewritten just need to test it
Hi all, can anyone help me understand why my overtime effect isn't working? I'm trying to set up Conquering Presence which should end when the affected token passes a wisdom check but the roll isn't even being triggered. Here's how I have it set up:
missing a comma first line
yup it's either the . or , that mess you up
Itโs unforgivingโฆ we need an overtime builder ๐
Build-an-Overtime
Would just be a dialog (or FormApplication).
First module project for you, Lukas
What would it take for Z to do a DAE PR of this magnitude?
Money.
No, we need something that works
Donโt ask me for a macro then lol
You have better odds than someone who doesn't even use any of the modules involved.
Word on the street is Mr Primate may have fixed AAs most pernicious issue, so balance could be restored to the midi ecosystem. Our group is considering doing House Divided as a side adventure โ so there wonโt be any going back to v9 after that ๐
I won't believe it till you run a session with it, that bug was reliant on lag, hard to test that without a live session
but it was also playable, atleast it is currently in v9
I live in hopeโฆ but expect the worst. We had one of our players with a 11500ms ping last week (heโs out of town for a bit)
They land on the moon?
One would think so, itโs only a 2hr drive though. Heโs staying with a couple of fossils so itโs probably dialup
No amount of primate magic is going to fix that
Heโs also our Shepherd Druid ๐ฉ
Hi all, I'm looking at trying to set up Heat Metal using the new Create Item and wondered if it was possible to have it based on an activation condition where it only fires / applies the active effect if the targe passes the CON save. Is that possible? Maybe with @workflow.saveResults (saw that in a post from back in September) but don't know the right syntax.
Think I've managed to get it to work with @workflow.saveRoll.total > 15 where 15 is the save DC, but is there anyway to make that value dynamic where it will increase with the player's save DC when it increases? Would it be @attributes.spelldc where the 15 currently is?
I wouldn't bother with that, its an ability that is player choice to use. I'd just give them the feature with createitem and if they choose to use their action on their turn, then have the feature induce a save and deal damage. If the creature drops the weapon or somehow gets rid of the armor, just put a +100 in the situataional bonus of the save.
what module can I use for DND5e that can subtract health automatically when they take damage
Midi-Qol does that.
so I have that module on, how do I set tht?
Looks through the options, or use the quick settings.
Settings -> Module Settings -> Midi QOL -> Workflow Settings
Select an option you like, you can further finetune it after that if you want
ty
theres more to it than just an on off switch, but most of its settings are obviously going to be in the workflow/damage section.
My thinking was that the initial create item wouldnโt even trigger unless the target passed their save. But thanks for the advice Iโll key that in mind.
the save is for disadvantage on attacks
they take the damage regardless if they maintain contact with the metal
but only if the player uses their action to apply it
I read it as the save is for dropping the heated item or not, and if they pass it they hold on to it and get the disadvantage.
oh its bonus action not action my bad
The original casting would give the damage, then if they pass the save a bonus item is created and they get the disadvantage.
That would not work, because whether they save or not, if the caster targetted armor, the damage happens no matter what and the disadvantage happens no matter what
Yes but there is still the โapply active effectsโ button on the chat message (at least when I tried last night) that could be used to add the effects.
Or so I thought.
they do not have disadvantage endlessly, they only have it whenever they take fire damage
I would attach it to the item that does the damage, and forget about a saving throw, that has to be handled at the very beginning and has very little sway in all this unless the player chooses to target a weapon, and players rarely do inefficient things
And it only lasts one turn, which is why the bonus action would also need the same disadvantage effect.
so I'd have the spell use createitem and make a feature that does fire damage and appllies a disadvantage ae that lasts until the start of your next turn.
you could also just apply the save on the spell cast I guess but have it have no sway in anything, just to cover all bases.
Which is basically hours I have already set up, Iโll just remove the activation condition element.
I dunno if putting the save on the spell will mess up the createitem ae
Cheers, thanks for taking it through.
Is it midi or DAE that adds the ability to add spells and items with the active effect?
I can't seem to find the documentation
its in the patch notes for dae, both entries are related to it, you just drag and drop the features/items into the effect value field, but its not the newest dae version notes
I need some help with Midi QOL if anyones willing to give me a hand.
Midi is the only module I have enabled rn, Im on Forge Recommended v10 stable - patch 5 (build 290), dnd 5e version 2.0.3 and with midi enabled it does nothing like none of the features are even showing up with default settings. Not sure what to do
Are you being literal about Midi being the only module enabled? I ask because it has a couple of others it depends on.
#1010273821401555087 message
Just a small how-to
Like socketlib and lib-wrapper
i mean those are the only two others lol
One sec trying some things
modules installed
this shows up
when i click the roll button or any button nothing gets outputed to chat
if i uncheck this. Just the basic attack and damage buttons appear in the chat when you click on an item to roll
meaning this
What are you wanting it to do? Auto roll the attack and damage?
Id like to start there
You need to go into the Workflow Settings.
You can fine tune nearly everything in there, but for a quick setup, go to the QuickSettings tab on the far right in the Workflow Settings menu.
I did the quick settings for them
The problem is, when i enable role animation support. I cant role anything. Nothing works.
I have already experimented with loops, it is possible with 2 of them lol
show us your DM and player workflow tabs in module settings
if clicking the attack does nothing, its probably because your midi is set to "require target"
which is somewhere in v10 settings that I'm sure some v10 user will chime in with
its kinda at the top in workflow tab in v9
and if requires target is on, then when you click attack without a target, nothing will happen. No error, no warning, nothing.
is there a way to turn off the (fast) damage buttons and such
it sounds like if you are seeing that, then your settings are auto roll OFF and fast forward ON, so your request needs clarification. Do you want fast forward OFF or do you want buttons removed from chat, or do you want auto roll ON?
