#MidiQOL
1 messages · Page 34 of 1
is that a module?
and there is always the option of creating the divine smite feature as a level 1 spell
which would handle the "upcasting" innately
the problem with just making it a spell in midi, and this is only a minor problem, is that it becomes 2 instances of damage, for concentration management
Thanks for this. Essentially gave one of my characters a feat that lets them swap places with someone else
Trying to figure out how to implement that
I personally make it an advantage reminder module entry so it all attaches to the same damage instance
Figured warpgate could do it, would just need to swap both character's positions
same idea, but you dont need to get the locations with the crosshairs 🙂
this is getting a bit too complicated for me, I'll ask my smarter friend who can show me 😛
the midi sample item also attaches it all into 1 instance I believe, but it always prompts the pally "Do you want to smite" even when they don't want to, so it is basically making fast forward redundant but to each their own, more than one way to skin a cat they say.
I mean, I havent quite figured out how to roll with advantage... Im used to it being hold down shift from better rolls xD
alt advantage, ctrl disadvantage
isn't that the same across all rollers?
ah that will be my project tonight!
ah, in better rolls its: shift advantage, ctrl disadvantage, alt alternate dmg / versatile
v for versatile damage
can I change these bindings for all players in midi?
make sure better rolls is didsabled, that module for some reason still shows up and gets in the gears of v10 foundry, its absolutely broken but if you leave it enabled you will have issues.
check the keybinds settings
I know shift is used for something in midi but idr what
I will endeavour to rid myself of better rolls 😄
shift forces normal/normal in the popouts
Don't use any roller modules with midi
do not use fast rolls, ready set roll, or roll groups with midi qol
or better rolls for 5e
and if for some reason you have managed to also install Minimal roll enhancements, don't use that either
bugbear missed it the other night, someone reported a problem with midi and it turned out the person had all the rollers installed
well cool guys, thanks for your help 🙂 Im sure I will be back..
You could have it apply an active effect on damage easily enough. Then set an expiry on healing, only issue is stacking. It will remove everything. So depends on if this is a 1 time debuff or not. Might be easier with a set of macros.
or maaybe just one last question... how do you make that flanking automation work? so it toggles the condition... is it on an enemy or the PC?
All settings are client side
Though I do recall seeing a module which allowed you to save them per client
depends on the rules you are using but usually midi+dfreds can pull this off easily
client side means for all players?
Configure controls or something like that
Each browser, different settings. Everything is stored locally via cookies
ok
Hmmm, so the stacking would be an issue. How it stacks right not is separately. Each wound is a separate effect. So it does not say wound(3) instead it says:
Wound
Wound
and so one. Will that still pose the same issue?
aren't your wounds just generic -1's to all skills/abilities/saves/attacks?
you might be able to automate your wounds with a world script on health percent
and then go back to using your hps for hps instead
Think a world script or click macro would better for this then setting expiry for healing.
You can filter the number of them, then remove the most recent one.
I'm pretty sure hes adapting from another game system where you take wound damage not just generic hp, so a worldscript could adjust active effects based on the percent of health right?
Sorry yes was afk, they are generic a wound is negative 1 to all rolls
each time they are hit 1 poitn of damage is 1 wound right?
I can think of a really janky way to pull this off but a macro could pull it off even easier
Well it is a gloppy right now, but the ride is getting smoother since I started asking questions lol
the janky way would be to make dfreds CE's exhaustions custom and edit them to be -1's to all rolls. Then have every weapon apply dfreds CE exhaustions.
oh wait we don't even need to use dfreds CE's exhaustion duh
dae or something allows for stacking
so yeah, make every weapon apply the same wound ae and have it stack
however you'lll need crymics method to heal it properly
actually
you could probably get a macro, that removes 1 wound or X wounds, if they knew that you were using stacking that would help so they don't try to remove the same named active effect.
if a heal spell heals for 4 points, then you could set an item macro to take the items roll, and remove that many active effects named X
I don't think you could ask macro polo, because you'd need to yoink the roll out of midi's workflow
well you could try but the guys who'd answer would lurk here more than there
this would be relatively simple world script territory
on preUpdateActor, check the updated HP vs the current HP, divide by 6, store it in the hooks options argument.
On updateActor, look for that flag and that the current user issued the update, if found, apply an AE as needed to that actor.
if its negative, you are instead removing some AE, or modifying a current one
yeah I think the worldscript would be a better way, this way you don't have to edit every single weapon you made
however (I don't know how to do what badger suggested). But I bet you macro polo could do that!
I dont know how to do what he said either but it looks like it would work just based off of the language he used
You could try taking it to #macro-polo and link to his post there. I might suggest the worldscripter module as I find its an easier way of deploying world scripts
@gilded yacht Is Damage Only Workflows correctly passing token information to levels cover? I'm getting a weird bug with covers getting passed a token document when it's expecting something else.
Cover is trying to do const baseZ = targetToken.document.elevation; but the TargetToken is already a token document. So TargetToken.document doesn't exist.
Alright so, if I want to reference the location of the currently targeted token. Do I do something like game.user.targets[0].value.x and y?
game.user.targets.first().x //and y
``` will give you the top left point of the square the target is currently in.
Is there like a primer or any documentation I can refer to, or did you guys learn by just reverse engineering everything?
console.log and poking around pretty much
Module documentation can help too, but not everything is documented well
I imagine stuff like targeting isn't module specific right?
It's more like core foundry?
Yea
the targets are a set
and first() just gets the first item in the set
then after that you have the token document
gotcha
Thanks for the explanation. I'm sure I'll pick up more as I go along and hit you guys with less questions
I appreciate all the help so far though
Warpgate has very thorough documentation
If you are looking at those commands
@violet meadow Do you have any macros that use damage only workflows? Could you check if any of yours bug out with cover enabled? If you have that module.
magic missile comes to mind, maybe a smite macro too
I don't use Levels. But Crymic noticed something similar.
isn't the levels cover a patreon only module?
I think so
Yep, that looks like the same bug
I already use levels, so it made sense to use levels cover
I hear ya there, I too like to reduce modules that way
It's also hard to have compatibility with an unpublished module
The API docs? I'm having trouble reading them for some reason
I think tposney uses it, so sooner or later it will be fixed. Probably worth an issue
just not clicking
They do assume a certain level of JavaScript knowledge, as most would. The wiki has more practical examples
When I first started messing with warpgate the wiki had a page with an example for call lighting. But then it also said this doesn't currently work.
That threw me for a loop lol
Heh, yea, is a great example of various combinations, but the whole chain fell apart at some point
@vast bane Thanks for the help I was looking at the old version of Mace of Disruption. I'm trying to set up a weapon so that if it kills an enemy it grants an attack bonus on the next attack. Does "if damageItem.newHP <= 0" make sense as an activation condition?
I don't think you use IF, but I'm also the worst person to ask of that, I'd ask someone like @scarlet gale or @violet meadow
in the midi readme it uses examples where it implies target, unless you lead with @source so you just need to make a simple equation true, so targets hp value in the console = less than X, I don't think you want less than 0 cause nothing can go less than 0
I think the reason why mace doesn't use it in the activation condition is because that weapon has alot going on with it. You might wanna check out some other items for examples of activation conditions
My first thought is to try and see if a midi srd item like power words are automated there, and see if theres an activation condition you can rip from those
barring one of the guru's responding with THE answer
then again the other problem with midi srd is that it hides alot of the codes it uses, Divine Word would probably be a great item to steal the code from but its hidden in midi srd's files
target.actor.system.attributes.hp.value
Hmm my initial thought is a macro is needed.
But let me check quickly something
@violet meadow thanks very much
for my own educational purposes did I pull the right code there bugbear?
I stole it out of toll the dead
that would be a neat interaction with roll self and activation conditions if it was possible though
So the issue is to make the effect target yourself after the activation condition evaluates to true. Testing
That is the correct path, but for MidiQOL activation conditions target already gives you the rollData, so you can do target.attributes.hp.value
To understand what is available as target in Activation Conditions, select a token and give in console _token.actor.getRollData()
OK success!
Activation condition target.attributes.hp.value < workflow.damageList[0].appliedDamage.
Tick the box near the bottom of the Details tab of the Item, which says that Activation Condition must be true to apply effects.
Create a DAE on the Item. In the Details tab of it tick BOTH boxes shown here
In the effect value create the bonus that you want. Give it also a Special Duration of 1Attack and I think you're good to go.
I only recently started using the DAE method of creating ae's, is there a distinct difference between the core method and the wrench button?
The wrench button I think works better, or at least saves time. Like it'll copy the feature image over to the effect when you create an effect that way.
I'm sure it does more.
yeah I noticed that there are rare cases where a core ae creation doesnt' carry over the icon
well some cases, its more common than rare
Let me make 2 screenshots
Anyone know how to get measuredtemplatedocument info from a target/character?
Trying to build one without using the crosshairs
but it's quite a large object
The differences are when you create an effect effect from the character sheet tab directly. It shows this.
await warpgate.crosshairs.show(); basically what this returns, but trying to get it just from the token
Whereas the DAE title button will give you this
Ooh, can I get that Genies Wrath you got
Sorry Wolfe, do you want to create one message after mine, cause it got a bit separated?
Anyone know how to get measuredtemplatedocument info from a target/character?
Trying to build one without using the crosshairs
but it's quite a large object
await warpgate.crosshairs.show(); basically what this returns, but trying to get it just from the token
Hmm what do you mean "from the token"?
Well if you use an item and that creates a template, you can get the Template id from the MidiQOL args[0]
Are you trying to get the tokens that were in the template?
Oh no, just the target's location to then be able to pass back
It seems like show() returns a large object with that information in it
yeah if you have the target you can dive in the document and get all you need
So, I can definitely get the coords and have that working
But the way it's passed into this, I was trying to understand how to make that work without the crosshairs
.animation()
.on(target)
.teleportTo(position)
.snapToGrid()
.offset({ x: -1, y: -1 })
.waitUntilFinished(200)
the position variable here is the result of that show() from warpgate
so it's the object that gets returned
That is different. You will need to provide the "new" position and yes it is what the crosshair returns
But the object isn't warpgate specific right?
const {x,y} = await warpgate.crosshair.show() will get you the coordinates iirc
Are you just trying to get the coords of the target?
Or something that specifically needs a crosshair selection
does .teleportTo() only need the coords in this case?
What is position in this case? Not sure about Sequencer's teleportTo(). You can check the readme
Oh no, sorry if I'm not being clear, I'm trying to avoid using the crosshair
and get the information being passed into .teleportTo() some way else
position is the returned object from show() in warpgate
Which is a MeasuredTemplateDocument from what I can tell
From the Sequencer wiki https://fantasycomputer.works/FoundryVTT-Sequencer/#/api/animation```js
new Sequence()
.animation()
.on(token)
.fadeIn(500)
.teleportTo({ x: 100, y: 0 })
.play()
You only need to pass x,y.
Ah, yeah, so just much simpler than what I'm thinking
I've already got the x and y I need so I think I should be good
Just gotta mess around with it and test
Any way I can use the Overtime function in MidiQol to just roll a die as part of the effect? No save, no damage, just a d10 that gets rolled when the actor's turn rolls around that I can then compare to a separate chart.
This is what I presently have that isn't working:
Use macroName and provide a roll in the macro
sounds alot like confusion but midi srd's confusion is in the module file
Woo, got it, thanks for your help guys
Do you need it to be an OverTime effect? Cause I am not sure if you can get it to roll something other than skill/save/damage 🤔
This just felt like the easiest way to get it. I'm not great with macros, so do everything I can in Midi, even if it's clunky lol. But yeah, I might not be able to get exactly what I want this way
and midi srd does something in a macro each turn
In Duration tab of the DAE, make it Execute macros every round start of combat turn and instead of the OT, use a macro.itemMacro to do a roll
await new Roll("1d10").toMessage({flavor: " Lovesick start of turn, what will be next?})
hmm, so looking at the pack tactics posted by posney, it seems to only activate when there's a friendly token within 5ft of your token
but isn't pack tactics if they're in melee with the enemy token?
The kobold has advantage on an attack roll against a creature if at least one of the kobold's allies is within 5 feet of the creature and the ally isn't incapacitated.
I'll give this a shot. Though @vast bane might be right too and the best thing would be to just copy the Confusion macro and edit the cases. I can do that much.
Wish me luck; thanks for your help!
I had no idea tposney added his own, I am using bugbears
I dunno how to get the macro, its in midi srd's file, but bugbear is the temporary custodian of said module fwiw
Oh? Posney's is the one that came up in a discord search
Type in console MidiMacros.confusion
can I get that macro from you bugbear?
my stuff tends to be vintage from way too long ago cause i'm a hoarder and rarely update
the one I grabbed that posney shared only works if you have an ally within 5ft of yourself
so that doesn't really work
I think I found bugbears further up in the discord
if (args[0].macroPass === "preAttackRoll") {
if(!token || args[0].targets.length < 1) return;
const target = args[0].targets[0].object;
const creatures = MidiQOL.findNearby(CONST.TOKEN_DISPOSITIONS.HOSTILE,target,5);
const validCreatures = arrayRemove(creatures, token);
const workflow = await MidiQOL.Workflow.getWorkflow(args[0].uuid);
if(validCreatures.length === 0 || validCreatures.filter(t=>t.actor.effects.find(i=>i.label === "Incapacitated")).length === validCreatures.length) return;
else setProperty(workflow, 'advantage', true);
}
function arrayRemove(arr, value) {
return arr.filter(function(ele){
return ele != value;
});
}```
NOTE: I renamed my item as a joke beware. This is Pack Tactics but you need to name it back the way it should be in the AE and the item name.
delete that data in i=>i.data.label Moto for v10 and future proofing
is that one of the shimmable things or that would throw a red error?
warning
Hmm that one uses the tokenUuid so I guess that it checks the distance from the attacker?! 🤔
didn't work like this
but did work if my ally was behind the wolf
not even adjacent to the creature
This works great, thanks guys
I edited out the data in label hopefully you copied it after I did that fyi
@strong yew try this flags.midi-qol.advantage.attack.mwak | Custom | findNearby(-1, targetUuid, 5, 0).length > 1
For future reference, Pack Tactics MidiQOL findNearby
Nah the original one was actually checking for allies 5 ft away from the attacker.
In the edited one, it checks for more than 1 unfriendly to the target creatures within 5ft
Oh interesting
This works like a charm
very simple, love it
Yeah these small additions make some macros obsolete 😄
And with that, bugbear goes back to his cave 👋
Oh, you know what, I think I get what you guys were talking about with warpgate and the item stuff finally
is it done using the mutate?
@gilded yacht The Module Item Delete Check is causing a bad interaction with Tidy5e sheet. When you delete an item off a sheet, it poofs immediately, then returns a second or two later, and repoofs again.
the delete message happens only once, and only after the second phantom deletion.
I have no clue which author I should ping between the two of you
how difficult would it be to have an active effect end when the actor loses all its temp hp?
How can I call up a workflow that applies midi qol's divine smite?
there are numerous premade smite methods available in compendiums
How do you make a square template an aura with active auras? the aura settings seem to expect ONLY spheres/circles???
What has a square aura? 👀
Grease, Faerie fire, and now spreading spores for spore druid, but I figured it out, you leave that field blank
Oh gotcha, I was thinking aura as in on a token
I need to set up a spores Druid soon too. Hopefully not too tricky
- Effect macro
On Combatant Marked Defeated, - Put something on the DFreds CE Dead condition that will be added automatically,
- Macro which will be triggered automatically when HP 0 for the specific actor, utilising the DAE flags
onUpdateTarget
All of them can delete an effect on trigger.
I would go with the 1st option and in the trigger would just do a effect.delete()
Not HP, Temp HP. Spores Druid's Symbiotic Entity, the active effect ends when their temp hp is gone.
Then you need option no3
I have actually shared something similar lately 🤔
@coarse mesa for new versions of MidiQOL in v10 you will need to change the execute as GM macro slightly #1010273821401555087 message
Is it gone when the temp HP from the symbiotic feature is gone ? I ask because what if you receive another pool of temp HP from another feature before the first one is depleted. Then I don’t think that it would be easy to determine on update from where came the temp Hp, ideally adding temp hp should come with context information…
I'm just handling it manually, I had asked "how difficult it was" and the replies came back "very" in my view hehe.
In theory when you receive temp hp you could refuse them, for exemple if the new total is lower than you current total, or in some case when the pool is associated to some feature that is active as long as you have the original pool from the feature
@grim bane the DAE midi flags should be used most of the time with CUSTOM
CUSTOM: system/module specific calculation. DAE specifies lots of CUSTOM effects.
@violet meadow I looked into it for Armor of Agathys, and haven’t decide yet how to handle it…
Yes, indeed. But if used with custom, effects won't stack, e.g. Stone's Endurance and Heavy Armor Master.
I saw that one recently <#macro-polo message>
Stone endurance reduces the damage by a specific amount right? 🤔
By 1d12 + Con.
I'm able to get stones endurance to work fyi
As a reaction
Therefore the inline roll
As an automated reaction?
yessir
Or have you created the effect directly?
Yeah it creates the effect when needed, 1hit or somthing
Nope, completely the same.
100% the same
do you have another roller?
Nope, just Midi
and what is your midi/dae versions
Never cross beams... 😉
Wait. The issue is the DRs are not both respected?
This as well, that's the reason I've tried using "ADD" instead of "CUSTOM".
Stone's Endurance & Heavy Armor Master
this is one of those 1 in a million priority cases
You're right. But I thought I should point that out...
use priority, include heavy armor master in stones endurance
which is stronger, higher or lower in priority?
Oh, haven't thought about priority... damn. But nevertheless, as soon as I'm using inline rolls, no damage is applied and the error above occurs
that is not my case
My versions are:
Foundry 10.288
DnD 2.0.3
Midi 10.0.22
DAE 10.0.13
I have foundry 290, otherwise same as you
take a picture for the archives guys, we got a priority case finally
only error I get is my crusher feat I still haven't fixed lol
Without the inline roll everything's fine (besides the dice throw is missing)
I ponder if HAM is suppose to stack though
also I think the ac issue is just cause its a system flag and ac generally is weirder anyway, it does not like dice equations
it really wants an integer
Theres a few weird ones like that, I believe initiative is similar if they haven't fixed that in 2.0.3
If you really want the roll to show, you can create a Roll in a macro, have it displayed and then create the effect with that roll.total on the actor
mines rolling?
turn on inline rolls for dae
its a client side setting so if you aren't the goliath player, tell them to do it on their end
Hmm... I'm not sure if I want it THAT badly... 😉
I turned it on for things like spirit guardians and such, my players are very paranoid with dice rollls
I did a clean install for 290, no other modules than midi and dae, and still the inline rolls don't work. The dice are rolled but the effect value is still the formula within the double square brackets. I give up...
It depends on how you add the effect on the actor. I can replicate as I told you before.
To be clear, you did set the dae inline rolls setting right?
Moto probably uses a different way
Yes, would be nice.
my actor had 10 con, so I just kinda guessed I was using the right attribute but it should work
so your issue is that it works, but the inline roll isn't shown?
You are 1000% sure you have this setting checked?
Absolutely. And here's the effect value...
The roll is made but not inserted within the effect
um yes it is
thats not the effect on the actor
thats the effect on the item isn't it?
It is the effect on the actor
it's right, the guy is just a test actor. Changed the con to 16...
oh I see what I did wrong
for the record, priority is higher not lower
so change the reaction to 50, and change the passive to 1
or just lower
I assumed lower was better
stones endurance just absolutely has to have a higher priority than HAM
its just so rare nobody told us what way it goes
Hasn't changed anything. I don't even have HAM right now, only your feature. And it still doesn't calculate the inline roll within the effect value.
show me chat
you aren't using enhanced damage dialog
DR requires it
if its off its not applying damage automatically nor how does it know what the damage type is
Why should I need that? I don't roll damage right now, I only activate the feature which should give me DR
I have never used that in my life
what do you think DR is?
I use DR just fine without
DR is damage reduction not resistance
yeap
you won't see it till you take damage
I misspoke the feature I speak of
I meant the damage card
but I'm pretty sure there is no way to show DR is active on an actor until they actually take the damage
in midi terms, DR is damage reduction and dr is damage resistance just cause of how the keys are in dae
didn't realize it shows it in the mouse over good to know
I'm talking about DR (Damage Reduction). And no, enhanced damage dialog didn't change anything. Here's the error:
find the culprit maybe?
How do I use that? I've already installed it
manage modules bottom right
midi, dae, socketlib, libwrapper
let me test mine on a pc, its currently on an npc
So DAE sends that stringTerm to a Dice Roll evaluation and Foundry complains (midi catches that error and displays it)
😄 these are the only modules installed...
You should be seeing a couple of more warnings from MidiQOL just before that one
its pc's
that's the complete console log, cleared right before the attack happened
I know that DR is functioning. It's just that the inline roll isn't working as intended
Exactly! 🙂
Linked/unlinked or PC/NPC only?
linked/unlinked
Only linked. I just unlinked the pc and everything works
update the created issue with all the info 😉
and an actor with the item on and which item is it that does it etc
all the 12.114.543 messages? 😉
just tell him how to replicate it
ahhh nooooo just the linked/unlinked pc/ncp and an actor that show cases the issue
Just kidding... not my first neither last issue... 😄
tell him to drag out the aboleth, make sure its unlinked, give it the feature he will totally see it, but also snippet the error too
And @vast bane & @violet meadow Thanks a lot for your help! 🤩 🥳
really odd behavior though, what an insidious bug
Also I am not sure if the DR doesn't accumulate house rule option does anything tbh
I always lean towards fucking up my combat dummies before player characters so thats why I was using an npc that whole time
I dunno if they stack, I only added it cause I misinterpretted the issue at hand
they stack if you include it all and then set the priority, the passive HAM is ignored for the attack
Hmm... is it a Midi or DAE issue? 🤔
I mean there is an option that should allow all DRs to be accumulated in the Misc tab, but not sure what it does
its a midi flag
unless bugbear can clarify, its not that big of a deal hes the author of both
DAE has less issues though hehe
The evaluation error points to DAE
I ran into that overtime bug in 22, kinda hoping he drops a fix by saturday so I don't have to step back down
Is it for spirit guardians OT? I stopped using this kind of workflow for such spells, after I made the Template Macro one 😅
I just dropped them all and went back to creating attack Items on the inventory of the caster and tell them to use that when needed.
its the spores druids level 10 feature spreading spores
well that's a new one
an active auras square aura that is an overtime effect
want the feature?
I think its the Elwin reported bug isn't it?
tposney responded saying its fixed in 23
I dunno, I just assumed it was
I'm using active auras aa helpers macro for it so that the spores template applies to all within
wait...I think I copied the v9 aa helpers, is there a difference lol
if (!game.modules.get("advanced-macros")?.active) { ui.notifications.error("Advanced Macros is not enabled"); return }
if(args[0].tag === "OnUse"){
AAhelpers.applyTemplate(args)
}```
Should be the same
Do you have it as "True"?
the first error is still there
calling doovertime
Yeah that's not an actual error. Only a forgotten console.error in the utils.js
for (let effect of actor.effects) {
if (effect.changes.some(change => change.key.startsWith("flags.midi-qol.OverTime"))) {
console.error("Calling dooverTime effect", actor, effect, startTurn); //that one
await doOverTimeEffect(actor, effect, startTurn);
}
}
is that an issue to post?
It's in utils.js:1329
can activation conditions filter by status effects?
also is hte syntax different in the details tab vs the active effects field?
yes
not sure what you mean 🤔
the chill touch sample item uses an effect activation condition targetId === "@token" && details.type.value === "undead" which looks different to how dragon slayer sample item is set up in details tab
i assume cause different points in the workflow?
example pls :)?
Probably different points in time that they were created 😄
Array.from(workflow.hitTargets)[0].actor.effects.some(eff=>eff.getFlag('core','statusId') === "Convenient Effect: Blinded")
wow that's a mouthful!
Depending on what the statusId is
you can filter with label too ```
Array.from(workflow.hitTargets)[0].actor.effects.some(eff=>eff.label === "Blinded")
Cool thanks bugbear!
The Chill Touch doesn't have an Activation Condition present. The magic happens in the DAE effect
So I was wondering how would I write up a macro or an automated Aberrant Ground aura for a Gibbering Mouther, if token starts its turn in the aura it must make a save or be knocked prone if they do fail it automatically applies the "Prone" condition from Dfred
Active Auras and MidiQOL OverTime effects.
Check how Spirit Guardians is set up in MidiQOL sample Items compendium
The ground in a 10-foot radius around the mouther is dough like difficult terrain. Each creature that starts its turn in that area must succeed on a DC 10 Strength saving throw or have its speed reduced to 0 until the start of its next turn. A creature that fails its Strength saving throw from the aberrant ground effect is knocked prone.
Ah nice
Take a look here too: https://gitlab.com/tposney/midi-qol/-/tree/v10#flagsmidi-qolovertime-overtime-effects
There is an example of Hold Person, applying a Paralysed condition as a StatusEffect
flags.midi-qol.OverTime OVERRIDE
turn=end,
saveAbility=wis,
saveDC=@attributes.spelldc,
saveMagic=true,
label=Aberrant Ground
StatusEffect OVERRIDE Convenient Effect: Prone
so like this?
Hmm. So I'm trying some of the sleep macros posted, but I can't seem to get a decent result
It rolls damage, but then nothing else happens
Do I need to create a CE for sleep?
or a dae I guess
also secondary question. Have a Hideous laughter macro, but it's only applying prone on fail
Is there something I need to adjust to apply multiple statuses?
you tried crymic's? https://www.patreon.com/posts/sleep-73239028
ive had similar annoyance with this, try using macro.CE
the spreadsheet refers to these as activation conditions
It doesn't seem to do anything besides apply the template
I have an enemy in it with 11 hp, rolled a 20ish
but no effects applied
Seems correct!
macro.CE?
Hmm I hadn't seen that, its quite a new change. It just denotes which ones can be used with an activation condition as a filter, but yeah different to the Activation Condition field in the details tab
instead of StatusEffect in the attribute key
When should it apply Prone?
on fail, but it should also apply incapacitated
Ah, it works perfectly now. Thanks!
I'll keep that in mind for others as well
Do you guys use any kind of automation for wild magic surges?
https://foundryvtt.com/packages/wild-magic-surge-5e as another option
oh wow, is helpers not going to be updated for v10?
and thanks for the suggestions. I'll check these out. Simbul's seems good to have anyway
Hey guys, I am working on Midi, and it used to be that if I cast shield, the caster gets the bonus. But now I have to target someone. Any help?
Have a wild magic sorc in my 1 shot, but I also have a custom magic item I gave my warlock in my main campaign I'm going to try to get working. Eldritch Blast on a 20 gets a spell slot back, on a 1 rolls on the wild magic table
change target to self?
Make the item Target Self in the 3rd available box in the details tab
in the details on the spell
the simbuls version has the helper's API that lets you create custom wild surge rules with very little effort
thread with discussion: #960219012443279450
done that
3rd box
So:
@mild bluff
5
Target: blank | blank | Self
ho, no @ then?
@self
Nope!
I fixed it
Character sheet => Shield spell => edit it => Details tab
This is wrong. Well it was being used at some point.
Now just use system.attributes.ac.bonus | Add | +5
okay, changed it, thanks man
Do you guys know how I, when I cast detect magic or such, to make the template move with me?
Token Attacher helps.
You can get the template from its id in the args[0] of Midi and then you can do a ```js
tokenAttacher.attachElementsToToken([template], token, false);
Make sure that when you cast the spell, you place the created template on the actual token to have it centered
Oh no. Create a script macro in your macro folder.
Then call that macro from the onUse MidiQOL macro field on the spell details page
The macro would be something like ```js
const {templateId} = args[0];
const template = canvas.scene.templates.get(templateId)
tokenAttacher.attachElementsToToken([template], token, false);
and the onUse Macro call would be something like `name of the macro you created | Only called once a template is placed`
So in a strange circumstance, this stopped working all of a sudden. Worked right after I changed it, and now it's not again. Going to troubleshoot
Also, thanks for this one, tried it this morning and mind sliver is working properly now
are you editing effects on owned items? i.e. items NOT in the sidebar?
?
So typically I edit them on character to test, then after confirming they're working as expected I throw them in the ddb-override folder so they get used if I have to reimport a character
editing effects on items on an actor is a great way to confuse yourself
Call the Attach-token from that field
I would avoid using - in the name, but 🤷
Oh? I do edit them on the sidebar sometimes and drag them back onto the actor
Ill change the name
But that's like one extra step it feels like when testing small changes
this is the most reliable workflow -- editing effects on owned items is not supported by core and has some little quirks that can and will cause hair loss
Do you have the Token Attacher module ?
sure thing
OK get the edited macro in a sec <#1010273821401555087 message> 👍
It needs the actual template and not the template.id
Its a call to the arguments MidiQOL makes available to macros!
Create a script macro ```js
console.log("args":,args)
console.log("args[0]:",args[0])
console.log("workflow:",this)
Use an item onUse macro and put the name of that macro in the onUse call `name of the macro | After Active Effects`.
Use that item to make an attack for instance.
Check the console
jezus, my programming is worse than I thought
But I really appreciate all of this guys
Oh that's interesting. Thanks for the heads up
Also, do you guys use a module for cover calculation with midi
I see there are two options in the settings
people both do and dont -- the big question is: Is cover automation important to your gameplay?
Yeah I'll try it out. I've been trying to make combat maps more dynamic. Having different levels/cover seems to be more interesting for players
"seems" carries a lot of weight there
making anything multilevel increases prep time exponentially
and keep in mind, 2 hours of graphical/animation work could be replaced by 10 minutes of expanding the encounter to have more elements -- resulting in the same amount of "awe" from players
And don't get me started on automation macros 😁🤣.
I just do it to learn what I can achieve, but boy oh boy most of the time it's time ... "wasted" 🤯
How do you mean? is there a lot that needs to be done to integrate the cover calculation other than just a couple walls and setting the heights
?
I have some players that really enjoy combat, but some that really don't. The ones that done tend to respond better to when the map is more dynamic
well, the fact that you have wall heights mentioned, i think blocks helpers/simbul's from working, cause I dont consider external mods like that
Had a fight pit kind of fight where they were on an ice platform with water under, and it was breakable and what not
(unless simbul expanded it somehow)
Oh interesting, I didn't realize that
Most of the automation I'm doing is actually for my wife's benefit. She's DMing for the first time for a one shot, so trying to make everything as easy as possible
yea, we are playing on a virtual tabletop, which is 2D -- if you want 3D terrain, FVTT isn't exactly the best option
oh dear...if this is her first time DM'ing, PLEASE dont add modules like that -- they are confusing for seasoned users.
In fact, i would recommend no modules
as it will be far far far less frustrating and confusing
She's used foundry as a player before
She's in my main campaign, but just never Dmd
But yeah I think I'll shy away from the cover stuff for now
thought it might be easy but it sounds like it takes a bit of investment
your call, simul's cover calc is very easy to use if you have half decent walls
but it has no integration with levels or wall height, or anything like that
Interesting. Does Core foundry have like half walls and stuff?
I make most of my maps in dungeon draft
Figured I'd have to come in post import to edit them
i personally have not come across a situation in play where representing it all as a flat surface was an impediment to play. If i really really needed some other area, i'll drop a tile and wall it then move the token there
"half walls?"
Well, like short walls for half cover
again, foundry is 2D, so the concept of "height" is barely considered
simbul's cover calc adds a cover property to walls, however
And is integrated in MidiQol
Hmm. I'll play around with it on a test world. It's not imperative to have the cover and stuff, just a nice to have
Some of my players like to play around with heights and things for like shoves and what not
Same with Token Alternative visibility. Might have the wrong name but close
But that can kind of just be done manually
Just saw the Cover options part of Midi and figured I'd ask
yea, its generally an easy integration short of wall height getting involved
(everything in the original helper's mod was designed to be plug and play)
Yeah I'll have to figure out the best strategy. There's already so much prep I'm doing since it's a homebrew campaign. My wife took over keeping Kanka updated for me since it was just too much to do with how exhausted I am from work
Where should I write DamageOnlyWorkflow like divine smite macro?
I've been troubleshooting why flasks don't deal other damage and it turned out a script I've found for Piercer feat (I don't remember from where) doesn't seem to detect piercing damage properly - it applies to any attack with any damage. Can this be somehow tweaked?
//Piercer Feat 5e macro for MidiQOL/DAE/ItemMacro as currently stands.
if (args[0].hitTargets.length < 1) return {};
const target = canvas.tokens.get(args[0].hitTargets[0].id);
token = canvas.tokens.get(args[0].tokenId);
actor = token.actor;
const roll = args[0].damageRoll;
const dieSize = roll.terms[0].faces;
const lowDice = Math.min(... roll.terms[0].values)
const isCrit = args[0].isCritical;
if (args[0].tag === "DamageBonus" && args[0].item.data.damage.parts[0][1] === "piercing"){
if(isCrit) return {damageRoll: `1d${dieSize}[piercing]`, flavor: "Critical Piercer Feat extra damage"}
}
if (args[0].macroPass === "postDamageRoll") {
let workflow = MidiQOL.Workflow.getWorkflow(args[0].uuid)
let response = await Dialog.confirm({
title: 'Piercer feat',
content: `<p>${token.name} rolled a ${lowDice} on 1d${dieSize}. Reroll?</p>`,
});
if(!response)return;
let damageRoll = new Roll(`1d${dieSize}`)
await damageRoll.toMessage({flavor:"the rerolled result"});
if (args[0].isCritical) {
if (workflow.damageRoll.dice[0].results[0].result > workflow.damageRoll.dice[0].results[1].result) workflow.damageRoll.dice[0].results[1].result = damageRoll.total
else workflow.damageRoll.dice[0].results[0].result = damageRoll.total
}
else workflow.damageRoll.dice[0].results[0].result = damageRoll.total
}
Disclaimer, I don't really know how macros work, just hoping there's a simple solution. If not, no big deal
question about incorporating saves
tried to look at the toll the dead macro to see how it handles only applying on a save
but it doesn't seem to handle that in the macro itself. It is applied in the spell details
Is that right?
Yeah not in front of Foundry right now but it’s either those buttons down the bottom of details, or I think that might be handled with how midi parses descriptions for keywords?
Hmm. So I'm working on something right now for Telekinetic Shove since one of my players took the feat
I have it working, but am trying to just get some logic around making it work smoothly
I have some if statements in there surrounding no target/multiple targets
and it stops it from working if multiple targets are selected, however it still prompts for the saves before that
even changed when the itemmacro is called to "before the item is rolled" thinking that would work
Just make it target one creature in the details tab, midi does the rest
Are you testing out of combat?
Oh, I have it set to in comba
Yeah I just have Always
Ah so this is why the if statements for targeting aren't in a lot of macros
cause it takes care of it for you
Do you have the type of main damage of the weapons you use set to piercing?
Is there a way to set an item macro to be called only on a failed save?
Executing the item macro from within an effect is the way I think
hmm so if I put in my item macro let save = await actor.rollAbilitySave('int');
That will trigger a second saving throw yeah?
what are you trying to make
Telekinetic Shove. I have it all working aside from only triggering on a failed save
use the skill challenge macro that bugbear made
oh wait, thats just a save
I used a couple different macros as a base, but mainly pulled from crusher since it's also a move 5ft
Even on a successful save it still allows the move basically
trying to retrieve the results of the prompted save, then use that boolean to determine whether or not to call the next part of the macro
did you check the WG wiki?
Hmm, no I didn't. I'll check now and see if I can find something
warpgate doesnt have much, if anything, to do with midi's workflow
he just needs to make a save feature that applies ae on failed save. Then use item macro in the ae
and make a crosshair movement in the IM
probably better to just plagerize crusher lol, I can't understand that link
Yeah I have all the movement stuff working
i commented it as heavily as I could 😅 that example is more for "how can I really mess with and control crosshairs"
have midi in debug, looks like "after saves" is an option to call the macro, and then there's some info on the saves and who the target was in there, so I'm gonna look around
its just a different method than the others is all, I'm used to the examples
You can wrap the whole item macro in an if failed statement… is that what you’re after?
do you not have activation condition settings on in midi or something?
if they fail the save, ae happens, put item macro key in ae
or use EM
On create: crosshairs movement
Yeah that's my plan, but retrieving the save result is what I'm trying to find
it would be on the item?
Gimme a sec. @violet meadow has a one-liner
So I can do like if (yes) do the thing, if (no) don't
you don't need to do that
midi already handles that calculation when you make a save feature/item
it will apply an active effect if they fail the save
then its just a matter of finding the item macro key in dae and writing the crosshairs macro
though I'd use EM
you don't need an AE for shove though
you do if you don't want it all in the macro
I feel like it would be cleaner if it was just in the macro
I'm sure there's a way I can retrieve the data from the save that was triggered
you could also look at more automated features shoving attack
but his macros are really complex
100% correct. Chaining two modules together increases the failure points by an order of magnitude
@strong yew something along these lines:
if (args[0].failedSaves.length !== 0) {
so it only works on failed save
just do a search on failedSaves – bugbear uses it all the time
Pushing Attack macro in more automated module
that target.update looks sketchy re: permissions
I don't think he uses warpgate
case in point – failedSaves
its a v9 module I'm sure theres mistakes or changes in need
nah, not syntax, just core foundry permissions issues
which were present in v9 as well
do overtime template effects need the template to stay?
I feel like this is a dumb question but I swear I removed these in v9 with Automated animations
does A-A actually delete the template or just hide it? mine show up again on hover, but maybe that's a different module
I want that hide module lol
I like it that way so you can check anytime exactly which squares are affected
I use TMFX to give a lil flavour to any default templates that A-A isn't working on... eg most SRD creatures
I must have a conflicting module cause I have that setting and its not happening
is enable automatic template effects part of it? I thought that was the graphic images in templates?
presumably, but they might be linked
does the dm always see templates?
oh that could be it
I tried FTC with just TMFX on and it still happened
tested on player client too, that setting does nothing for me
are you on v9 or v10?
is it bad to put a warn notification as a response if the target resists the shove? I don't want to output all saves to chat, since I have that as just the GM rightn ow
So on a failed save > it lets you move them, on a success save > it outputs a ui warning of "target resists your shove"
If I just have it not continue, it just kind of doesn't do anything and seems off
There's a shortbow and a rapier equipped, but the weapon in question was a consumable holy water with weapon ranged attack, default damage at 0 and other damage at 2d6 undead.
The weapons worked just fine, but the consumable did not
Still on v9 rn
I would use the blue notification (notify?)... yellow is a bit much lol
ah ok thanks
So is it because there's a piercing weapon among equipped even though I used another?
Nope, it should check the weapon used for piercing damage.
what we doing?
@strong yew is remaking your macro we gave them someone else yesterday 😆
if (!args[0].failedSaves) return;
``` stops if noone failed save
@strong yew #macro-polo message
Note that's v9 tho, but you get the idea
Edit: just realised you're talking telekinetic still... anyway, this is good info on how to do notifications 🙂
Wait, were you attacking with holy water and the Piercer was getting activated?
what is the base item of the holy water
I need to update Piercer and Slasher for v10 in the meantime too ✍️
hmm, so doing it so it only continues if there are failed saves I tried if(result && args[0].failedSaves) but that returns true every time
but this if(result && args[0].failedSaves.length !==0) works correctly
Yep. And it threw an error while doing so
Was the noDamage throwing it off? 🤔
It didn't work for hoyl water, just no damage at all
Yeah cause you had it as noDamage
Lets take it back a bit. Is Piercer working OK by differentiating between piercing and non-piercing weapons?
what's the result for?
I'm curious if you can get something going, my telekinetic shove could use some love lol
a dialog popup I liked from crusher
I'll post it here, I wouldn't mind some critique since it's still early for me for creation
but it's working 100% so far so
is there a better way to post a whole codeblock than ``
```js
code here
```
No, a handaxe also had a prompt
👆 I don't know how to type that without it actually turning into a code block lol
A holy water didn't even proc
OK are you on v10?
As in, no damage roll
Yep, latest everything except foundry itself - I believe one step behind the latest stable
that is a different issue probably. Any errors in console?
escape the backtics with \
There was. You know, when I have access to foundry again, I will double check and get back to you with a proper log error and reproduced issue
Cause I can't right now unfortunately
ah damn it, do I need nitro?
message is too long lol
May as well try the free trial
// Telekinetic - Shove
// Requires Midiqol, warpgate, and item macro modules
let combatTime;
if (game.combat) {
combatTime = `${game.combat.id} - 100*${game.combat.round} + ${game.combat.turn}`;
const lastTime = actor.getFlag('world', 'TelekineticShoveUsed');
if (combatTime === lastTime) return;
}
if(args[0].failedSaves.length !==0) applyTargetMove(combatTime);
else {
ui.notifications.notify("Target resists your shove!");
return;
}
async function applyTargetMove(time) {
const targetDoc = game.user.targets.first().document;
const targetToken = targetDoc.object;
const targetCenter = targetToken.center;
const maxRange = 5;
let distance = 0;
let ray;
const checkDistance = async (crosshairs) => {
while (crosshairs.inFlight) {
await warpgate.wait(100);
ray = new Ray(targetCenter, crosshairs);
distance = canvas.grid.measureDistances([{ ray }], { gridSpaces: true })[0]
//console.log(ray)
if(canvas.grid.isNeighbor(ray.A.x/canvas.grid.w,ray.A.y/canvas.grid.w,ray.B.x/canvas.grid.w,ray.B.y/canvas.grid.w) === false || canvas.scene.tokens.some(i=>i.object.center.x===ray.B.x && i.object.center.y===ray.B.y)) {
crosshairs.icon = 'icons/magic/air/wind-vortex-swirl-purple.webp'
}
else {
crosshairs.icon = targetDoc.texture.src
}
crosshairs.draw()
crosshairs.label = `${distance}/${maxRange} ft`
}
}
const callbacks = {
show: checkDistance
}
let distanceCheck = await warpgate.crosshairs.show({ size: targetDoc.width, icon: targetDoc.texture.src, label: '0 ft.', interval: -1 }, callbacks);
while (canvas.scene.tokens.some(tok=>tok !== targetToken && tok.object.center.x===ray.B.x && tok.object.center.y===ray.B.y || distance > 5)) {
ui.notifications.warn(`Telekinetic Shove: Cannot move ${targetDoc.name} on top of another token or further than 5ft away`);
distanceCheck = await warpgate.crosshairs.show({ size: targetDoc.width, icon: targetDoc.texture.src, label: '0 ft.', interval: -1 }, callbacks);
let {cancelled} = distanceCheck;
if (cancelled) return;
}
const {x,y,cancelled} = distanceCheck;
if(cancelled) return;
const newCenter = canvas.grid.getSnappedPosition(x - targetToken.w / 2, y - targetToken.h / 2, 1);
const mutationData = { token: {x: newCenter.x, y: newCenter.y}};
await warpgate.mutate(targetDoc, mutationData, {}, {permanent: true});
if(game.combat) await actor.setFlag('world', 'TelekineticShoveUsed', `${time}`);
else if(!game.combat && actor.getFlag('world','TelekineticShoveUsed')) await actor.unsetFlag('world','TelekineticShoveUsed');
}
This is a macro for Telekinetic Shove
mostly cannibalized from @dark canopy Crusher macro
hmm, what do you guys do to get the formatting and color coding in your snippets?
that's what I did though
I probably wouldn't bother with the dialog btw, but it is well done. I always want to move them when I hit the item in my hotbar
and if you are already using warpgate, might as well use its dialog helpers and reduce the boilerplate dialog code (if you are gonna keep it)
the dialog box is straight from the crusher macro
I just changed the word "crusher" to "telekinetic shove" lol
show us a snippet before you post a message on how you do code links here
Fair point though, I'll just edit it. It's a little redundant to ask
const targetDoc = game.user.targets.first().document;
lol, got it, I thought it was just "js code here" he was typing as an example
Thanks for clearing that up
And if it's really long you can save it as a .js file and just drop the file here. It'll show up similar to the code block (at least for Desktop users)
much better, thanks for that
will keep that in mind
you can't drag files to discord if discord has elevated access, which happens alot with some folks who use multiple cam/voice applications in windows
I've never heard of that one 🤣 and I'm a pro at breaking stuff
I feel like there is a better fix for whatever issue you're having for that
Running Discord as elevated seems like a bad idea
I dragged out the aura of protection using bab and I have no clue what it is doing, I feel like the menu is broken?
What is the point of a premade if I have to make it?
Where is that one on?
its in the sidebar
When did you update babonus last?
I will upddate now
can you only use bab when its on an actor?
I dragged the bab version to the paladin and rolled a save and its not showing a bonus
.di should autocomplete it for ya
Ah yeah, don't know how I missed that, thanks
just updated bab, went to midi sample items, dragged out bab version of aura of protect onto an actor, no saves are modded, when I click the badger icon at the top I get this:
Anyone got a good chaos bolt macro? I was previously using ASE for it.
I can share mine later
v9 still though
Sounds good, I'm sure it'll be easy enough to convert to v10
Is it the same one that you've previously posted when I search for it, or has it been changed since then?
Oh yeah I haven't used it yet on v10 and I forgot to update it
Not 100% sure I haven't changed anything though 🤔
is this a MIdI QOL setting? Or this from another Module to show the actual Roll of the D20 Dice just wondering if anyone would know?
Part of me just wants to see how hard it would be to copy it from ASE and make it function without the module
Looks like better rolls
Or whatever it's v10 version is called
better rolls ok i'll check it out thanks!
that probably means showever that is, is crossing the streams
I wouldn't use it
does anybody here use the bab version of aura of protection in themidi sample items? I'm unable to understand what its purpose is. I drag it to a sheet and I don't know what it does no saves change at all
Hey who was it that had a call lightning macro?
Do you roll ?
I have one that uses warpgate
bugbear did you finish it with the item creation?
I'm trying to make vampiric touch and it seems like a good candidate for a similar approach
I have one of those too lol
interesting. Does it use itemcreate?
Warpgate! 😅
I mutate the token to give it an extra feature
I also auto favorite it
Could I get those from you? lol
Oh my summoning spell worked
here is a recent "action grant" script i wrote for dragon's breath, but the same idea is easily applied to many others. https://ko-fi.com/post/Badger-Scripts-Dragons-Breath-spell-M4M3GED2E
@vast bane that's nothing actually. Just empty 🤔
I actually have plans to rework both my call lightning and vampiric touch for v10. So you might want bugbears unless his is also out of date
I made a midi compatible aura of vitality that is the same concept but the WG wiki for creating an item, is perfectly setup with a midi example
I'm not seeing that behaviour, can you export the actor that is causing the problem? And screen shot you item-delete settings?
Thanks! think I may use this for moonbeam too for the time being until I can figure out the auras on template stuff
I think the aura one works if the target starts their turn in there
but I tried to do the other part with entering for the first time as well and couldn't get it to work
but I was looking at spirit guardians and have gotten a lot more comfortable since then so I may retry
the midi spirit guardians that checks for first entry I mean
Or actually, for something like vampiric touch, I wonder if I could do something like the new hunters mark tposney posted? Just have a check to see if it's already being concentrated on and skip the dialogue to consume a resource while keeping the concentration duration consistent
I dm'ed the info requestd, fwiw it only seems to happen on the players sheets, starter heroes are not having the issue.
badger icon 🤣
It should be passing the right thing. What is you new DamageOnlyWorkflow call?
if you click on them the left one changes color and the right one does a barrel roll. Love it
i think they are otters?
I just kinda assumed hehe
yea, but should be beavers imo
otters only pretend to build
are you seeing it too or do I got issues?
You can put babonuses on the item or on the AE… did you check both?
yes, and exporting the data I can clearly see babonus entries in the json.
Was using this one from the ddb importer. It works without issue when not using the cover thing.
(The macro has since been changed to edit the workflow and not use a damage only workflow)
That's a pre-v10.2 bonus right there.
The automatic migration would have updated all items in all unlocked compendiums.
I see why you don’t like sample compendiums
Can't say it's a great concern of mine. The API has a function to update a pack. 👍
You can build it @vast bane - I believe in you
Dead and Unconscious are the Blocking conditions
In fear of measuring on the Richter scale with the ensuring eye rolling I am about to provoke...
wouldn't that block people who recieve the bonus too?
The aura shuts down if you’re KO’d
All fields that are a semicolon separated list of conditions are not validated for their contents (except trailing spaces). You can make it work for non-CE users too.
oh ok so its a condition for the owner not for beneficiaries
Granted
The core status ids are 'dead' and 'unconscious'.
Correct.
I just used the keys from the list 🤷
The tooltips should explain it all.
Thanks guys
Well I had to supply some, didn't I
you did well
It's just all the ids from CONFIG.statusEffects, which CE changes
I sensed no eye rolling
nah its fine
The neat thing with that is that you can make any effect you like, give it a status id, put the same status id in the babonus, and boom, hunter's mark, hex, hexblade's curse, all the marks
Yeah, I went the long way around, cause why not ... and got some flags going to get only the correct targets to trigger the Mark
but its sexy!
(and for you DAE folks: The 'force display on token' is the status id field.)
That actually would make it super easy to move your mark 🤔
While keeping the same spell running
That's the idea.
Hex is a little more fiddly due to the debuff being variable
I don't actually remember what hex does lol I just know I'm in a campaign where a player uses babonus for it
Tbh the hex debuff doesn’t really need automation
Just disadv to ability checks of one stat (not saves)
Is there a way for babonus to work only on one successful attack per round (thinking Favored Foe)?
Define 'successful attack' and let us remind ourselves that the babonus dev is not a Midi user.
Yes. EM after damage roll, make the babonus inactive and activate at combat start and combat turn start
Or actually not combat start
but you get the idea
You get to apply it to one hit, so if you miss you could use the bonus on your second attack. But only once per round
I just throw favored foe and hmark on the advantage reminders lol
What I have done in a similar fashion is have the babonus as inactive on the Item. When rolled, activate it and then play with turns etc making inactive/active
Oh. Well if it doesn't matter if you miss 17 times in a row before your first hit, then that's easy yeah. Disable it after the first damage roll, re-enable it when your turn starts.
favored foe is a You can feature so you have to use the always prompt method unless the player wants to play it like always first damage
Yeah true
You can means player decides when it applies
Might be better as a babonus toggle
sneak attack I think is the same way
but the normal midi methods treat it as first damage
Auto sneak does that. Otherwise it posts a dialog
I think midi prompts on every valid hit until you use it
Only if you don't use autosneak
it is also kinda rare for a rogue to get 2 attacks, they'd have to two weapon fight or multiclass 5 into another martial
or be hasted
It’s actually really slick, we often find midi correcting us on when we can use sneak
Midi works fine when they get a reaction attack IIRC
in my first campaign our rogue player was constantly trying to bargain for sneak so I never had to worry about it being forgotten lol
Sometimes you miss that an ally is nearby etc
the million dollar question is why does dae SRD install in v10 but midi srd needs a fork lol
same with better rolls for 5e that thing somehow survives to be a problem in v10
It seems like a lot of folk are using Module Management + ... it's a shame incompatibilities aren't showing in there a bit more (aside from Tidy UI and MM+). Like the whole ghostbusters thing could be cut right down if those were flagged. But I guess that's on the devs
The feature is there, it's just not being utilised
I assumed at first that the old modules would not install kinda how drag ruler and midi srd behaved
but apparently some modules make it in
Is there anyone that can make a world script that can make -1 to all rolls for each point of health that is missing from a token? Snippet included to show -1's
What are some basic things I can do with midiqol to help myself, given I know nothing about it as of right now?
typically you don't install a module blindly, you are suggested it to solve a problem or make something simpler
Build-a-Bonus can do this.
Not for the ability checks and init tho
Am I crazy? Or did using Parry used to negate damage? I could have sworn you could use Parry, get the popup, use it, and it'd negate the damage if the boost to your AC was enough. Now the popup occurs, but I still take damage.
did they still hit?
No. AC is 15, with Parry it's a 17, the attack was a 15.
Just in case anyone else looks at this, we DMd, I needed to create a Dfred's Convenient Effect for Parry.
At one point I updated to 0.9.74 and saw that the concentration icon would also have the spell that was being concentrated on. Has an option been added to not have the text float up stating what the spell is?
floating text in core settings I believe, in v9 midi you can't turn off the template setting that you speak of, in v10 you can.
is there a macro formula to do half damage? I want to create an effect that applies on hit, that makes their next attack do half damage
how often are you going to reference this feature, if its a throwaway, I'd just put a blank effect in and manually handle it in the damage card
definitely something I considered. But this is a magicial property that could get applied to a players weapon. (depends on roll tables to come up) IF that feature does get rolled. It could potentially come up every round.
There a module that can give a detection mode with an effect?
Is there a way I can call the item macro on concentration loss?
ATL can do that now unless I’m mistaken. Details are on Kandashi’s server
Kaelad made it happen
I think you might be able to have Effect Macro trigger on effect delete (midi can remove AEs with concentration loss)
Not in that server lol
Yeah incorrect. That is a DAE execution method of a macro.
It will always be executed when the effect is created or deleted or if you have a repetitive option selected in the duration tab of the effect.
If you want to execute a macro preItemRoll, you will need to use a MidiQol onUse macro, calling it from the corresponding field in the Item's Details tab when you edit it
When is this supposed to be applied? During a specific weapon attack? You might get away with creating an effect on that attack that will give damage resistance on the target for 1 attack.
But that means you will need to be sure that the next attack on the target will be made by the creature you want to do the half damage.
Other than that you could use an onUse macro on the weapon, which will be looking for a specific flag to designate when you need to do half damage and then set the damage roll to what it needs to be.
But would need some more info as to how frequently that is happening. Like, is it like every other hit of the specific weapon no matter what?
If you have multiple BonusDamage macros, how does it determine which one gets processed first?
I imagine whichever is first in the Special Traits of the character sheet, but not sure
I'm having trouble understanding the API docs for warpgate. Is there a method to find if a specific mutation name exists on token?
warpgate.mutationStack(tokenDoc).getName It appears
I have to say, I love MidiQOL + Babonus interaction 😄
I'm still surprised Zhell made did some work for compatibility
Oh neat
I just finally got my own game on v10 now. So I've been modernizing all my old automations. I really need to check what can be done with that module too
Hey guys, what does everyone use here to incorporate cover mechanics to MIDIQOL automation ? Is there a way we can change the cover condition of combatants manually?
Convenient effects has some premade effects if you want to handle it manually, otherwise Midi in v10 has built in support for a few cover modules
Simbul's Cover and Levels Auto Cover
I personally use the 2nd
To be fair, it was one line of code.
I just see a problem with the damage flavor… It will be ignored in the auto damage application if the target has slashing damage resistance…
I just posted to show that. In my case it works as intended.
The [babonus] or whatever flavor, makes the damageType to be of the 1st available same type as the main damage. So slashing. And it works as needed for the Hunter's Mark, respecting the damage resistance of the target against Slashing.
@violet meadow Ok, so no flavor or an unknown flavor of damage equals to the one from the first line of the damage parts
@gilded yacht Don't suppose we can get a Special Duration for DAE for "Rolls a concentration save"
Hunter's Mark with MidiQOL and Babonus with DFreds CE.
You need:
-
MidiQOL adding an Effect on the target with a statusId of
Convenient Effect: Hunter's Mark - Thorin(using the caster's token name to differentiate) -
On the Hunter's Mark Spell, a babonus as shown in the attachment, with a target condition filter of:
Convenient Effect: Hunter's Mark - Thorin
Optional (using Effect Macro).
3. For changing targets, a custom DFreds, with a Force display on token Convenient Effect: Hunter's Mark - Thorin and an EM which will take care of grabbing the correct duration remaining and changing the initial concentration effect targets (...).
- The player to change the target will need a macro that will add the effect to a new target and delete it from the older one or if they have permission to use the DFreds CE button on the Token Controls sidebar, use that instead
If someone doesn't care for the duration and targets changing, the whole thing takes 1 minute to setup 😄
Take care that you'll need to make sure, if you use the link concentration to effect in MidiQOL settings, add first the new target and then delete the old one if you use the DFreds button
Forgot to include the EM macro on the DFreds CE (will link a new post here to actually fit better)
<#1010273821401555087 message>
Deleting it from the old target can just be added to the EM as well when you set the duration
Yeah I didn't mention it explicitly, but it was meant to be included in the "changing of the initial concentration effect targets".
What’s your use case?
Blood Curse of the Muddled Mind
The cursed target has disadvantage on the next CON saving throw it makes to maintain concentration before the end of your next turn.
Would be fairly simple with a special duration of next concentration save.
Right now I have it at con save, and that could be triggered from something else
Is there a default Midi-QOL settings file I can use to get a fresh start? Or someway to otherwise reset to how it was initially configured?
Go to Midi Settings => Workflow Settings => QuickSettings
You can click the No automation probably
That didn't quite do it. I'll see if re-installing the module gets me there
make a fresh world with just libwrapper, socketlib, and midi. Export those settings, import to your main world
Yeah that would do it. I wonder what is different to no automation now 😄
Maybe the outer menu settings 🤷
Some stuff is never touched by quick settings
Exporting settings from a fresh world seemed to work. I was trying to customize saving throw,card, and damage display settings for players triggering a trap, and somehow lost the damage display along the way
Does anyone know how that the premade "deflect missiles" works?
It ether always calculates the damage reduction, or never. I feel like I'm missing something.
Are you using it as a MidiQOL Reaction?
Meaning is MidiQOL reaction processing setting on and does a hit on the actor with that feature trigger the Deflect Missiles reaction?
the premade deflect missiles, last I checked is improperly setup, it expends a ki point every time its used
you only spend ki to return the ammo
Effect Macro for the Hunter's Mark changing targets to be used with <#1010273821401555087 message> ```js
const statusId = "Convenient Effect: Hunter's Mark - Thorin" //change that to match yours
const spellName = "Hunter's Mark"; //change to match yours
const concentrationStatusId = "Convenient Effect: Concentrating"
const casterName = effect.label.split('- ')[1]; //For an effect label matching the format: Hunter's Mark - Thorin
const casterActor = canvas.scene.tokens.getName(casterName).actor
const concentrationEffect = casterActor.effects.find(eff=>eff.getFlag('core','statusId') === concentrationStatusId)
if (!concentrationEffect) return;
const {duration, parent:{flags:{"midi-qol":{"concentration-data":{targets}}}}} = concentrationEffect;
await effect.update({duration, 'origin': casterActor.items.getName(spellName).uuid})
await casterActor.update({'flags.midi-qol.concentration-data.targets':[{tokenUuid:token.document.uuid},{actorUuid:casterActor.uuid}]})
const initialTargetActor = fromUuidSync(targets[0].tokenUuid);
const initialTargetEffect = initialTargetActor.effects.find(eff=>eff.getFlag('core','statusId') === statusId);
if (initialTargetEffect) await MidiQOL.socket().executeAsGM("removeEffects", { actorUuid: initialTargetActor.uuid, effects: [initialTargetEffect.id]});
Yes, because it does ask for reactions like slow fall.
It has never given a prompt and always activates.
And maybe a min on concentration save if you are already in there
For Starry form Dragon getting min10 on Concentration saves
Have you created a Ki resource on the actor? If it has no uses left, it will not prompt you to use it as a reaction
Does this add the bonus to the original roll?
I was asking about the order of DamageBonus macros when working on Piercer last night
Right now it works, but if you crit, it doesn't let you choose to reroll from all 3 dice including the extra die you get
I had made this <#macro-polo message>
I will take another look on that later
What do you mean? Its a babonus damage bonus when the target has the correct effect on
Ah, I thought it might be useable to create a bonus for piercer
but that doesn't put an effect on the target
It would work. nvm its for a crit.
Basically, if on a crit, instead of doing Main roll + Bonus Damage roll for extra piercer die
I'm looking to do Die + Crit + Bonus Die on one roll
But I wonder if I could do a like post hit roll call or something
intercept the incoming formula, and then alter it, and send it back?
So you dont want the damageBonus because its a different roll?
Yeah, so that way the "reroll" part can look at all three dice rolled and the player can reroll the lowest of the three
cause on a crit right now, they have to choose if they reroll the original die + crit before the DamageBonus even comes out
But does the Piercer work like that?
So if they reroll a 3 on the first die + crit, but then get a 1 on the bonus die
they can't reroll that 1 even though it's on the same turn
and they'd have chosen that instead
Isn't it? Once per turn reroll one piercing die
I'd typically have my player roll die + crit + bonus all at once, then choose the lowest of those three to reroll if they wanted
irl of course
I did and he does.
Huh, but then hunter's mark actually is the original damage type too isn't it
OK hmm. Try the babonus but instead of putting the 1d6 in the Damage Bonus use Critical Damage
It is
If the Deflect Missiles is the only reaction that is not getting triggered, you probably have something set incorrectly.
The triggering part at least works OK for me
I'm using this example as the basis for a basic exploding mine trap, combining MidiQOL, Sequencer, and Monk's Active Tiles: https://github.com/fantasycalendar/FoundryVTT-Sequencer/wiki/Traps-with-effects-and-optional-damage-with-MidiQOL
My macro looks like this:
//const trapActor = game.actors.getName("Trap: Mine APL6");
const trapActor = await fromUuid("Compendium.helianas-guide.creatures-polyhedrooze.uHcWlvs1jG9GPhl2");
const trapItem = trapActor.items.getName("Dynamite");
new MidiQOL.TrapWorkflow(trapActor, trapItem, [token]);
Hooks.once("midi-qol.RollComplete", async function(result) {
new Sequence().wait(100)
.effect()
.file("modules/JB2A_DnD5e/Library/Generic/Explosion/Explosion_01_Orange_400x400.webm")
.atLocation(token)
.play()
});
I've tried removing all MidiQOL roll automation in the settings, but for the life of me I cannot figure out how to let the triggering actor manually make the saving throw. I wouldn't mind it if the end result was just displaying the item card and letting the group resolve through the damage/save buttons
Well the idea is a magic weapon that “saps” the enemy’s ability to fight back. So on hit the enemy would need to make a con save or their next attack would deal half damage. So if possible I’d want an effect applied to target that expires after the next attack that hits. I have figured out how to do all that I just don’t have a formula to make it do half. Only reduces damage by a specific number.
I've tried the No Automation setting and setting auto check saves to off. Are there any other ideas?
I've had some issues with rolling last night - weapon attacks wouldn't roll when players pressed the thumbnail of the weapon in their inventory. I've recently transitioned away from Better rolls to fully midiqol. Is there a setting I have missed or is it just a item bug? They had to click on the item, and then press 'Standard roll'..
And you just have the premade one? Nothing extra?
Ty
Hmm what do you have here?
Did you change the Resource Consumption to match the Ki resource attribute?
Had you enabled the client side MidiQOL settings for your players?
Do you have any screenshots of what you mean?
link the reaction to the resource, common mistake when dragging items out to actors, and also it needs to be a resource, not an item with charges.
Also change the Deflect Missiles DAE effect from ADD to CUSTOM as a step further.
*at least I think you need to... I cannot check it now 😄 *
If it's what you do under the Player section in midi qol settings I have. Not on my PC now, but imagine the output card is just the name of the item, without any other information. No roll or anything.
Does the Dynamite Item have a saving throw set?
If yes, just remove it and let do damage. Then have the players roll manually and adjust the damage for each of them
