#MidiQOL

1 messages · Page 108 of 1

hasty jackal
#

this is the macro

coarse mesa
#

So yeah it’s assuming you already have an actor called Dancing Lights

#

Just create one in the sidebar 🙂

hasty jackal
#

done i just copied the J2BA one to the sidebar

#

can i add it to the dancing light spells?

#

or just a normal macro?

#

just asking

coarse mesa
#

The name of the macro that is

hasty jackal
#

so like this

onUseDancingLights? on the details tab

coarse mesa
#

Yeah the on use macro section at the bottom of your details tab, pop the name of your macro in… idk what you’ve called it, whatever it is in your macro folder

#

It can run after active effects or whenever

#

Alternatively copy the macro contents into the Item Macro and put ItemMacro in the on use macro field

#

If you want to keep it all in the spell item

hasty jackal
#

thanks it worked

chrome gale
#

curious - what are the attributes 'hp mt' and 'hp dt'?

echo shoal
#

Question, how do I do to roll all the savings, abilities, reaction as a DM? What I mean is I dont want my players to see the window when it happen, only me as a DM will able to see it. We play at home with a TV so thats why.

vast bane
#

I'm on midi 37 and dae 26, and I had a really weird glitch tonight where players would try to attack once every so often without a target and instead of nothing happening cause I have require target always, instead it would say the attack missed or hit, and roll just fine, but the target would be the last time they rolled that ability. And midi would not complete the workflow to damage it. No errors in console at all. It wasn't a glitch or a bug, only I saw the weird borked workflow they saw nothing they just got the "you didn't target anything" usual occurence.

coarse mesa
winter halo
#

Thank you very much. I have a little troube understanding all the steps in setting it up, as I am still a beginner in the whole midi-qol thning

narrow saddle
violet meadow
frail osprey
vast bane
#

just whisper to self your rolls

frail osprey
#

how hard would it be to automate this to show a dialog window asking "use extra damage die?" and applying the extra damage without using Item Macro?

#

reason I wanna do this without Item Macro is because Arms of the Astral Self will be created in the actor's sheet by another macro, and I am 10000% sure that creating an item through macro that has another macro in it is WAY beyond my skills

vast bane
#

make arms of the astral self a weapon instead of a feature, give it a versatile flag, and put the extra damage die in the versatile field and once per turn roll versatile instead

#

include the full damage formula with that extra die if using versatile

frail osprey
#

not sure if this would work, as I'm going full auto on midi

vast bane
#

alternatively you can look to emboldening bond for a once per turn setup thats premade. I have a zealot barb divine fury once per turn macro I could share too

vast bane
frail osprey
#

noooooooooooooooooooooooooooooooo :_(

vast bane
#

actually

#

welp it would use a macro nm

#

I assume you meant macro, not item macro

#

but you could janky it with an item that recharges on 1, it has a blank ae that has an effect macro that tells the item to roll on turn start. The item itself has a item transfer effect for bonus damage that expires after the first damage roll.

#

the macro would literally be origin.use()

frail osprey
#

interesting

vast bane
#

blank ae would be transfer on equip, damage bonus ae would be standard self item transfer

#

ultimately the better solution is an actor on use though

frail osprey
#

well, I'll have to automate the other Astral Self features before that anyways, I'm just trying to grasp how much pain it will be

vast bane
#

if you only use arms of the astral self this would work as is, if you can pick and choose then you'd have to put an on use macro on the arms of astral self that pre item rolls the buff on the item instead of having it auto fire on turn starts

frail osprey
#

Right now I've managed to automate arms of the astral self, it creates a weapon with the same name in the players inventory, much like flame blade. Hurray for me!

#

so, it seems that having a macro create an item with an item macro in it is not that hard after all, so I'll do it that way

#

but I won't suffer this, no, I'll leave it to future guganda

violet meadow
#

An AE on the item per the readme, to apply damage when the player clicks on the dialog pop up once per turn or round or whatever

frail osprey
#

is it possible to have the AE filter it so that the damage dialog only pops up for an specific weapon?

vast bane
vast bane
#

Wow, yeah I'm lookin at it now, that totally could have been an optional.name

frail osprey
#

theoretically, the bonus damage can only be applied to an attack with the weapon "Astral Arms"

vast bane
#

put an active effect thats transfer on equip on the temporary item astral arms that has all the optional.name stuff on it

#

and for zealot barb divine fury, just add the keys onto the rage

violet meadow
#

Still it would trigger on all attacks

#

Babonus here it comes

molten solar
#

sips delicious bab tea

frail osprey
frail osprey
vast bane
#

if you put turn on then it should be once per turn no?

violet meadow
#

It’s doable though, but no time. Getting ready to fly out for a couple of days

frail osprey
vast bane
#

would you use any other attacks while its active?

frail osprey
#

bonus damage once per turn on any melee attack, quarterstaff, short sword, unarmed, etc...

frail osprey
vast bane
#

what subclass is this

frail osprey
#

astral monk

#

the whole thing is a combo of three features

#

NA stands for "not automated", isn't part of the feature's name

vast bane
#

Honestly, I'd walk away from this automation lol

#

I'd ask the monk to pick a different sub lol

#

Leverage the player in this item. Put the automation on Body of the Astral Self and roll that to turn on the bonus damage, the player will know when they can use it.

molten solar
#

What is up with that ui

frail osprey
#

that's a good idea. If can't get around fully automating this, I'll have to resort to this

vast bane
#

no automation will work perfectly for that

frail osprey
vast bane
#

even if it did the amount of poitns of breakage would drive you nuts

molten solar
#

text is weird.

vast bane
#

its midiqol

molten solar
#

?

#

"Adjust the css" is not the in the scope of an automation module, surely.

vast bane
#

the buttons are midiqol, the text is probably just a custom description font from the editor

molten solar
#

Neeeeeeeeeeeeeevermind then

#

Stop talking.

vast bane
#

even better delete your last 3 messages

frail osprey
#

I don't even know what you're talking about

vast bane
#

I've pasted stuff into a description and gotten weird font usage before though

#

Hell if you copy an non editor version of a description you get weird formatting in the editor you paste it into

molten solar
#

Ctrl-Shift-V

vast bane
#

yeah thats what I have to do to avoid it

short aurora
#

Wait, I might have misread, it's something you opt into while the effect is on, not always on on just one weapon?

frail osprey
#

you opt into but only possible with one weapon

#

imagine a weapon that can deal X bonus damage once per turn, you choose on which attack that extra damage is applied

#

like a smite that can only be used with a specific weapon

short aurora
#

Ah, once on your turns, could utilize the Sneak Attack macro from Midi samples, I think that has a once per turn restriction

frail osprey
#

Yeah, I'm thinking of doing it auto, like sneak attack, no option to choose whether you want the damage or not

short aurora
#

I'd probably still Warp Gate or macro.createItem the features, but the Sneak Attack macro looks like a really good point for you to start from. It filters in the start for specific weapons, so you can filter straight by name there, then it has an in combat tracker if you've already used it on your turn, and you can delete the dialog prompts and just do it, if you don't want one

opaque current
#

Any Sneak Attack- like once per round damage is just begging to be entered as Versatile damage

#

Anything else is frankly overkill

short aurora
frail osprey
#

I will look for a way to automate my answer to that

#

jokes aside, automation is what makes it possible for some of my players to play the game with only minor frustrations

real cave
#

hey, I've run into a problem with the "add macro to call on use" function. it's not appearing as an option and all the guides I look up tell me to turn in on. just wondering if it's a bug or something was changed with the module.

short aurora
real cave
#

sweet, thanks

sudden crane
winter halo
#

thank you 🙂

#

I think I need some more steps, just importing it isn't all right? because I tried it didn't work

sudden crane
winter halo
#

ah i see moment i try it

#

It activates and start the glow. I tried attacking with a meele attack but it doesn't trigger damage

sudden crane
#

The damage is when another creature attacks the caster

winter halo
#

yeah, that is not working

sudden crane
#

Do you see any error in the console?

#

You activate the console usually with F12 in the browser

#

Also the attacker must with next to the caster, otherwise it does not activate the reactive damage

#

Also creature item used for attacking must be a Melee Weapon Attack or a Melee Spell Attack

vast bane
vast bane
#

flames of phlegethos appears to be a feature not an item so create a blank feature and then import onto it.

vast bane
violet meadow
#

is it reproducible?

vast bane
#

its rage+your divine fury macro you made long ago, not using cpr divine fury

#

I had to reset my site settings last week and it killed my DM settings and I've noticed abnormalities with midi, I thought Midi's settings were serverside stored but I'm starting to have doubts and I think my settings are borked. I should not be seeing an other formula here:

#

oh wait no, azure edge does have an other formula

sudden crane
# winter halo yeah, that is not working

Here is a new version, I was not testing with a player and a GM in two different browsers. When I tested it (my default setting for player's is to not auto roll damage) I got an error saying that the item did not exists...
I was able to fix it by removing the random id on the temporary item and MidiQOL was able to find the temp item.
Re-import the new version and try it again.

#

@vast bane I think I found the problem with temporary items and damage rolls not auto rolled, the temporary item must not have an "_id" value, it seems that MidiQOL checks if there is an id to determine if its a temporary item or not and adjust its behavior in consequence.

scarlet gale
#

That's interesting

#

If that's the case, I should be able to fix up my stuff with that.

sudden crane
vast bane
#

Any helpers aware of anything that causes transfer on equip to fail on drag and drop?

#

a user has all their transfer on equip active effects just not showing up till they edit the item, and click the hand icon, the effects don't even show up as inactive or unavailable, they just simply don't exist till they click the hand button

#

To me it sounds like a module conflict I've never seen before

scarlet gale
#

Out of date DAE?

#

That was an issue a few versions ago

vast bane
#

they had that dae installed

fleet wagon
#

(dnd5e, v10) Hellooo, I'm trying to get midiQOL to run an effect with damage over time (for Spirit Guardians) and I keep getting this error every time the affected creature's turn starts:
The requested item 45TkNCR0jGbrtmdx no longer exists on Actor Skeleton

Currently when the skeleton's turn starts, the saving throw chat button shows up and then the error appears when I click on the button. This is what I have my flags.midi-qol.OverTime set to:
turn=start, saveAbility=wis, saveDC=14, saveDamage=halfdamage, rollType=save, saveMagic=true, saveRemove=false, damageBeforeSave=false, damageRoll=3d8, damageType=radiant

What am I doing wrong here?

vast bane
#

Midi's spirit guardians requires active auras and I think CPR's doesn't

fleet wagon
vast bane
#

you probably have dfreds getting in the way cause it also has spirit guardians and its not great

scarlet gale
#

My version requires the token movement setting to be turned on

fleet wagon
#

Yea, but my settings for Midi has it using item effects first. I was trying to get around my issue by using Dfreds. i'll try turning it off for now though

vast bane
#

Df reds has a CE for it, if your midi settings are CE before AE, no spirit guardians premade is going to work

fleet wagon
vast bane
scarlet gale
#

Errors in console? Because it's pretty well tested

#

And should work

vast bane
#

I'm betting they have CE before AE

scarlet gale
#

There won't be an effect

#

My spirit guardians doesn't make use of overtimes

vast bane
#

Need to get bugbear to add Mob Attack Tool to the list

vast bane
#

Oh yep, I do have an _id in my macro:

#
//Midi-QOL, DAE and times-up is the way to go and this is a DamageBonusMacro.

const levels = args[0].rollData.classes?.barbarian?.levels ?? 0;
//console.log(args[0]);
if (!levels) return {};
if (!args[0].item) return {};
const ttoken = args[0].tokenId;
//console.log(ttoken);
const tactor = canvas.tokens.get(args[0].tokenId).actor;
const titem = tactor.items.get(args[0].item._id);
const rollMod = titem.abilityMod;
if (rollMod !== "str") return {};
const bonusRage = levels < 9 ? "2" : (levels < 16 ? "3" : "4");
const bonusDivine = Math.floor(levels/2);
const diceMult = args[0].isCritical ? 2: 1;

if (game.combat) {
  let combatTurnActor = game.combat.turn;
  let combatTime = game.combat.round;
  let CheckTokenId = game.combat.current.tokenId;
  //console.log(CheckTokenId);
  if (CheckTokenId === ttoken) {
    let lastTime = getProperty(tactor.data.flags, "world.divineFuryTime");
    if (combatTime === lastTime) {
      return {damageRoll: bonusRage, flavor: "Rage Damage"};
    }
    if (combatTime !== lastTime) {
        await tactor.setFlag('world', "divineFuryTime", combatTime)
        return {damageRoll: `(${1*diceMult}d6 + ${bonusDivine})[radiant] + ${bonusRage}`, flavor: "Enraged Divine Fury Damage"};
    }  
   } 
  if (CheckTokenId !== ttoken) {
      return {damageRoll: bonusRage, flavor: "Rage Damage"};
  }
}

if (!game.combat) {
    return {damageRoll: `(${1*diceMult}d6 + ${bonusDivine})[radiant] + ${bonusRage}`, flavor: "Enraged Divine Fury Damage"};
    //await unsetProperty(tactor.data.flags, "midi-qol.divineFuryTime");
    await tactor.unsetFlag('world','divineFuryTime');
}```
#

It doesn't break anything, its just that I'm getting phantom chat cards in random workflows

#

that apparently only I see

sudden crane
vast bane
#

Honestly this is a very old macro that was given to me

#

I could just toggle on CPR's divine fury but I have just not had an issue with this one till now so didn't wanna swap what wasn't broken

#

I don't think its just rage, cause it was happening with the druids character too during live session, rage is just easier to replicate the phantom cards

#

druid was using a cantrip that utilizes the lifesteal macros we been sharing around here and also CPR summon beast

#
function checkTrait(type, trait) {
    return args[0].hitTargets[0].actor?.system.traits[type]?.value.has(trait);
}
if (args[0].hitTargets.length != 1) return;
let damage = Math.floor(args[0].damageTotal / 2);
let hasImmunity = checkTrait('di', 'necrotic');
if (hasImmunity) return;
let hasResistance = checkTrait('dr', 'necrotic');
if (hasResistance) damage = Math.floor(damage / 2);
if (damage != 0) {
    let sourceToken = args[0].workflow.token.document;
    await MidiQOL.applyTokenDamage([{
        damage: damage,
        type: 'temphp'
    }], damage, new Set([sourceToken]), null, null);
}
#

oh thats right

#

she used wither and bloom, thats what caused the phantom card

#

a CPR premade

sudden crane
#

What do you mean when you phantom card?

vast bane
#

I didn't swing twice and get the same results, it just spits out two cards randomly

#

usually the phantom card isn't even the same target but does the same stuff and doesn't do any midi workflow

sudden crane
#

Strange, probably some hooks that were registered but did not kick in when they should have and they are triggered later…

vast bane
#

theres no errors or anything and the players confirmed they don't see them

#

its only the DM seeing the phantom card

#

if I trigger it? Its after the midi item use, if the players trigger it? Its first and then their workflow goes

sudden crane
#

This can happen with Hooks.once if the event you are expecting does not happen. The using another item it could that trigger the hook from the previous item…

vast bane
#

its also kinda benign cause it doesn't really affect the game

sudden crane
#

Hooks are only executed on the client where they were registered

vast bane
#

Other than this phantom card my live session was pristine, and even this wasn't realy a problem was just weird

#

Well, my druid player fat fingered a spell and then I discovered that there is a problem when the DM activates a warpgate macro for the player lol

#

Warpgate assigned the permissions of the canvas actor to just me instead of her, and thankfully I had a macro to fix the issue, but its kinda hard to assign permissions to a canvas actor otherwise

sudden crane
#

Wierd, I haven’t seen this yet. But I’m pretty sure it is due to hooks that lingers for too long and are triggers on the wrong item. That why usually if I register a hook I make sure that it’s executing on the same item for which it was register and exit it not

vast bane
#

speaking of something that sits till resolved, does anybody know how to resolve a Monks tokenbar request that you don't want to resolve?

#

if you ignore it, the next time that particular save is rolled it will use the roll for both

#

I've been makinmg the victim roll with a super value and just undoing any effects it does

#

I don't think deleting the request works

coarse mesa
vast bane
#

its a midi thing

#

I already asked over there a loooong time ago and they said to just delete it, but midi will keep expecting the result to be rolled

dark canopy
#

Also, why is the dm running a wg macro for a player? The whole point is to empower the players

dark canopy
vast bane
dark canopy
#

Yea, that'll do it. Wg gives token ownership to the spawner

#

A macro to fix those permissions sounds like a handy tool to have on hand for this

vast bane
#

had to dig it out cause I hadn't had to use it at all, but I had gotten it a while back

#

there is no entry on the tokens on the map that I could find that set permissions that way

dark canopy
#

Actor data, ownership object

#

I can dig it out when I get home tomorrow. Probably a useful spawning option, really

vast bane
#

I already have a macro for it, I meant there was no ui entry for it

#

when you double left click the tokens

dark canopy
#

Correct, it's token actor override data for unlinked tokens

#

In token.document.actorData

vast bane
#

This is the macro I had kickin around that solved it for me after some quick thinking and remembering I had this:

if (!token) { ui.notifications.info("Please select a token"); }
const names = game.users.filter(x => x.active && !x.isGM);
let options = '';
for ( const n of names ) {
   options += `<option value="${n.id}">${n.name}</option>`;
}
const id = await Dialog.prompt({
  title: "Choose Player",
  rejectClose: false,
  content: `
  <form>
    <div class="form-group">
      <div class="form-fields">
        <select>${options}</select>
      </div>
    </div>
  </form>`,
  label: "Select",
  callback: (html) => html[0].querySelector("select").value
});
await token.actor.update({ [`ownership.${id}`]: CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER });

Think Zhell wrote it.

#

As for why the druids UI was misaligned slightly, I still kinda wanna just think they were misclicking with a really small grid layout, but who knows, I couldn't reproduce it, but they kept clicking the spell beside the summon spell

#

How stable is the newest DAE? I need to get off my current version cause its breaking @ references in effect values

dark canopy
frail osprey
#

the optional bonus of bab doesn't work with full auto midi, does it?

vast bane
hasty jackal
#

CPR elemental adept (fire) is not working

vast bane
#

is that CPR's produce flame or someone elses?

hasty jackal
#

let me check

vast bane
hasty jackal
#

got the hook and i tested it with firebolt from the SRD spells same issue

#

and its on the effects tab

vast bane
#

midi and dae versions?

hasty jackal
#

10.0.28 DAE
10.0.41 Midi
0.3.41 CPR

vast bane
hasty jackal
#

PC im testing with a blank sheet same issue

vast bane
#

I see this too, report it to the github I guess

hasty jackal
#

yep tested it on a blank sheet

#

only elemental adept + SRD firebolt

vast bane
#

Probably some sort of breakage in the new midi, theres no errors

#

my only thought is that maybe elemental adept is looking at the sidebar actor and our canvas actors are edited to have the resistance

#

because both of our targets do not inherantly have fire resistance, I can only assume both of us just added it to the canvas actor

hasty jackal
#

maybe

vast bane
#

nah tested with a pure fire resistance actor and it still failed

hasty jackal
#

maybe its due to Midi changing something about resistances?

rich wagon
#

So I have been fiddling with Midi and still cannot figure out how to do this, any ideas on how to make thse work?

Weapon Damage Types Critical Modifier: upon gaining a crit with a weapon it will automatically do the following:
Bludgeoning: On a critical hit, the target is knocked 5ft in a direction of your choice and falls Prone(STATUS).
Slashing: On a critical hit, the target gains the Bleeding (STATUS) condition.
Piercing: On a critical hit, the target becomes Impaired(STATUS) until the end of your next turn

#

Going back to this, I can understand this. How do I apply this macro to the item to call for this effect to proc. I already defined the conditions and have them setup.

scarlet gale
#

Honestly, I don't think I even check except for damage immunity

#

Since I manually redo the math and explicitly don't account for resistance

#

I'll take a look at it when I'm home tonight to double check

winter halo
# sudden crane <@336566697047621643> Here is my updated version

I tried it, still no change. No return damage, no reroll of 1s in fire spells. I tell you what I did there might be the problem. I created a new Item in the items tab with the type feature. then I imported what I downloaded here into that item and drag and drop the item into my players actor sheet. That is all steps.

scarlet gale
# hasty jackal

Fixed in the newest version, not sure how I didn't catch this before.

latent spade
#

@forest sequoia is the macro activated by DAE? if so add a line of something like if( args[0] !== "on") return; at the top.

sudden crane
# rich wagon Going back to this, I can understand this. How do I apply this macro to the item...

You need to add an ActiveEffect with the midi onuse flag on the proper feat. You should also check on that effect the "Transfer to actor on item equip". See the images.
You can either call a world macro, in which case in my example, you would replace "ItemMacro.Unwavering Mark" with the name of your world macro, or you can store the macro on the feat with ItemMacro, in that case you need to change "ItemMacro.Unwavering Mark" to "Item.<name of your feat>".
You need to keep the ",postActiveEffects", this tells midi when your macro should be called.

latent spade
#

iirc thay args[0] in a DAE ran macro is on/off/each depending on the state of the effect.

vast bane
#

that would explain how its hitting targets, but I'd almost suggest doing an effect macro instead then

sudden crane
forest sequoia
vast bane
#

If there is indeed a dae, just remove the key and install effect macro and paste the item macro into on creation. It should be perfectly fine as is with Effect macro other than the v9 data's

vast bane
forest sequoia
#

yes

vast bane
#

and does the item actually have an effect?

#

we're kinda assuming that you have the item macro launching both with midi and dae

latent spade
#

i should say my DAE knowledge is ancient :S

forest sequoia
#

the only way i get the macro to work at all was through the effects

vast bane
#

its a good guess though, lets make sure its indeed a dae item macro

#

ok, unless one of the guru's for dae/midi wants to chime in, I'm kinda for making this an effect macro

#

its a really simple switch

#

what you need to do is you need to delete JUST the key in your last image, so hit the trash can to the right

#

then take the macro that is in the items item macro, and copy/paste it into an on creation effect macro

#

don't use any of what we told you to edit into the macro, use the original macro

#

can you also show me the bottom third of the Item's details?

vast bane
#

we never really solved the duplicate running of the macro, which I'm starting to suspect is that you have it firing via dae AND midi, which is why I wanna see the bottom third

vast bane
#

ok if you move it to the effect macro like I said, and then clear the key from the active effect so dae isn't doing anything else, it should work now

#

as for the data's, I'll rewrite it so you can copy/paste the v10 macro(you are on v10 foundry right?)

forest sequoia
#

v10 yea

#

thank you

vast bane
#
new Dialog({
    title: "Mana Potion",
    content: "",
    buttons: {
        level1: {
            label: "Regain 2 lvl 1 slots",
            callback: async () => {
                await actor.update({"system.spells.spell1.value": Math.min(actor.system.spells.spell1.max, actor.system.spells.spell1.value + 2)});
            }
        },
        level2: {
            label: "Regain 1 lvl 2 slot",
            callback: async () => {
                await actor.update({"system.spells.spell2.value": Math.min(actor.system.spells.spell2.max, actor.system.spells.spell2.value + 1)});
            }
        }
    }
}).render(true);
#

its probably highly unlikely you will run into issues with unlinked actors with this, but I think technically you might want to do token.actor instead of actor if you are knitpicking about perfection

forest sequoia
#

when i put it into a players inventory and try to roll it, it doesn;t work at all atm

vast bane
#

the item on the actor I mean

#

also show me the first tab of the effect to cover all bases here

#

either this, or move the item to the sidebar, right click it, and export data, and then take that file and drag it to a dm with me so I can fix it for you

winter halo
forest sequoia
vast bane
# forest sequoia

edit the effect in that right hand window and show me the effect tab of the effect

forest sequoia
#

theres nothing in the effects tab

vast bane
#

you got a bad checkmark:

Nothing should be checked here, those self boxes are not for your use case and are always confused about and the root cause of failed transfers.

#

is there a reason you put a duration of endless on the effect?

#

can they only use it once per long rest?

sudden crane
forest sequoia
sudden crane
#

@winter halo
This method was added in the latest version

forest sequoia
vast bane
#

I sent you the item with all the fixes

#

basically you had a bad box checked in the first tab of the item

winter halo
#

Weird, I feel like I updated it just a few days ago but you are right now it works thanks a lot

vast bane
winter halo
#

ah that is the reason why. thank you very much

toxic spruce
#

I have a player that has both Shield and Absorb Elements.
During game play, Absorb Elements worked perfectly, but the option for Shield never came up. Before I dive into finding out why today, I thought I would ask here if anyone knew if there was an issue with a character having two reactions to choose from on midi?

vast bane
#

Shield should prompt, I am unaware of any version of shield that fails to prompt. The only way a reaction item can't prompt is if its set to Reaction Manual on the item details. Not even dnd5e srd version has this problem so either you or your player did that, or its some other issue.

vast bane
#

in all the new midi's it just throws a warning when you have fluff in the activation conditions, but all reactions specifically will throw the warning, in older midi's it will throw an error and not process the spell:

#

its cause midi coops the activation condition field and reaction spells always lead with a fancy javascript or regex term Which

#

I'm betting your players shield is set to Reaction Manual though

#

player probably got sick of getting prompted for it when they didn't care

winter halo
# vast bane midi's updated 3 times this week

When I think about it, were can I find the underlying Item Macro of the Flames of Phlegethos in my game now? I want to try to understand more and TRY if I can rework it (after creating a duplicate) to create the effect of npc who have the heated body trait.

vast bane
#

I have no idea i don't have that item myself

winter halo
#

Yeah that makes sense

toxic spruce
toxic spruce
tropic frost
#

Hey guys, I'm sure this question has been asked to death already but I can't find anything specific to solve my issue. I have a rogue in my party, and I have gone through the setup to make sneak attack work with midi QOL, when there is a party member within 5ft of the target it works as it should, but when they roll from the card in chat, and select advantage for the roll, it doesnt give them sneak attack. Any ideas on what I can change?

vast bane
tropic frost
#

I have it set so my players can press the buttons to roll.

#

GM auto rolls

vast bane
#

It is very likely the same problem as the user had in my linked message

tropic frost
#

I'll take a look, thanks!

vast bane
#

you are playing with very abnormal midi settings so some automations may not work with your setup specially if the player has roll automation off.

tropic frost
#

yeah, they prefer some automation but still want to do the rolling. Skimming through that persons issue didn't resolve mine. I believe the issue is selecting advantage from this box. I made a custom effect to apply advantage and it will work that way, but not if I hit "advantage" from this roller.

vast bane
#

it only highlights normal when theres infact a disadvantage and advantage flag cancelling out

#

did you look at what the link was talking about?

#

theres like 3-4 flags that are hidden, you have to have attribution turned on to see it, but since you have really weird settings I don't even think that setting will work for you

#

in the console you should be able to find out what flag it is in the yellow warning that fires for all attacks

#

the attribution tooltip I think only works with merge cards

#

your issue is most likely that the target has the hidden condition on cause the rogue can't see them

#

you can't sneak attack if you have disadvantage

#

this is all assuming you are using midi sample items sneak attack

tropic frost
#

I had checked the vision of both the PC and the monster, it should be able to see it unless there is a setting I am oblivious to (just started using foundry a few weeks ago). I imported the sneak attack from the midi qol compendium, renamed it and all of that. It works with party members within 5ft of the target, but again just not when they select advantage from the roller. if I force the advantage status on the PC with an effect it works fine.

vast bane
sudden crane
outer rain
#

Hello here, I'm trying to use the MIDI QOL hunter's Mark, but I think I'm doing something wrong. When I click on the spell to cast it, and just before the AbilityUseDialog is showing, I've got this error in my console : Hunter's Mark 10.0.23 - Hunter's Mark 10.0.23 TypeError: actor.flags.dae.onUpdateTarget is undefined
could you help me please?

vast bane
#

if you had merge card on, you could follow my instructions above and turn on attribution in the tooltip

#

There are 3-4 different flags that are hidden that impose disadvantage, it just so happens that hidden is the most common one here, and I still have not ruled it out cause you haven't shown us your attributions yet.

#

you could be using a ranged weapon attack at 5ft also, which is typical of daggers

vast bane
#

and probably slap update on midi too for that matter if you are really as old as that error is

outer rain
#

I've just setting it up yesterday :/

vast bane
#

it very often gives people old versions

outer rain
#

Oh!

vast bane
#

go out and hit update

#

what version were you actually on?

#

I'm guessing 23-26?

outer rain
#

10.0.41 for Midi, 10.0.28 for DDAE

vast bane
#

um...thats a lil scary

#

I thought tthose flags were fixed in dae 28...

#

well you are new lets rule out the usual suspects

outer rain
#

Ready set roll...

vast bane
#

also Item Macro needs to have its sheet hooks turned off

#

Well you have a really hard decision to make

#

RIP

outer rain
#

Ready set roll is so nice

vast bane
#

Yeah but its not something we use

outer rain
#

Is there other ways to configure Hunter's Mark?

tropic frost
#

is the only thing I can find in the console

vast bane
#

to be clear, both module authors advise to not have them installed together

outer rain
#

May be I should have red a bit further :/

vast bane
vast bane
outer rain
#

TBH I still have the same error but now it's working great

tropic frost
#

nope, i don't have any of those other modules installed

winter halo
vast bane
winter halo
#

thank you very much

vast bane
#

your item sneak attacks just fine

#

oh wait are you in combat?

#

if you have an active combat, sneak attack is once per turn and that could cause it not to work

#

outside of combat it should work every time though

tropic frost
#

I am in combat, I advance the turn each time I try to see if it works.

vast bane
#

AH HAH

#

show me the weapon details

tropic frost
#

my attack card doesnt show all the info yours does though

vast bane
#

||you are rolling with strength||

winter halo
#

I try to rename the item macro, but I can't. The Name of the item macro is greyed out. why is that?

vast bane
#

what weapon are you using, show us the details tab of the weapon, the bottom third

tropic frost
vast bane
vast bane
tropic frost
#

nope, its been on default the entire time

vast bane
#

are you rolling with beyond20?

#

then your rogue has 10 dex?

tropic frost
#

nope

#

it does.

vast bane
#

um

#

I think I got it, but its not suppose to, we may have just caught a core bug here

#

hes not proficient in the weapon

#

I don't think sneak attack is suppose to fail if not proficient

#

check the proficient box and try again

#

also make sure hes hitting

winter halo
#

It didn't work. I want to change here. So the system doesn't confuse heated body with flames of phlegethos

vast bane
#

when you edit the macro, and save, if a change is made, it should mirror the items name

#

to be clear, I mean the actual macro, not its name

#

just add a space, backspace it, and hit save

#

it should change to the items name

winter halo
tropic frost
#

went into the item, made them proficient with it. same results sadly.

winter halo
#

but....I think I can work around it

vast bane
#

Oddly enough, I think you actually will like mine as you appear to be a fellow non fast forward user

#

export your own settings incase you want to try to restore yours and try and figure out what setting it was

tropic frost
#

Yours work perfectly lol

vast bane
#

Its probably the check hits

#

I'm purely guessing though

tropic frost
#

i'll have to skim through it at some point and see. thanks for the help!

vast bane
#

prolly easier to tweak my settings than to try and find it in your bare settings

tropic frost
#

nah, i like the looks of your anyhow so i'll just stick with them.

short aurora
#

In terms of Midi detecting advantage with hidden/invisibility, how does that work, if at all, when a player uses the Hide action? I'm assuming Midi is checking for the visibility in terms of the core function, which players can't see their own tokens of, so it's a setting mostly for the GM to employ?

vast bane
#

The setting is literally the old conditional visibility checkbox, but revamped for stealthy and the byproduct is actors with no vision settings trigger it now.

short aurora
#

Fair dues, thanks

hasty jackal
#

if i want to add a color to an effect that gives light i need to use a value or just the name?

#

using atl.light color

#

nvm found the reference

spice pilot
#

Anyone have a macro for Fury of the Tides channel divinity for oath of the open seas paladin? Basically if the paladin makes a weapon attack, the targeted creature gets pushed back 10 feet and if that creature collides with an obstacle or another creature they take damage equal to the paladin’s charisma modifier.

jolly gorge
#

Quick DAE question, is there any way to easily prevent macro.execute effects from running the macro again when they're removed? Or some other way to get around the second execution?

#

Never mind, I found the fix

proper siren
#

Anybody familiar with an issue with dfreds convenient effects atm? Seems like calls to game.dfreds.effectInterface.removeEffect({ effectName: 'Bane', uuid }); are causing macros to fail and returning error 'SyntaxError: missing : after property id'

coarse mesa
#

Is there anything stopping this from adding another 'used' passive every time you use the item? 🧐 I had passives stacking up but I might have borked something. Edit: hmm yeah I see it should skip that part if it exists, what have I done 😅

celest bluff
#

huh... Seeing an odd effect with sequencer

#

it's hijacking DAE

#

if I apply an animated persist effect in on... off will cannot trigger unless I kill the sequencer effect. Ending Concentrating has no effect.

celest bluff
proper siren
celest bluff
#

perhaps you're not getting the effect uuid

#

let effect = token.actor.effects.find(i=> i.label === "Whatever");

#

DAE does provide the effectId but it sometimes gives the wrong one.

proper siren
celest bluff
#

ah it's the actor uuid

#

not the effect

#
await game.dfreds.effectInterface.removeEffect({ effectName: currentExhaustion, uuid: tactor.uuid });
await game.dfreds.effectInterface.addEffect({ effectName: `Exhaustion ${newExhaustion}`, uuid: tactor.uuid });
#

wow that is weird....

#
 let run = new Sequence()
        .effect()
        .file(colorAttack[color])
        .attachTo(tokenD)
        .stretchTo(target, { attachTo: true })
        .persist()
        .name(`${itemD.name} ${tokenD.id}`)
        .waitUntilFinished()
await run.play()

Binds and Hijacks DAE
if I do

new Sequence()
        .effect()
        .file(colorAttack[color])
        .attachTo(tokenD)
        .stretchTo(target, { attachTo: true })
        .persist()
        .name(`${itemD.name} ${tokenD.id}`)
        .waitUntilFinished()
        .play()

it's fine

viral isle
#

How would I set up so that when my players cast a spell of a particular level, they receive a custom condition?

For example, casting Fireball triggers "Spell Exhaustion (3)"?

celest bluff
#

does this include upcasting?

#

or just the flat level of the spell?

#

If it's just the flat spell level, you can use flags.midi-qol.onUseMacroName and go with preItemRoll or postActiveEffects. You can grab the item's level and create the custom effect from there. Depending on what you want to do

#

You'll need to filter for the exact item type

#

bleh preItemRoll doesn't happen before concentration check

viral isle
#

It would need to include upcasting, yes.

#

The conditions are already in place, so it'd be linking it from there. I could otherwise just manually trigger the conditions, but that'd be less than optimal.

celest bluff
#

args[0].spellLevel will contain the upcast level

#
const lastArg = args[args.length - 1];
const itemD = lastArg.item;
if(itemD.type != "spell") return;
const level = lastArg.spellLevel;
if(level < 3) return;
// do stuff

Unless it does things based on the level

viral isle
#

Thanks. I'll thump on the keyboard until I get the code right for the rest of this.

celest bluff
viral isle
#

Danke. I had a late night to bed 'cause people sick in the house, 0200 fire callout, 0330 MVA callout, 0630 wrong number on the on call phone, 0700 kid to school, 0900 started on video call.

I have a single braincell right now, and it's bouncing between the code I'm working on and reminding me to breathe.

celest bluff
#

postActiveEffects would after it's finished casting. hit or miss

viral isle
#

I might go with preItemRoll as the concentration check won't be interacting with this situation.

vast bane
vast bane
#

For whatever this matters, I am definitely giving Midi 41 and DAE 28 my stamp of approval. I ran a 7 hour session on them and it was one of the most stable reliable sessions I've run as of late.

coarse mesa
vast bane
#

I was 2 versions behind on CPR but I don't think that holds any sway on things

#

(Only cause my rule is I don't update anything on day of a session)

hasty jackal
#

is there a way to create an effect that lets a monster or player resist at 1 hp?

vast bane
#

instead of describing foundry terms, give us the description of the feature in dnd terms

weak quest
#

most likely means When you are reduced to 0 hit points but not killed outright, you can drop to 1 hit point instead.

hasty jackal
#

that, sorry i was thinking how to write it

scarlet gale
#

I've done stuff like that with midi hooks.

#

Probably can use the newer actor on use things

vast bane
#

CPR does death ward well, maybe the orcish one too?

#

someones got the aura of life one around here somewhere, if its not ddbi its probably a macro shared in here

#

Death ward is:

#

CPR and DDBI, but I suspect ddbi's death ward is a false identifier as you probably aren't using a CPR function in the on use field and I misidentified it.

#

I might still have my janky death ward if you want a simple share of a somewhat functional death ward effect, but I suggest just using CPR.

scarlet gale
#

I don't think the ddb one does anything beyond an icon

vast bane
#

oh lol, yep, it is indeed just an active effect, still counts though for the record, all it simply needs to do to qualify is work with effect transfer

hasty jackal
#

yeah i was thinking about the orcish one but my brain kinda got stuck while thinking lol...

vast bane
#

Not everyone who uses midi wants the full automation experience so when I did the tables I lowered the bar for automation

proper siren
#

anyone aware of issues with midi and convenient effects at the moment?

scarlet gale
#

Nope

#

Be more specific

#

What kind of issue?

vast bane
#

there are very recent fixes for dfreds CE in midis versions, the last few versions so are you on the newest?

proper siren
#

I'm having issues with DCE not removing effects via macro, ex:

const immunity = actor.system.traits.ci.value.has("frightened");
const uuid = origin.actor.uuid;
console.log(uuid);
if(immunity === true)
{
console.log("this happened");
await game.dfreds.effectInterface.removeEffect({ effectName: 'Concentrating', uuid });
}

In this effect macro, everything seems to be working correctly up until the dce effect removal which doesn't apply. I seem to be having some issues with other macros with similar setups

proper siren
scarlet gale
#

CE API will only remove CE effects. I would swap to using the midi function to remove the effect

#

Good chance your concentration may not be considered a CE

proper siren
#

Interesting, if I go to the ce menu and remove Concentrating that way it does get removed, so it should be a ce. I can give it a shot with midi

proper siren
#

It's an Effect Macro

vast bane
#

so its removing conc when they are frightened?

proper siren
#

On Effect Creation

#

supposed to remove concentration on the casting actor if the target is immune to being frightened via condition immunity

vast bane
#

frightened is a string, is your condition Frightened or frightened?

#

I just sounded smaaaht

proper siren
#

lol, it's frightened all lower. That part does work because the console.log shows it gets past the if statement

#

it returns true if frightened is present, false if not

#

so that part I'm not worried about

vast bane
#

maybe concentrating?

#

wait

#

are these ces?

#

are they originally on items?

proper siren
#

frightened is a condition immunity from the char, concentrating is a ce

vast bane
#

no way does that concentrating have an origin of an actor

proper siren
#

I believe concentrating is applied by midi as a ce on the saving throw from the sheet

vast bane
#

origin in effect macro is the item or actor

#

in midi it will be the item

#

if you are trying to get the actor just do token.actor.uuid or something

proper siren
#

Hm alrighty

vast bane
#

whats the origin of the frightened thing, but honestly you don't want to use origin here, theres already a helper for actor/token

#

if you ar dealing with unlinked I think zhell said to use token.actor?

proper siren
#

Cool, frightened isn't an effect, it's an condition immunity they can have

hasty jackal
#

i think you cant add specific conditions immunity YET

vast bane
#

yeah but the thing the macro is on

#

is a frightened condition ce isn't it?

hasty jackal
#

i tried to do the same before

vast bane
#

origin of the effect macro is whatever the CE is, probably dfreds hidden item

proper siren
vast bane
#

its either dfreds hidden item or the item thats applying macro.ce

proper siren
hasty jackal
#

nice

vast bane
#

change that origin to token.actor.uuid

#

see if it works

proper siren
#

Cool will do

vast bane
#

midi+dfreds is weird and effect macro doesn't really care about that weirdness and expects core behavior

#

if the effect is on an item, origin is an item, if its on an actor the actor is the origin

#

do you know where to look up effect macros helpers? they are right on the git readme fyi

#

its why I like effect macro, nice easy helpers

#

I suppose you could console.log(origin)

proper siren
#

token.actor.uuid returns Scene.6nGPpsIvLabHFIWn.Token.ferxf59msGqGRnep

proper siren
# vast bane do you know where to look up effect macros helpers? they are right on the git r...

yeah I've used that. The odd thing is I haven't had an issue up until now, I've definitely used em's in the past with similar things and it's returned values that I expected. Now it seems I'm always getting back stuff like Scene.6nGPpsIvLabHFIWn.Token.ferxf59msGqGRnep or Actor.w88977HaPVOXN7mP.Item.1KBBPJCjjW5bGaUI where I'm expecting the uuid of the actor only but getting additional info with it for the item or scene, etc

#

Additionally, origin.actor.uuid actually returns the proper uuid for the actor who cast the spell 'Actor.w88977HaPVOXN7mP'. However, the convenient effect is still not removed.

vast bane
#

does token.actor.uuid work?

hasty jackal
#

if you can make a macro that adds immunity to a specific condition can you share it with me?lol im interested

vast bane
#

midi only reads the fixed CI's not the custom field

proper siren
proper siren
vast bane
#

does the concentration toggle when you use dfreds menu?

proper siren
#

That returns Scene.6nGPpsIvLabHFIWn.Token.ferxf59msGqGRnep

#

yeah concentration toggles with dfreds

vast bane
#

what version of effect macro you on?

proper siren
#

latest version, 10.0.15

#

this problem isn't only on em either

#

I've tried doing this through an item macro and it's not working their either

#

which is why I was wondering if there's a more general problem with dce right now

#

or if my world is fucked up somehow or something

vast bane
#

well its an effect macro not using midi, you could just step into the booth and ask zhell over in #macro-polo

proper siren
#

yeah he told me he wouldn't help lol

vast bane
#

I suspect you got something weird in the setup, you only showed us the macro

proper siren
#

because the saving throw technically uses midi from the sheet

vast bane
#

what is the item thats applying this frightened

proper siren
#

It's called Enemies Abound

vast bane
#

show me the active effects 3 tabs on the spell enemies abound

#

is the acive effect on the spell or is it in dfreds CE?

proper siren
#

the active effect is on the spell

#

it's not a ce

vast bane
#

is the target unlinked?

#

drag out a starter hero and test on them

proper siren
#

The item itself isn't applying frightened, there's just a condition immunity where if they are immune to frightened they won't be effected by the spell

vast bane
#

what is the npc you targetted?

proper siren
#

target is linked, I'm going to login with them quick and make sure

proper siren
#

lol

vast bane
#

what do you mean login?

#

the DM can see all this theres no need to look at a player and that function in effect macro needs a DM logged in I think

#

so you should just need to be logged in as a dm

#

to check linkage, double right click the token

proper siren
#

ah okay

#

well I logged in anyway on a separate browser

#

actor is linked

vast bane
#

what is this creature:

proper siren
#

that's the npc

#

being targeted

vast bane
#

is it linked?

proper siren
#

I don't think so

#

what would it be linked to

vast bane
#

thats what I'm asking then

#

double right click

#

is the box checked?

proper siren
#

no

vast bane
#

drag out a starter hero

#

cast on starter hero

proper siren
#

alrighty

vast bane
#

I suspect effect macro is testing against the sidebar actor instead of canvas actor

#

my last idea to try is to change it from removeEffect to toggleEffect

molten solar
proper siren
#

starter hero has the same outcome as the astral blight I was using before

vast bane
#

try toggle instead of remove

proper siren
#

k

vast bane
#

is midi your concentrator?

proper siren
#

yeah

molten solar
#

does CE even work on unlinked tokens

vast bane
#

it does

#

you pass it the name and the uuid

#

when he logs out origin he gets weird stuff

proper siren
#

the actor casting the spell we're trying to remove concentrating from is linked anyway

vast bane
#

the caster doesn't matter

#

the effect macro is playing off the owner of the effect, which in this case is the target

proper siren
#

Effect [object Object] was not found

vast bane
#

this is why origin was a bad use case, it would have had the origin set to the item that cast it

proper siren
#

can toggle effect take a uuid?

#

the example on git isn't referencing one

vast bane
#

toggle doesn't like uuids

#

its meant for selected

#
const actorid = actor.uuid
await game.dfreds.effectInterface.toggleEffect('Concentrating', { uuids: [actorid] });
proper siren
#

the bizarre thing about all this

vast bane
#

are you just trying to remove concentration if it exists?

#

Nuke the effect macro and just use an item on use and find for an executeasGm function from chris or bugbear and plagerize

#

its a targetted spell so this.actor.uuid?

proper siren
#

yeah, running a straight macro from the macro bar does this fine

vast bane
#

you don't even need dfreds for that

#

the effect macro is already on them

proper siren
#

it's only in item macro and effect macro that it's not working

vast bane
#

you could have just done an effect.delete

proper siren
#

oh......

#

this is true

#

damn

#

let me try that

vast bane
#
let effectNameFallBack = "Shield Master" //Define the name of your shield master feat
let effectName = actor.effects.find(e => e.label === effectNameFallBack); // Find the effect with the specified name
if (effectName) { // Check if the effect was found
  await effectName.delete(); // Remove the effect
  ui.notifications.notify(`Removed ${effectNameFallBack} effect from ${actor.name}.`); // Show a notification with the name of the removed effect
}
#

they always have permission to delete their own things, once midi gets it over the hurdle and onto the actor, you can just use core stufff

#

I'd argue most of those two macros I made were mostly macro polo, chat GPT just made the general structure lol

proper siren
#

hm

#

still no go

vast bane
#

can't you just do

await Concentrating.delete();

@molten solar

Why do people have to define things out so much?

proper siren
#

wtf is even happening

#

ready to throw this instance out

vast bane
#

share the macro and what is the error?

#

also just to be safe, can you just run fin dthe culprit and ditch your likely 200 modules nad just use effect macro, midi, dfreds, dae, socketlib, libwrapper?

#

Lets trim down the variables

#

if you replaced the name with Concentrating above and its not working, you got serious problems

#

that thing should work

#

(period)

#

change Shield Master for Concentrating

molten solar
proper siren
#

gotcha, I'll give that a shot

molten solar
#

wow I was lowballing it

vast bane
molten solar
#

What is Concentrating?

proper siren
#

This worked, kind of:

let effectNameFallBack = "Enemies Abound" //Define the name of your shield master feat
let effectName = actor.effects.find(e => e.label === effectNameFallBack); // Find the effect with the specified name
if (effectName) { // Check if the effect was found
await effectName.delete(); // Remove the effect
ui.notifications.notify(Removed ${effectNameFallBack} effect from ${actor.name}.); // Show a notification with the name of the removed effect
}

vast bane
#

I get ya , so we do still need to find the effect

proper siren
#

But it did not automatically remove concentrating from the casting actor

vast bane
#

you got this all backwards

#

what is the effect you are trying to remove?

proper siren
#

I'd like to remove concentrating from the actor that cast the spell ultimately, but I was seeing if I could even remove the spell itself from the targeted actor

vast bane
#

wait a minute here

#

what?

#

you are trying to automate removal of conc if the spell fails?

#

thats not rules as written

#

the player concenterates till they decide not to

proper siren
#

I'm trying to remove concentration IF the actor being targeted has a condition immunity to being frightened

vast bane
#

I thoughtyou were trying to make enemies abound interrupt concentrating

proper siren
#

ah no

vast bane
#

now this all makes sense

#

ofcourse its not going to remove concentration on the target, because the target was never conetnrating

proper siren
#

yeah of course

vast bane
#

the actor.uuid on an effect macro is the owner of the effect, the target

proper siren
#

but I've been trying to get the uuid of the actor who cast the spell

vast bane
#

the origin is the item or the actor on the effect, effect macro does not care about the fact you transfered it from another actor

proper siren
#

yep that makes sense

#

origin.actor.uuid

vast bane
#

so you have to use a midi on use

proper siren
#

that was properly returning the casters uuid

vast bane
#

origin assumes core behavior

proper siren
#

hm alright

vast bane
#

there is no effect transfer in core

#

as far as its concerned the origin is the source int he tab on the target actor

#

effect macro was never going to give you the source actor

#

midi could though

proper siren
#

wouldn't a ce removal sort of override that though? Basically the code is saying does this ci exist for the actor? If so, take this uuid and remove concentrating from it

#

maybe I'm not understanding it well enough

vast bane
#

the effect macro is on the target, it can't seee anything about the source actor unless you bring args in

#

and if you are having to use args, it might as well be a midi on use

proper siren
#

hm, but origin.actor.uuid was getting the source actors uuid

#

per console logs

vast bane
#

no it wasn't

#

or it would have deleted the ae

#

ce I mean

proper siren
#

lol

#

I mean true

#

but the output was the source actors uuid

#

from console.log

vast bane
#

cast enemies abound on another actor, then go to their effect tab, what is the source?

#

is it an actor?

#

or is it a spell?

proper siren
#

lemme check

vast bane
#

this realy feels like something not worth automating btw

#

I don't even auto remove conc in my world

#

you have any idea how annoying it is when conc is removed when you didn't want it to be?

proper siren
#

for sure, but this isn't because I'm just arbitrarily dropping it

#

it's a workaround because a condition immunity would prevent the spell from working

vast bane
#

you want to check for auto fail

proper siren
#

so the saving throw should never happen

#

but I don't have a way of stopping it at that point

#

The source on the targeted actor is 'Enemies Abound'

vast bane
#

Maybe someone else can come up with something for you, but its gonna have to be a midi on use

proper siren
#

alrighty

vast bane
#

maybe a pre-item roll check for fear immunity and bail on the roll

proper siren
#

this has definitely worked for me before so I'm honestly at my wits end on this one. I guess I'll have to revisit it when I'm feeling a little calmer

#

lol

vast bane
#

but you still need to expend the resoruce so probably not pre item roll, after target set

proper siren
#

Switching the macro exactly as is to On Combat Turn Starting removes everything like it should

#

const immunity = actor.system.traits.ci.value.has("frightened");
const uuid = origin.actor.uuid;
console.log(uuid);
if(immunity === true)
{
console.log("this happened");
await game.dfreds.effectInterface.removeEffect({ effectName: 'Concentrating', uuid });
}

vast bane
#

that screams midi on use not effect macro

#

you leverage effect macro to cheese self deletions and self management, not another actors stuff

proper siren
#

alright, any examples for midi on use? Is that just in an item macro?

vast bane
#

once the effect is on actor a, how do you define actor b

#

if the answer is with midi, then why are you using effect macro 😉

proper siren
#

lol, well the origin of effect macro works, it's just not working in the On Effect Creation

#

On Combat Turn Starting does, but yeah I'll need to come up with something else to remove immediately after casting

vast bane
#

there is no way you are going to get zhell to look at that

proper siren
#

no not expecting him to

vast bane
#

hes going to say it works fine in core

proper siren
#

but I should be able to use an item macro with args === on or similar correct?

vast bane
#

I'd not bother

#

make it an on use

proper siren
#

ah, that's from the details tab right

vast bane
#

on use, at a pass that is after consumption and before roll

#

if target is immune to frightened bail on item

#

then it never concentrates, and the target never makes a save

proper siren
#

gotcha, yeah after active effects should likely work then

vast bane
#

but the spell slot is consumed

#

no

#

cause active effects is after the save

proper siren
#

ah

vast bane
#

and after the effect is applied

#

you need to find a pass thats after resource consumption and before the roll

#

probably after target

proper siren
#

target is about to roll a saving throw

vast bane
proper siren
#

cool

#

I'll try that

vast bane
#

now as for what these are called in a macro, thats usually where I bug chris or bugbear

#

I think you only need to define a pass when theres more than one?

#

so just make your macro, define target, so this.something

#

this.target.actor

proper siren
#

cool will give that a shot

sudden crane
#

Midi expose a function to get the concentration effect on an actor:
MidiQOL. getConcentrationEffect

#

You could then just call delete on it if found

vast bane
#

they want to bail on the spell if the target is immune to the a specific condition

#

I wonder if putting a key for macro.ce would cause the spell not to work if set to frightened

sudden crane
#

It’s not all phases that allow bailing from the workflow…
At which point the spell needs to fail? Before the save?

proper siren
sudden crane
#

await effect.delete()

proper siren
vast bane
#

I'd just prevent the transfer instead of deleting it after the fact

#

he wants to cancel the item roll after it consumes, before conc and the ae transfer happen

#

with an if statement for if the target is immune to frightened

sudden crane
#

There is an attribute ‘aborted’ on the workflow that is used to verify things at the end of a workflow execution and concentration is in that phase.
So in theory you could set this attribute to true in the ‘preSave’ phase, you would also need to clear the current targets associated to the user

jagged bear
#

It can tie an effect to a document, so when that document is deleted (like an active effect), it will automatically end the effect

sudden crane
#

@proper siren args[0].workflow.aborted=true

proper siren
sudden crane
proper siren
sudden crane
#

What’s the spell? Maybe I could take a look at it tonight

proper siren
#

Thanks! it's called Enemies Abound. There's another layer to it where the target can try to save again if it's damaged, I was going to try and use a midi onupdatetarget for that piece

#

Is there a midi option to automatically succeed a saving throw? If so I could roll the saving throw with midi and if they have the condition immunity to frightened pass the argument for success

vast bane
#

I'd just make enemies abound an overtime and call it a day

#

if you turn on auto remove conc that should handle most cases

proper siren
vast bane
#

does it also apply that condtion?

#

yeah I'd look into the new midi srd's tashas hideous laughter when it releases, this is all macro territory

hot flower
#

any suggestions on how to code this: No attack roll has advantage on the grandfather of assassins as long as it isn't incapacitated.

#

and this? If the grandfather of assassins misses a target within range, it can turn the miss into a hit. Alternatively, if the grandfather of assassins fails an ability check, it can treat the d20 roll as a 20.

vast bane
#

the ability check is easily done with a dice roller option

#

first one could probably be a free reaction that changes the workflow to normal if advantage /shrug

hot flower
#

thanks! I'll look into that

hot flower
#

hm. ok. i've not kept up with the midi changes, apparently. I've got this Elusive feature set up as a "0 reaction" and the item macro, which right now just pops up a notification to see if it triggers, is set to go off when Actor is target of a hit... but it's not triggering the macro

proper siren
frail osprey
#

Is there a way to make Item Macro filter if the rolled item dealt damage?

scarlet gale
#

this.damageDetails won't exist if there isn't any damage

#

or you can check this.hitTargets.size to see if a target was hit

frail osprey
#

Thanks, Chris!
I just noticed there's also this filter in midi-qol item fields, would it work as well?

scarlet gale
#

That works a little differently

frail osprey
#

could please you explain how? Trying to learn

#

if it's not too much trouble

scarlet gale
frail osprey
#

oh, yeah, totally forgot midi-qol has documentation. Thanks, mate!

coarse mesa
#

@violet meadow your Psychic Whispers is applying the 'used' AE every time you roll it so they're piling up. What's the best way to avoid that? Whack in an if statement or is there a lil flag we can put in to avoid stacking?

coarse mesa
#

Also, is there a way to ensure the user is always part of application targets? 🤔 So they don't need to target themselves

inland vortex
#

Is there a way to have a convenient effect automatically apply when you use a class feature like they do for spells? I made a Bladesong convenient effect, but when I hit Bladesong on the character sheet it does not alert to effect to apply.

#

I thought it might work if I named the effect the same as the ability like it does for spells.

sudden crane
inland vortex
#

thank you, i'll try that

vast bane
#

The macro for them is pending input from Chris so I may post a change to the macro used in this wiki

#

He's busy atm and wants to add something special to it

inland vortex
vast bane
#

the players sheets should have all their stuff made on the sheet, I can count on one finger the amount of things on a players sheet fires a dfreds CE

inland vortex
#

Okay, they can easily add the effect, I was just tring to figure out what i was doing wrong

vast bane
#

take what you made for a CE, and go to the feature on the player and make it there

inland vortex
#

Usually DFred;s fires on Bless and Aid i think

vast bane
#

did you import bladesong or make it from scratch?

vast bane
#

upcasting dfreds CE's is broken in general unless tposney fixed it

#

Use midi srd's aid

inland vortex
#

I used the DDB import for the base, but it's only a description

vast bane
#

the muncher for features/class features/feats is very um...empty

#

the magic happens when you click a blank character's ddb button to the left of their name

inland vortex
#

Ok

#

i will try that

vast bane
#

however, my guess why it doesn't transfer the CE is probably that the ddbi item has the box checked for "Don't apply convenient effect" at the bottom of the item details, as he flags all of his items for that

inland vortex
#

ok

vast bane
#

(but you really should just make the players stuff on them, specially don't rely on dfreds CE for spells that upcast)

#

bless's upcast is fine cause its just more targets, no big deal, same with freedom of movement. But Aid's upcast gives more hp

#

Midi SRD should have aid

#

(And in turn, so will DDBI since he yoinks all the midi srd macros)

inland vortex
#

Where do you find that Don't apply CE box? I'm not seeing it

inland vortex
#

The best Aid I can find upcasts just fine, but it doesn't do the heal to fill up the new max. I made a cantrip to do that for us

vast bane
vast bane
#

OH

#

hah, midi srd's works when you aren't "applying CE" lol

inland vortex
#

i think i have the midi srd, it's usually what i try first

cinder tapir
#

if a person is prone/unconcious will a template ability not hit them?

vast bane
cinder tapir
#

Like a template ability

#

that brings up a template for aoe attacks

vast bane
#

and what is it doing other than placing a neat geometry shape on the map?

cinder tapir
#

isn't targetting those who are unconcious/prone

covert mason
#

Is there a warpgate dismiss macro?

vast bane
#

if its an overtime effect you need to add the new overtime option for ignoring incapacitated too

cinder tapir
#

Bless your soul moto

vast bane
#

freudian slip cause its the second one that gets the most usual questions about, you want the template draw one

#

(though a point blank aoe ability in your homebrew world may want to hit incapacitated actors too)

coarse mesa
vast bane
#

if you have my option above this now auto targets

coarse mesa
#

ah I see so ranged AoEs... I think of ranged spells/attacks as things like firebolt or longbows

vast bane
#

(ignoring incapacitated)

#

firebolt has none, creature, or object in the right hand target box so the option doesn't apply to it

coarse mesa
#

there needs to be a better term for that... self burst AoE or something

vast bane
#

midi actually doese weird stuff with a bunch of the boxes in target/range on item details

#

I call them pulse auras

covert mason
#

Trying to make this effect macro to play when the effect is deleted, and the effect is deleted when the monster reaches 0 hit points.

const tokenD = canvas.tokens.controlled[0];
await new Sequence()
    .sound()
        .file("/Sounds/Creatures/Ghostly/VO_70_Night_Elf_Male_Ghost_*.ogg")
        .volume(0.5)
     .effect()
         .file('jb2a.energy_strands.complete.blue.01')
         .on(tokenD)
         .center()
         .scaleToObject(2.5)
         .belowTokens()
         .fadeIn(500)
         .fadeOut(500)
         .randomizeMirrorX()
         .randomizeMirrorY()
         .randomRotation()
    .play();
await warpgate.dismiss(token.document.id, token.document.parent.id)```

Is this correct?
vast bane
#

controlled is gonna be weird

#

just use token and don't define the token

#

effect macro has helpers for that

#

infact you are using the helper in the last line

#

if the token to dismiss is the one with the effect on them then actor or token is all you need for the .on(tokenD) line

#

tokenD as it stands is looking for the first owners selected token

#

may not even work actually

covert mason
#

I may have formatted the sequence incorrectly

vast bane
#

I don't think you can do a controlled token in effect macro

#

that could fire with nothing selected and you haven't defined the user whose selecting things

#

find out what .on wants

covert mason
#
await new Sequence()
    .sound()
        .file("/Sounds/Creatures/Ghostly/VO_70_Night_Elf_Male_Ghost_*.ogg")
        .volume(0.5)
     .effect()
         .file('jb2a.energy_strands.complete.blue.01')
         .on(tokenD)
         .center()
         .scaleToObject(2.5)
         .belowTokens()
         .fadeIn(500)
         .fadeOut(500)
         .randomizeMirrorX()
         .randomizeMirrorY()
         .randomRotation()
    .play();
await warpgate.dismiss(token.document.id, token.document.parent.id)```

This gives me
vast bane
#

.on(token)

#

effect macro when you use token or actor, willl use the token or actor the effect is on

#

its a helper, you can see all his helpers in the documentation for it

#

but find out what .on wants

#

I'm guessing this means it wants an object

covert mason
#

Ah, I found the issue

vast bane
#

so your macro should work with just what I showed

covert mason
#

It wants .atLocation(token)

short aurora
coarse mesa
#

(I know it adds the 'used' AE to the caster automatically, I'm talking about the AE with the duration)

frail osprey
#

So, I got this line to delete an effect called "Empowered Strike", and it works fine if I place it as an Effect Macro on another effect, but it doesn't work at all if I place it as Item Macro and try to trigger it with midi-qol fields on use macros.

actor.items.getName("Empowered Strike")?.delete();

Also tried defining the effect and using await actor.deleteEmbeddedDocuments, but didn't work either.
Any ideas why?

vast bane
#

you need to define actor from the workflow

#

I think this.actor.yada would do

short aurora
frail osprey
#

thought it was already passed down cos all my other item macros use just actor and were working fine

#

will try with this.actor

vast bane
#

pretty sure those break now since he stopped relying on advanced macros helpers

#

token might work as the selected token but would break if the macro fires and the user has no selected, but that also might be an advanced macros helper

frail osprey
#

oh, this is no good

vast bane
#

just do this.actor instead

frail osprey
#

yeah, but most of my automations weren't made by me, most of it is CPR and Midi

#

hope everything is still working

vast bane
#

CPR and Midi should not be relying on actor as is?

short aurora
#

CPR definitely already uses this.actor, no worries there

#

if applicable

vast bane
#

I think he's right for some midi srd stuff

#

we all need to change away from advanced macros I think

#

did you uninstall advanced macros?

frail osprey
#

advanced macros is going to die?

vast bane
#

its not going to die, but I don't think midi passes the helpers anymore

#

I'm also not 100% sure I'm right

frail osprey
#

alright, lemme check the this.actor

vast bane
#

I'm hard pressed to think of any automation midi premades have that don't use args or this

#

relying on advanced macros is more like an active auras or maybe macro polo thing

frail osprey
#

damn, still not working, wth

#

weirdest thing is that I have an Item Macro that creates 3 items on an actor using just actor, and it works just fine. A simple one to delete an effect just doesn't work at all

short aurora
frail osprey
#

What I want to delete is an active effect

short aurora
#

await this.actor.deleteEmbeddedDocuments("ActiveEffect", effectId)

#

That takes an array (a list) to remove, can remove the plural to just have one removed

frail osprey
#

yeah, it seems actor.items.getName on ItemMacro deletes any item just fine, but not effects. Effect Macros on the other hand, deletes effects just fine.

short aurora
#

... With that command? Really?

frail osprey
short aurora
frail osprey
short aurora
coarse mesa
frail osprey
#

yeap, doesn't work

#

I don't even know what to do now, lol

short aurora
#

Can you show your full macro here and reiterate for me what you're trying to do? Just delete an ActiveEffect through an on use ItemMacro?

frail osprey
#

yeah

#

it's just a macro to delete a generic effect called Empowered Strike

#

first I tried this:

//How macro works
//Macro is triggered when item is rolled
//Checks if there was a hit. True: macro proceeds. False: macro stops.
//Removes effect Empowered Strike

//Check if there was a hit
const hitTrue = !!this.hitTargets.size;
if (!hitTrue) return;

//Define effect to remove it
const effect = this.actor.effects.find(e => e.label === "Empowered Strike");

//Delete effect
await this.actor.deleteEmbeddedDocuments("ActiveEffect", [effect]);

my idea was to remove the effect only when there was a hit. Then I kept removing stuff from the macro to see if it worked, until I ended up with just await this.actor.deleteEmbedded...

short aurora
#
await this.actor.deleteEmbeddedDocuments("ActiveEffect", [effect.id]);```
#

That command takes a list of ids to remove from the actor

frail osprey
#

so I switch my last line for this or use just this command?

short aurora
#

Last line for that

frail osprey
#

kk, 1 sec

#

IT WORKED

coarse mesa
#

Just as a heads up – this will keep adding the 'used' AE every time you roll this ability. I've updated my version to sort that out but I have a different scale value. I can send it to you if you like or I'm sure you can adapt yours

frail osprey
#

THANK YOU! YOU'RE MY SAVIOR. If you ever come down to Brazil, lemme know, I'll buy you a drink, lol

short aurora
#

😄

hard sedge
#

I'm looking to write a macro for use with the Borrowed Knowledge spell (utilizing item macros/midi qol, etc.). I'd like the spell, when cast, to open a dialog box for the player to select which skill to grant them proficiency in for the duration of the spell. Any guidance (no pun intended) would be greatly appreciated. --- This is using DND5e.

vast bane
vast bane
#

I'm questioning how this has not been made already

#

its like the one use case for making an active effect for proficiencies

#

I actually think if it wasn't for the fact its not srd, dfreds CE nested would be the best way to employ it

frail osprey
#

doesn't seem hard to do, but seems time costly

scarlet gale
#

Pretty sure the ddb importer has a macro for that

#

Pretty sure it's based on Zhells macro

vast bane
#

wow that spell is missing in the spell tables

short aurora
#

I can't find it in Primates' repo

#

Did Zhell make one so I can steal his dynamic html?

vast bane
#

it likely isn't in his macro repository

frail osprey
#

is it possible to create an effect on an actor through macro and have it pass an args off when it's deleted? Like it would if it had macro.ItemMacro?

vast bane
frail osprey
#

Ability X checks the presence of effects Y and Z. If none is present, it creates effect Y. Once effect Y is deleted, effect Z is created.
The whole purpose is to have ability X provide it's bonus just once per turn.

#

oh, and ability X creates effect through macro, not dae

#

since dae would delete the effect and reapply

short aurora
frail osprey
#

nvm, I'm overcomplicating things, I'll have the same ability that deletes effect Y also apply effect Z, much simpler than creating effects through effects

frail osprey
#

I guess it makes sense because the effect would retrigger the macro

#

creating an endless loop

short aurora
#

How do you actually programmatically apply that effect in your macro there? For learning though, your approach to apply when delete is better than this

hard sedge
frail osprey
#

I defined the whole effect in the macro as a const, then applied using this.actor.createEmbeddedDocuments("ActiveEffect", [effect])

#

but it seems it doesn't carry some changes, not sure if all of them or just macro.ItemMacro

short aurora
#

No, that should work, so there's probably some syntax somewhere. Oh well, do your other approach, that'll be cleaner

vast bane
vast bane
#

if its homebrew, change it so you can make it easier 😉

frail osprey
#

it ain't homebrew either

vast bane
#

are you trying to make Schrodinger's Cat?

frail osprey
#

🤣 sorta

#

j/k

#

it's that monk stuff that I pasted here yesterday (or the day before that, I don't remember)

#

astral monk

vast bane
#

isn't that published?

frail osprey
#

the features are, but the bonuses provided by them "aren't"

#

I mean, Arms of the Astral Self states that you gain "spectral arms that deal X damage yadayadayada"

vast bane
#

what level is the actual monk right now?

frail osprey
#

but there's no item "spectral arms from the arms of the astral self", so I can't pull that

#

12

#

I'm going to pull stuff from my sidebar, because it's too much work to define EVERYTHING inside every macro

short aurora
# hard sedge I believe I have warpgate, yes.

Didn't even need it, dnd5e has proficiency overrides apparently. Neato. Put this in a macro on use on the spell, the spell doesn't need to actually do anything itself. Replace the "your icon here.webp" with a filepath for an icon you want, or it gonna look uggo.

// original macro made by Zhell, anything Midi related is not. Don't ask them for help with Midi macro.
const options = Object.entries(args[0].actor.system.skills).reduce((acc, [key, {value}]) => {
    if(value > 0) return acc;
    return acc + `<option value="${key}">${CONFIG.DND5E.skills[key].label}</option>`;
  }, "");
  const content = `
  <form>
    <div class="form-group">
      <label>Skill</label>
      <div class="form-fields">
        <select>${options}</select>
      </div>
    </div>
  </form>`;
  const key = await Dialog.prompt({
    title: "Borrowed Knowledge",
    content,
    rejectClose: false,
    label: "Become wisdomous",
    callback: (html) => html[0].querySelector("select").value
  });
  if(!key) return;
  const effect = args[0].actor.effects.find(e => e.getFlag("world", "borrowed-knowledge"));
  const mode = CONST.ACTIVE_EFFECT_MODES.UPGRADE;
  const changes = [{key: `system.skills.${key}.value`, value: 1, mode}];
  if(effect) return effect.update({changes});
  return args[0].actor.createEmbeddedDocuments("ActiveEffect", [{
    icon: "your icon here.webp",
    label: "Borrowed Knowledge",
    duration: {seconds: 600},
    "flags.world.borrowed-knowledge": true,
    changes
  }]);```
vast bane
#

For the lowest feature, I'd make a feature that rolls and does a macro.createItem to make the special unarmed strike.

for the level 11 feature I'd make the lower feature then also roll a new feature when it rolls to also roll "Body of the Stral Self"

On body of the astral self there would be 2 active effects, first active effect is a standard effect transfer to self that buffs your melee weapon attacks with a martial arts die, and have it expire after 1 attack. The second active effet would be transfer on equip, have an effect macro on turn start to be origin.use();.

#

You don't need to warpgate the damage of the melee weapon attacks because what monk is going to roll their special fists and not use them in melee while they are active.

#

just mod the global mwaks

#

with an active effect

hard sedge
short aurora
#

Do you get any error when you run it?

hard sedge
#

Pulled from the console.

#

I don't recall needing this in the past (at least, can't find an example where I have been required to), but do I need to call the Item Macro in the Midi QOL fields on the spell? I have an automated Tasha's Caustic Brew with an itemmacro that does not specifically call it in that section.

short aurora
#

In this case, yeah

#

The Caustic Brew might be executing it in its' active effect instead

hard sedge
#

Ah, might've seen the issue.

short aurora
#

Add a Resource should definitely not come into play here, unless you've got some funky town going on

hard sedge
#

Indeed - was trying to call it via @itemMacro instead of ItemMacro without the "at" Simple syntax issue.

#

Thanks!

vast bane
#

nm I misread your comment

scarlet stump
#

I am trying to implement some kind of "Death Burst" feature - the only problem is that, once the token is set to 0HP, it can't attack :v Is there a way to trigger a Feature when an actor goes to 0HP (or rather, just before that)? Right now I am using a Reaction Damage usage, but it comes up every time the actor is damage instead of just on "fatal" damage

vast bane