#MidiQOL
1 messages Β· Page 63 of 1
ah sorry
If effect.duration = 0, return?
==
actually I dont' trust my laggy server, can I do less than or equal to 0?
I know for fact ae's can go negative durations does the macro know this?
<=
I'm trying to set up a spell with a wisdom save. On a successful save it should apply half damage. I have the following -- how do I make midi apply half damage when the save is successful?
There should be a check box at the bottom that says Half damage save. If you aren'y doing anything more complicated than that it should work
check box at the bottom
Half Dam Save -- got it! Thank you.
"Half Dam Save"
its a fitting short name cause we all forget to check it and go there and check that damn save
I didn't do seconds and it worked, I expired it by duration by changing its duration to 6 seconds and advancing the seconds till it poofed and the hp value didn't drop to 1
If you have the effect getting removed at 0 hp with DAE, just do a small sleep then check hp
yeah that was my other idea
just wait a lil bit
It's probably DAE removing the effect before midi sets the hp.
I assumed it was a times up special duration
I think it's just an order of how it's operating
doh I edited the wrong damned death ward
ok the duration check didn't work, I gottta try seconds now
await warpgate.wait(100)
Checking the duration remaining can get weird if you're in combat.
thats just it though
we're trying to stop the natural duration ending from dropping them to 1
thats never going to be in combat
I dunno how to log out the duration to get the right syntax
Wait then do the hp check
the wait works checking expiration now
Perfect
and the consol log for hp count said 0 when it fired
Yea cause it gave time for the gm to do the hp change
I'm guessing it's related to damage application being done via socket stuff
While the effect removal likely isn't
Or just an order of operations
The issue is that you will need to not go down to 0 at any point, cause many things will drop, like concentration, other effects ttc
I don't do auto concentration removal personally
It does the save, but has to be manually removed
Far too many times a player will use a reaction to change the outcome
yeah I don't auto remove conc
for the same reason chris doesn't, too many mistakes happen in combat
At 0 hp, other effects might be deleted too based on MidiQOL settings or DFreds π€·
I like being the final arbitor of concentration drops
Yea
Just keep it in mind
I'm considering making a world script to change the damage application
It sounds to me like you wanna write the midi version bugbear 8)
So avoid ever actually going to 0
The problem is how to catch macros that directly apply damage
or a manual reduction
A manual adjustment would have no relevant options passed to the hook. Any scripted change to the hp, however, can.
You would need to check for that.
I wouldn't worry about a manual update of hp anyway. Ideally that should never happen in a midi environment.
oh it happens all the time
Could always have the fallback effect macro for that I gues
Midi breaks plenty
or someone didn't click crit so they manualy roll their extra dice
Not an issue when you fast forward lol
Oh I forgot to click the fiend checkbox for that smite
Zhell π₯²
I'm fine with this death ward, I can't even think of something that would get screwed up by a momentary 0 hp
My smite auto detects fiends
babonus, item-only bonus on the smite feature, +1d8[radiant] against specific creature types
my smite is an advantage reminder cause I want it all in one workflow
without an always prompt
I was discussing this with Whistler β the reason he won't go full auto with WIRE is this exact thing, all that happens when you hit 0hp. If you went auto but the GM could still step in and authorise a 0hp/dead/downed before it takes effect that would be a lot safer
although, that was when I was auto removing conc
now I don't care so I could use the midi item now
Either way if it can't be caught with the hook it doesn't matter
Can do the hook and the backup method of an effect macro
if they decided to go 'full auto', they might as well just delete the module and use midi and have someone else do the work anyhow.
let them do their own thing
I don't disagree... but there is a ton of automation in WIRE... did you see how easily he implemented damage on forced entry of AoEs? No reliance on AA
Hooks.on("updateActor",(...args)=> {
if (!args[0].effects.find(eff=>eff.label ==="Orcish whatnot") return;
if (args[1].system.attributes.hp.value === 0) foundry.utils.setProperty(args[1],"system.attributes.hp.value",1)
})
π€
I would also delete the effect as well
Or disable
You would do that in the "post" hook
For death ward at least
Yeah I was thinking of returning false at first
but no need I think
don't do that, there could be other relevant updates that should still happen
effect macro has a long rest hook for Orc hp 1 thing
Sidenote: a disabled EM does not call its scripts.
I've been using template macros for that lol
Avoiding AA like crazy
Attach the template to the token and call it a day
I really don't have an issue with aa
My Australian player make AA cry
only real issue I got now is the ATE wildcard bug
It's always so buggy when high ping players get involved
my players are texas, tennessee, Minesota, and New England
Host is smack dab in the middle
So all across the globe, huh
I presume it sockets a lot.
I think 2 gm accounts really screw with AA
oh one thing I noticed of late is that random players load without some modules
sometimes its midi, other times its been tidy
they just flat aren't installed
Just those two?
I can only assume a weird script blocker
we have no way of knowing if anyones loaded witha missing module
midi is obvious cause they go to attack
tidy was obvious cause the player wined that their sheet was not dark
I changed their sheet for them, and they still said it was white
thats when they snippeted and I saw it had no tidy
Very strange
I suppose the module count in settings tab could be a way to ensure everyone has them right?
If it's only those modules, and not a randomly selected module, then the issue is there.
pretty sure its been a few others I just can't remember the names
Some random variable not set properly or something.
parental blockers... illicit content
oh monks tokenbar was another
its almost 100% the same reason your players dont see walls or fog properly
that's so strange, and stressful
hmmm I dunno the last one who had MTB not running is one of the nice players who doesn't have strange beliefs in obscure no name popup blocker extensions
this next session I'm gonna have them all tell me how many modules they see in the settings tab count
until that whole crew is running on actually clean browsers, its really not worth wasting time π
We even got the anti chrome user to run chrome just for the session
as long as its a clean browser, and halfway decent connections, i cannot think of a reason scripts would not be downloaded
I think its my server though, the thing is just so bogged down, I need to upgrade its ram, frikkin windows 12 bloat
[midi-srd] Metadata validation failed for module "midi-srd": The file "scripts/midiSRD-styles.css" included by module midi-srd does not exist
#logPackageWarnings @ setup.js:141
I'm sure this has been addressed, but is there a fix for this?
So I need to replace the malfuntioning JSON?
midi srd's officially published version is v9 or lower
bugbear fixed its json so it installs in v10 but you have to manually install it by pasting the link into the bottom field in addons
if the first link doesn't work for the manual install field use the second
The raw url is the one that works.
I dunno, think theres like a browser out there that likes the other link for some reason
sometimes people say the raw doesn't work
raw is what I use /shrug
could also just be user error
If only we could pin it in this thread π
Been discussed
I was there
nah, Bugbear knows how to get it fixed, he doesn't wanna be tied to the module, I don't blame him its not his work. he's doing us a courtesy
plus I'm pretty sure about atleast 10% of Midi SRD is still not fixed for v10, we just haven't found them all yet
theres a bunch of it thats not setup to be funnedl through the midi macros
So after I install via the manifest link, I shouldn't allow updates to MIdiSRD?
As long as you trust bugbear not to break anything
that sounds like a forge thing but honestly, imo, don't jam that update button unless you got a strong reason to, and that goes for all of them, any update, don't do it unless you are being forced to. Stability>all
What about Tim's update to Midi today?
I trust Bugbear!
Someone reported an issue earlier, no idea whats going on with it
I'm personally on 10.0.23, but I was fortunate enough to stay on 2.0.3 dnd5e
Think it would be crazy to ask for the midi apply damage function to call a hook?
then let Bugbear take the wheel
What hook?
I gotta do a meme with chris, bugbear, fotoply, and Mrprimate at some point
π Hooks.on("midi-qol.damageApplied", (workflow)) π π€
I was thinkin of doing a voltron meme, but I can't find one with lance instead of alura lol
Wolfe was sneaking into that group but has been quiet lately... their Starry Form is perfection
If nothing centralised for MidiQOL stuff comes out soonish I will ask around about MidiSRD
I have gone through half of the premade Items remaking them for v10
I need to figure out a way to automate exporting stuff from my automation compendium to my GitHub. (That would also strip out descriptions)
When I finish I will create a PR and see how that goes
That's not called for the exported midi apply token damage function iirc
Need something that's not necessarily part of a workflow
Is it not called when damage is applied? Don't remember now
I don't think it is.
@edgy trellis check your controls, maybe O is set to something else
I can't remember if this is default or not
I'm starting to think its not
yeah I think its originally default O for other formula but I don't see a reason for that since midi automates other
so I moved it to the override
Thanks! I think I'll just change the ranges for that 1 character and utilize the "O" key for all others if the situation arises.
I have a barbarian and a paladin so I just rmeoved theirs really
just to make the op attacks less tedious
anotehr pro tip for things like that, I also made the help action ranged
@scarlet gale
so that the damned owl doesn't have to micro manage its movement on its simple turn
I don't even have a help action...
Like the things turn is basically help action
oh get it, its in MASIF
its basicaly advantage all
minus saves
yeah could just make a CE for that
the MASIF one is allies, you can also get one that does the hostiles
depends on how you read the ruling on help action
I don't really care much either way so my players decided it should go on the ally instead of the next attack on the bad guy
So the owl constantly tag teams with the paladin for some rp
Oh interesting
What is MASIF?
Hes not very active on discord here but his stuff is legit man
The stuff I was doing earlier with circle of mortality came out of his item
and if you have a battlemaster, that module is your jam
its so slick I even turned a few npcs into battlemasters just to use it
I'll have to check it out. The spell I am struggling with right now is Booming Blade, does he have anything on that?
I can attest that Mr Primate's BB works great
I dodged a bullet with both booming and GFB, my wizard player thinks they are dumb so he went with chill touch and shocking grasp instead
I don't share his opinion lol
woops
Do you mind giving me some advice on how to set it up? I am a big dummy when it comes to macros
how do you have a different url than me lol
Yeah yours was cleaner
Item Macro is installed
You get how to set it up? You need item macro, but if you are installing item macro fresh, you have to disable character sheet hooks in its settings
once you do that, copy and paste his macro word for word right into the item macro button at the top bar
and then look at lukas' image he has ItemMacro at the bottom of the details tab for an on use macro
That screen shot is directly from DDB importer, so it's how it's expected to be set up
I bet you, you could pull it off with times up and effect macro too
it's the trigger on move thing that's the clever part
theres a has moved special duration
oh, quite possible then
but why reinvent the wheel if Mr.primate carved a path for us
oh I dunno if efffect macro has it, but times up adds one into dae
It looks to be working now. This is pretty slick!
especially with the lightning fx
FR
pro tip:
Great sources of premades:
https://github.com/thatlonelybugbear
https://github.com/chrisk123999/foundry-macros
https://github.com/MrPrimate/ddb-importer/tree/main/macros
https://foundryvtt.com/packages/more-automated-spells-items-and-feats
https://raw.githubusercontent.com/thatlonelybugbear/midi-srd/master/module.json
Should probably add Dfreds CE to the list
I use the active auras Silence fwiw too
Set this special duration and then put a midi workflow in the effects on deletion macro to apply damage
Are all these set up for version 10?
midi srd's official branch is v9 only, the one I linked is bugbears special v10 branch that works
as for the macros, I can't speak for them all, but I have to believe that the 3 of them have updated their stuff for v10
its not hard to v10ify them though so if you catch any that aren't working just share here and one of us will fix it
Not sure if I'm using this correctly since it rolls NaN
How do people handle upcasting spells that grant additional targets? Specifically bane
I'm sorry to bring up Hex again today, but I'm using @scarlet gale macros and I have to use Hex, then immediately use Hex-Move to bring it over to target get the bonus damage to work (I'm also not seeing disadvantage trigger). Are there specific MidiQOL settings I need to have enabled?
I'm having a weird problem with MidiQoL. Turned on, I can't do any attacks from either a combat HUD or from character sheets. Turned off, no problem. This is what I see in the console.
Midi v10.0.28, Foundry v10.291, 5e v2.1.4
MidiQOL 10.0.28?
Try turning off in MidiQOL settings => Workflow settings => Rules the Hidden/Invisible attackers have advantage... option
Or the attacking removes hidden
Do you have all the required modules?
Specifically warpgate
I have/had the same problem. Went down to just MidiQOL and it's requirements and still had the problem. Deleted all my scenes and made a fresh one, problem went away.
That worked. I don't even recall setting it, but thanks. Can I ask? What pointed you toward that setting?
The latest version changed some stuff regarding this option so lets call it an educated guess π
Thus.
Do I need an ItemMacro to cause an area effect Str Save DC 19 to knock prone?
I do, here's what I have for the spells.
Nope. Just an Active Effect for Prone on the Item, add a Saving throw on the Item's details tab and make sure that effects are applied to targets when an Item is rolled
Also I've figured out how giving area info will generate template creation. Not sure if there's a way to automate their creation location when range is set to Self.
Not automatically.
If you want it to be centered on Self, you can make the Target be 30 ft enemies for instance
and will target all Enemies in a radius of 30 ft around the caster
Ah
But it will not place a template down in that case
Any more than that and you're looking into macro terittory
I'll be home in ~10 min and can double check that
Dont you need something in that Effect value for the hex flag?
You're a hero, thank you!
The item macro updates it
I should probably rework it to just make it on its own
(didn't go through the Item Macro etc, just saw that π )
Do you have your setup to manually need to press apply effects?
I don't, it applies hex to myself and then sets up concentration.
Or have a CE called hex?
I don't, this the most I'
Set as Inactive, Passive, or Temporary? I found the effect for Grease from Active Auras. Looks pretty close to what I want, but I don't think it's an OverTime effect.
ve done so far. I did set Midi to Default recently though as I got the error Hidden/Invisible attackers and was trying to figure out what was causing it.
I would check for an error in console right after using the spell
Do you need an overtime effect for some reason?
Do you have a module for Conditions, like DFreds Convenient Effects or CUB?
No errors either, it's very odd.
You do have the Chris-Hex macro too right?
Not just the attack one
All three, I even just double checked to see if I had made them incorrectly.
Because it's an area effect around the token. Looks like it almost worked except it still self targeted.
Sorry Should be Saving throw instead of Melee Weapon Attack
DM'ed you so we're not clogging up the chat here with troubleshooting
Range Special will exclude Caster from being targeted
are there any settings that will handle something like Stone's Endurance (reaction that reduces damage taken by 1d12) or does this need to be done in a macro?
Any idea where the "Wounded" effect is coming from? It says the image is from dfreds-convient-effects. I don't see the need for it nor how to keep it from being applied.
We figured out the issue with my hex macro, the version on my github was slightly out of date.
had this.size instead of this.targets.size
Midi settings
In mechanics I want to say but not sure now
Anyone know what the current method for pact tactics is using the advantage flag and find nearby?
You can't do that with babonus though.
Should be doable with the automated conditions module after my next update soonβ’οΈ
pact tactics sounds awesome... advantage for having multiple warlocks in your party
That's what I have, but I feel like it's doing it wrong
It's doing the source token, not the target token
Hey folks! love you guys! amazing work in this discord... Now that I've buttered you up
Which midiqol setting is it that shows and hides the attack/item/spell info card in the chat
This might get you started... #1010273821401555087 message
Am actually kinda surprised that isn't a premade
You mean the description? And do you want it gone, or just collapsed?
Under misc:
THANK YOU!
oh no, I think the latest midi broke optional bonuses on skill checks β can anyone confirm?
this is the Guidance I've been using... the result is NaN now
I think (hope) @gilded yacht has been tinkering with making the DSN rolls work correctly so that might have something to do with it
(that's the DDB Importer Guidance btw, and I did get rid of those spaces after the +s in case that was it)
My Dex Save attack was removing the Prone too early. I tried setting it for the special duration of when token moves. I set the duration in Details as Special. But how can I autodelete the template now?
I just target more tokens before casting
Yeah there's no elegant way right now, you just have to edit the spell in some cases so midi doesn't bark when you have too many targets selected
(Some spells come in with one creature as the target, and you can't upcast if that's the case... just remove it, or bump it up to a higher value β assuming you're having midi check targets before rolls)
Would there be a way to automate this?
Inner Flame. A creature without fire resistance or immunity that touches the giant or hits it with a melee attack while within 5 feet of it catches fire; until someone takes an action to douse the fire, the creature takes 5 (d10) fire damage at the start of each of its turns.
Hi All I have a question about Item Macro that sends chat message. So something like this:
const chatData = { user: game.user.id, //speaker: ChatMessage.getSpeaker("DM"), content: rolltxt , whisper: ChatMessage.getWhisperRecipients("DM") }; ChatMessage.create(chatData);
Is there a way to make this message ONLY visible to GM? So even the sender/user cannot see it?
I would make this a reaction on the creature that applies an overtime effect
I have an automation for being set on fire stuff
I can share it after i'm done with my game
trying to v10ify a macro and I broke it so it doesn't work and the error is not informative
all I have done so far is swap out the data.data for system
I don't see a "startswith" in the macro
but to be fair, it was dead before v10ification apparently
this is weird cause it wasn't during life play
He used this feature like in the last two sessions, I haven't done anything to it and now suddenly it doesn't work and I definitely have not tweaked midi nor updated anything
I moved to the exact place he used it last even and its not working same error
oh god what have I done....
All of my on use macros are causing the above error, I can't use midi?
const workflow = MidiQOL.Workflow.getWorkflow(args[0].itemUuid);
const targetTokenUuid = args[0].hitTargetUuids[0];
const targetToken = await fromUuid(targetTokenUuid);
const targetActor = targetToken.actor;
const effect = targetActor.effects.find(eff => eff.label === 'Beacon of Hope');
if (args[0].macroPass === "postDamageRoll") {
// if Target HP > 0 return
//if (targetActor.system.attributes.hp.value != 0) return;
//If no Beacon of Hope
if (!effect) return;
// check to make sure only one target is selected
//if ((args[0].targetUuids.length < 1) || (args[0].targetUuids.length > 1)) {
// ui.notifications.error("You need to select a single target.");
// return;
//}
// compute maximum healing for the spell cast
let healingRollMax = 0;
for (let i = 0; i < workflow.damageRoll.terms.length; i++)
if (workflow.damageRoll.terms[i]?.faces) healingRollMax = healingRollMax + (workflow.damageRoll.terms[i].faces * workflow.damageRoll.terms[i].number);
else if (workflow.damageRoll.terms[i]?.number) healingRollMax = healingRollMax + workflow.damageRoll.terms[i].number;
let bonusHealing = (healingRollMax - workflow.damageRoll.total);
await setProperty(workflow, "BonusHealing", bonusHealing);
return;
} else if (args[0].tag === "DamageBonus") {
const actorUuid = workflow.tokenUuid;
const actorToken = canvas.tokens.get(workflow.tokenId);
if (!effect) return;
let bonusHealing = await getProperty(workflow, "BonusHealing");
// Bonus Healing
if (bonusHealing > 0) {
await setProperty(workflow, "BonusHealing", 0);
return { damageRoll: `${bonusHealing}[healing]`, flavor: "Beacon of Hope Bonus Healing" };
} else return;
}
This actor onuse macro is causing all other item rolls to throw this error:
its even killing a macro run via automated animations
Shame on me for ignoring a tiny message Chris said to me while making it sheesh. So apparently this macro kills all macros cause I set it to ALL instead of postdamageroll.
That sounds like a good way to nuke midi
let auraName = 'Fire Form - Aura';
let featureName = 'Fire Form';
if (this.hitTargets.size === 0) return;
let effect = this.actor.effects.find(eff => eff.label === auraName);
if (!effect) return;
if (!(this.item.system.actionType === 'mwak' || this.item.system.actionType === 'msak')) return;
let distance = MidiQOL.getDistance(this.token, this.targets.first(), {wallsBlock: false});
if (distance > 5) return;
let originItem = await fromUuid(effect.origin);
if (!originItem) return;
let originActor = originItem.actor;
if (!originActor) return;
let originFeature = originActor.items.getName(featureName);
if (!originFeature) return;
if (!(this.item.system.actionType === 'mwak' || this.item.system.actionType === 'msak')) return;
let options = {
'showFullCard': false,
'createWorkflow': true,
'targetUuids': [this.token.document.uuid],
'configureDialog': false,
'versatile': false,
'consumeResource': false,
'consumeSlot': false,
};
await MidiQOL.completeItemUse(originFeature, {}, options);```
This is how I handle splash damage type things, such as the "Fire Form" from a Fire Elemental
Yeah I think the other link was wrong
I remember I had dealt with it, but too tired to think about it π
is there an easy macro that lets me switch targets for a player?
Ask in #macro-polo as this is not MidiQOL related π
Also there is a module that should be able to help: https://foundryvtt.com/packages/manage-player-targets
oh okey sorry, but thanks anyway
Does Midi support lowering of weapon critical thresholds? (i.e. "Your weapon attacks score a critical hit on a roll of 19 or 20")
specific weapon is probably babonus, all weapons could be midi but I think its a dnd5e flag now
Details tab of an item, change critical threshold field to 19 and it'll crit on a 19 or 20
if its champion fighter just mod the special traits threshold, don't waste an ae on that
I would only use it on things like hexblades curse
It's for an active effect on a temporary buff
ok then if temporary then yeah active effect, I think its a system key now but midi still has its own too
It'll make all relative rolls crit on that. But yeah
I spotted something about midi possibly phasing it out, so I thought I'd ask
Right on. 'Ta!
the key may actually be dnd5e instead of system I forget
dnd5e is the system though π
I mean the beginning of the key
don't all the special trait entries begin with dnd5e
or atleast some do
always has been
That's a bug I inadvertently introduced. Fix in 10.0.29
@gilded yacht By the way I made a MR to add support for expiry of isSave and isSave.<ability> in expireTargetEffects. Could you take a look at it and include it in the next version if itβs ok with youβ¦
Good to put a ... discord handle to the ... username π
Anyone know what is going on with this?
This is just in a test world so not panicking. Before I dig deeper with FTC, however looking at this I think I already know.
It is happening when I try to use any item from a players inventory.
Same error to the one discussed here: <#1010273821401555087 message>
@gilded yacht π
I also have no memory of setting that feature. However yesterday, sometimes when I unticked some items in the settings and saved, they were ticked again later on. And I wasn't sure if it was me just losing the plot. π
In the MidiQOL settings you mean, or in general in module settings?
Midi-Qol settings.
what version of socketlib do you have?
1.0.12
Weird, I do know that its easy to accidentally not save stuff in settings
change a setting, hit close instead of save
Might you have forgotten to click on the Save settings button?
Some times it can happen when you need to scroll down to the bottom, especially in Workflow and Misc tabs
It could well have been me for sure. Just thought I would mention it. π π
I have no idea why this is happening - it's midi attempting to check if the target can see the attacker - must be doing something wrong - 10.0.29 will patch so that it can't throw an error.
I wonder if it could have anything to do with stealthy which has become a bigtime popular module lately
Obviously we'd need more input from the two guys having it
I had a look at this and coded the change for 10.0.29. Then I realised that, because you can check magical effect on the weapon to achieve the same result, it feels more flexible to leave it the way it is now. That is to get the result you want, also check magical effect on the weapon and saves will be made with advantage by creatures with magical resistance. I can't think of a case where that would not work when adding the magical damage to the list of magic resistance types would, but does allow you to decide per item if the saver gets advantage on saves against the item or not. What do you think?
Not sure, cause there is also this comment for the same issue
I think he was referring to features that deal an attack
like turn undead
Merged and will go out in 10.0.29. Thanks.
Here is another but I am not sure what it is affecting in the scene. I will try and recreate.
I don't think so. It's perfect vision throwing a wobbly because the visionSource is not set up correctly (by midiQOL). Turns out that checking if a token can see another token is not as simple as I thought it was. Token vision is set per client/controlled tokens and I do some fiddling to make it work on player clients - and must not be doing that well enough.
Just trying to recreate what I just did and can't get the error again. Weird.
Agreed. Specifically if the iten/weapon both does magical damage and has a save the request was for magic resistance to apply on the save. I added that, but now realise you can achieve the same effect by just setting magical effect on the weapon/item in question. You can still do magical damage, but decided that magic resistance does not apply. If magical damage always triggers advantage on save you lose that flexibility.
@gilded yacht I was thinking to try and create a couple of MidiQOL sockets that do an updateToken and revertToken (for not owned tokens)
The updating would need to store the value to be changed in a flag and the reverting look for these flags and revert them to the original values. Probably link them together with some sort of variable unique to the "mutation", to borrow the term from Warpgate.
Trying to figure out a "simple" way to deal with ATL/ATE issues.
It sounds doable, but would it help? π€
How do you set up the rest of the details? I'm trying to set this up, but I'm getting no dialogue prompt.
No errors either
I think it needs to be an item macro
I don't think you can set magic at the top on features
The updating would need to store the value to be changed in a flag and the reverting look for these flags and revert them to the original values
God speed, sir, god speed.
(just use warpgate π , wrap it in a midi socket if you absolutely have to)
but seriously @violet meadow let me know what, if any, agnostic API functions would be helpful in warpgate for this stuff
i think a lot of the race conditions, odd timing issues, and odd data handling issues can be addressed by leaning on warpgate more
Hey @scarlet gale, sorry to bother you. i'm trying to get your awesome Hex macro working and I'm having a simillar issue to @limber violet, I have created the 3 Macros and configured the DAE as best as I could. I have the dialog popping up, and the disadvantage working on the target, but I dont get the bonus damage. Can you help ?
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things..
Is there a Midi workflow that supports the Assassinate feature of an assassin rogue? In 5e, of course. My rogue player has tried to maximize his ability to go first in initiative, so he often can use this ability. ((The rogue has advantage on attack rolls against any creature that hasn't taken a turn in combat yet, and any hit you score against a creature that is surprised is a critical hit.))
I have none of those module on my foundry server. The screenshot I sent was in the console log after trying to setup Chris Hex macro
do you have character sheet hooks on in item macro?
otherwise is the folder macro not named what you have there, aka miscapitalized letters or the dash is missing
Its not finding a macro
Outstanding, thanks! Okay, so in addition to creating a CE called "Surprised", where do I put this macro? As an Item macro for the Assassinate trait?
you can have it as an itemmacro, but it needs to be an actor on use
So, set the Execute Macro for specific user to my rogue player?
Got it, thanks.
Reaction icons are not disappearing at turn start, they are meant to right?
Is this set up right, anyone? π
what does your reaction icon look like
The DFreds one, the blue circle.
either a bug with your setup or possibly cub interfering
or you duplicated as custom and removed its special duration
oh
maybe you are missing times up?
or simple calendar?
That is it...... cheers.
I did have a custom one. Thought that was it at first.
That is it π
you can have a custom one but it needs that special duration
Did you get it working or still need help?
No I have deleted the custom one but I don't have Times Up.
Success, thank you π
You get it working or still need help?
Aye, i managed to get it working. Turns out i needed to set a radius target. 
That would do it
I always start with the preconfigured ddb import of an item when I make it
so I didn't even think to include the screenshot of the spell details
Features don't have that section on the sheet. Although I'm betting I can still set it in a macro.
I'll do you one better, you can put active effects on loot items via the wrench, hows that for weirdness lol
Still need help. I have a console message saying it can't find a macro : postDamageRoll
Screenshot your DAE of hex
Oh yeah that fixed it. thanks π
Hi all, is there a way to make a sword have different attack/damage bonuses v. size of the foe? (ie, +2 v med, +4 v lar, etc).
would require an on use macro I believe, I wonder if babonus can do this?
Is that the name of a macro?
nope. π¦
Maybe someone will come along with the curiosity to build it for ya
sadly its not something you can find a sample to work with
if you can filter by target data, im sure it can
zhell answered you in dnd5e, if its babonus'able I'd go that route
is there a way to handle the Goliath feat Stone's Endurance, an on use reaction that can reduce the damage taken by a die roll (i.e. reduce damage from an attack by 1d12+2)?
there is a premade in MASIF(More automated spells items and features module)
its also really easy to make
HOw does one get to babonus?
its one of zhells modules
Build a Bonus, but talk to him in #dnd5e I don't really know how to use babonus
hey, how I can install a old midi version?
I clicked update when I wanted to click on another module, and now I want to revert back to older version because something broke (I have a session later today, don't have time to try correct anything)
This is whats in its limited uses max field: @prof
check the first pin here
make sure you download the right version, I've seen a few download 0.10 instead of 10.0 cause of how long his list of zips are
thanks @vast bane
Is there a way to make the Midi "Dragon's Slayer Longsword" work against goblinoids in the same fashion? It doesn't seem to support custom types when I've tried to modify the activation condition formula and creature type.
you could either worldscript goblinoid in or if you don't rename your goblins you could do token or actor name
hmmmm, doesn't it take subrace?
cause I know I've seen devils
I can't seem to get it to
maybe my formatting is off - I'm not much of a coder
I bet you @violet meadow would know if it does/can
babonus supports subraces
yeah and babonus can probably do what they need too
but for sanity's sake I'm pretty sure midi does too we just don't know the syntax for the activation condition
If it's "I want to add [X] but only when [Y]", then it's always 100% babonifiable
Good to know. I'm trying to figure it out for a friend that's new to foundry. If I can't do it with Midi I'll look into your module for sure.
@molten solar is this how it would work? It's still dealing extra damage to all humanoids.
If you want it to have +2d6 against humanoids and explicitly not goblinoids, yes
How do I specify a subtype to do damage to?
"goblinoid"
okay so it checks for both race and subtype in the same box, that's cool! Thanks!
Just for my future reference whenever I upgrade out of v9, why is that "explicitly not goblinoids" when the creature type also is included in that picture?
For the left field, babonus just checks race, creature type, subtype, etc, and makes sure at least one of the ones provided is present on the target.
For the right field, it does the same but evaluates false if one of the provided is present
Left is "must be one of these", right side is "must not be any of these"
semicolon
The Keys button also pops a helper dialog
With helpful text and everything
You'd know that if you upgraded to v10 /s
What's v10? /s
what, you can't count that high?
hey @molten solar on your build-a-bonus module, how (if possible) would i set up a sword to have different attack/damage bonuses based on the size of the opponent? For example, +2 for medium size, + 4 for large.
Make different bonuses, one for each size. Use an 'arbitrary comparison' filter
Like this?
Left side: @target.system.traits.size
Right side: tiny, sm (small), med (medium), lg (large), huge, and grg (gargantuan)
and with babonus, you don't need a leading "+"
What if I like ++ though /s
Does this look right? Because the bonuses aren't showing up. Is there something else I need to do? Thanks!
Oh sorry, just @target.traits.size
Is there a document that has the formulas like @target.traits.size?
pins in #dnd5e, it's just those with @target slapped in front
if there's more, move it there since this isn't midi related. π
This has been such a great help. Thanks for making such a great module. One last question, is there a condition so that the bonuses only work if the character is a halfling, for example?
another arbitrary comparison, creature type, no @target
I'm a little confused, is this what you mean?
You want the actor's race
It's located in the roll data somewhere.
All roll data properties should be preceded with @.
@vast bane Thanks for your assistance earlier. I have a CE named 'Surprised' that I can put on Assassinate targets. I have the assassinate macro in my macro folder and set up as an 'Actor On Use macro, set the details to 'Transfer to actor on item equip', and the effect value set to ActoronUse.Assassinate.postDamageRoll. It works very well! Thanks!
Just running midi. Anyone know whats wron?
Do you have this set? Try it with it turned off. This is in Workflow --> Rules.
downgrade midi versions if that error is too disruptive, its a known issue
you can probably disable that optional rule gunfighter just shared to fix it
That was the one, thx.
Anyone have documentation of what all the MidiQOL functions do? I've done the MidiQOL. in my console to see what functions there were, and some aren't as self explanatory. Was just curious if anyone knew where I could read up on that, if anywhere
Anyone know how on an effect using flags.midi-qol.min.ability.save.con with a value of 10 can I make this effect only work if the character is concentrating?
Anyone help me with this error? I'm trying to run a simple feature ability that adds d4 to a resource's uses. This is the feature ability. It runs this ItemMacro after active effects. And returns this error.
did you disable the option in the message i linked?
Oh I didn't notice you linked a specific message, my bad. I thought you just linked this chat thread.
let me go try that
Ah, yeah, that did it. Thanks @dark canopy
thats probably actor on use macro territory
Oh great and powerful Midi Wizards. Will any of you write a thing for me?
"Midi macro which runs on preRollitem. You can have it check the short distance and if less than 10. Update the item to be 10. if it has an actionType of mwak"
This was suggested to me on how to account for long limbed. I know not how to do this. Please help. Thank you for your time.
Excuse my newbie ignorance, but I am not sure you mean by actor on use macro? Still learning alot about everything.
that is automation to do something that just doesn't need to be done. Just clear the range of the weapons man, it just isn't worth the time to write it.
If you want them to respect ranges, give them a token aura to make sure
Also the range on long limb is their turn only
I'm know its only on their turn. Having to edit every melee item they get is a pain. Just wanting a set it and forget it thing.
I'm shocked bugbear doesn't have a bugbear macro
anyone here experience dice so nice doing more rolling then shows up in chat... seems like it rolls the attack and damage dice twice but only keeps the last
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
ready set roll seems to work
yeah...no
welcome to the world of hard decisions
You must choose between the two rollers, no, they do not work together
Yummy flags and automation, or the ability to waste a d20 and throw 2 all the time βοΈ
okidoki
the hell is "Max Crit"
More and more modules come out every day it seems
Module development oughta be a bannable offense.
All of these have been either rollers, which are auto bad to use with midi, or modules that threw midi for a loop
or just ones that tim just came right out and said hes not working with(gm paranoia)
Someone should probably tell Mango its Roll Groups for v10, it was Br and MRE in v9 hehe.
Can anyone help me understand how can I reduce a Crystal Rapier's charges from the ItemMacro? I prompt the player to choose if they want to heal and that is fine but I can't find a way to reduce the item's charges
Don't want to use Description usages since those go down with basic usage
An easy workaround would be to make a companion item to hold charges but don't really like that approach if there's a way around that
Make a macro? Doesn't sound like you want it tied to the item's basic functions.
Perfect!
is this a published item?
if so what book so I can look it up
From Fizban's
Crystal Blade?
How does that help with the daily charges?
Everything works but reducing those
Yeah I guess I reskinned that
I can think of a really simple way to automate it
well not automate, but do it
if you don't care about concentration check spam, you could make the radiant its own thing and basically steal from vampiric touch
... click on the sheet? Uses can be adjusted right there.
ooooooh actually you could totally do this, you can grab the previous rolls result, and heal for the radiant
thats doable in a midi macro for sure
I just don't know how to do it
it would need to be 2 items cause the charges need to be stored somewhere
const roll = await new Roll(`${args[0].workflow.damageDetail[1].damage}[healing]`).evaluate({async: true});
const actor = await fromUuid(args[0].actorUuid);
const token= await fromUuid(args[0].tokenUuid);
await new MidiQOL.DamageOnlyWorkflow(
actor,
token,
args[0].workflow.damageDetail[1].damage,
'healing',
[token],
roll ,
{flavor: 'Crystal Rapier - Heal'}
);
}
try {
if (args[0].workflow.isCritical || args[0].workflow.attackTotal >= args[0].hitTargets[0].actor.system.attributes.ac.value) {
const dialog = new Dialog({
title: 'Crystal Rapier',
content: `<p>Do you want to heal for ${args[0].workflow.damageDetail[1].damage} hit points?</p>`,
buttons: {
confirm: {
label: "Yes",
callback: () => heal()
},
cancel: {
label: 'No',
callback: () => null
}
},
default: 'cancel'
})
dialog.render(true);
}
} catch (err) {
console.log(err);
}```
This does the healing
Not sure how to deal with usages, I guess I can recharge one if they choose not to heal
If I give the weapon uses, don't they go down on every attack?
they do
no
they don't?
Using an item prompts you to consume a Limited Use.
An attack does not.
thats gonna be painful
assuming yolo isn't auto consuming in midi, a martial character player typically hates prompts
then again its gonna be a prompt regardless
Even if I use the action it still gets the prompt
It's gonna be an hassle for the player since they are hasted most of the time + extra atk
I don't know how your setup works.
man the more I look at that weapon, the more I want to remove it from my tables lol
that weapon has ridiculous potential abuse with holy weapon
Could just have another feature that has charges
When you hit a creature with an attack roll using the sword, you can expend 1 charge to regain a number of hit points equal to the extra radiant damage the sword dealt.
I read it as the extra damage is just the 1d8 or 2d8 on crits
Dialogue pretty much the only way for that
That's how I'm implementing it anyways
Holy weapon adds radiant damage to the weapon as weapon damage
Yeah I guess I have to go with that
I think theres a paladin only spell that also adds radiant to their attacks, then theres pally smite too
Sure but I guess RAI is you don't heal for radiant damage on atk from other sources
Personally, I'd just store the charges on a passive effect from the item
Or if not RAI, that's how I read it
or a unlinked resource
you could link the item to the sword with macro.createitem 8)
oooh
Chris, he could do basically what the midi sample item for lay on hands does
the sword could have a passive effect that sets a resource pool
In other news, could anyone confirm for me that DAE isn't as jank now in the new version?
Is it safe to update
tim sounded like he had 2 updates in the pipeline this morning
but I'm no Tim whisperer
the doubled up effects is at least fixed right?
I dunno theres a new issue by someone in dae reporting it again
while confirming the equipped ones are fixed
I still had issues with it
One day I'll be able to update to the newer dnd version
I think I'm still waiting on something else too
Character action list I think
import a potion of climbing, does it have a bugged double active effect on it Chris?
babonus can do-- good lord fuck no
Midi can with macros at least.
the duplication bug thats new is reporting just potion of climbing
Wait a min...
I think I'd rule THE extra damage as referring to the special damage in the weapon, but god help anyone who rules all radiant lol
EM could do this. Pretty darn easily.
Oh?
I mean you just read the values off the roll in a damage roll trigger and pop a dialog
I think the resource pool dae would be a definite plus though
Would be pretty much the same with a midi item macro too
Since that passes the damage dealt info
Probably
it has to be the damage dealt not rolled
yea
it's all there
you can just look at the damageRoll
and add up anything that has a damage type of radiant
This would be fun on a paladin
I'd leave the weapon alone, have it have a 3 key ae to setup a resource pool, then have a second item that checks the last roll for radiant and heals for that much expending the resource pool
this way its not a damned prompt on every martial attack
if he wants it, he rolls it
I know you can pull a previous roll workflow cause thats how circle of mortality worked in v9
and its how bugbear tried to do smite in v9
I've never tried
But I'm guessing it's just grabbing the workflow from the id
Even if it's already over
could look up bugbears really old divine smite he did it that way
Gonna finish making my Elder Oblex Eat memories feature then I'll give a crack at making that
oh yeah actually I know why it sucked, if the weapon causes a concentration check it screws up the last damage workflow target
Seems like something fun
cause then the item will pickup the conc check instead
Eyy Moto, Do you know exactly how midi and roll groups interfere? I have both running and I haven't detected any problems.
I don't use roll groups but its the spiritual successor to MRE
Zhell probably could answer you better
you likely aren't using it
pop a ** in a damage formula and roll it, do you get errors for roll groups and midi or just midi?
Any idea whats going on here?
Doesn't appear to be midi related
thats Combat Booster Module
I'm looking to summon two different tokens using warpgate, one after the other, while having a sequencer effect play on them as they're being summoned. Does anyone have any examples of this laying about?
ah ok
with a crosshair for each?
Aye
Hello, Midi keeps giving me this error: Uncaught (in promise) Error: undefined. Roll.safeEval produced a non-numeric result from expression " + NaN". It appears to be exclusively related the extra optional damage flags (effects). Anybody knows how to fix this?
How would you guys rule an upgrading dice for the elder oblex eat memories feature? It says it goes from 1d4 -> 1d6 -> 1d8 etc and ends at 1d20. Think I should do 1d14 and such? or just go directly from a d12 to a d20?
just combine two simple warpgate/sequencer macros
Screenshot your effect?
this is probably the same error that Lukas reported
he has the newest midi installed
for lukas it was with the dfreds bless/guidance
tim replied this morning saying its fixed and in the next update
if we are not homebrewing, yea, 12->20
Guess by the time you reach a d12 and get hit again you deserve the next one to roll a d20 lol
I think 29 is coming soonβ’οΈ
Hello all! Pretty sure this is a MidiQoL issue.
It seems that all my targeting/ automations/ animations are not working. Has anybody else experienced this?
Error in console?
turn off the otpioinal rule that has conditional visibility mentioned in it
I can't access my server atm but theres a bug with an optional rule that has to do with seeing targets
it has condtiional visibility in its description
If you uncheck it your game will start to work again
THANK YOU!
What are the ATL issues you are speaking of? Is it the use of the prototype token by ATL?
How can I get this not effect characters with Fire Resistance?
I mean, they're be immune so being on fire wouldn't do any damage. But you can check the target traits and if they have fire immunity just do a return to drop out of the macro early.
The magic effect setting is a midi-property.
Agree with that.
Yeah I saw the issue you created in ATL and discussions about that in general
If they do damage or have a save they do - these are midi properties not weapon properties.
I think if there was a way to directly affect tokens via MidiQOL/DAE might alleviate that
Non owned ones I meant
That's what I was asking for
I think hes referring to the bottom boxes
if target.system.traits.dr.value == "Fire"or something?
not quite
export an actor with that trait
and look how it's setup in the traits section
Pretty sure it's a set or array
I'm inclined to agree with the idea of leveraging warpgate (if present). But I'd suggest it is for ATL to make the call rather than something midi should try and fix - people already accuse it of doing too much π
Seems to work for me
just for sanity's sake are the two of you using the same magic resistance method?
theres the flag and then just having an item called it
Good point. I just dragged the SRD magic resistance to the character. Sounds like there might be a problem with checking the flag. I'll try that as well - just tried flags.midi-qol.magicResistance.all and that worked as well.
also I think chris is on older versions?
Only by a version or two
I don't think magical resistance has been touched
unless it was part of the trait update
No should not matter. Can you export the target actor and I'll have a look?
Understandable. Warpgate definitely helps. Effect macro too.
I had leveraged in the past Midi sockets (expanding them a bit so as not to use my own π ) to add an updateActor function in the MidiQOL.socket().executeAsGM() ones π
I think you did that for my wildshape
DM'ed you the actor json
Turns out I needed to check magic effect as well
doh
Wrapped up my Elder Oblex feature for Eat Memories: https://github.com/chrisk123999/foundry-macros/blob/main/Features/Monster Features/Elder Oblex/Eat Memories/Chris-EatMemories.js
Check Aedif's post in the ATE channel... it just clicked in my brain that TVA can already do everything ATL can do, and better. I'm gonna experiment by shifting off of ATL and see if I run into any roadblocks
To be honest I just use the other module I was making for token updates so I am not using ATL anymore.
I need to play with that a bit more.
What's TVA?
Token Variant Art module
Can someone who's been having the perfect vision midi-qol bug update to 10.0.29 and see if the problem is fixed? I can't repro the problem on my worlds so looking for confirmation
does expiry checks mean we have new special durations or is that something else?
did you track down and squash the duplicate effects issue that was reported in dae yet? the one with worn items and apparently consumables?
The isSave and isSave.ability
In case you're not on Kandashi's channel, this is Aedif's recommendation for sorting ATL... this is what he's already doing with TVA (which is already capable of adjusting everything in a token config when triggered by an AE or condition)
This issue with TVA is how much can it be integrated to midi workflows like ATE could through DAE
I feel the same way about babonus I still haven't figured out how to put baboni into midi automation
Not so bad in my case, I'm mostly using AEs for this stuff anyway. You could typically have an AE going for something temporary you want to revert
everything I use baboni for is independent of midi lol
also I think ate has us invested in it just cause of midi srd I think
and dfreds ce's lights
ATE is making Token5e changes accessible to more users π€·ββοΈ
Or at least that was what only that module could bring to the table
the wildcard bug is wonky, but its not gamebreaking for me, TVA can actually quickly fix it if you have it installed
Still it makes things more difficult to follow π€·ββοΈ
Warpgate UI and all is good
One module to rule them all π
I love em all lol
It is, but it works with standard rolls etc, so is used by midi if setup. The question might be how to get DAE to allow enabling bab bonuses as effects.
yeah thats what I actually meant.
I think you are suppose to put them on the ae's you transfer?
cause he has a baboni button on ae's too I think
As far as i can tell the worn items issue is resolved and I've not been able to repro the consumables issue. Can someone send me a consumable that exhibits the problem? Or is it only when importing via DDB
Trying to reflect some damage after an attack but not managing to pull it off. This is where I got so far
const reflected = Math.floor(args[0].workflowOptions.damageTotal / 2);
const actor = args[0].actor;
const target = args[0].workflow.hitTargetUuids[0];
const roll = await new Roll(`${reflected}`).evaluate({async: true});
await new MidiQOL.DamageOnlyWorkflow(actor.uuid, args[0].tokenUuid, reflected, 'force', target ? [target] : [], roll, {flavor: 'Barrier', itemCardId: args[0].itemCardId});
} catch (err) { console.log(err); }```
Yes, that's how it's supposed to work.
I have tried using the custom script option of babonus and in there getting the workflow arguments of Midi by the getWorkflow(item.uuid) with some success
You want the target token, not the actor.
wait
Working with reaction damaged workflow, I'm having some issues getting the attacker's token
Look in workflowOptions.sourceUuid iirc
Not at my desk now
await new MidiQOL.DamageOnlyWorkflow(
casterActor,
casterToken,
damageRoll.total,
damageType,
targets,
damageRoll,
{
flavor: `(${CONFIG.DND5E.damageTypes[damageType]})`,
itemCardId: lastArg.itemCardId,
itemData: lastArg.item,
isCritical: lastArg.isCritical,
}
);```
Easier if you don't mush it all into one line.
Can only get the actor
Check in the workflow, that normally has more information to work with then just args.
this or args[0].workflow
From the actor go to actor.token for unlinked and actor.getActiveTokens()[0] for linked (better not to have more than 1 token for the same linked actor on the scene)π
fromUuidSync(sourceActorUuid).token ?? fromUuidSync(sourceActorUuid).getActiveTokens()[0]
Same infos
On my phone so watch out
It's a reaction workflow
You got what it's in the workflowOptions
It worked!
This did it
Thanks a lot!
Just added a new warpgate example for toggling mutations -- should serve as a template to mangle beyond recognition π https://github.com/trioderegion/warpgate/wiki/Magical-Slap
ah, good to know -- might poke it and see what its doing
Slap on slap off
this one does show of some more advanced ways to compartmentalize and organize code
oh is it not a warpgate macro, I forget now if its wg, I just know it adds an item and togges off and it poofs
I have some homework to do π
Aedif came back with a strong point that TVA is effectively using 'override' for everything, no option for other Change Modes (Add, Upgrade etc). I think in most cases override is fine so I'll still proceed weaning off ATL as much as I can to not get funky resets when I'm using light AEs etc.
I was always using OVERRIDE in ATL as far as I remember. I thought that was universally accepted
For lights you often want to go Upgrade, because you wouldn't want adding a light to reduce the light amount. Goggles of Night would use Add... that's about all I can think of right now π
Yeah I cannot remember now. I will take a look at midi srds again. I ended up changing lots of stuff during the weekend.
(eg adding a little dim light like Faerie Fire shouldn't override your torch)
Oh well π€·ββοΈ
That's probably one of very few examples tbh
I've arrived at a point of brain rot and need someone to do some thinking for me:
I've got an effect that upgrades a character's swim speed to match their walk speed. Is there a string I can just plug into the effect value to achieve this?
Mariner's Armor I presume?
Oh, there we go... I still had it at @merry ferry.attributes.movement.walk
ah easy mistake
And nah, it was for Tasha's version of the Deft Explorer perk "Roving":
"Your walking speed increases by 5, and you gain a climbing speed and a swimming speed equal to your walking speed."
I could have just told the player to adjust the stat, but why make things easy for myself?
An all in one Hex Macro MidiQOL
Setup as a MidiQOL Item on Use ItemMacro | All or macroName | All. No extra Active Effects needed.
Target 1 | | Creature
https://github.com/thatlonelybugbear/FoundryMacros/blob/main/MidiQOL_related/Spells/Hex/macro.js
Duration based on spell level.
If you need to recast, after the initial target is brought to 0 HP, just target a new creature and recast.
The duration will be adjusted and no new spell slot or use will be consumed.
reused a part of @strong yew Hex macro for the DamageBonus part mainly
Neat
I really don't know why I spent the time to write that π
I couldn't focus on other things I had to do π©
I assumed you were tired of people asking how to setup mine
An all in one solution is better for sharing for sure
The concentration check happening "before the item is rolled" Hook can actually do anything is a bit of a pain.
Thus a need to manually update the item to not be a concentration one and revert it after
Makes sense
I didn't run into that issue from having another feature handle the move
Yeah I wondered if it was worth it to handle it by updating the concentration midiqol flags data but I went for a more brute force solution πͺ
MIDI-QOL Question: Is there a way to have an OnUse macro fire the ItemMacro from an arrow fired from a longbow?
I swear it used to work - just put the ItemMacro on the arrow and it would execute when you fired the bow. Now it seems to ignore what's on the ammo & only use the bow's ItemMacro.
I wonder if I can get some help finishing the radius boom effect on an item. It seems so close, but doesn't finish. @gilded yacht and @violet meadow made a lot of progress on it. I've installed Tim's latest version of MidiQOL to fix an issue it was having apparently.
I've seen the error earlier, but I don't see how PV would make the los undefined. If that were the case, there would have to be so much more errors; even the error that has reported couldn't even happen, because the initialize call by midi would already break, because the los is used immediately to create the fov polygon. The only way los can be undefined is if initialize was never called, I think
Share what you have and I will take a look tomorrow. Too late now for me π€
Here you go.
Your answer in <#513918036919713802 message> seems more plausible.
The arrow will need to be rolled manually for its onUse macro to be executed.
If it had a ItemMmacro that was called by another one, what you mentioned at first might be possible. But it doesnβt seem to be such a straightforward way of execution.
Yeah, I found that the ItemMacro code from the Arrow actually resides in what the bowβs OnUse macro passes to itβs ItemMacro, under workflows.ammo but thereβs no execute() function that will get that code to run it. Sooo close.
Iβve got a if statement that picks up the name of the ammo on the bowβs ItemMacro, and that works. It allows a simple interface to select the ammo you want to use from the sheet. Was just looking for a more elegant solution.
I have one player in my campaign who for some unknown reason can see midi damage cards as if they were a GM, but i have checked their perms several times and they are just a player. They are the only user affected and i cannot for the life of me figuring out what is going on
Are they seeing all damage cards or just the ones when there is an adjustment (eg due to resistances). Because thereβs a setting for that
there is also a setting for when all damage is done too
if the player has permissions to the token, they can have a setting on that gives them the DM button
This gives players either a non button card for non owned, or a literal DM card if they own the card:
my guess is the OP is using monsters that are summons/polymorphs that had been set to the players permissions
Good call yeah
If I drag out a WS black bear to fight the players, the druid player will see the damage buttons for it. This is why I keep 2 seperate copies of my beasts and other summons, one for the Dm and one for the players cause I've yet a way to control the various token settings of a warpgate summons right.
Ah yeah itβs easy with Token Mold but WG bypasses the drag to canvas
the setting that is constantly wrong is the disposition
the player color is flagged but the actual disposition is hostile or friendly depending on which copy I warpgate in
which matters when you host for a paladin
Surely you can set disposition as a WG mutation
yeah I just don't know how
but also...that means I have to either do a dialog grrrrr, or two different macros for the same summons
Oh right so you want to be able to warp them in as either disposition
if a player does it they get the player color border but its still the proto tokens default under the hood and thats what the pally aura respects
but I solved this the long way, I just duplicated my beasts/summons compendium
ones all hostile, ones all friendly
Ah yeah I think I did that too in the last campaign, used a macro to make all beasts friendly in one folder
I would like to revisit the two divine smites in midi sample items. What are the points of them? The macro version, I thought would read the critical status of the attack but it doesn't seem to? it says its critical but it doesn't do double dice:
is there no way to catch the workflow of the actual attack in the macro?
Setting disposition via WG is pretty straightforward, I use it for my summons macro, but can't grab the code right now
const version = "10.0.8";
try {
let target = await fromUuid(args[0].hitTargetUuids[0] ?? "");
let numDice = 1 + args[0].spellLevel;
if (numDice > 5) numDice = 5;
// Apparently improved divine smite should not be added to the divine smite. Uncomment these lines if you want it to be included
// if (improvedDivineSmite) numDice += 1;
// let improvedDivineSmite = args[0].actor.items.find(i=> i.name ==="Improved Divine Smite");
let undead = ["undead", "fiend"].some(type => (target?.actor.system.details.type?.value || "").toLowerCase().includes(type));
if (undead) numDice += 1;
if (args[0].isCritical) numDice = numDice * 2;
let damageRoll = await new Roll(`${numDice}d8`).roll({async: true});
new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "radiant", target ? [target] : [], damageRoll, {flavor: "Divine Smite - Damage Roll (Radiant)", itemCardId: args[0].itemCardId})
} catch (err) {
console.error(`${args[0].itemData.name} - Divine Smite ${version}`, err);
}
This is the macro for divine smite, it clearly detects that the workflow was critical but its not multiplying the dice count
is this because I'm not fast forwarding?
I actually think its not picking up the last workflow, its just picking up the fact the target is paralyzed
I think if (args[0].isCritical) numDice = numDice * 2; is reading numDice as 0
or you aren't allowed to define it twice?
@scarlet gale I tried to install your divine smite and its got an issue where its doing the divine smite twice
It's only defining it twice if there is another let or cost in front of it
I haven't checked my divine smite in awhile, let me see how it's configured
after its done doing it perfectly I'm getting a prompt for divine smite again, could it be because I left my old divine smite spells in? it even goes through the consume resource dialog
somehow it was auto firing my divine smite spell too after, no idea why
Strange
once I deleted them, its fine
Also no damage in the damage field
This one will prompt every attack
Β―_(γ)_/Β―
yeah I imported your json followed the instructions to the T
I think I'm gonna use yours cause it respects critical
I think your macro is running a synthetic item named "Divine Smite" and cause there was an actual item called it, it ran both
I dunno
I don't think so?
the combat booster is showing weirdness, if the items are deleted, then they should not show up anymore so something ran
the cheesestake is his weapon, the parry looking icon is what divine smite feature and the spells had for icons
yeah weird
I'm just editing the damage roll
must be some sort of strange interaction with combat booster
its all working fine now though
if you roll that smite icon it rolls your feature
I think combat booster is just being overzealous or something
its weird cause its a passive
Do you happen to have a damage formula set on it?
Rolling it should just show the description if nothing is set in the feature as an attack or save
no but it does have an action economy gonna turn that off so it goes passive for real
All set thanks
This is fixed now, thanks! There's still some weirdness going on with the d20 rolling late, two cards being shown (perhaps a missing label on the private one?) and the optional bonus not being optional for tool checks. But it's functional and usable now so much appreciated.
OK just change the included macro to this one ```js
if (!args[0].hitTargets[0]) return;
const damage = Math.floor((args[0].damageList[0].appliedDamage)/2);
const itemData = {
"name": "Radius boom",
"type": "feat",
"img": "icons/svg/sword.svg",
"system": {
"activation": { "type": "special", "cost": null, "condition": "" },
"duration": { "value": "", "units": "inst" },
"target": { "value": 5, "width": null, "units": "ft", "type": "creature" },
"range": { "value": null, "long": null, "units": "spec" },
"actionType": "save",
"damage": {
"parts": [[damage, "slashing"]]
},
"save": { "ability": "dex", "dc": 19, "scaling": "flat" },
"type": { "value": "feat", "subtype": "" }
},
"_id": "Lb6zmde1jWwncmQx"
}
const pseudoItem = new Item.implementation(itemData, {parent: args[0].hitTargets[0].actor})
await MidiQOL.completeItemUse(pseudoItem, {}, {});
Should be good to go now.
Could anyone tell me what this is about? The file in mention is in the script folder under midi srd.
With midi flags, you should use Custom, not Add
That is an error when trying to install the official Midi SRD module on v10 Foundry
It is not compatible
do I need the midi srd for the midi qol to function?
not at all
ok super, thanks π
for the record, bugbear has a fork for v10, and imo, its premades fill a giant gap in any midi setup
its not perfect, but its better than making 200 srd items(from scratch)
click on bugbear's profile, find his midi srd fork
( don't confuse them if they are just setting up π )
Karn's already be neck deep in troubleshooting
plus midi srd is just a compendium module
Imo these are must haves:
even if you don't use them, you can plagerize them for your own items
I literally created beacon of hope by plagerizing more automated lol(MASIF)
Is there a hook to listen on for actor item rolls (like spells)?
Hooks.on("midi-qol.RollComplete", function (workflow)
There are a bunch of different hooks that Midi calls as items are used, but what is the end-goal you are going for? π€
Smells like an Actor onUse type of macro, brewing.
You can create one, executed before the item is rolled and check the args[0] for the item being a spell.
But yeah, specific usecase would help.
The use case is: wizard with arcane wards uses and abjuration spell. I want to listen for the actor item rolls, check if they are abjuration spells and update the ward hp
Create on the Arcane Wards item a DAE flags.midi-qol.onUseMacroName | CUSTOM | ItemMacro, preItemRoll
and in the ItemMacro add a ```js
if (args[0].macroPass === "preItemRoll") {
//do the check
}
*Or whatever phase you want your macro to be executed in*
If you click the gear here you can specify the name of the macro to run, which will make it run every time the actor uses any item on their sheet, on the chosen Midi pass. It will pass in a standard Midi workflow.
Or do as bugbear is describing above if you want it to be portable to the feature π
(Which is a good idea, since its not character specific but feature specific)
Perfect! I'll try these options, thansk!
Also here is an example of Alchemical Savant (Artificer feature that works on specific spell types), which I run in the damageBonus pass:
let spellType = args[0]["damageDetail"][0]["type"];
if(args[0]["itemData"].type !== "spell") return;
if(spellType != 'healing'
&& spellType != 'acid'
&& spellType != 'fire'
&& spellType != 'necrotic'
&& spellType != 'poison') {
return;
}
return {damageRoll: args[0]["actor"].system.abilities.int.mod + "", flavor: "Alchemical Savant"}
Obviously you will want to modify it, but it shows what is getting passed in
Also just noticed I never updated it from V9 π
Its just my artificer living in the past π
I actually turned off the silencer module so it would motivate me to fix my macros
it has the side effect of showing me that some mod authors are not as diligent as I
nah most of what it catches is from modules though
Updated that recently?
I'm dumb and that was already implemented in the compendium example so fixing the ward flags was enough
you know me, update buttons are the devil
actually I think I do update badgers stuff cause I know his things are very neutral to the midi setups
(same with yours Zhell)
Project Wards? π€
its the later abjuration wizard feature
its the "Dm doesn't need to make traps anymore" feature
Ohhh.. yeah its on of the classic "when another creature is attacked use your reaction"
Good luck with that π
third party reactions, make this a thing!
I actually do have solutions for some of them
It has so many pitfalls, and potential slowdowns π€
I just give control of the reactions to the victim
Should I share a solution? π€
for reactive bond every bond partner gets it
I am curious π€
active auras can also be utilized for it
cutting words can be a macro.createitem active aura for allies
Having the reaction be on the target is.. interesting π€ But my players are often "see button, click button!"
Oh that seems something doable
I don't have a bard, but I have a peace cleric, and he has Protective Bond, so I automate that by doing a macro.createitem to give all bondees the reaction and its basically a damage workflow for an ally and a damage reduction for the amount impending.
I feel dumb af but I don't get why my aura effects refuse to work at times
This doesn't transfer
By chance no combat active?
its probably not falsing midi's application
By default Active Auras do not run outside of combat, you can enable it in the settings
I will bundle together a beta version in Automated Conditions 5e for testing later and let you know π
What's this?
It still doesn't get applied in combat either
Maybe if I did make it a passive item π
The creature that has it is marked as part of the combat?
what is the point of the aura
is it a macro.createitem key?
what is its key?
if its not set as a force show it won't show the icon either
Yeah it was imported from ddbeyond so it was setup as a reaction instead of a passive feature...
I'm gonna try to setup this now that the aura works
What's the value on Macro.createItem? Is it an item uuid?
Can't find the doc for it
Yes, you can drag-and-drop from the sidebar or a compendium into the field to automatically get the UUID of the dropped item
Great!
you should drag and drop from compendiums sidebars get fucked with too much
dont @ me on deprecation warnings if you arent on the latest version π
(and if you are, please let me know! i thought i squashed them all)
shakes head nah, easier than that -- if (game.user.isGM) do hostile dispostion, else, do friendly
I also realized why your item creates were taking so long
low ram server + constant compendium access is gonna thrash the server. The documents you retrieve from the compendium are held in memory only as long as your browser wants, after that, you have to go allll the way back to the server to fetch the document again, rather than just directly from the in-memory world data
compendiums should be used for "cold storage" rather than a simple folder for organization
hmm thats a good find, I will test that when I can later
It still might be macro.createitem shenanigans though cause macro created items and warpgate mutates are alot faster
chris does some neat tricks with it where he still references the item in the compendium that seems to be faster
you mentioned your server was weak
this operation would be noticably slower overall on a weaker server
yeah its got low ram and a really bad version of windows
do you think more ram would improve it, well it doesn't matter I'm already in the process of improving the ram regardless, I'm sick of the long boot times
it has 4, but I'm pretty certain the OS chews up most of it
its an ssd that the data is on
nope whole things in the ssd actually, even the os
badger I was on your newest warpgate
that that doesn't mean theres an isue, it could be the macro
@kind cape really initial implementation.
Elwynn attacks Lor'ili.
In a 60ft radius from the target, there is Baelor who has an Item named Arcane Wards, which if used will add a +99 ac.bonus for 1 hit.
Attack is registered, item is found, item is rolled and result affected.
Now how to make that more robust... Well will see how that goes π
this ones new, but the sheet seems fine in the summons