#MidiQOL

1 messages Β· Page 63 of 1

molten solar
#

It does not, no.

coarse mesa
#

ah sorry

vast bane
#

If effect.duration = 0, return?

royal dragon
#

==

vast bane
#

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?

kind cape
#

<=

molten solar
#

effect.duration.remaining <= 0

#

.seconds? πŸ€” fuck if I know, log it

soft basalt
#

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?

royal dragon
#

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

soft basalt
#

Half Dam Save -- got it! Thank you.

vast bane
#

"Half Dam Save"

#

its a fitting short name cause we all forget to check it and go there and check that damn save

vast bane
scarlet gale
#

If you have the effect getting removed at 0 hp with DAE, just do a small sleep then check hp

vast bane
#

just wait a lil bit

scarlet gale
#

It's probably DAE removing the effect before midi sets the hp.

vast bane
#

I assumed it was a times up special duration

scarlet gale
#

I think it's just an order of how it's operating

vast bane
#

doh I edited the wrong damned death ward

#

ok the duration check didn't work, I gottta try seconds now

scarlet gale
#

await warpgate.wait(100)

#

Checking the duration remaining can get weird if you're in combat.

vast bane
#

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

scarlet gale
#

Yea

#

That's what the hp check is for

vast bane
#

I dunno how to log out the duration to get the right syntax

scarlet gale
#

Wait then do the hp check

vast bane
#

k

#

await at the beginning

scarlet gale
#

Then check for 0 hp

#

Then do the update if so

vast bane
#

the wait works checking expiration now

#

Perfect

#

and the consol log for hp count said 0 when it fired

scarlet gale
#

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

violet meadow
#

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

scarlet gale
#

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

vast bane
#

yeah I don't auto remove conc

#

for the same reason chris doesn't, too many mistakes happen in combat

violet meadow
#

At 0 hp, other effects might be deleted too based on MidiQOL settings or DFreds 🀷

vast bane
#

I like being the final arbitor of concentration drops

scarlet gale
#

Yea

violet meadow
#

Just keep it in mind

scarlet gale
#

I'm considering making a world script to change the damage application

vast bane
#

It sounds to me like you wanna write the midi version bugbear 8)

scarlet gale
#

So avoid ever actually going to 0

#

The problem is how to catch macros that directly apply damage

vast bane
#

or a manual reduction

scarlet gale
#

Actor update hook might be the way

#

Never messed with that however

molten solar
#

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.

scarlet gale
#

I wouldn't worry about a manual update of hp anyway. Ideally that should never happen in a midi environment.

scarlet gale
#

Could always have the fallback effect macro for that I gues

vast bane
#

Midi breaks plenty

scarlet gale
#

Not for me

#

Β―_(ツ)_/Β―

vast bane
#

or someone didn't click crit so they manualy roll their extra dice

scarlet gale
#

Not an issue when you fast forward lol

vast bane
#

Oh I forgot to click the fiend checkbox for that smite

scarlet gale
#

Zhell πŸ₯²

vast bane
#

I'm fine with this death ward, I can't even think of something that would get screwed up by a momentary 0 hp

scarlet gale
#

My smite auto detects fiends

molten solar
vast bane
#

my smite is an advantage reminder cause I want it all in one workflow

#

without an always prompt

coarse mesa
# scarlet gale So avoid ever actually going to 0

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

vast bane
#

although, that was when I was auto removing conc

#

now I don't care so I could use the midi item now

scarlet gale
#

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

molten solar
scarlet gale
#

Yea

#

Wire doesn't need to be a midi replacement. It's a good middle ground option

coarse mesa
#

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

violet meadow
#
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)
})

πŸ€”

scarlet gale
#

I would also delete the effect as well

violet meadow
#

Or disable

molten solar
#

You would do that in the "post" hook

scarlet gale
#

For death ward at least

vast bane
#

and have it set to roll itself back on at long rest via effect macro

#

origin.use()

violet meadow
#

but no need I think

molten solar
vast bane
#

effect macro has a long rest hook for Orc hp 1 thing

molten solar
#

Sidenote: a disabled EM does not call its scripts.

scarlet gale
#

Avoiding AA like crazy

#

Attach the template to the token and call it a day

vast bane
#

I really don't have an issue with aa

scarlet gale
#

My Australian player make AA cry

vast bane
#

only real issue I got now is the ATE wildcard bug

scarlet gale
#

It's always so buggy when high ping players get involved

vast bane
#

my players are texas, tennessee, Minesota, and New England

#

Host is smack dab in the middle

molten solar
#

So all across the globe, huh

molten solar
vast bane
#

I think 2 gm accounts really screw with AA

scarlet gale
#

AA picks one gm

#

V9 had buggy gm picking

vast bane
#

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

molten solar
#

Just those two?

scarlet gale
#

I can only assume a weird script blocker

vast bane
#

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

scarlet gale
#

Very strange

vast bane
#

I suppose the module count in settings tab could be a way to ensure everyone has them right?

molten solar
#

If it's only those modules, and not a randomly selected module, then the issue is there.

vast bane
#

pretty sure its been a few others I just can't remember the names

molten solar
#

Some random variable not set properly or something.

coarse mesa
#

parental blockers... illicit content

vast bane
#

oh monks tokenbar was another

dark canopy
#

its almost 100% the same reason your players dont see walls or fog properly

coarse mesa
#

that's so strange, and stressful

vast bane
#

this next session I'm gonna have them all tell me how many modules they see in the settings tab count

dark canopy
#

until that whole crew is running on actually clean browsers, its really not worth wasting time πŸ˜…

vast bane
#

We even got the anti chrome user to run chrome just for the session

dark canopy
#

as long as its a clean browser, and halfway decent connections, i cannot think of a reason scripts would not be downloaded

vast bane
#

I think its my server though, the thing is just so bogged down, I need to upgrade its ram, frikkin windows 12 bloat

stuck eagle
#

[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?

vast bane
#

I never remember which link works

stuck eagle
#

So I need to replace the malfuntioning JSON?

vast bane
#

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

stuck eagle
#

The raw url is the one that works.

vast bane
#

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

coarse mesa
scarlet gale
#

Been discussed

coarse mesa
#

I was there

vast bane
vast bane
#

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

stuck eagle
#

So after I install via the manifest link, I shouldn't allow updates to MIdiSRD?

scarlet gale
vast bane
stuck eagle
#

What about Tim's update to Midi today?

vast bane
#

I trust Bugbear!

vast bane
#

I'm personally on 10.0.23, but I was fortunate enough to stay on 2.0.3 dnd5e

scarlet gale
#

Think it would be crazy to ask for the midi apply damage function to call a hook?

coarse mesa
vast bane
#

I gotta do a meme with chris, bugbear, fotoply, and Mrprimate at some point

violet meadow
#

πŸ‘‰ Hooks.on("midi-qol.damageApplied", (workflow)) πŸ‘ˆ 🀌

scarlet gale
#

Or have a hook

#

Whatever it's called

vast bane
#

I was thinkin of doing a voltron meme, but I can't find one with lance instead of alura lol

coarse mesa
violet meadow
#

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

scarlet gale
#

I need to figure out a way to automate exporting stuff from my automation compendium to my GitHub. (That would also strip out descriptions)

violet meadow
#

When I finish I will create a PR and see how that goes

scarlet gale
#

Need something that's not necessarily part of a workflow

violet meadow
#

Is it not called when damage is applied? Don't remember now

scarlet gale
#

I don't think it is.

vast bane
#

@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

edgy trellis
vast bane
#

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

edgy trellis
vast bane
#

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

violet meadow
#

@scarlet gale

vast bane
#

so that the damned owl doesn't have to micro manage its movement on its simple turn

coarse mesa
#

I don't even have a help action...

vast bane
#

Like the things turn is basically help action

#

oh get it, its in MASIF

#

its basicaly advantage all

#

minus saves

coarse mesa
#

yeah could just make a CE for that

vast bane
#

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

scarlet gale
vast bane
#

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

edgy trellis
coarse mesa
vast bane
#

I don't share his opinion lol

edgy trellis
vast bane
#

how do you have a different url than me lol

coarse mesa
vast bane
#

it looks like the macro is an item on use macro

#

do you have item macro installed?

coarse mesa
edgy trellis
vast bane
#

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

coarse mesa
#

That screen shot is directly from DDB importer, so it's how it's expected to be set up

vast bane
#

I bet you, you could pull it off with times up and effect macro too

coarse mesa
#

it's the trigger on move thing that's the clever part

vast bane
#

theres a has moved special duration

coarse mesa
#

oh, quite possible then

vast bane
#

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

edgy trellis
edgy trellis
coarse mesa
#

especially with the lightning fx

edgy trellis
vast bane
#

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

edgy trellis
vast bane
#

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

coral dove
#

Not sure if I'm using this correctly since it rolls NaN

edgy trellis
#

How do people handle upcasting spells that grant additional targets? Specifically bane

limber violet
#

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?

sleek pulsar
#

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

violet meadow
scarlet gale
#

Specifically warpgate

rose wing
#

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.

sleek pulsar
violet meadow
#

The latest version changed some stuff regarding this option so lets call it an educated guess πŸ˜„

rose wing
#

Thus.

stuck eagle
#

Do I need an ItemMacro to cause an area effect Str Save DC 19 to knock prone?

limber violet
violet meadow
stuck eagle
#

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.

violet meadow
#

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

stuck eagle
#

Ah

violet meadow
#

But it will not place a template down in that case

#

Any more than that and you're looking into macro terittory

scarlet gale
violet meadow
#

Dont you need something in that Effect value for the hex flag?

limber violet
scarlet gale
#

I should probably rework it to just make it on its own

violet meadow
#

(didn't go through the Item Macro etc, just saw that πŸ˜… )

scarlet gale
#

Do you have your setup to manually need to press apply effects?

limber violet
scarlet gale
#

Or have a CE called hex?

limber violet
#

I don't, this the most I'

stuck eagle
limber violet
#

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.

scarlet gale
#

I would check for an error in console right after using the spell

violet meadow
#

Do you have a module for Conditions, like DFreds Convenient Effects or CUB?

stuck eagle
#

Yes.

#

I've got CUB

#

So this?

#

And this?

limber violet
scarlet gale
#

Not just the attack one

limber violet
violet meadow
stuck eagle
#

Because it's an area effect around the token. Looks like it almost worked except it still self targeted.

violet meadow
#

Sorry Should be Saving throw instead of Melee Weapon Attack

scarlet gale
violet meadow
#

Range Special will exclude Caster from being targeted

shadow kernel
#

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?

stuck eagle
#

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.

scarlet gale
#

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

violet meadow
#

In mechanics I want to say but not sure now

scarlet gale
#

Anyone know what the current method for pact tactics is using the advantage flag and find nearby?

violet meadow
#

You can't do that with babonus though.

Should be doable with the automated conditions module after my next update soonℒ️

coarse mesa
#

pact tactics sounds awesome... advantage for having multiple warlocks in your party

scarlet gale
#

That's what I have, but I feel like it's doing it wrong

#

It's doing the source token, not the target token

tardy arch
#

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

coarse mesa
#

Am actually kinda surprised that isn't a premade

coarse mesa
#

Under misc:

tardy arch
#

THANK YOU!

coarse mesa
#

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)

stuck eagle
#

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?

weak quest
coarse mesa
#

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)

stuck eagle
#

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.

frosty veldt
#

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?

vast bane
scarlet gale
#

I have an automation for being set on fire stuff

#

I can share it after i'm done with my game

vast bane
#

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

vast bane
#

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.

coarse mesa
#

That sounds like a good way to nuke midi

scarlet gale
#
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

violet meadow
#

Yeah I think the other link was wrong

#

I remember I had dealt with it, but too tired to think about it πŸ˜„

fathom socket
#

is there an easy macro that lets me switch targets for a player?

violet meadow
fathom socket
alpine steppe
#

Does Midi support lowering of weapon critical thresholds? (i.e. "Your weapon attacks score a critical hit on a roll of 19 or 20")

vast bane
spice kraken
#

Details tab of an item, change critical threshold field to 19 and it'll crit on a 19 or 20

vast bane
#

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

alpine steppe
#

It's for an active effect on a temporary buff

vast bane
#

ok then if temporary then yeah active effect, I think its a system key now but midi still has its own too

spice kraken
#

It'll make all relative rolls crit on that. But yeah

alpine steppe
#

I spotted something about midi possibly phasing it out, so I thought I'd ask

vast bane
#

its cause theres a dnd5e key now

#

both keys target the same thing so its redundant

alpine steppe
#

Right on. 'Ta!

vast bane
#

the key may actually be dnd5e instead of system I forget

violet meadow
#

dnd5e is the system though πŸ˜„

vast bane
#

I mean the beginning of the key

#

don't all the special trait entries begin with dnd5e

#

or atleast some do

molten solar
gilded yacht
sudden crane
#

@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…

violet meadow
#

Good to put a ... discord handle to the ... username πŸ˜„

narrow saddle
#

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.

violet meadow
#

@gilded yacht πŸ‘†

narrow saddle
violet meadow
#

In the MidiQOL settings you mean, or in general in module settings?

vast bane
#

what version of socketlib do you have?

narrow saddle
#

1.0.12

vast bane
#

Weird, I do know that its easy to accidentally not save stuff in settings

#

change a setting, hit close instead of save

violet meadow
# narrow saddle Midi-Qol settings.

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

narrow saddle
gilded yacht
vast bane
#

Obviously we'd need more input from the two guys having it

gilded yacht
#

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?

violet meadow
vast bane
#

like turn undead

gilded yacht
narrow saddle
#

Here is another but I am not sure what it is affecting in the scene. I will try and recreate.

gilded yacht
narrow saddle
#

Just trying to recreate what I just did and can't get the error again. Weird.

gilded yacht
# vast bane I think he was referring to features that deal an attack

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.

violet meadow
#

@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? πŸ€”

covert mason
#

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

vast bane
#

I think it needs to be an item macro

vast bane
dark canopy
#

(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

earnest loom
#

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 ?

earnest loom
vast bane
# earnest loom

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..

sleek pulsar
#

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.))

earnest loom
vast bane
#

otherwise is the folder macro not named what you have there, aka miscapitalized letters or the dash is missing

#

Its not finding a macro

sleek pulsar
vast bane
#

you can have it as an itemmacro, but it needs to be an actor on use

sleek pulsar
#

So, set the Execute Macro for specific user to my rogue player?

vast bane
#

like this if its a feature

sleek pulsar
#

Got it, thanks.

narrow saddle
#

Reaction icons are not disappearing at turn start, they are meant to right?

Is this set up right, anyone? πŸ™‚

vast bane
narrow saddle
vast bane
#

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?

narrow saddle
#

That is it...... cheers.

I did have a custom one. Thought that was it at first.

narrow saddle
vast bane
#

you can have a custom one but it needs that special duration

scarlet gale
narrow saddle
narrow saddle
scarlet gale
covert mason
#

Aye, i managed to get it working. Turns out i needed to set a radius target. lel

scarlet gale
#

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

scarlet gale
vast bane
earnest loom
scarlet gale
#

Screenshot your DAE of hex

earnest loom
scarlet gale
#

Change add to custom in the 2nd spot

#

see if that fixes it

earnest loom
#

Oh yeah that fixed it. thanks πŸ™‚

dusk crescent
#

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).

vast bane
dusk crescent
vast bane
#

No its a way midi launches macros

#

are you proficient in js?

dusk crescent
vast bane
#

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

dark canopy
vast bane
#

zhell answered you in dnd5e, if its babonus'able I'd go that route

shadow kernel
#

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)?

vast bane
#

its also really easy to make

dusk crescent
vast bane
vast bane
#

Build a Bonus, but talk to him in #dnd5e I don't really know how to use babonus

slim summit
#

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)

shadow kernel
vast bane
#

This is whats in its limited uses max field: @prof

vast bane
slim summit
#

thanks @vast bane

lofty kindle
#

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.

vast bane
#

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

lofty kindle
#

maybe my formatting is off - I'm not much of a coder

vast bane
#

I bet you @violet meadow would know if it does/can

molten solar
#

babonus supports subraces

vast bane
#

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

molten solar
#

If it's "I want to add [X] but only when [Y]", then it's always 100% babonifiable

lofty kindle
lofty kindle
#

@molten solar is this how it would work? It's still dealing extra damage to all humanoids.

molten solar
#

If you want it to have +2d6 against humanoids and explicitly not goblinoids, yes

lofty kindle
#

How do I specify a subtype to do damage to?

molten solar
#

"goblinoid"

lofty kindle
#

okay so it checks for both race and subtype in the same box, that's cool! Thanks!

spice kraken
molten solar
#

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"

spice kraken
#

Can you have multiple in the left field?

#

Comma delimited?

molten solar
#

semicolon

#

The Keys button also pops a helper dialog

#

With helpful text and everything

#

You'd know that if you upgraded to v10 /s

spice kraken
molten solar
#

what, you can't count that high?

dusk crescent
#

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.

molten solar
#

Make different bonuses, one for each size. Use an 'arbitrary comparison' filter

dusk crescent
#

Like this?

molten solar
#

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 "+"

spice kraken
#

What if I like ++ though /s

dusk crescent
molten solar
#

Oh sorry, just @target.traits.size

dusk crescent
molten solar
#

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. πŸ™‚

dusk crescent
molten solar
dusk crescent
molten solar
#

You want the actor's race

#

It's located in the roll data somewhere.

#

All roll data properties should be preceded with @.

sleek pulsar
#

@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!

brazen river
#

Just running midi. Anyone know whats wron?

sleek pulsar
vast bane
brazen river
#

It stops tokens from attacking so yes very disruptive

#

thanks

vast bane
vague relic
#

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

compact monolith
#

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?

spring dove
#

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.

dark canopy
#

did you disable the option in the message i linked?

spring dove
#

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

vast bane
lean holly
#

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.

compact monolith
#

Excuse my newbie ignorance, but I am not sure you mean by actor on use macro? Still learning alot about everything.

vast bane
#

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

lean holly
#

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.

vast bane
#

I'm shocked bugbear doesn't have a bugbear macro

brazen river
#

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

vast bane
brazen river
#

ready set roll seems to work

vast bane
#

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 βš–οΈ

brazen river
#

okidoki

spice kraken
#

More and more modules come out every day it seems

molten solar
#

Module development oughta be a bannable offense.

vast bane
#

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)

vast bane
coral dove
#

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

molten solar
#

Make a macro? Doesn't sound like you want it tied to the item's basic functions.

zinc blaze
#

Perfect!

vast bane
#

if so what book so I can look it up

coral dove
vast bane
#

Crystal Blade?

coral dove
coral dove
vast bane
#

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

molten solar
#

... click on the sheet? Uses can be adjusted right there.

vast bane
#

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

coral dove
#
  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

coral dove
vast bane
#

they do

molten solar
#

no

vast bane
#

they don't?

molten solar
#

Using an item prompts you to consume a Limited Use.
An attack does not.

vast bane
#

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

coral dove
#

It's gonna be an hassle for the player since they are hasted most of the time + extra atk

molten solar
#

I don't know how your setup works.

vast bane
#

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

scarlet gale
#

Could just have another feature that has charges

vast bane
#

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.

coral dove
scarlet gale
#

Dialogue pretty much the only way for that

coral dove
#

That's how I'm implementing it anyways

vast bane
#

Holy weapon adds radiant damage to the weapon as weapon damage

coral dove
vast bane
#

I think theres a paladin only spell that also adds radiant to their attacks, then theres pally smite too

coral dove
scarlet gale
#

Personally, I'd just store the charges on a passive effect from the item

coral dove
#

Or if not RAI, that's how I read it

scarlet gale
#

or a unlinked resource

vast bane
#

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

scarlet gale
#

In other news, could anyone confirm for me that DAE isn't as jank now in the new version?

#

Is it safe to update

vast bane
#

tim sounded like he had 2 updates in the pipeline this morning

#

but I'm no Tim whisperer

scarlet gale
#

the doubled up effects is at least fixed right?

vast bane
#

I dunno theres a new issue by someone in dae reporting it again

#

while confirming the equipped ones are fixed

coral dove
scarlet gale
#

One day I'll be able to update to the newer dnd version

vast bane
#

Character action list I think

#

import a potion of climbing, does it have a bugged double active effect on it Chris?

molten solar
scarlet gale
#

Midi can with macros at least.

vast bane
#

the duplication bug thats new is reporting just potion of climbing

molten solar
#

Wait a min...

vast bane
molten solar
#

EM could do this. Pretty darn easily.

scarlet gale
#

Oh?

molten solar
#

I mean you just read the values off the roll in a damage roll trigger and pop a dialog

vast bane
#

I think the resource pool dae would be a definite plus though

scarlet gale
#

Would be pretty much the same with a midi item macro too

#

Since that passes the damage dealt info

molten solar
#

Probably

vast bane
#

it has to be the damage dealt not rolled

scarlet gale
#

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

vast bane
#

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

scarlet gale
#

I've never tried

#

But I'm guessing it's just grabbing the workflow from the id

#

Even if it's already over

vast bane
#

could look up bugbears really old divine smite he did it that way

scarlet gale
#

Gonna finish making my Elder Oblex Eat memories feature then I'll give a crack at making that

vast bane
#

oh yeah actually I know why it sucked, if the weapon causes a concentration check it screws up the last damage workflow target

scarlet gale
#

Seems like something fun

vast bane
#

cause then the item will pickup the conc check instead

robust vault
vast bane
#

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?

brazen river
#

Any idea whats going on here?

scarlet gale
#

Doesn't appear to be midi related

vast bane
covert mason
#

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?

brazen river
#

ah ok

covert mason
#

Aye

tender radish
#

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?

scarlet gale
#

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?

vast bane
vast bane
#

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

dark canopy
scarlet gale
#

Guess by the time you reach a d12 and get hit again you deserve the next one to roll a d20 lol

north karma
#

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?

vast bane
#

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

north karma
#

THANK YOU!

gilded yacht
stuck eagle
scarlet gale
gilded yacht
violet meadow
gilded yacht
violet meadow
#

I think if there was a way to directly affect tokens via MidiQOL/DAE might alleviate that

violet meadow
#

Non owned ones I meant

scarlet gale
#

That's what I was asking for

vast bane
#

I think hes referring to the bottom boxes

scarlet gale
#

Checked magical

#

no advantage

stuck eagle
scarlet gale
#

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

gilded yacht
gilded yacht
vast bane
#

theres the flag and then just having an item called it

scarlet gale
#

was just checking that

#

I set the flag now and it's still not doing it for me

gilded yacht
vast bane
#

also I think chris is on older versions?

scarlet gale
#

Only by a version or two

#

I don't think magical resistance has been touched

#

unless it was part of the trait update

gilded yacht
violet meadow
vast bane
#

I think you did that for my wildshape

scarlet gale
#

Turns out I needed to check magic effect as well

#

doh

coarse mesa
violet meadow
violet meadow
gilded yacht
#

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

vast bane
#

does expiry checks mean we have new special durations or is that something else?

vast bane
violet meadow
#

The isSave and isSave.ability

coarse mesa
# gilded yacht What's TVA?

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)

violet meadow
vast bane
#

I feel the same way about babonus I still haven't figured out how to put baboni into midi automation

coarse mesa
vast bane
#

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

violet meadow
#

ATE is making Token5e changes accessible to more users πŸ€·β€β™‚οΈ

#

Or at least that was what only that module could bring to the table

vast bane
#

the wildcard bug is wonky, but its not gamebreaking for me, TVA can actually quickly fix it if you have it installed

violet meadow
#

Still it makes things more difficult to follow πŸ€·β€β™‚οΈ

#

Warpgate UI and all is good

#

One module to rule them all 😁

vast bane
#

I love em all lol

gilded yacht
vast bane
#

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

gilded yacht
coral dove
#

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); }```
gilded yacht
violet meadow
#

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

scarlet gale
#

wait

coral dove
#

Working with reaction damaged workflow, I'm having some issues getting the attacker's token

scarlet gale
#

just realize that's a dummy workflow

#

Why not just do a applyDamage function?

violet meadow
#

Not at my desk now

scarlet gale
#
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.
coral dove
scarlet gale
#

Check in the workflow, that normally has more information to work with then just args.

#

this or args[0].workflow

violet meadow
#

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]

violet meadow
#

On my phone so watch out

#

It's a reaction workflow

#

You got what it's in the workflowOptions

coral dove
#

It worked!

dark canopy
vast bane
#

midi has a good one I think...elemnetal weapon?

#

its one of the midi srd ones

dark canopy
#

ah, good to know -- might poke it and see what its doing

violet meadow
#

Slap on slap off

vast bane
#

yeah bunch of those in midi srd

#

flame blade

#

thats what I was thinkin of

dark canopy
#

this one does show of some more advanced ways to compartmentalize and organize code

vast bane
#

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

violet meadow
#

It's not warpgate

#

Just creates an item

#

And deletes during off iirc

violet meadow
coarse mesa
violet meadow
#

I was always using OVERRIDE in ATL as far as I remember. I thought that was universally accepted

coarse mesa
violet meadow
#

Yeah I cannot remember now. I will take a look at midi srds again. I ended up changing lots of stuff during the weekend.

coarse mesa
#

(eg adding a little dim light like Faerie Fire shouldn't override your torch)

violet meadow
#

Oh well πŸ€·β€β™‚οΈ

coarse mesa
#

That's probably one of very few examples tbh

alpine steppe
#

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?

alpine steppe
#

Oh, there we go... I still had it at @merry ferry.attributes.movement.walk

coarse mesa
#

ah easy mistake

alpine steppe
#

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?

spice kraken
#

physical

#

Also str increases by 1 (to a max of 20)

violet meadow
#

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

scarlet gale
#

Neat

violet meadow
#

I really don't know why I spent the time to write that πŸ˜…
I couldn't focus on other things I had to do 😩

scarlet gale
#

I assumed you were tired of people asking how to setup mine

#

An all in one solution is better for sharing for sure

violet meadow
#

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

scarlet gale
#

Makes sense

#

I didn't run into that issue from having another feature handle the move

violet meadow
#

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 πŸ’ͺ

ebon birch
#

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.

stuck eagle
#

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.

white thistle
# gilded yacht Can someone who's been having the perfect vision midi-qol bug update to 10.0.29 ...

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

violet meadow
stuck eagle
violet meadow
ebon birch
#

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.

charred acorn
#

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

coarse mesa
vast bane
#

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

coarse mesa
#

Good call yeah

vast bane
#

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.

coarse mesa
vast bane
#

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

coarse mesa
#

Surely you can set disposition as a WG mutation

vast bane
#

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

coarse mesa
#

Oh right so you want to be able to warp them in as either disposition

vast bane
#

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

coarse mesa
#

Ah yeah I think I did that too in the last campaign, used a macro to make all beasts friendly in one folder

vast bane
#

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?

kind cape
#

Setting disposition via WG is pretty straightforward, I use it for my summons macro, but can't grab the code right now

vast bane
#
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

scarlet gale
#

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

vast bane
#

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

scarlet gale
#

Potentially

vast bane
#

somehow it was auto firing my divine smite spell too after, no idea why

scarlet gale
#

Strange

vast bane
#

once I deleted them, its fine

scarlet gale
#

Also no damage in the damage field

#

This one will prompt every attack

#

Β―_(ツ)_/Β―

vast bane
#

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

scarlet gale
#

I don't think so?

vast bane
#

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

scarlet gale
#

It's a post damage macro

#

there is no extra item being rolled

vast bane
#

yeah weird

scarlet gale
#

I'm just editing the damage roll

vast bane
#

must be some sort of strange interaction with combat booster

#

its all working fine now though

scarlet gale
#

That's good at least

#

It also auto adds the bonus damage for fiends and undead

vast bane
#

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

scarlet gale
#

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

vast bane
#

no but it does have an action economy gonna turn that off so it goes passive for real

#

All set thanks

coarse mesa
violet meadow
# stuck eagle Here you go.

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.

brazen river
#

Could anyone tell me what this is about? The file in mention is in the script folder under midi srd.

sudden crane
#

With midi flags, you should use Custom, not Add

violet meadow
#

It is not compatible

brazen river
#

do I need the midi srd for the midi qol to function?

violet meadow
#

not at all

brazen river
#

ok super, thanks πŸ™‚

vast bane
#

its not perfect, but its better than making 200 srd items(from scratch)

#

click on bugbear's profile, find his midi srd fork

violet meadow
#

( don't confuse them if they are just setting up πŸ˜… )

vast bane
#

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)

coral dove
#

Is there a hook to listen on for actor item rolls (like spells)?

vast bane
#

Hooks.on("midi-qol.RollComplete", function (workflow)

kind cape
#

There are a bunch of different hooks that Midi calls as items are used, but what is the end-goal you are going for? πŸ€”

violet meadow
coral dove
kind cape
#

Yeah thats an actor on-use macro you are looking for then

violet meadow
#

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*
kind cape
#

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)

coral dove
#

Perfect! I'll try these options, thansk!

vast bane
#

feature makes it easier to share I think

#

can self contain it all on one item

kind cape
#

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 πŸ˜‚

vast bane
#

fotoply's on v9 everyone shame him!

kind cape
#

Its just my artificer living in the past πŸ˜‚

vast bane
#

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

violet meadow
#

nah most of what it catches is from modules though

vast bane
#

combat booster still throws warnings

#

and warpgate

#

he knows about it

molten solar
coral dove
#

I'm dumb and that was already implemented in the compendium example so fixing the ward flags was enough

vast bane
#

you know me, update buttons are the devil

coral dove
#

Now works like a charm

#

Projected Ward's gonna be fun

vast bane
#

actually I think I do update badgers stuff cause I know his things are very neutral to the midi setups

#

(same with yours Zhell)

kind cape
#

Project Wards? πŸ€”

vast bane
#

its the later abjuration wizard feature

vast bane
#

its the "Dm doesn't need to make traps anymore" feature

kind cape
#

Ohhh.. yeah its on of the classic "when another creature is attacked use your reaction"

#

Good luck with that πŸ˜‚

vast bane
#

third party reactions, make this a thing!

#

I actually do have solutions for some of them

kind cape
#

It has so many pitfalls, and potential slowdowns πŸ€”

vast bane
#

I just give control of the reactions to the victim

violet meadow
#

Should I share a solution? πŸ€”

vast bane
#

for reactive bond every bond partner gets it

kind cape
vast bane
#

active auras can also be utilized for it

#

cutting words can be a macro.createitem active aura for allies

kind cape
#

Having the reaction be on the target is.. interesting πŸ€” But my players are often "see button, click button!"

coral dove
vast bane
#

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.

coral dove
#

I feel dumb af but I don't get why my aura effects refuse to work at times

#

This doesn't transfer

kind cape
#

By chance no combat active?

vast bane
#

its probably not falsing midi's application

coral dove
#

Do they just pop in combat?

kind cape
#

By default Active Auras do not run outside of combat, you can enable it in the settings

violet meadow
coral dove
coral dove
#

Maybe if I did make it a passive item πŸ’€

kind cape
vast bane
#

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

coral dove
coral dove
#

What's the value on Macro.createItem? Is it an item uuid?

#

Can't find the doc for it

kind cape
#

Yes, you can drag-and-drop from the sidebar or a compendium into the field to automatically get the UUID of the dropped item

coral dove
#

Great!

vast bane
#

you should drag and drop from compendiums sidebars get fucked with too much

dark canopy
#

(and if you are, please let me know! i thought i squashed them all)

dark canopy
#

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

vast bane
#

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

dark canopy
#

you mentioned your server was weak

#

this operation would be noticably slower overall on a weaker server

vast bane
#

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

dark canopy
#

absolutely, foundry's minimum is 2GB

#

free, foundry usable ram

vast bane
#

it has 4, but I'm pretty certain the OS chews up most of it

dark canopy
#

absolutely

#

if its a platter hard drive, its even slower

vast bane
#

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

violet meadow
#

@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 πŸ˜„

vast bane
#

this ones new, but the sheet seems fine in the summons