#MidiQOL
1 messages Β· Page 17 of 1
The macro is executed via Midi.
Didn't realize he was trying to cancel it from running sorry
If you know it'll only ever have 1 target you can just check if the length is 0
yeh its a single-target weapon attack
if (args.failedSaves.length != 0) {
anywhere close?
Check if it's an array, if so it's failedSaves.length
it is an array (changed above)
See if returning false cancels the roll
async function main(){
const actor = game.actors.get('Actor ID');
if(actor.data.data.resources.primary.value == 0){
ui.notifications.error(`${actor.data.name} has no more resource`);
return false;
}
let newResource = actor.data.data.resources.primary.value - 2
if(newResource < 0){
ui.notifications.error(`${actor.data.name} does not have enough resource`);
return false;
}
await actor.update({"data.resources.primary.value": newResource});
ui.notifications.info(`${actor.data.name} spent 2 resource`)
}``` Like this?
with those changes it unfortunately doesn't cancel the item roll
You also don't need to wrap the whole thing in a aysnc function, it already is
You can just already do await when needed
In that case have it just roll another feature of you have the resources
Apologies but I'm not grasping when you say to roll another feature, what do you mean by that?
The issue is not redirecting; the issue is cancelling the item that triggers the macro.
So i'm not sure what happened but it seems to be working now... I'm getting the ui prompt about the item being blocked by the preItem roll
and the item no longer rolls to chat when the resources are depleted
A better way would for both features to just keep each other in sync
Have the macro update the other actors resource when used
So you don't need to check before each use
Okay. I'll see if I can clean up the code with your suggestions and good ol' trial and error. I seem to be making some progress in the right direction. Thanks for the assist everyone apologies for any confusion caused π
All good, I got my myself into this when I responded on mobile
Search for actor.update in the Discord search box
There should be tons of examples
Have the same feature on both actors and have the item macro also update the other actor resource
hi, any way to create a passive effect that will reduce all damage to 1?
unfortunately this just breaks the entire macro whether its true or false
Post what you have
Console have an error when it runs?
Also make sure it's running at "postActiveEffects"
Since you want the saves to be calculated already
Console have an error?
I can make it work by adding a damage roll to it, cos then the macro only fires after damage is rolled (which only happens if it hits). But I don't really want to have damage on it
I'll have to remake it one sec
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
[Detected 1 package: midi-qol]
at eval (eval at callMacro (modules/midi-qol/src/module/workflow.js:1446), <anonymous>:18:22)
at Workflow.eval (eval at callMacro (modules/midi-qol/src/module/workflow.js:1446), <anonymous>:182:4)
at Workflow.callMacro (modules/midi-qol/src/module/workflow.js:1447)
at Workflow.callMacros (modules/midi-qol/src/module/workflow.js:1373)
at Workflow._next (modules/midi-qol/src/module/workflow.js:893)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
at async Workflow.next (modules/midi-qol/src/module/workflow.js:261)
Save as a .js and put here, so it formats it well
Should be args[0].failedSaves.length
Keep in mind this will act weird if you have more than one target
its a frog tongue whip, so its single target only
i mean they may accidentally target multiple things but I'll just tell them to reroll
Details of the feature should stop them if it's set to 1 target
I dunno if theres a way to prevent it, but its a random item they got due to fighting giant frogs and doing something hilarious so I doubt the item will survive long
target = 1 creature
in details
the first time an enemy rolls a 20 on the saving throw the whole item is destroyed, so it just needs to work -for a while-
Ah fun
its mostly a joke item, but they earned it
So I'm trying to create a series of poison darts, and that all works fine, but I've realised that 'poisons' don't actually have the poison typing on them... but creatures that are immune to poison, should also be immune to poisons effects. Is there a way to do this?
I hoped that simply having the weapon damage being poison-type would stop the effect from applying, but the effect still applies, its just the initial attack that doesn't
I'm guessing the solution might be some kind of activation condition?
Are the darts applying the poisoned condition?
There is a difference between poison damage immunity and immunity to poisoned condition.
At any rate you can check if the target has that attribute in the macro
well the effects vary, depending on the poison, so I need some other way as they won't all apply the 'poisoned condition'
I mean I could make them do that, but then I think only the poisoned condition won't apply, and the other effects still will?
"@target.details.type.value".includes("dragon")
Going from this, I assume the solution is along the lines of...
"@target.details.conditionimmunity.value".includes("Poisoned")
I tried using console.log(args); but I can't see the correct flag for the resistences/immunities of the target listed
oh, except activation conditions only work as a 'true', but I need this one to only work on a false... so I need it to be ".notincludes"
if that's even a thing
Throw a ! before it?
I haven't messed with activation conditions much, but it looks like it's just more javascript
Sorry, I misunderstood. And no, currently there is no path back to the item to generate the uuid, so it's a name match for those - I'll have to have a think about that.
!@target.traits.ci.value.includes('poisoned')
Might work
Just tested it
seems to work
@chrome gale
for me, this didn't work
or rather, it prevented the effect applying all the time, even against normal enemies
I had that issue in a previous thing lol so I made a point to double check
Mine likely just was an error so was always false
but yeh your thing still worked great, I just noticed the example put it in quotes so I tried the same
thanks yet again
syntax is a pain
const origin = args[0].itemUuid;
if (origin) {
const removeList = actor.effects.filter(ae => ae.data.origin === origin && getProperty(ae.data, "flags.dae.transfer") !== 3).map(ae=>ae.id);
await actor.deleteEmbeddedDocuments("ActiveEffect", removeList)
}
const updates = {
Item: {
"Spiritual Weapon Attack": {
"type": "weapon",
"img": "systems/dnd5e/icons/spells/enchant-magenta-2.jpg",
"data.actionType" : "msak",
"data.properties.mgc": true,
"data.attackBonus": `${Number(args[0].actor.data.abilities[args[0].actor.data.attributes.spellcasting]?.mod) + Number(args[0].actor.data.attributes.prof) + Number(args[0].actor.data.bonuses.msak.attack)}`,
"data.proficient": false,
"data.damage.parts":[[`${1 + Math.floor((args[0].spellLevel-2)/2)}d8 + ${args[0].actor.data.abilities[args[0].actor.data.attributes.spellcasting]?.mod || ""}`,"force"]]
}
}
}
const result = await warpgate.spawn("Spiritual Weapon", {embedded: updates}, {}, {});
if (result.length !== 1) return;
const createdToken = game.canvas.tokens.get(result[0]);
await createdToken.actor.items.getName("Spiritual Weapon Attack").update({"data.proficient": false});
const targetUuid = `Scene.${canvas.scene.id}.Token.${result[0]}`;
await actor.createEmbeddedDocuments("ActiveEffect", [{
label: "Summon",
icon: args[0].item.img,
origin,
duration: {seconds: 60, rounds:10},
"flags.dae.stackable": false,
changes: [{key: "flags.dae.deleteUuid", mode: CONST.ACTIVE_EFFECT_MODES.ADD, value: [targetUuid]}]
}]);```
We couldn't use warpgate macro for spiritual weapon the whole night because of this.
Only thing that has changed is I upgraded to the final v9 build, I don't understand how that could break a macro that was working fine
To be clear, this is the midi sample item Spiritual weapon 9.58
My guess is theres a missing data in the spellcasting lines but I have no idea.
You 100% sure that's the macro it's using? It says there was a problem at line 16, position 96
But I just see a } there
Or is that error when you attack?
its the error when we cast the spell
there is definitely a sidebar actor named spiritual weapon, this worked before I updated to build 280
Actually, it works with any other caster, it throws the error when the players character casts it
he has a defined spellcasting attribute...
So what could cause arg[0] to not be HIM?
isn't there a console line I can put in for it to return what arg0 is?
console.log(args); at the top
I got that, but what am I looking for in there is the real question
yeah, I think the problem is a missing data?
Seems like it,
aren't there two datas in this?
but why would it work on the starter hero cleric but not the player characters cleric
Do you use ASE?
no, jb2a+AA and that spell doesn't have an animation assigned
I'm not sure what's wrong, it looks fine
why is there only one data in that pathway? normally theres 2 isn't there?
Yea normally
I'll sleep on it, maybe more eyes on it will yield an idea, I hope his sheet is not corrupt in some way
The problem can't be in the macro, it has to be something with the character, I dunno what it could be.
Drop down menu for spells have a thing set for the ability?
yeah and I toggled it to something else and back again also
Try making a new actor and drag everything over to it
I mean that is ultimately THE solution but I'm not doing that this close to bedtime, I'll mess something up
midi and dae updated forgot to check warpgate though
ooooh, not up to date in warpgate
The error is 1 more line down now?
why not just use DAE? it'll remove the need for a lot of these calls
π€·ββοΈ all you really need to do is copy some data off the caster, in the on, wrap the token stats and a tracker flag on the summons. then finally summon it. then in the off, recall that tracker flag and dismiss it.
heh been actually rewriting a bunch of it atm. Working Tentacle of the Deeps atm.. pretty much the same the thing
It works on any other character so I'm inclined to think its the character thats broken somehow
mine works for the intended class and npcs
What is BaB? And what does it do?
Build-a-Bonus - Module for making conditional bonuses
Select the token of the problematic actor. Open console, type _token.actor.data.data.attributes.spellcasting
Is that defined?
What about the same without the last part the .spellcasting
This can replace active auras in v10? Iβve seen somewhere.
Somewhat yes, at least for the simpler +X auras
Both are defined, wis
this isn't the first time this guys character sheet has gone corrupt I trully do not understand what is causing this with him
Unless you have any ideas I guess I'm remaking his sheet.
Got sidetracked.
So what the heck? The error line changed after a ... warpgate update you said? π€
Is there a way to automate Wall of Fire?
Or define a template with an overtime effect to automate the Web spell?
What do you need to automate? If you want the templates drop part, here is what I did for the Fire Storm spell: <#1010273821401555087 message>
I will take another look on that one later this week to optimise or make a more robust macro for more spells (if not bored).
v9 Active Auras solution, with ApplyEffects onTemplate function
v10 I haven't tested it yet
What's the best way to go about automating "starts its turn in the area" AoE effects?
Active Auras and MidiQOL OverTime Effects probably.
Hi, is there a way to make the Attack and Damage roll boxes appear without clicking them in the chat? I vaguely remember it was possible before (Only getting back into Foundry again after quite some time)
Could you elaborate a little on what you mean by OverTime Effects?
Check the midi qol settings for "fast forward" and then what kind of roll you want automated, the options window will look different depending if you're on v9 or v10 so have a gander
Is there a way to have a specific feature ignore resistance/immunity to damage?
Readme to the rescue π
https://gitlab.com/tposney/midi-qol#flagsmidi-qolovertime-overtime-effects
Take a look and if you have a specific usecase in mind that you cannot find a way around, post here and if possible someone will help π
(Much easier to read through it, than me trying to explain it in messages!)
gotcha! Just going through the MidiQOL readme (needs some time to do) will give plenty of ideas of how to do things.
DAE readme too as they tend to lend each other a hand https://gitlab.com/tposney/dae/-/blob/master/Readme.md
I imagine an onUse Actor macro checking if the target has resistance/immunity to damage and applying damage vulnerability to the target for the incoming attack π
Or just removing the resistance/immunity and applying it again after the attack workflow is completed
Thanks again, I'm slowly getting more into my automation modules. Started with Warp Gate, and now Midi and DAE are next up on the list. π
That is going to be a trip π
the macro is just not using the v10 data paths, args[0].actor.data.attributes.prof
update all of those to use system instead of data, done
I think Moto is still on v9
ah
Does this also work in v9?
no that is v10 afaik
Ah, that's a shame. Is there something similar that's easy to set up for v9?
I have shared a pack tactics feature that does the same more or less. What are you looking to emulate?
Just pack tactics. Could you please link me to what you shared? I didn't see it at a glance searching for "Pack Tactics"
Thank you π
Just read the original message linked there too
Will do. By the by, could I use that as well for something that grants disadvantage on concentration checks?
I want to have an effect on casters that causes disadvantage on concentration checks when an enemy is within 5 feet (and not dead/incapacitated, etc)
same principle. Might need to create an AE that grants the disadvantage on the concentration check with a Midi flags instead
Thanks, I'll try to figure it out π
*i can help more tomorrow π *
Thanks, if I haven't figured it out I'll message you on the morrow π
It probably moved down a line after you added the console.log(args) to the top.
well mystery solved π
the problem may want to sem like its in the macro, but the macro works on the starter heros. It has to be a problem with the actor and I can't figure out what so I'm just gonna remake the player character.
The only things that I can identify that are different with the starter heroes is that they aren't assigned to a player and they didn't have level 2+spells in their spellbook
So the line that breaks is this one, correct? ```js
"data.attackBonus": ${Number(args[0].actor.data.abilities[args[0].actor.data.attributes.spellcasting]?.mod) + Number(args[0].actor.data.attributes.prof) + Number(args[0].actor.data.bonuses.msak.attack)},
This returns undefined args[0].actor.data.attributes
If it was not MidiQOL involved I would say that you needed args[0].actor.data..data.attributes
I think MidiQOL in its args[0] remakes the paths to exclude the second data
its the serialized object, so equivalent to const actor = sourceActor.toObject()
So if the actor has its spellcasting ability defined there is no reason for the line to break
log out your data
in screenshots far above I went into it deep and it clearly defines it even when I console.argsed
one thing I didn't do, was use the exact item that the players using on the starter hero, I had dragged out the midi sample item fresh to test on the starter, testing the actual item again
that's an actor5e class
yeah, the problem has to be the actor, not the macro
he has a pending level up right now...could that somehow be the problem?
ok so double the datas?
but why would it work for the starter heroes but not the player?
shrugs probably where its being executed
but regardless, midi is sending you an Actor5e class, so you need to work with that
console.log(args);
const origin = args[0].itemUuid;
if (origin) {
const removeList = actor.effects.filter(ae => ae.data.origin === origin && getProperty(ae.data, "flags.dae.transfer") !== 3).map(ae=>ae.id);
await actor.deleteEmbeddedDocuments("ActiveEffect", removeList)
}
const updates = {
Item: {
"Spiritual Weapon Attack": {
"type": "weapon",
"img": "systems/dnd5e/icons/spells/enchant-magenta-2.jpg",
"data.actionType" : "msak",
"data.properties.mgc": true,
"data.attackBonus": `${Number(args[0].actor.data.abilities[args[0].actor.data.attributes.spellcasting]?.mod) + Number(args[0].actor.data.attributes.prof) + Number(args[0].actor.data.bonuses.msak.attack)}`,
"data.proficient": false,
"data.damage.parts":[[`${1 + Math.floor((args[0].spellLevel-2)/2)}d8 + ${args[0].actor.data.abilities[args[0].actor.data.attributes.spellcasting]?.mod || ""}`,"force"]]
}
}
}
const result = await warpgate.spawn("Spiritual Weapon", {embedded: updates}, {}, {});
if (result.length !== 1) return;
const createdToken = game.canvas.tokens.get(result[0]);
await createdToken.actor.items.getName("Spiritual Weapon Attack").update({"data.proficient": false});
const targetUuid = `Scene.${canvas.scene.id}.Token.${result[0]}`;
await actor.createEmbeddedDocuments("ActiveEffect", [{
label: "Summon",
icon: args[0].item.img,
origin,
duration: {seconds: 60, rounds:10},
"flags.dae.stackable": false,
changes: [{key: "flags.dae.deleteUuid", mode: CONST.ACTIVE_EFFECT_MODES.ADD, value: [targetUuid]}]
}]);
After a lot of tinkering I managed to finally get it working- Many thanks!
a lil bit ago, Flix taught me that sometimes you can't use ' to wrap some stuff, and instead you have to use backticks, could this be one of those situations?
see how its kinda using something inside of another thing in that line only?
now be sure to test from a player account
cause it might get serialized, lolol
with a gm active
ok heres the thing
that player was absent last night
so I had to run him, so could ALL of this just be because i was running him, so I didn't really need to fix it
is there a way to make it work for either person running him?
shrug, no idea really
but yea, just check if the provided actor is an Actor5e instance
if not, its data
midi really should serialized everything all the time
to avoid this
can you tell me the basic process of checking that as I kinda don't understand you
should I just drop midi's and just use the warpgate wiki spiritual badger?
look up instanceof in MDN
if midi is involved at all, you will have to deal with this
would this be in the data somewhere of _token.actor in the console?
google "instanceof"
My foundry session is now throwing an error that is crashing it out after logging in the player:
I'm guessing this is an endless loop?
this is without doing anything, the player has just logged in
Df manual rolls?
not sure what is going on there, I think it has to do with the user config and manual rolls
Disable the manual rolls module and try again
I rebooted and it seems to have not happened again or yet.
ok so after logging in the player, with GM still logged in, after rebooting due to that probably unrelated error, the player and the GM can now cast the modified double data spiritual weapon in v9 midi.
I still find it odd that the starter heroes work fine with the item right out of the midi samples without the edit.
Has anyone else with a v9 build attempted to try to replicate this, is it even worth putting on tim's radar?
yeah original item only breaks with that specific actor in particular
made a fresh player, and also dragged spiritual weapon to the other 4 players and they all were able to use the original
So there is just something really weird about that actor
it's always been a warning that certain macros when ran thru Midi, will cause endless loops. It's reason some of the macro writers put big warnings to not run it with midi active
because how midi does things behind doors
Man this whole...something different about him just keeps bringing me back to the level up pending...
I'm done fiddlin with it, problems solved, thanks guys for all the help
I don't see a negative in updating the original with the new double data entries since its not throwing any errors on either client.
Can you export the actor and DM it to me? Itβs bugging me π
the duplicates of him also throw the error too heh, sure
This ties into midi, so I'll ask this here, but as so far my track record is 100% in favor of "asking in the wrong place" I'm sure someone will tell me where I'm meant to ask lol.
I'm using CE, and I have tthe midi flanking rule setup, and that seems to work in adding "flanking" to an attacking creature, which is great. But what is 'flanked' used for? Seems like it should put 'flanked' on a creature that's being flanked, but midi doesn't seem to do it, and I'm not seeing any other way to set it up?
Check the active effects details, I think it's just a way around not updating your own token by giving the flanker the advantages instead of the flanked getting the disadvantages
Yes I think it is a DFreds predefined effect for flanked condition
this makes sense, it just makes me wonder... why 'flanked' is even there, if 'flanking' is the only one thats used. Made me think it must have a use I'm missing, or that isn't working
Oh, both is there? Huh
There is an option for whether to use Flanked or Flanking I believe π€
ahhh
Flanked is a bad rule to use cause it will give a bonus to people not sticking their necks out and going in for the flanking bonus. I'm not a fan of that. As Flanked is a debuff to the creatures AC that Larry the Evocation Wizard can utilize with their scorching ray from 100ft away.
I mean, flanking does still work with ranged attacks (irl) wouldn't it? But not in dnd (and would be hard to do, with two ranged users each miles away on opposite sides)
only if its your homebrew, ranged should not benefit from flanking
I wasn't even thinking that would be a side effect, but now you mention it it's tempting to use 'flanked' just so my ranged players get some advantage if the melee guys surround an enemy. But the reason I asked in another thread about how to edit the condition is because I want to reduce it from 'advantage' to something more like a +2
the most common flanking rule, is if within 5ft
if your intention is to make flanking less powerful, believe it or not, changing it to a flat bonus actually buffs it
because then the bonus stacks with all other advantages
hmm, good point, assuming they have another consistent source of advantage
flanking is one of the easiest that I can think of offhand
the others involve blinding someone, or being invisible, or knocking prone.... or I mean, having an owl I guess, but we don't use that at our table
rogues can just burn bonus actions and get a permenant advantage and flanking bonus
barbarians would gobble up that rule with reckless
we dont currently have either of those classes on the table. Our current main 'brawler' is a battlesmith with a steel defender. We weren't using flanking rules (cos I didn't have it set up in foundry) but I am setting it up now. But it would pretty much mean he'd have permanent advantage cos of his defender
@gilded yacht MidiQOL 0.9.83
Weird issue when an actor has any Actor onUse macro set.
Grab the Spiritual Weapon 0.9.58 + Warpgate from the Midi Sample Items.
Put it on any Actor who has an Actor onUse.
Cast Spiritual Weapon. Errors out with VM8433:16 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'spellcasting')
Delete the Actor onUse. The spell is cast fine.
Something is off with the serialization of the Actor data when there is an Actor onUse macro present.
args[0].actor.data.spellacasting is not defined in that specific case.
Needs args[0].actor.data.data.spellcasting
As far as I can tell, a simple fix is to just change spiritual weapon and any other premades to use data.data. However, I wonder how this situation behaves in v10
I don't think its the contents of the actor on use doing this, but the actual presence of one, that is causing it.
v10 has just the system and its fine. MidiQOL is going to some lengths to get the data out of the ... data.data π
I ponder what other premades have this problem that I haven't stumbled on yet
V9
Modules: Midi/DAE/CE/Effect Macro
Custom Effect through CE called "Critical"
Goal: Double the affected creature's damage output from it's attacks (just weapon and spell attacks not other damage).
Suggestions on how to pull this off?
So when the Critical condition is on the affected creature, all its attacks do double damage?
Yes. I think there was a 4e feature that happed when they were "bloodied" (Note: I didn't play 4e so I am only going off what I heard.) The idea is: their attacks become more desperate.
*I'm not going for the 4e effect. I'm creating my own.
A take without too much thought.
Create an Item (feature) on the sidebar or a compendium.
When the Bloodied condition or Critical is created, get the Effect Macro to warp the feature on the actor.
When Critical is deleted, Effect Macro deletes the feature too.
The feature by itself will have a DAE flags.midi-qol.onUseMacroName that will introduce an Actor on Use macro which will take care of the damage doubling.
Hey legends... our fighter/paladin has just leveled into the Echo Knight subclass π© Does anyone have any tips on how I should tackle this? The echo would have its own AC and HP, but attacks should come from the PC β so he can use his smites, vow of enmity and other nonsense 'via' the echo
I had proposed that at some point too, but I think that it might bug out if the target would actually have vulnerability to the attack for some other reason already
What would the On Use Macro look like?
Disable range check was the easiest solution for me, personally
I wonder if I can disable it on a per character basis? π€
First of all make sure that the actionType is melee or ranged weapon or spell attack.
Then would be an After Damage Roll evaluation one, at which point the args[0].damageTotal would have been evaluated.
Getting that and doubling the output. Total x2 works? Or is there a specific formula to that (eg. without @mod doubled or something like that?`)
You can if you edit all his abilities to have no range π
You could duplicate the source, get a new token.actor to the scene, and make it so when it attacks the relevant resources and attack mods are used!
interesting project
You could also have a warpgate summon an invisible version of himself, hidden under the echo token, so the ranges work
I might have to, problem is β he's a polearm master and the most iffy about range... he's the main reason we use range checking lol
there is even a midi setting that lets him see it and move it lol
Is it same Initiative?
Yup
Straight X2
This sounds the most elegant if I can find a way to get it working... sounds like World Script shenanigans?
Could be without the need of a world script π€
still v9correct?
One idea for the echo... Use a warpgate macro to spawn a copy, then use a hook to monitor that sheet for any changes (excluding HP) and mirror those changes back to the main one
Similar to what MIDI does with Warding Bond
This falls into the category of something we've discussed with HB before on WG... the ability to have the summons use resources from the originating actor, I'm pretty sure it's on his radar
Something like this could work maybe... feels very hacky tho. I do wonder if I do a warpgate summons of yourself with mutations, it might actually just work?? Like would the original player token actually also have its HP and AC updated? Or would everything just break... some kind of paradox
Spiderman meme comes to mind, afaik the warpgate summons are unlinked
Yeah makes sense
Gah it gets messy real quick β eg. if the PC is blessed, the attacks from the echo should benefit too. I guess disabling range check is the only legit solution π©
I dunno, I think legit dropping a hidden duplicate, not warpgate shenanigans, but actual hidden midi setting viewable by the player, might actually break the range requirement
the token would be linked, but invisible to everyone but them
eh, disabling the ranges on all his abilities is probably just 10x easier and less prone to bugs
Yeah it's going to be nightmarish with Twilight Sanctuary etc.. gah, why they do this to me
I wonder if I could get a macro that disables ranges on his weapons only when the echo is out
Pretty sure echos are "objects" in dnd and would not benefit from that aura
mercerbrew is really weird
exactly
I'm more worried about the fact that its immune to fireballs damage and how to pull that off ingame
its basically like a mirror image illusion, if hit, dies, if in aoe, doesn't die
Also pro tip if you are the DM, make illusion magic fun for your players, and I include the echos in that personally. Make dumb creatures waste their time on them.
yeah it's pretty wack... there's a whole FAQ on how to handle its various idiosyncracies
That would be pretty easy with Warpgate
It'd have to be updated everytime the sheet changed, I think just manually handling things is gonna be better
let relevantItems = actor.items.filter(item => item.type === "weapon");
let mutations = {};
relevantItems.forEach(item => {
mutations[item.name] = {
data: {
range: {
value: null
}
}
};
});
const updates = {
embedded: {
Item: mutations
}
}
await warpgate.mutate(token.document, updates, {}, {comparisonKeys: {Item: 'name'}});
Untested, but I don't see why it wouldn't work @coarse mesa π
Omg I forgot all about a reallyh weird bug with dice tray last night. If you have anything pending, like advantage/disadvantage, or crit/normal popouts, or even resource selection, and you then try to /roll something or use the dice tray roll button, it fastforwards whatevers pending and finishes all pending workflows.
Obviously needs to be executed as a MIDI macro, let me fix that
Thanks I'll have a play with this!
Last night i was handling Mirror image manually, and I'd pause everyones stuff mid attack, and ask them to roll a d20, and it would CONSTANTLY finish workflows that were pending a response from the player.
Yikes, I was thinking about grabbing Mirror Image... maybe not now
I think ASE has one that works with MIDI, too bad its not updated to V10
Its not really a macro or anything causing it, its that the roll button in dice tray, will just start midi's fast forward or something
anything pending, just rolls when you try to do something with it
Iβm not super confident with WG but I assume Iβd be able to summon the echo (like spiritual weapon), make these mutations to the player token, and both would be dismissed/reverted if the AE is removed?
It won't be automatically, you will have to link the AE somehow to the token/the mutation
I'm currently updating all my shit and I've found easy ways to get around defining data and system
Warp gate
Was just thinking I could maybe just extend his range to 40' β since the echo needs to be within 30' and he's using a halberd
I forget if the image can be attacked
Yeah it can
there is a later feature where it has endless range
the easiest explanation is that an echo is bacially one of the illusions in mirror image, it can't get hit by aoes' but a singular hit erases it, not attack, hit.
I person would make a set of abilities as shortcuts to the image on the primary actor, so you don't have to open its sheet
But yeah on the shortcuts no range defined, but on the token define the ranges
Good call, that's probably the easiest solution β dupe all his attacks and make them 'echo' versions
Spawning the token of a linked actor spawns... a linked actor's token.
actor.itemTypes.weapon
Based on an old macro before I learned about that π
spawning a linked token makes the 'Dismiss' header button permanent, however. I don't advise it.
Yeah it all sounds a bit dicey to me... might pursue that at a later stage but I think Crymic has hit on the least painful solution for the time being
telling the player, "too much work, you do it"? yeah I agree
I turn on that dismiss button 100% juust to give the players the ability to delete themselves
"see yourself out" π
It's a core permission in v10
'Go dismiss yourself.'
For some reason I can't change the damage of the Flaming Sphere MQ0.8.85 + warpgate spell that comes with the MidiQOL Sample Items. I'm hoping to downscale it from 2d6 to 2d4. The spell damage isn't set in the forms, it's set in the macro. I've edited the macro in three places that reference damage and refreshed. It makes no diff. It seems impossible, but Foundry keeps rolling 2d6. Any idea what could be causing it? I've edited the spell on the PC and in items folder.
"damage":{"parts":[["2d4","fire"]]
damageRoll=${args[0].spellLevel}d4
"data.damage.parts": [[${args[0].spellLevel}d4, "fire"]]
That Flaming Sphere version creates an actor on the sidebar when you first cast it, iirc
You will need to either delete said actor, so that the modified spell can create a new one with the correct damage on the attack, or go and change the damage parts on that actor.
Going off memory here, as it is for v9, correct?
I deleted the spell actor, refreshed, recast, and it's still rolling 2d6. I'm on v9
Can you post the changed macro as is? You could exclude everything between const jsonData = JSON.parse till the await MidiQOL.socket().executeAsGM("createActor", {actorData: jsonData});
The one that you are using from the PC
just dump it right here?
You can upload it as a file using the + to the left of the message input field. Name it as something.js
I'm having an issue with automated saving throws. I have one player trying to cast Light on a friendly PC but it's auto-rolling the saving throw to prevent the effect. I can't seem to find the setting that is auto-rolling saving throws against friendly effects.
Its in the MidiQOL readme, here: https://gitlab.com/tposney/midi-qol#item-description-text-and-saving-throws
Then a Midi setting. In Midi settings => Workflow Settings => Workflow tab
The last checkbox π
Thanks. I looked through it but must have overlooked that option.
easy to miss as there is a plethora of choices in there π
Ahh, I see the problem. It's an issue with the spell itself. The checkbox was the key but it looks like the spell doesn't have the right keywords to auto fail the save.
I just double checked everything and it's still rolling 2d6. The flaming sphere actor has a "Flaming Sphere Damage" attack. But editing it, there's no damage specified anywhere and the macro is empty
And that is the one is one the item that is used to actually cast the spell? Hmm
Yeah
Oh wait, there is a damage formula on the actor
2d6 Fire
Still strange that the actor is being created with that damage
did you drag out a jb2a actor of flaming sphere?
That is for some reason in the JSON of the flaming sphere MidiQOL embedded actor
damage":{"parts":[["2d6","fire"]]
Jesus H Christ, it's still rolling 2d6
are you using combat booster or argon to attack/use flaming sphere?
Does the actor's item have an Action Type
But still you mutate the spawned one after the fact.
It (the action) still should be called "Flaming Sphere Damage"
I'm using Token Action HUD to launch the spell
I had a very similar problem to this guys issue with spiritual weapon a while back and it was a combination of using one of jb2a's actors+rippers combatboosters interaction with unlinked tokens that would prevent me from actually using the warpgate modded attack.
it wasn't until I stripped the jb2a actor of the bogus similar named attack that I got it all working right
Do you use the ItemMacro integration setting of Token Action HUD?
Can you check for errors in console?
@violet meadow I used the macro and it isn't working ;3;
replaced the thing for V10
Re item macro integration, it's set to "Show both original item and macro item"
don't use the module, use the actual sheet to cast it
Just use the original item if you use MidiQOL to be safe
rule it in or out, then find a solution for TAH
In otherwords just don't click the same Item with a small (M) in TAH
or set the setting to original item only.
But yeah try it from the sheet
link me the post again?
is the actor in the sidebar actually a jb2a flaming sphere? cause their naming scheme is off from the warpgate macros floated around here, you will have 2 different abilities on the canvas actor and things like TAH and combat booster will point to the wrong ability
Share a screenshot of how did you set up the DAE on the feature
And are you in combat?
token in a Midi macro? π€
And the Details tab?
I set TAH to "original item only". No diff. Foundry rolls 2d6.
I cast the spell from the character sheet. No diff.
Click the transfer to actor on item equip
doesn't that put the effect on the source?
wait, missed a step
yeah its defined as per normal macros
are you on v9?
oof misremembering the macro. give me a sec
Ok, I deleted the spell actor and cast from the character sheet. No diff. Foundry rolls 2d6.
Could there be a second Flaming Sphere actor on the sidebar?
if you are on v9, send the spell and the actor to me and I'll test it on my build
are you still looking at the sheet that you used Deepfried?
did the sheet you cast the spell off of have a "prototype" label on the top bar?
I suspect this is unlinked shenanigans
I'm on v 9
No "prototype" on the sheet top bar
yeah, is the sheet an npc or a player character?
I think you are playing with unlinked actors
It's Sharwyn Hucrele from the boss fight in Sunless Citadel
does midi's item work on npcs?
sure
Only thing that matters is if it is linked or not
well regardless, your mistake is probably that the npc is an unlinked actor and you keep mis identifying what sheet you are editing
Could be a vehicle for all it matters
send me the actor whose casting the spell, and send me your flaming sphere sidebar actor
Does TAH behave like combat booster where it seeks out the stuff on the proto actor instead of the canvas actor?
or it could be that you were editing the proto actor and TAH is casting the canvas actors flaming sphere stuff
Just make the boss a linked token.
yeah, that too, if its a unique actor, double right click the token and link him
Probably you are updating the spell on the sidebar actor
And that doesn't do it for the synthetic token.actor
yeah and the canvas dudes just sittin there rockin the old stuff
And the macro is in a script macro named BloatedAgony?
I found the original Sharwyn Hucrele and she's using the old spell. I thought prototype only applied to tokens. Why do I have two versions of Sharwyn? Sorry, relatively new to Foundry.
when an actor is unlinked to his token, everytime you lay down a token, its a special instance of him that is indepdent of the sidebar actor that starts out with whatever is one hte sidebar guy at the time of creation, useful for things like hoards of skeletons, bad for unique npcs
bad for players more so, always link your players for sure
to link an actor, go to the prototype and link the actor data in the first tab of the token settings, if theres already an instance of him out there and you want him to update to the sidebar actor, double right click the token on the canvas and in the first tab link the actor data and suddenly you are accessing the sidebar version of him
yep
there are a few modules that really get weird with linked and unlinked tokens, argon combat hud, combat booster, and I thought...maybe TAH but maybe not, but I think thats irrelevant, I think your problem was you were editing X expecting Y to update as well.
Does the Effect get created on the target?
Until you check that box, X and Y are not going to change when one is changed.
you do NOT want to link actors meant to be used alot like skeleton, priest, zombie, gnoll. But totally link Halaster Blackcloak and your player characters.
You mean open Sharwyn from her entry in the actor folder, click "Prototype Token", click "Assign Token"?? Not sure what to click where
is he already on the map?
Yup
double right click his token on the map, the first tab should have a checkbox for "link actor data" or something like that
when you do that, he suddenly reflects whatever the sidebar version of him has
THEN, go to the sidebar version of him, and edit the 2d6's to be 2d4's
but I hope you understand you don't want all of your actors to be linked, just unique people like bbeg's and your players characters, cause unlinked actors are a great resource for a DM usually
And the target is in an active combat.
Attacks twice with a melee or ranged weapon or spell?
During the second attack there should be a damage roll that damages themselves
Make two attacks on their turn
And open the console. Any errors?
do I keep the 'transfer effect on equip'?
nope, wrong feature in mind
hm it's not transferring the effect
should it have a duration outside of the special duration?
Wow. STILL not working. I deleted the spell actor and double-checked that there's no other copy. I double-checked the macro on both the token and the actor. I linked the token. I refreshed. Cast spell from the character sheet. Foundry rolled 2d6.
Export and send me the Bloated Agony item to take a look
not doing anything :c
Delete the spell from the now linked actor and make sure to drag the modified spell on the character sheet again
How do I attach an actor and a spell?
the named npc in the sidebar on the right, right click him, export to file, drag and drop the file here(if you gave discord admin rights you can't drag and drop files till you launch discord normally). For the spell, if its just the v9 flaming sphere you don't need to send it.
every babonus update is such a chonker π©
ok first off, @fierce birch are you by chance using MRE or BR?
No modules with those initials
Why does flaming sphere create the whole actor instead of just modify?
in your sidebar, theres a search at the top, put in that search entry "sphere" and do you have multiple actors called Flaming Sphere?
Nope. I've triple checked. When I cast the spell, it creates an actor doing 2d6.
When I just casted it, it created an actor with a 2d4 damage sphere
without editing anything
delete the actor on your canvas, drag out your actual sidebar actor and cast the sphere spell from the character sheet
2d6 again
Wow
so the problem is somewhere in your session, disable all modules except warpgate and midi, if it persists even with just those two active, then the problem is probably user error maybe?
I don't remember the flaming sphere macro being this huge, but I checked my own and it infact does create the actor from scratch with every entry imagineable. The spiritual weapon macro doesn't do this, weird.
its important that you try to filter out the unimportant stuff, so don't use TAH, use the actual character sheet, but also, if Hucrele is on the map somewhere already, delete her there, and drag out the actor in the side bar to the map into that spot again, THEN double click her token, cast the spell from that sheet.
Make sure you still aren't handling a wonky messed up canvas actor. get rid of it and work with just the one you sent me.
is the actor prototype token set a linked or unlinked?
make sure linked is unchecked
why unchecked lol we just told him to check it, its a unique actor
badonkadonkus
Pretty sure their issue was that their canvas actor was a version of her before they edited the macro, and assumed it was linked when it wasn't and was trying to cast with the old canvas actor
If you link an actor, via double clicking the token on the map, does that update the sidebar with the canvas's version or vice versa?
omg. omg. omg. still rolling 2d6. Something is fucked up in my Foundry for sure. I tried Find the Culprit but the spell did no damage. I'll try again but leave Active Auras enabled.
what?
flaming sphere is an active aura....wait a minute here
yeah that shouldn't be happening, you got something else doing an aura
oh yeah, there ya go, thats an error for me, its not making the active aura in my build. /shrug
I see it in the item macro but its not makin it
I just tried Find the Culprit and it concluded the problem is in midi, warp gate or active auras
what is doing the damage, is it in combat at the end of a turn, or when you roll the attack on the item?
end of target's turn
cause when I roll the attack on the item, its 2d4 fire, but my items not making an active aura, theres no AE on the sphere
Wasn't in combat
This is insane. It must be some form of caching.
What are the versions of your midi, dae, warpgate, active auras, foundry vtt build, and dnd5e system?
The most current is not a right answer
can't you just console.log the uuid of the item whose damage is being rolled and get it over with
the item he sent me works out of the gate, no problem, its his session thats broken
no lol, Foundry can't cache a damage formula
good evening all. For midi-qol (god tier module) for 5e, v10, it appears that I cannot utilize the force critical damage via holding a key unless I turn off auto roll damage in workflow settings. Is this a bug or a feature? Or am I doing something wrong so that it does not work with auto roll damage as I had it doing so before
midi 0.9.76
dae 6.011
Warp gate 1.13.6
active auras 0.4.13
dunno what D&D system
why are you all attacking bugbears π©
I use bugbears in honor of you sir
but I also have a ghoul, cause ya need ta test undead too
Hes in your image:
dae sounds insanely old?
DAE MIDI Warpgate need updates
now I'm worried for the system version number lol
probably an issue as well
I'm using D&D5e 1.6.3
wait is active auras old? shit I need to update
nope
I think you might be thinking of kaelad's PR version?
I have none in mine and I'm using his imported item unchanged
F12 won't open the console. Something is fucked up.
wait a minute, he gave us the wrong dae
thats the latest of dae srd(also something that doesn't need to be installed anymore)
Dynamic Effects using Active Effects Version number is what we want
what browser are you using?
Running Foundry natively
It does say from Chat card only π€·
DAE SRD 6.0.01
DAE 0.10.26
that clarifies things
your midi and dae should be updated, the warpgate update is not that important but..while you are out there might as well
the goal here is to get you to the same point as me, cause I'm using your item and it works as you want it, without me doing anything
I think I'm using the last DAE SRD for v9
if updating doesn't fix it, then the next steps would be either someone watches you use it while screencapping, or we start deconstructing all of your active modules to find a conflict
or maybe I'm confusing DAE SRD with MIDI SRD
DAE SRD is not a module of any value, its dead, its not a module of actiion, its a module of stored premade items, that are all absorbed and updated in MIDI SRD instead. The DAE SRD is essentially useless unless you use that 1 or 2 items that midi srd doesn't have
but its important you understand that DAE SRD =/= Dynamic Effects Using Active Effects
works for me. Check if there are any conflicts
I am fast forwarding damage when trying this
okay let me run find the culprit
= / = means what?
they aren't the same thing
thanks
midi srd and dae srd are made by Kandashi, another author, and they are just a bunch of premade items that work with midi and dae
the actual modules that do the actual automation and cool stuff is Dynamic Effects using Active Effects and Midi-Qol
DAE SRD got kinda absorbed fully by Midi SRD
but regardless, update your midi qol, and your Dynamic Effects Using Active Effects and your Warpgate. Then you need to start the whole process from scratch.
by start from scratch I mean take that file you dragged and dropped here, and make a test actor, then right click that blank test actor and choose to import data, and find that file and import her. Then drag that new actor to a map, saddle up a few bad guys by her, and cast the flaming sphere while they are in combat.
and if you still don't have everything working, you need to think of possibly screensharing and having one of us watch you work, cause at this point we've ruled out everything but user error.
It worked! I've never been happier to see four-siders in my life!
Thanks so much for your help!
man you should have seen the relief this morning when Bugbear took over my issue with spiritual weapon, holy cow was that a rabbit hole that he found.
guess I'll search it.
Basically Actor On use macros have weird effects on some midi sample items
I have an actor on use macro made by Chris here, for Circle of Mortality, that just its presence on the actor, adversely effects the midi sample item for Spiritual weapon on just that one actor where it fails to properly read data.
nothing the macro does is bad, its just the fact there is any actor on use macros is throwing it all for a loop
And I credit bugbear with that find, I was resigned to remaking the actor and he showed up out of the blue and saved me from a headache
I'm really glad you were here to troubleshoot. It's only our second Foundry game and the first use of an aura. It's such a cool effect, I didn't want to lose it.
I'm impressed you got to the bottom in one session, my group took 4 to get there, they wasted too much time in the town lol
We played two sessions of Sunless C before we switched to Foundry.
I'm amazed at how it speeds combat. Seven player characters. Automation's been a big win so far.
hmm one thing I am noticing in the console that I am getting a ton of warning per item I use
Error: You are accessing the Item5e#data object which is no longer used. Since V10 the Document class and its contained DataModel are merged into a combined data structure. You should now reference keys which were previously contained within the data object directly.
maybe you got some data.data's where sytem should be in whatever you are trying to fix?
okay so running just midi and still can't get the auto crit button to work off the chat card unless auto damage roll is cut off
hmm
are you also on v10?
his v9 is a mothball, I'd assume yes
I tried on v10 yes.
Fact forward damage was on.
Auto roll damage was set to Never
You need to press the keybind while clinking on the Damage(Fast) button
Not while attacking
Isn't there also a catch that you have to hold it down all throughout DSN roll if your settings are weird with DSN and Midi where it withholds till the dice roll?
Yeah there is a change in last midi v10
Ah okay I got you I thought you said auto roll damage was set on
with it off it will do the auto crit
now the question is which do I value more
one press on tokens in battle or the occasional auto crit
I FF and auto roll everything so π€· π
Even auto apply damage.
In MidiQol we trust
I'm wondering if there is some clever trick to make this f'ing echo not a creature? So it won't be included as a target in AoEs etc...
I vaguely recall some rumour about a special creature type that stops it from being targeted?
make it immune to all damage and manually delete it when its hit
yeah honestly it is fast for me to do the crit as I do max crit dice variant
the echo knight's echo?
but can't it get hit in aoes though?
yeah, setting it up now.... apparently not, it's not a creature
it's an object
most AoEs only damage creatures
We typically run with JC rulings: https://twitter.com/jeremyecrawford/status/1240669629661380609?lang=en
An Echo Knight's echo is an object. It's a translucent, gray image that occupies space; it isn't a creature; and it can be targeted. Object.
It's like you're targeting a moving painting or a hologram with substance. #DnD
235
spawn a copy of himself, then unlink the token?
ah
This was my first thought, but it wouldn't use slots for smites and benefit from Bless etc cast on the primary actor
everything but the...HP and...AC? are the same?
I would seriously think of using that midi experimental setting of letting them control an invisible version of themselves, cause if the actors linked then I think midi reads the closest one with range detection
I think I just made a helper actor with 1 hit point
surprised they never errated EGW
but meh
But really, just blank out the paladins ranges on all his stuff, why fret over a table of friends goofin off
It's kinda tricky, you make your own attacks but they can originate from the space of the echo
THey don't need to errata it because if it doesn't have a statblock, its not a creature
nor is it an object by the way it is written
its written exactly the same as the entries for walls and doors, which are objects π
what about a fireballs text says it induces saves on objects?
The fire spreads around corners. It ignites flammable objects in the area that aren't being worn or carried.****
and does it say the echo is flammable?
since it is defined as object by the "ruling" the echo is flamable
not all objects are flammable
but rule things how you want at your table
It's on fire but fire damage isn't defined π€·ββοΈ
yeah 5e be a very clear game
its not on fire because its "Immune to all conditions"
Burning should be a condition
It's right there in core
but listen, say what you got to say to get your super echo
I'm not fizzed about it, to say the least
if a DM opened up impovised damage and also refered to object details on the DMG with respect to the echo it would also make sense
Honestly, Not a fan of mercerbrew because of these bad wordings
Our DM greenlit it... so I have to obey
I mean, I'm okay with it, I'm not okay with WOTC not doing their editing job
that lv 7 feature needs tweaking as well to work like familiar sight but hey that's 5e
but if you insert phrases that don't exist to justify a ruling, and its purposely done to make things fun, thats ok, if its done to dampen the fun, in my book...thats kinda not cool. We're here to have fun.
Trust me, there are more way more rules as written definitive reasons to hate the echo than its immunity to fire damage
spell details what happens to object. DMG has rules on improvised damage and objects
wait till you get the endless range echo that runs and triggers all the traps in every dungeon
also it just comes back on a ba
so not much fun is lost
believe me, I played for an echo knight player where the echo was treated as a creature, that lad had a blast and that echo did work
I treat an echo like an illusion, specifically one of the mirror image illusions, I will give them the joy of a spoiled turn for a monster who goes after the echo, but I will not let the echo interact with objects, it weighs nothing, and its an object.
but I would also weed out the exploitative player in the interview process before anyone ever thought of using an echo knight at my table.
yeah that's the same rationale I'm going with
it can also move straight up in the air 
not many features require this level of explanation: https://www.dndbeyond.com/forums/class-forums/fighter/64918-an-echo-knight-faq-frequently-asked-questions
I mean it still has nothing on Prestidigitation
that level 0 cantrip can go to hell lol
?
If there is anything in this game that has benefitted from the rule of cool more, its Prestidigitation in my games lol. I wanna say no, but ya just can't, its that badly worded.
Three of my players have prestidigitation I think, and it has probably been used exactly once in 20 months. What's the issue there
I guess I just have really creative players.
you sure you just not letting the spell punch way higher than its paygrade?
Its entire description can be boiled down to: "you don't need to buy toiletpaper"
ngl I'd enjoy camping and such and be able to self clean
still wouldn't beat a nice bath after all the exploring
I do like presti's hidden uses
like undead/mimic detection
Same could be said with Mage Hand
get out
I'm calling a moderator
God help us if you use Bigby's hand
I'm taking the Telekinetic feat or making a githyanki just so I can correct a wedgy without anyone noticing
Would mean more surface area for cleaning
as long as no one is playing a warlock
Can also detect mimics with Eldritch Blast, since you can't target objects...
true
god that is such a dndshorts meme, I literally filter people out by asking them questions like these lol
ngl some spells only affecting creatures causes some wryyy moments
what is up with the object safety being on half the time
Do you let spells go through windows Glass?
Hand on heart, am playing a warlock and I'd never stoop that low
Bad wording and bad twitter rulings by bad people.
Just let them fire away in the tavern or whatever. Magically everything they hit is now a mimic
What if their patron didn't give them Eldritch Blast, but instead a Mimic Maker ray
This is also one of the idiotic things I hope get fixed in 5.5
pressing x to doubt there but time will tell
they still didn't fix the invisible condition jank
Was just about to say that, they're actually leaning into it
yep it boils down to "if it is unclear or unwieldy? gut it"
You hand them a ladder, but they love their shovels.
like UMD and Countercharm
flags.midi-qol.OverTime
For this, is it possible for a passed save to only remove a single stack, instead of the entire stack?
might be better off with a standard DAE macro with each
Thanks, I found a way of doing it though, fortunately as I never have any clue with macros haha
With the 'stacks' mechanic, is there any way to actually limit the number of stacks?
Thanks for this the templates are placed like a charm! but somehow the targeting works only for the first template, all the templates that are places via warpgate dont target tokens.... maybe a wrong setting in my game?
Can you DM your MidiQOL settings to try it out?
Can you grab Walled Templates module and activate it?
You need something that auto-targets in templates drawn and MidiQOL will not extend that functionality to all places templates.
yeah sure will try that
Updated the initial post to include that too
df template enhancements is not v10 ready am i right?
give it a week or two and it should. But I am using Walled Templates and it's MidiQOL integrated too
ah ok i will try it out - thank you
Check the Walled Templates module settings for auto targeting and there is also an icon in the Measurement Controls sidebar.
Awesome yeah that works perfectly
Can you change the execution timing to postAttackRoll and try again with your settings?
Like BloatedAgony,postAttackRoll instead of BloatedAgony,postActiveEffects.
Can anyone confirm if system.attributes.encumbrance.max has been removed in v10? I used to use it to modify my player's max encumbrance with multiply, but the entire attribute is not popping up any more
Still there π€ .
Doesn't sound like a MidiQOL issue.
I guess you're using DAE? Maybe your DAE is not updated?
What's your system version?
You were completely right! π« DAE uninstalled when I updated to v10 so it didn't get an update. Thank you so much!
Make sure that your dnd5e system is updated too. v2.0.3 is that newset one for v10 Foundry.
The latest versions of DAE need this
I think dnd5e is now 2.0.4 isn't it?
Apparently people were just writing typos when talking about v10 earlier /shrug
@violet meadow I'm referring to this macro:
let results;
const attacker = canvas.tokens.get(args[0].tokenId);
const {object: target} = await fromUuid(args[0].hitTargetUuids[0]);
const skilltoberolled = target.actor.data.data.skills.ath.total < target.actor.data.data.skills.acr.total ? "acr" : "ath";
results = await game.MonksTokenBar.requestContestedRoll({
token:attacker,
request:'skill:ath'
},{
token: target,
request: `skill:${skilltoberolled}`
},{
silent:true,
fastForward:false,
flavor: `${target.name} tries to resist ${attacker.name}'s shove attempt`,
callback: async () => {
const attackerTotal = results.getFlag("monks-tokenbar", `token${attacker.id}`).total;
const targetTotal = results.getFlag("monks-tokenbar", `token${target.id}`).total;
if (attackerTotal >= targetTotal) {
if(!game.dfreds.effectInterface.hasEffectApplied('Prone', target.actor.uuid)) {
await game.dfreds.effectInterface.addEffect({ effectName: 'Prone', uuid: target.actor.uuid});
ui.notifications.info(`${attacker.name} shoves ${target.name} to the ground`)
}
}
else ui.notifications.info(`${target.name} resists the shove attempt from ${attacker.name}`)
}
});
It only applies the condition if the DM is using it.
They could probably take this macr, chop off the condition, and insert a damage workflow for midi
Indeed ```js
await MidiQOL.applyTokenDamage( [{type: "piercing", damage: 3}], 3, new Set([target]), null, new Set(),{});
So the issue was it didn't fastForward correctly for nonGMs?
We had discussed about it at some point iirc π€
I don't think it even works with fast forward on. weirdness ensues.
it just only ever works when the GM is firing it
but I don't need that fixed, I'm just suggesting that for the guy with the battlerager armor
chop off the condition, add in a damage workflow
I just apply the conditions manually in my world
it works now!
thankye :3333
Yeah it didn't occur to me to check for other MidiQOL settings.
For you now it happens as soon as the Attack is Rolled
I was waiting for the workflow to complete (almost)
also
Is there a simple way to make the Amplified effect?
eg. lasts a minute?
simply changing the special duration to 60 sec. would work?
Yes. And delete the Special Duration from the DAE
Hmm was there something else in the Amplify?
Ah yes that was it. You can create an OverTime effect in v10 that gets rid of the condition too, easily. Check the pinned message from tposney in here.
I want to have easy drag and drop modifiers. Scaling mod.
A = max 4 from stat
B = max 3 from stat
C = max 2 from stat
D = max 1 from stat
F = max 0 from stat
Current code below that I use in weapon to hit and damage mods.
Dex |C| & Str |D|
'min(2,@abilities.dex.mod) + min(1,@abilities.str.mod)'
I want to make each "Scaling Mod" an effect I can have on weapons so I can quick drag and drop from a list. For quicker weapon building and for simplisty over using the formula modified on every weapon.
Any idea how to do this with midi qol or to set an easy drag and drop effect?
If i parse this correctly (big if), you could create some logic on Actor onUse Midi Macros.
When an item with a specific identifier (eg.name or item properties like twohanded etc) is rolled from the Actor, you automate the damage formulas change based on specific switch cases.
This can be done for instance by creatin a feature that you will give to all actors on your world and which will add a macro which will deal with whatever case you need accounting for when rolling the item for attack.
Need help with Midi QOL in V10. Auto dmg doesn't work. In my conf the player and I must push the button to throw dmg dices. But when we roll the token does not receive dmg
and if I put auto roll DMG the dmg recibed by the token and rolled are different
What's your settings under the Workflow category? Down by the damage area, specifically
what I want is:
Need to press Damage button to apply dmg to tokens
not auto apply dmg when roll attack
Have you tested with other tokens? The fact that the damage is different to what the token is receiving makes me think the 'display the player damage card' is triggering, can you create a fresh actor and test on that?
Just in case there's some hidden effect altering the damage
ok
nope
same happens
is like
dmg dealt and dmg roll
are different
like differents rolls
I m using Ready set roll module
wit mid QOL
midi must be used alone?ΒΏ
but them its imposible to avoid this dialog windows before rolls?
yes
Turn on fast forward in midi to skip those
They are totally incompatible for now in v10
Do not use together
I mean, Posney did say that they are supposed to be somewhat compatible, but I don't see why you would need Ready Set Roll to get what you are looking for? It should be entirely possible with just MIDI
Anyway, I have a question of my own, cause I feel like I'm going crazy. I have the following setup for an ability, which is supposed to apply 1 effect to the target and 1 effect to the caster. But as you can see in the image for some reason it applies both effects to the target and 1 to the caster π€
I feel like it should be possible, but I am not sure why its being wrong.
I would suggest not to use MidiQOL and RSR modules until at least it's confirmed that they are compatible.
Or exactly what is and what isn't.
There is an open issue by tposney without more info for the time being.
It will better serve troubleshooting on the long run, the one or the other hard stance imho π
https://gitlab.com/tposney/midi-qol/-/issues/997
v10 or 9?
V10, took the jump and updated π
Isn't that a bug in v10 rn?
Not spotting it at a glance in the tracker
OK it was in DAE (but ended up being a user error? π€· )
What's your DAE version?
and dnd5e version?
2.0.3, 10.0.9
Oh, I wonder if I have broken manifest, did an update all earlier today
10.0.15
Do you see this in console?
me again :P, dont know if this is fault of MidiQOL but in my game Private attack rolls donst show
Hmm, nope π€
individual rolls are showing
like /r 1d20 but if I make attack roll from a sheet this donst show
OK that is when you add conditions using the + in DAE window
So there are some issues there anyways π
really hide is disabled
What about if you click Workflow settings and then GM tab, in the bottom
ok
nope
maybe something with that merged card?
this merged card I mean
nope
really idk what is hidding my rolls :/
only show in public
Find the culprit, my money is on combining rollers, or some new v10 chat enhancement module. DF chat enhancements notoriously did this in v9 but afaik DF's stuff isn't v10 ready yet so look in that direction with some new v10 stuff.
are you an assistant GM or a GM
is the GM not able to see, or the player? cause you didn't say public at all there...
player
well make it public lol
Me as DM want to roll dices and in the Player screen show this
instead of that
the player see nothing
man we need to link back to this subject it comes up so much
I know I can put in public
but I want to hide the roll numbers but still showing a message
Super needs to make a ghost busters meme for DSN and Private midi rolls
Can someone help me understand this Midi-QOL macro? It's from the "Devil's Glaive"
const version = "0.9.52";
try {
const lastArg = args[args.length-1];
if (args[0] === "on") {
let target = canvas.tokens.get(args[3]);
let flag = DAE.getFlag(target, "infernal-wounds") || {hookId: 0, woundCount: 0};
console.error("fetching flag ", target.id, flag);
flag.woundCount = flag.woundCount + 1;
if (!flag.hookId) {
console.error("hookId not set");
flag.hookId = Hooks.on("deleteActiveEffect", (actor, effectId) => {
console.error("Resetting wound count");
if (effectId === lastArg.effectId)
DAE.unsetFlag(tactor, "infernal-wounds");
})
}
DAE.setFlag(target, "infernal-wounds", flag);
} else if (args[0] === "each") {
let tactor;
let ttoken = canvas.tokens.get(lastArg.tokenId);
if (ttoken) tactor = ttoken.actor;
else tactor = game.actors.get(lastArg.actorId);
let damageItem = Item.createOwned(game.items.getName("Infernal Wound"), tactor);
let saveTargets = game.user.targets;
game.user.targets = new Set([ttoken]);
let hookId = Hooks.once("midi-qol.RollComplete", (workflow) => {
if (workflow.saves.has(ttoken)) {
tactor.deleteEmbeddedEntity("ActiveEffect", lastArg.efData._id);
}
})
try {
damageItem.roll();
let flag = DAE.getFlag(ttoken, "infernal-wounds") || {hookId: 0, woundCount: 1};
} finally {
game.user.targets = saveTargets;
}
} else if (args[0] === "off") {
// do any clean up
}
} catch (err) {
console.error(`${args[0].itemData.name} - Devil's Glaive ${version}`, err);
}```
I like that it doesn't duplicate an active effect, but stacks it with a number.
I want to do that with another custom active effect I named "Bleed"
What's the exact issue (don't use DSN) so I can update it
I dunno exactly I never follow it cause its not gamebreaking, its just not something that midi and dsn do well together
DSN settings, this maybe ?
nah I don't think midi does what they want is ultimately the problem, this happens atleast once a week, someone comes here demanding the core ??? method and midi just don't do it.
It's setting a flag to count the stacks. I actually think this could be updated to use stackCounts instead.
for this tests I disabled Dice so nice
cause is anoying see a lot of 3d dice rolling
the alternative, is to have DSN, and let DSN roll ? dice but no chat output by midi
or, use another roller
if you set rolls to private/ blind/ self, players will never see them, no matter the DSN or MIDI settings, need to change to public then go into midi/ DSN and mess around
DSN is able to throw phantom dice though
thats the only chance at midi alerting players of rolls that I'm aware of
Would you be able to update it?
I think also ifyou havesounds on, they hear the dice rolls
or maybe thats just discord picking up my mic, I forget why they hear me
What is it you want to do? Just be able to do something depending on an active effect with stacking enabled?
(also v9 or v10)
dice sounds are always on, unless you use a module to turn them off (or turn down interface).. no different then sitting at a table, you hear the GM roll dice behind the screen
yeah they gotta hear cause they constantly tell me I'm rolling privately when I start out every night forgetting about it.
You might need to create an issue on MidiQOL for tposney to chime in.
MidiQOL seems to hide all ChatMessages for some reason
Game System: DND 5E
Foundry Version: v9
I have a feature called "Blood Strike"
When used, it triggers an active effect called "Bleed"
I used it twice, so it gave the wolf 2 bleed icons (Seen on the screenshot)
I'm looking for a macro thats basically
"If the active effect is already on a target, it creates a stack. With a number notifier on it to show how many stacks there are."
I hope that atleast kinda makes sense.
Hmm, the number is a module, isn't it? I actually remember wanting to do this very thing and I ended up giving up lmao. What's the module?
The number comes from: https://gitlab.com/woodentavern/status-icon-counters
Alright, how are you triggering the macro? Through a midi feature? Manually?
Status Icon Counters shows a macro example, so we need to define a token to check on and an iconPath of your bleeding condition there.
let counter = EffectCounter.findCounter(token, iconPath);
await counter.setValue(counter.getValue() + 1);```
Midi QOL and this mod seem to maybe have some synergy, because if you use the Devil's Glaive ( which has the macro I posted above)
When you apply the active effect from that weapon multiple times, it creates a "stack" with the correct number on it.
So the effect will have a "3" on it, instead of 3 effects with a "1" on it
Also I'm triggering it through an Item Macro
If you are triggering through itemmacro midi cannot do anything
It needs to be executed through midis workflow
Do you mean triggering it through a feature with an embedded item macro?
Or do you specifically run an item macro instead of rolling an item?
Through the Item Macro mod
https://foundryvtt.com/packages/itemacro
Item Macro, a Module for Foundry Virtual Tabletop
I used Convenient Effects to turn the "Bleed" active effect into a "condition" (Like Paralyzed, Prone, etc)
So I could trigger it through an active effect instead, if that helps (example in the screenshot)
you would check if the target has the AE prior to application, if so, increment the stack count rather than adding another
This workflow seems a little awkward for integration of midi. If you have DFred and an effect in there already, you can just name the effect Blood Strike instead and it will apply. Do you have more bleeds in your game than just this one feature?
This is a screenshot of v10 settings but this setting exists in v9* as well
You do not need to macro it
Oh interesting
I'll check that out
And nope. Only one bleed
In response to:
Do you have more bleeds in your game than just this one feature?
Okay, then we can cross that bridge when we get to it, one sec, let me check if CE automatically gets stackCount on it from DAE
Hmm, I will have to eat my words on that one. CE's applied that way do not seem to stack, despite having the option selected.
β³
If you don't have another feature than this that uses Bleed, I'd just create it on the feature itself. That will deal with the stacking on its' own and if Status Icon Counters (like you mentioned) has that integrated already, your problem is solved.
So in here, I mean.
Why not just use stack increase from the details tab of an AE? also using ##stackCount instead of @stackCount wherever you need it
Is there an easy trigger now for dealing damage to specific creature type?
(I used to use a macro for checking for undead, then dealing extra damage based on that) but I know theres been a lot of changes
You can use the activation condition and other damage sections
Activation Condition seems the simplest if you can spare the field. raceOrType.includes("dragon") for instance
or this ['fiend', 'undead'].includes('@raceOrType')
Thanks! If it's taken is there any other "easy" way?
If it's possible, combine your conditions with && (example in the compendium with Dragon Slayer Longsword), else I think you're back on the macro train.
can && work in activation conditions or just macros?
Same deal, just evaluates it as script to see if it's true or not, it's in that aforementioned example
Thanks! How does this trigger? I have an effect on the item that is suspended but it does not activate when the condition is met raceOrType.includes("undead")
I think this will work for now.
But how come @drifting plazackCount is not working?
Shown in the screenshot, I have 2 stacks of an effect that increases my "Hit bonus"
but instead of a +2, its a +1
Suspended on the item that's supposed to apply it? I don't think that's how that works
@ references from the counts on the source actor. ## refers to number of stacks of the actor who has that AE
(also throw a + in there just in case for later)
so if you're applying an effect that can stack from character A on character B, @ will reference stacks from character A which is 0
Also idk if that flag would work so you might also want the bonus to mwak/msak/etc
Is there an example of how this should work?
Oh nice that fixed it
Just don't have the effect on the item that's supposed to apply it be suspended, really.
What if it's an effect for the actor using the item?
Same, unless it's not a temporary effect?
Feature that targets Self, effect something like this not suspended should still only apply if Activation Condition evaluates to true when you have that box
If you find your actor immediately gets the effect when owning the feature, you need to uncheck "Transfer to actor on item equip" on the effect on the feature
Hmm so right now when actor A targets enemy B using the item the effect is not added to actor A as expected
Effect is a temporary effect on the item
Okay, so, the Activation Condition is evaluating the target, but it's supposed to create an effect on the user?
Yeah that was the hope
You're NEVER EASY, hmm, wonder if that's currently possible without macroing...
whats the activation condition?
If you miss, if they save, or if theres nonsense in the activation condition, it won't transfer
I confirmed the activation codition is working (checking if they are undead)
SORRY π
Screw this, I'm cheating.
@gilded yacht Hey, is it possible for an item's activation condition to evaluate a target, but for the effect activations to apply the user without use of macros? Bonus question: can I peek how activation condition evaluated in args anywhere?
if its not transferring, how do you know its evaluating true with that setting?
there are numerous sample items that do what you just pinged tim for
What is the activation condition? and screenshot the npc sheet that you are hitting with the weapon
Well numerous v9 sample items, I have no clue about v10
Yes you can use @target
What do you need to check?
I added "other damage" with activation on active condition in the midi-qol settings
I have two targets - and confirmed my activation codition works only on the one I want
I can't make the effect apply to the user of the item instead.
Even using @target
v10 testing here mind
Ah I now understand. Sounds ... not possible π€
Peer reviewed studies help immensely
@short aurora wait, do you need to apply to target or source depending on something on the target?
Yeah, I'm just helping Vestium, but that's what they're doing
Or always on self if the target has a condition>
Not sure what you mean π
Show your work
Apply on Self when Item is rolled appears to be a bit buggy at the moment
Always on self if the activation condition evaluates to true
I feel the same, I can't get it to do it
Try without an activation condition
this could be as simple as a typo in the activation condition, Occam's Razor
Works without activation condition, the work is @target.details.type.value.includes("dragon") and "@target.details.type.value".includes("dragon")
so lifted straight from the doc
no equals?
whoops, I copy pasted that wrong
If you have an effect that applies to target and another that applies to self when the same item is rolled, something is amiss
did he fix that bug yet? there was a v10 and v9 bug where two ae's, one set to self roll, other normal, would follow the top ones settings
['dragon'].includes('@raceOrType')
```?
I only have an effect that's to apply to the user, if activation condition == true
It's not - to be blunt I think you're missing what I'm trying to do
This π
Nah, no dice. Since it applies it without activation condition, I reckon it's evaluating somewhere wrong or not at all
hence my ping to the myth, the legend
My guess it's a bug
So the problem is its not applying when the activation condition has stuff in it right?
No - the problem is that the activation codition needs to apply to the user and not the target - and that part isn't working
It needs to evaluate the target and apply the effect to the user