#MidiQOL

1 messages Β· Page 52 of 1

vast bane
#

to install priors, tim uses zip storage instead of the usual manual json install

violet meadow
#

Then unzip in the modules folder in your local Foundry userData

vast bane
#

dae probably has its storage in the same setup only in his dae branch

winter jacinth
#

i downloadet both and put them on my server πŸ‘

vast bane
#

lol

violet meadow
#

Changed the link(s) to v10 branch(es) πŸ˜„

vast bane
#

I did that too once when I went to download

#

the 40 red errors told me I did something wrong lol

winter jacinth
#

Okay, now i have Midi 10.0.24
and DAE 10.0.15? Correct?

vast bane
#

no I think its 14 dae

#

well maybe dae doesn't matter for that

#

I know midi 25 throws the incompatibility warning and unenables, but dae may be different.

#

Yeah I haven't touched dnd5e 2.1 so I'm still on the super safe ones and I show 24 for midi, and 14 for dae

violet meadow
#

Oh wait I am on Dnd5e version 2.1.2. Keep forgetting bout it

#

So DAE .14 Midi .24 for dnd5e v 2.0.3

vast bane
#

I don't think theres any feature changes in them, hes just fixing the dnd5e stuff

#

but...dnd5e has tons of shiny stuff

violet meadow
#

I needed moarrrrr πŸ˜„

winter jacinth
#

I am just playing around. Cant decide between RSR and Midi... πŸ™‚

violet meadow
#

Well that is not a direct comparison 🀷

MidiQOL will can help you automate all aspects of rolling items in your game

#

RSR will help with the auto-rolling

winter jacinth
#

RsR alone ist not what i want. But every function i need to add, i think Midi will handle all of them better. So i have to find my sweat spot.

#

(and the "foundry doesnt throw any errors on what i am doing" spot)

violet meadow
#

I truly cannot attest to what RSR can do as I have never used it 🀷

MidiQOL handles all that I want more than fine, but has a learning curve!

vast bane
#

WIRE would be a better comparison

winter jacinth
violet meadow
toxic spruce
#

Help, so to jump in, but I have spent last night's game, and this morning trying to figure it out 😦
The players are not seeing the attack roll. I can now get them to see the damage card, but no attack.
I have tried everyone of the options in my image. Could it be somewhere else?
I also have NO other module on right now, while debugging.
(I am logged in as DM, and a player to test)

vast bane
toxic spruce
#

Thank you, but right now I don't have anything else on

vast bane
#

you mean you only have 4 modules on right?

toxic spruce
#

no, 3...

vast bane
#

well I included dae

toxic spruce
#

4

vast bane
#

what versions are you on?

toxic spruce
#

10

vast bane
#

version numbers of dnd5e, foundry v10, midiqol, dae, libwrapper, socketlib

toxic spruce
#

They are all up to date

vast bane
#

in your full module line up, did you at any time have WIRE or MRE installed?

toxic spruce
vast bane
#

what version of dnd5e are you on

toxic spruce
#

what are those

#

2.12? the newest one 😦

vast bane
#

drag out two starter heroes from the dnd5e starter hero compendium and hit one with the other

toxic spruce
#

ok

vast bane
#

also can you show us what chat lookis like when you roll the full attack?

toxic spruce
#

Damage is now missing, but I think I tuned that off somewhere cause it was

#

DM:

#

player:

vast bane
#

the drop down just below that

#

You either have gm roll on or self roll

toxic spruce
#

god what

vast bane
#

See how the attack says : To: Gamemaster

#

you are whispering to the GM

toxic spruce
#

yes... omg

#

Ok, I will look for that setting

vast bane
#

I don't think its a setting

#

its right there in chat

toxic spruce
#

OMG

vast bane
#

the drop down there that says public, yours probably says roll to gm or self roll

toxic spruce
#

<--- crawl in hole and die

vast bane
#

eh, trust me, I've done worse here

#

You are in good company

toxic spruce
#

Thank you so much. I didn't even know that was there haha

vast bane
#

I do this all the time, cause when I prep before sessions I set it to private and forget to undo it when we start

toxic spruce
#

Yes, but NOW, I will know to check there, before spending hours rofl. Us DM's are a breed of crazy

last mural
vast bane
#

Yeah I think there are modules here that can really entice you to burn prep time on useless things, no offense to the modules, its a vtt thing

#

Levels, monks enhanced journal, and MATT are modules I find myself doing really stupid things in that I could just let go and be fine, but prep time be damned.

#

MEJ you can get lost in world building really easily if you don't have some self control

covert mason
#

I'm trying to get this spell to work using this macro.

You can use your action to control the hand. You can use the hand to manipulate an object, open an unlocked door or container, stow or retrieve an item from an open container, or pour the contents out of a vial. You can move the hand up to 30 feet each time you use it.
The hand can't, activate magic items, attack with weapons, or carry more than 10 pounds.

You can attack with the hand itself. Make a melee spell attack for each hand summoned as part of your action to cast this spell. On a hit, a hand deals force damage equal to 1d4 + your spellcasting modifier.

Higher Levels. 
When you cast this spell using a spell slot of 2nd level or higher, you can summon one additional hand for every spell slot above 1st.```

But It's not summoning anything. I'm probably doing something wrong here, but I don't know what. πŸ˜…
violet meadow
dark canopy
#

and merge object takes two args

violet meadow
#

Just start logging everything πŸ˜„

#

And it seems that it's ```js
actor.system.attributes.spellcasting

molten solar
#

Just use getRollData()

#

rollData.attributes.spellmod

violet meadow
#

yeah much more straightforward

toxic spruce
violet meadow
opaque patrol
#

Could you explain the banked rolls thing? Stealthy is just recording whatever the last roll is - you can roll as many times as you want.

toxic spruce
#

I have MidiQOL and DAE will look into that

#

ty

violet meadow
toxic spruce
#

I am ")

violet meadow
#

Just grab Effect Macro to make Zhell properly happy too πŸ˜„
Edit DFreds CE conditions and add a macro to change the token img for specific tokens on Effect Creation

dark canopy
#

log out all of your symbols and variables

toxic spruce
covert mason
#

Oh. How would I go about doing that again? πŸ˜…

dark canopy
#

console.log('Some label', someVariable)

violet meadow
toxic spruce
#

thank you!

covert mason
# dark canopy `console.log('Some label', someVariable)`
console.log('levels', actor.system.details.level)
console.log('mod', actor.attributes.spellmod)
console.log('prof', actor.system.attributes.prof)
console.log('msattack', actor.system.bonuses.msak.attack)
console.log('[{spellLevel: level}]', args)

const [{spellLevel: level}] = args;
const levels = actor.system.details.level ?? actor.system.details.cr;
const mod = actor.attributes.spellmod;
const prof = actor.system.attributes.prof;
const msattack = actor.system.bonuses.msak.attack;
const summonType = "Summoned Hand";

let updates = {
    token : {
        'name':`${summonType} of ${actorD.name}`
    },
    actor: {
        'name' : `${summonType} of ${actorD.name}`,
    },
    embedded: { Item: {
        "Hand Attack":{
            'data.attackBonus': `${msattack} + ${mod}`,
            'data.damage.parts': [[`1d4 + ${mod}`, 'force']]
        }
    }}
    
}

warpgate.spawn(summonType, updates);```

Like this?
violet meadow
#

This is not valid ```js
const mod = actor.attributes.spellmod;

covert mason
# violet meadow `actor.getRollData().attributes.spellmod` πŸ˜…
const actorD = game.actors.get(args[0].actor._id);
const [{spellLevel: level}] = args;
const levels = actor.system.details.level ?? actor.system.details.cr;
const mod = actor.getRollData().attributes.spellmod;
const prof = actor.system.attributes.prof;
const msattack = actor.system.bonuses.msak.attack;
const summonType = "Summoned Hand";

let updates = {
    token : {
        'name':`${summonType} of ${actorD.name}`
    },
    actor: {
        'name' : `${summonType} of ${actorD.name}`,
    },
    embedded: { Item: {
        "Hand Attack":{
            'data.attackBonus': `${msattack} + ${mod}`,
            'data.damage.parts': [[`1d4 + ${mod}`, 'force']]
        }
    }}
    
}

warpgate.spawn(summonType, updates);```

Okay, here's what I have. It summons the hand, but the mod seems unidentified.
dark canopy
#

and what do the console logs say?

#

and if this is v10 -- change that Item data to system

toxic spruce
#

Does that look correct?

violet meadow
# toxic spruce

You will need to update the token.document.texture.src

And make sure that it only applies to the token.document you want.
So you will need to create a check for the correct token

covert mason
#

Yup, mod is undefined

dark canopy
#

now log out just the actors rollData

covert mason
#

console.log(actor.getRollData()) ?

violet meadow
#

Oof dnd5e version issue probably

dark canopy
#

wait

#

you are grabbing actorD, but then referencing only actor throughout the rest?

violet meadow
#

oh lol good catch

violet meadow
toxic spruce
#

10... most recent

covert mason
#

Also not seeing any Spellmod under system > attributes

#

Maybe that's why

dark canopy
#

you need that actor's rollData

violet meadow
#

Just double check for issues with names of linked/unlinked tokens etc, so as to grab the correct one

covert mason
#

Oop. Nevermind. Was viewing the wrong thing. rcon_facepalm

dark canopy
#

what dnd5e version?

covert mason
#

2.0.3. I locked it to that version because tidy5esheet hasn't been fixed yet.

dark canopy
#

i guess just do it the old fashioned way and grab their spellcasting, and look up the mod directly

covert mason
#

Aye

covert mason
dark canopy
#

very close, but not syntatically what you intend

const spellcasting = actor.system.attributes.spellcasting;
const mod = actor.system.abilities[spellcasting].mod;
covert mason
#

Oh, thank you πŸ˜…

dark canopy
#

whenever you want to look up a property via a string variable, you need to use the "map-style" accessors

toxic spruce
covert mason
#

Heh, I've still got a lot to learn

#

So I've got the basic spawning system down. Is there any way I could spawn it a number of times depending on the spell level?

const actor = game.actors.get(args[0].actor._id);
const [{spellLevel: level}] = args;
const levels = actor.system.details.level ?? actor.system.details.cr;
const spellcasting = actor.system.attributes.spellcasting;
const mod = actor.system.abilities[spellcasting].mod;
const prof = actor.system.attributes.prof;
const msattack = actor.system.bonuses.msak.attack;
const summonType = "Summoned Hand";

let updates = {
    token : {
        'name':`${summonType} of ${actor.name}`
    },
    actor: {
        'name' : `${summonType} of ${actor.name}`, 'system.details.cr': levels,
    },
    embedded: { Item: {
        "Hand Attack":{
            'system.attackBonus': `${msattack} + ${mod}`,
            'system.damage.parts': [[`1d4 + ${mod}`, 'force']]
        }
    }}
    
}

for(let i = 0; i < [{spellLevel: level}]; i++) {
  const [id] = await warpgate.spawn(summonType, updates) ?? [];
  if(!id) continue;
  const spawn = canvas.scene.tokens.get(id);
  await new Sequence()
  .sound().file("/Sounds/Combat/Holy/FX_Holy_Magic_Cast_Small_*.ogg")
  .effect().file("jb2a.impact.010.blue").atLocation(spawn)
  .wait(300)
  .animation().on(spawn).opacity(1)
  .play();
}```
I have this from a dancing lights macro. I'm wondering if there's a way I could use it with this.
```js
for(let i = 0; i < 4; i++) {
  const [id] = await warpgate.spawn("Dancing Blue Light") ?? [];
  if(!id) continue;
  const spawn = canvas.scene.tokens.get(id);
  await new Sequence()
  .sound().file("/Sounds/Combat/Holy/FX_Holy_Magic_Cast_Small_*.ogg")
  .effect().file("jb2a.impact.010.blue").atLocation(spawn)
  .wait(300)
  .animation().on(spawn).opacity(1)
  .play();
}```
toxic spruce
violet meadow
covert mason
dark canopy
#

or if you are ok with spawning in a group, put your animation code in the post callback so that it fires for each spawned duplicate

toxic spruce
#

Kind of removes the coolness

#

I looked in the core - didn't find anything

violet meadow
#

The Overlay?

#

It seems you have quite a few modules adding that Dead condition on the token.

toxic spruce
#

That big one is core - according to find the culprit , but I will keep looking

#

maybe not...

violet meadow
#

Overlay as shown on my screenshot or icon?

toxic spruce
#

icon

#

it is something else - looking for it πŸ™‚

#

Found it, πŸ™‚ it's so cool now

#

Can I add to that macro? So it can play a flesh to stone sound? Or has that changed with 10?
AudioHelper.play({src: "audio/SFX/Fire arrow.mp3", volume: 0.8, autoplay: true, loop: false}, true);?

violet meadow
#

Just try it out. If it's not playing, pop in #macro-polo and they will get you sorted quickly

coarse mesa
#

How are you folks handling upcasting spells that get more targets like Bless? So three targets at 1st level and 5 at 3rd… Or do you just set the spell details to whatever your max is?

#

One of our players was struggling to upcast it on everyone last session, am just using the SRD bless

#

(with CE)

stray temple
#

So the new midi was pushed out but still no auto application of damage? I used find the culprit and left midi socketlib and lib wrapper. Anybody else still experiencing this?

violet meadow
#

Actually that sounds interesting. I will probably play with it later tonight.
A world script should do it πŸ€”

#

Parse the spell's description for an entry of higher level and so what needs to be done. Hmm might need some keywords present

coarse mesa
#

I don’t mind just setting the spell to the max, just thought there might be a midi way of doing it already since it enforces targets

stray temple
dark canopy
#

is lib-df-buttons a hard requirement for midi?

violet meadow
#

Nope

#

Try without and check which one of your modules needs this.

stray temple
#

how does one clear the cache?

#

there is a hot key

dark canopy
#

ctrl+f5 will reload without cache

stray temple
#

Weird I was having issues with df buttons and curvy walls

#

disabled them both and now it is fixed

#

I guess those need to updated and I need to clear the cache...

sly quiver
#

Is there a tutorial or something for adding damage types/ immunities for Midi-qol to recognise?

#

And is it possible to remove other types?

coarse mesa
kind cape
#

Midi could technically add that as well πŸ€”

violet meadow
coarse mesa
#

true lol

violet meadow
coarse mesa
#

there are actually a decent number of spells that scale that way, including invisibility

violet meadow
#

Indeed

coarse mesa
#

Tim's not afraid of manipulating the core system sheet... maybe when he's at a loose end that could be something to add to the midi repertoire

molten solar
chrome gale
#

I have 'auto roll damage' on at the moment, but a player has a versatile weapon... how do I make it roll the versatile instead of normal damage?

vast bane
# opaque patrol Could you explain the banked rolls thing? Stealthy is just recording whatever th...

banking rolls is what alot of people do with stealth that they don't realize. Its when you let the player pre roll their half of the stealth contest. With computers and vtt's there is less of a reason to need to utilize passives, plus passives are flat and boring. I have my players just simply declare they are taking the hide action, and then when a challenge to their stealth is needed, if its without their knowledge I run th challenge privately to myself, if its in combat and they are attempting to attack while stealth, I have them roll their own skill challenge using Monk's Token Bar. This is just one of many ways to tackle the subject. I just don't like using passives which I believe is what you use in your module. Plus I've never been a fan of inhibiting the player when just the character should suffer the penalties. Hiding the actor while they can still technically attack at adisadvantage makes the turn a lil more complicated when it doesn't need to be.

chrome gale
#

im sure its obvious but I can't see it anywhere. It's on the chat card but its too late for that by the time it pops up

violet meadow
vast bane
#

If the player does versatile and normal switching alot, and the keyboard shortcut is annoying, you can make 2 weapons that they pick from

chrome gale
vast bane
#

configure controls

violet meadow
chrome gale
#

OOooohh

#

well thats a menu I haven't seen before

runic bison
#

How can I configure an option for great weapon master/sharpshooter in MIDI?

vast bane
#

if you don't have dfreds CE, get it 😎

runic bison
#

I do have dfred CE, not sure how to make a self roll item thoughπŸ˜…πŸ˜…πŸ˜…

vast bane
#

range and target on the blank item is set to self/self for the far right drop downs in them, also make sure the item made matches dfreds CE's premades for sharpshooter/gwm

#

if you have a language barrier that can require some nuanced spelling corrections

#

midi takesdfreds CE and if it detects a matching item roll to a CE made, it applies them following the items details

#

if you want it to always prompt the player every attack, you could probably pull this off as an optional.NAME.macro too

#

I personally would rather it be an item roll

rancid tide
#

I'm trying to make a feature that overwrites a flat DC on specific items (Alchemist's Fire for example) with a onUseMacroName preItemRoll but since the items are consumables when it is consumed the DC doesn't update to the value I set it to be inside the macro

#

Does someone know how to workaround the problem?

violet meadow
rancid tide
#

p.s. I don't want the DC to be permanently changed, but I'll get what I can

violet meadow
#

Oh wait I might have misread the issue

rancid tide
violet meadow
#

What do you have as the macro rn?

rancid tide
#

give me a second

runic bison
#

Ok got it! Thanks man, works great!

rancid tide
#

I have another one that works with Hooks.on("dnd5e...stuff...") but it has the same problem

violet meadow
shy shadow
#

Hello

#

I Need Help

#

midi-qol | Error evaluating macro SyntaxError: Unexpected token ':'
at Function (<anonymous>)
at Workflow.callMacro (workflow.js:1628:15)
at Workflow.callMacros (workflow.js:1519:21)
at Workflow._next (workflow.js:924:18)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)
at async Workflow.next (workflow.js:262:10)

violet meadow
# shy shadow Hello

Hey, I meant the actual macro that you are trying to execute when this error pops up in console πŸ˜‰

violet meadow
shy shadow
violet meadow
#

@celest bluff this
There seeems to be a SyntaxError midi-qol | Error evaluating macro SyntaxError: Unexpected token ':'

violet meadow
# shy shadow

Have you imported this as an actual Item? Or do you try to use it as a macro?

celest bluff
#

What's the context?

violet meadow
#

Just this πŸ˜…

celest bluff
#

Looks like a paste into macro and not an import

kind cape
#

Yeah that would explain the error

shy shadow
#

I'm trying to put divine smite on my paladin sheet

#

i Create the macro on Hook bar

celest bluff
#

All json files are imports, create an called 1 or whatever. Then right click on it and choose import

coarse mesa
#

We gotta push to get rid of this dance in v11 ☝️

shy shadow
#

thanks

rancid tide
violet meadow
#

I see you've set a flag on the actor for the Alchemy DC. ok

rancid tide
#

Yes exactly, to give you context this is a feature that overwrites every flat DC of every alchemical item to your alchemy DC and lets you add int to rolls to hit with alchemical items

#

The macro works but it has this bug that when the item is consumed then the DC doesn't get updated to the alchemy DC one

rancid tide
hot flower
#

Not sure if this is midi or core DnD, but I want to add a temp vulnerability to bludgeoning/slashing/piercing, to drop off at the end of a long rest. Would that be system.traits.dv.custom | custom | non-magical physical, or flags.midi-qol.DV.physical | custom | 1?

violet meadow
rancid tide
#

The items needs to have "Alchemical Item" inside its source

hot flower
rancid tide
violet meadow
shy shadow
#

@celest bluff i Import json but don't work

rancid tide
hot flower
violet meadow
hot flower
#

right now none. I just checked in the damage vulnerabilities on the char sheet

#

manually

#

and it's still not doubling the damage.

#

oh, wait. I'm dumb. It's not showing the roll as doubled, but it IS applying double damage in the midi damage card. Sigh.

gaunt nebula
#

Hey guys, I had asked this in the dnd5e channel and was directed here:

#

How do you handle spells that generate multiple "attacks"? (Magic Missile, Eldritch Blast, Scorching Ray) I currently use Midi-QoL with DAE, but I'm struggling to get effects that scale up the number of hits to work right without diving deep into the macro territories that I'm not familiar with.

violet meadow
#

For magic missiles there is a macro floating around as it doesn't need separate attacks for each missile

gaunt nebula
#

Yeah I have the one Crymic posted back in the day

violet meadow
#

Eldritch Blast etc, just roll once per attack

gaunt nebula
#

I'm just not versed enough in code to figure out how to adapt it accordingly, or get it to scale with upcast/cantrip level

violet meadow
#

You mean just for the correct number of available uses?

gaunt nebula
#

I was hoping there was some secret trick I wasn't aware of (like how using "Special" range negates targeting self in an AoE scenario)

violet meadow
#

I would use the Limited Uses with charges up to the correct number based on spellLevel etc and a small macro to reset the uses on Item Roll

gaunt nebula
#

Or the aforementioned Magic Missile, which pops up a dialog and allows you to allocate attacks out

#

WIRE accomplishes something similar with some code that repeats an action loop automatically

#

But if it's use the card, so be it, no biggie

violet meadow
celest bluff
gaunt nebula
#

Also shoutout to @celest bluff for his Magic Missile implementation, it works really well.

shy shadow
#

@celest bluff THX

violet meadow
#

If you don't delete the attack/damage buttons from the ChatMessage, you can just click on Attack again

gaunt nebula
#

Yup, I think that's where I'll direct my players instead of having them "recast" over and over.

celest bluff
#

There's a bug in the latest version of 5e that prevents v9 json imports from importing in.

gaunt nebula
#

For a while it wasn't an issue, until more players gained access to ray-based attacks

celest bluff
#

I don't really see the need to automate eldritch blast. You'll run into reaction issues

shy shadow
#

Hey @celest bluff Lay on Hands return this mensage to me You are out of the required resources.

celest bluff
#

Resource needs to be named Lay on Hands. Caps don't matter

vast bane
#

midi sample items has the instructions right in the description of how to set it up

#

although the midi sample item doesn't remove disease/poison automatically

shy shadow
celest bluff
#

The post on the patreon should have covered this all. I do have a discord, where this is better directed instead of general chat for midi. With tons of people who can also answer these questions.

#

It uses resources instead of uses cause uses suck and it always uses 1 reguardless of any action

violet meadow
#

@rancid tide interesting. So the macro if you untick the consume available use, will correctly change the DC.
But if you consume it doesn't !

You could just wait for the roll to complete, and delete it afterwards!

vast bane
#

midis item has a DAE that does the renaming and setting of the resoruce but like all items, the linkage to consumption is the part you have to manually do

rancid tide
vast bane
shy shadow
#

thanx

violet meadow
#

But yeah just delete it after the fact and be done with it πŸ˜„

rancid tide
#

Okay I thought you meant that if even a single charge was used it didn't work

opaque patrol
# vast bane banking rolls is what alot of people do with stealth that they don't realize. I...

I only use passives if there isn't an active spot roll. For my groups, 90% of Stealthy's utility is during exploration/scouting - it rarely is an issue during combat, so I didn't feel that having it behave like invisibility added any undo targeting burdens that weren't already there. Everyone has different expectations for their games though, what works for me doesn't work for you.

vast bane
#

@gaunt nebula for spells like scorching ray, I have a nifty setup where I use a self/self buff when I cast the spell, and it gives the caster a temporary item that they can use X times

violet meadow
# rancid tide wdym?

Actually I am a bit confused right now !
I might need someone using core to reproduce...

@molten solar are you around?

vast bane
rancid tide
violet meadow
rancid tide
covert mason
#

I'm attempting to get the sequencer effects to work here from the Warpgate example of the Arcane Hand spell, but they don't seem to be showing up.

vast bane
#

includes probably has a data in it

covert mason
#

Ahh

vast bane
#

the wg wiki isn't v10ified yet

#

yeet single datas most of the time and doubles are system

#

also just share the line here or #macro-polo people will help

covert mason
violet meadow
vast bane
rancid tide
violet meadow
#

yeah

covert mason
# vast bane ctrl f `includes` and share the line
let colorChoice = update.token.img;

        
        if  (colorChoice.includes("Blue")){
            effect = 'jb2a.explosion.02.blue';
        }
        else if  (colorChoice.includes("Green")){
            effect = 'jb2a.explosion.02.green';
        }
        else if  (colorChoice.includes("Purple")){
            effect = 'jb2a.explosion.04.dark_purple';
        }
        else if  (colorChoice.includes("Red")){
            effect = 'jb2a.explosion.dark_red.0';
        }```
vast bane
#

99% of changes are datas but ocasionally its not a data

#

you might want to share that in #macro-polo for more πŸ‘€

vast bane
#

wait

#

colorChoice is defined wrong

#

its src oro something

#

I think img got switched out for something like texture.src but someone smarter will answer better

dark canopy
#

When debugging. Log out all your variables

#

Just as a first step, it's often your last

vast bane
#

oh also if tokens defined in the v9 macro thats naughty

covert mason
dark canopy
#

Midi is best relegated here, particularly if there are errors

vast bane
#

isn't it naughty to define token now?

violet meadow
# rancid tide At the very end right?
if (item.hasSave && item.getSaveDC() < actor.flags.dae?.alchemyDC) {
    item.system.save.scaling = "flat";
    item.system.save.dc = actor.flags.dae.alchemyDC;
    Hooks.once("midi-qol.RollComplete", async (workflow) => {
       if (!workflow.item.name === "name of the Acid thingy") return;
       else await workflow.item.delete()
    })
}
vast bane
#

you can only get away with it if you have advanced macros enabled?

violet meadow
#

yes

dark canopy
vast bane
#

hmmm, @covert mason your code scriptlet is not what I see in the wiki example

#

are you purposely changing your variables?

covert mason
#

I took out the greetings part, and changed the effects paths to thhhe JB2A databases.

vast bane
#

yeah is summonedToken a warpgate predefined variable?

#

cause that feels like it wouldn't work unless it was lol

#

or is summonedToken defined in itemmacro?

violet meadow
#

token.document.texture.src instead of token.img on v10 fyi

vast bane
#

yeah but I think he still needs to define token or use another variable than "token" there

dark canopy
#

None of this matters right now, lol. Just log out update

violet meadow
rancid tide
#

None

#

It just doesn't update the DC

vast bane
rancid tide
violet meadow
#

Only Place Template should be shown on the Dialog of the item use

covert mason
vast bane
rancid tide
covert mason
vast bane
#

that section of the macro is deciding what color the hand is

violet meadow
vast bane
#

your images you changed to are the puffy smoke animations

covert mason
#

Thhe explosions?

vast bane
#

yep

#

you want the hand actor aimations not the explosions

covert mason
#

That's the effect the sequencer is supposed to play on spawn

#

Not the hands themselves.

vast bane
#

well shit I'm sorry I didn't realize it was that section

rancid tide
#

No worries tho, thanks for the help

violet meadow
#

Depending on what you want to do you can use that macro for all items with charges

rancid tide
#

I feel like it's more of a midi/system bug, because even if the item has a set DC (flat, like a scroll or something) when consumed the DC becomes 10

violet meadow
#

Give them an identifier and look for that when Hooking on item roll complete

celest bluff
#

then can have it see uses is 0, then remove the item

#

or active effect

rancid tide
celest bluff
#

I use

const lastArg = args[args.length - 1];
const version = Math.floor(game.version);
let actorD = canvas.tokens.get(lastArg.tokenId).actor;
let itemD = lastArg.item;
if((version > 9 ? itemD.system.uses.value : itemD.data.uses.value) > 0) return {};
let conId = actorD.effects.find(i=> (version > 9 ? i.label : i.data.label) === "Concentrating").id;
await MidiQOL.socket().executeAsGM("removeEffects", { actorUuid: actorD.uuid, effects: [conId] });
#

on the item

#

At 0 it removes the active effect which is bind to the item, then removes it.

#

dae is ready setup to delete the item in the off

violet meadow
#

If the item is not to be destroyed, it works fine

covert mason
dark canopy
#

is it not used in that first line? const something = update.token.img?

celest bluff
#

Ok is this item created or already existed?

rancid tide
#

I think it's a bug because even with items that have already a set flat DC if the item is consumed the DC showed in the chat isn't the same of the item

celest bluff
#

is it part of a spell effect?

violet meadow
#

A consumable item

#

Just dragged onto the character sheet

rancid tide
celest bluff
#

how is the DC being applied, based on the user who uses it?

violet meadow
rancid tide
violet meadow
#

Doesn't matter as I imported it and saw the same issue

rancid tide
#

If the actor doesn't have the flag the item uses its base flat DC

celest bluff
#

You'd have to ignore item itself and have the macro do it

#

you won't be able to call to the flag

vast bane
#

is there a way to override all cha checks with a 1d20min5?

rancid tide
#

I saw that the same issue doesn't happen when in the saving throw section of the item you set up "spellcasting" instead of a flat amount

celest bluff
#

You could have it overwrite the item on the before roll

violet meadow
#

What is really strange is the difference in behaviour when you have it to destroy self on empty and when not 🀷

celest bluff
#

yeah you'd need to run 2 macros.. preItem and Post active effects

dark canopy
covert mason
rancid tide
#

Okay while testing I noticed that when the item is given a flat DC without the feature interfering and the item is consumed the DC is "saved", but when there is the feature it overwrites it at 10

dark canopy
violet meadow
vast bane
#

have you checked to see if this macro works as is in v9 or after v10ification before your edits?

violet meadow
#

OK so when the item has charges it breaks πŸ€”

rancid tide
#

I think that when the overwrite is done it's too late since the item is gone I guess

#

Maybe the "update" needs to be done on a hooks.on("preItemConsumption") or something

vast bane
#

I purposely uncheck destroy on empty just cause my players are inept and fat finger item rolls

violet meadow
#

Even with this it is not working

celest bluff
#
const lastArg = args[args.length - 1];
const version = Math.floor(game.version);
let actorD = canvas.tokens.get(lastArg.tokenId).actor;
let itemD = last.item;
const itemUpdate = await fromUuid(args[0].uuid);
if (args[0].macroPass === "preSave") {
    let alchemySave = getProperties(tactor.flags, "whatever.this.flag.is") || 10;
    itemUpdate.system.save.dc = alchemySave;
} else if (args[0].macroPass === "postActiveEffects") {
  if(item.system.uses.value > 0) return {};
  itemUpdate.delete();
}
rancid tide
celest bluff
#

then remove the last part

rancid tide
#

But if I have charges/destroyOnEmpty? does it work regardless?

celest bluff
#

it may not repsect it

#

you could add a prompt to ask

rancid tide
#

Okay I'll try an idea I just had

violet meadow
covert mason
#

Oh xD

violet meadow
#

but still it is undefined before that πŸ˜„

covert mason
#

Is it not defined with

let colorChoice = update.token.document.texture.src;```?
violet meadow
#

Sorry I cannot follow that macro right now πŸ˜…

#

log everything to see if it breaks somewhere! The most valid suggestion which helps 99% of the times πŸ˜„

rancid tide
shy shadow
#

any people use Destructive Wrath ?
You are accessing the Item5e#data object which is no longer used. Since V10 the Document class and its contained DataModel are merged into a combined data structure. You should now reference keys which were previously contained within the data object directly.
at logCompatibilityWarning (commons.js:1692:19)
at Item5e._logV10CompatibilityWarning (commons.js:6642:14)
at get data [as data] (commons.js:6542:24)
at eval (eval at callMacro (workflow.js:1628:15), <anonymous>:8:48)
at EmbeddedCollection.filter (commons.js:3244:14)
at eval (eval at callMacro (workflow.js:1628:15), <anonymous>:8:34)
at Workflow.eval (eval at callMacro (workflow.js:1628:15), <anonymous>:34:4)
at Workflow.callMacro (workflow.js:1629:14)
at Workflow.callMacros (workflow.js:1519:21)
at Workflow._next (workflow.js:924:18)
at async Workflow.next (workflow.js:262:10)

rancid tide
shy shadow
#

this error is looping my Foundry

#

// Tells you the maxmium damage for the feat or spell.
// Thanks to Kekilla for helping me write this macro.
let confirmed = false;
let dmgtype = ["lightning","thunder"];
let selected_items = actor.items.filter( i=> i.data.data.damage?.parts.length > 0 && dmgtype.includes(i.data.data.damage?.parts[0][1]));
let optionsText = "";
for(let i = 0; i < selected_items.length; i++) {
let opt = selected_items[i];
optionsText += <option name="ability" id="${i}" data-value="${opt.name}">${opt.name}</option>;
}
let the_content = <p>Choose one to empower.</p><form><div class="form-group"><select name="ability"> + optionsText + </select></div></form>;
new Dialog({
title: "Channel Divinity: Destructive Wrath",
content: the_content,
buttons: {
go: { label: "Feel my Wrath!", callback: () => confirmed = true },
cancel: { label: "Cancel", callback: () => confirmed = false }
},
close: html => {
if (confirmed) {
let selected_ability = html.find('[name=ability]')[0].value;
let empower = actor.items.find(i=> i.name===${selected_ability});
let damageDice = empower.labels.damage;
let maxRoll = new Roll(damageDice, actor.getRollData()).evaluate({maximize : true});
maxRoll.toMessage({
flavor: <p><strong>Channel Divinity: Destructive Wrath</strong><hr>${empower.name} - Maximum Damage Roll</p>,user: game.user._id, speaker: ChatMessage.getSpeaker({token: actor})
});
}
}
}).render(true);

#

the macro

celest bluff
#

probably cause it's old and is written for 8.x

shy shadow
#

ok

#

thx

celest bluff
#

my gitlab isn't updated for v10

shy shadow
#

i don`t found in your patreon too

celest bluff
#

yeah, I never went back to rewrite it mostly cause I don't have a tempest cleric

#

at the time I did

shy shadow
#

but thx

#

i need make a protective aura to a Artillerist

#

The cannon emits a burst of positive energy that grants itself and each creature of your choice within 10 feet of it a number of temporary hit points equal to 1d8 + your Intelligence modifier (minimum of +1).

celest bluff
#

Active Auras will do that

shy shadow
#

i try with DAE create this

#

but don`t work

violet meadow
#

Also this key you are using is for Damage Reduction.

violet meadow
violet meadow
shy shadow
#

how is damage reduction

violet meadow
#

@rancid tide just change to this for the relevant part ```js
if (args[0].macroPass === "preSave") {
console.log("here")
if (item.hasSave && item.getSaveDC() < actor.flags.dae?.alchemyDC) {
item.system.save.scaling = "flat";
item.system.save.dc = actor.flags.dae.alchemyDC;
}
}

and `flags.midi-qol.onUseMacroName | Custom | ItemMacro.Potency,preSave` for that part.

Before, the workflow change was purged as the item was updated when the resource was consumed (and that's why it was usable if you were not actually using a charge).

Any changes in a MidiQOL workflow will not survive an actual update of the item. 
Now the consumption update will already have happened by the time you trigger the macro in `preSave` Hook, so you can manipulate the workflow without an issue.
violet meadow
# shy shadow how is damage reduction

What do you mean? flags.midi-qol.DR.tempHp means that the actor has Damage Reduction when affected by a change in tempHp.
DR in that stands for Damage Reduction.

#

As a matter of fact, whether this specific flag is usable or not, I am not entirely sure πŸ˜„

shy shadow
vast bane
violet meadow
#

What is the exact description of the ability you want to use?

shy shadow
#

only roll one time

vast bane
#

where is super with his copy pasta

shy shadow
#

The cannon emits a burst of positive energy that grants itself and each creature of your choice within 10 feet of it a number of temporary hit points equal to 1d8 + your Intelligence modifier (minimum of +1).

violet meadow
#

OK make it target all Friendly cretures inside 10ft

shy shadow
#

this ability

vast bane
#

never ever ever modify hp, temp hp, or max hp in an active effect

violet meadow
shy shadow
#

ok is work but ever turn i need roll again

violet meadow
shy shadow
#

yes

violet meadow
#

for how long?

shy shadow
#

while the robot is alive

violet meadow
#

On each of your turns, you can take a bonus action to cause the cannon to activate if you are within 60 feet of it. As part of the same bonus action, you can direct the cannon to walk or climb up to 15 feet to an unoccupied space, provided it has legs.

shy shadow
#

yes

#

but i know my players

violet meadow
# shy shadow yes

Create a feature or something that transfers an Effect on the actor that has the Cannon.
On that feature create a DAE (which need to be a Transfer to Actor on Item Equip one).
In the Duration tab of that DAE, choose

#

Then in the Effects tab

vast bane
#

I would just make this a bonus action temp hp heal on the artificer

violet meadow
#

Lastly in the Item Macro of that item ```js
const targets = MidiQOL.findNearby(CONST.TOKEN_DISPOSITIONS.FRIENDLY,token,10).concat(token)
const roll = await new Roll('1d8+@abilities.int.mod',token.actor.getRollData()).evaluate()
game.dice3d?.showForRoll(roll,game.user,true)
await MidiQOL.applyTokenDamage([{type:"temphp",damage:roll.total}],roll.total,new Set(targets),null,new Set(),{})

vast bane
#

or an overtime effect with actionSave

violet meadow
#

Actually the damage is completely wrong edited.

rancid tide
#

I was just about to rework the system from the ground up, and at the last second I checked discord just to be sure

bleak arch
#

Maybe you guys can help me with what I think should be fairly simple but I'm code illiterate
I'm trying to make an animation using stretchTo() and I'm wanting it to stretchTo the center of the placed template.

I'm using a feature that places a template, as normal, and making a macro to use in the "On Use Macros" section in the Midi Qol Fields at the bottom of the feature details. Is it possible to make that called macro utilize stretchTo() and target the center of the feature's placed template?

#

new Sequence()
    .effect()
        .file("jkase.fire.ray.fireball.10")
        .atLocation(tokenD)
        .stretchTo(args[0].targets[0])
    .play()```
is what I started with, but have since changed the ability to be template with a save rather than an attack roll, so I need the animation to target the template. Would it be something like:
```let tokenD = canvas.tokens.get(args[0].tokenId);
let template = <something goes here>;

new Sequence()
    .effect()
        .file("jkase.fire.ray.fireball.10")
        .atLocation(tokenD)
        .stretchTo(template)
    .play()```
?
violet meadow
bleak arch
#

How would I get the template's uuid reliably? would it use the same uuid as the feature itself?

violet meadow
#

args[0].templateUuid

bleak arch
#

i'll give it a shot

royal dragon
#

I'm not sure if it's the new 5e system, dae, midi-qol, or something else, but when I make a new effect I no longer get a dropdown for effect Attribute Key or the option to add special duration rules. Does anyone know what is happening?

royal dragon
#

Latest on both

vast bane
royal dragon
#

It broke when I updated to the new 5e system, was hoping the updates to dae and midi-qol would fix it, but no

violet meadow
# bleak arch

there is some issue with the ) one more or one less πŸ˜„
Paste the whole macro

royal dragon
#

Just a sec, I'll try to find them

bleak arch
#

lmfao

#

Amazing. Thanks man!

vast bane
#

if the drop down is missing you probably don't have dae enabled

#

it also would be missing if you were on the new dnd and not the new daes

royal dragon
#

Found the issue from what you suggested. There was a new option in DAE settings that I hadn't checked or got unchecked with the update. Thank you.

vestal cedar
#

Anyone else noticing some weird behavior with the latest MidiQOL update? I've got reactions not being checked properly, damage automation isn't happening... I can screenshot console errors if that helps.

vast bane
#

sounds very much like you updated dnd5e and midi/dae are on their 2.0.3 era versions

vestal cedar
vestal cedar
vast bane
#

Btw, had a genius idea that someone asked me about for death burst abilities. Have the death burst ablity setup as a normal item roll, and have it have a blank active effect that is passive with a special duration of ends when at 0 hp. Then put an effect macro on it for on deletion that rolls the item.

bleak arch
#

I've got a weird one for you guys.
So I have a feature that uses Midi-qol concentration and executes a macro "after active effects" that is just a fairly simple visual animation
It's active effects include 3 attribute modifiers (not important) and two macro.tokenMagic effects, which all work

The strange thing is that when the feature is used, nothing goes wrong. But when the effect is removed from the actor, concentration is broken, or it is turned off by any means, the "after active effects" On Use macro is activated a second time and the visual animation is activated again at the same time as the original visual animation goes away due to loss of concentration and can only be removed by randomly activating/deactivating concentration or by using sequencer to simply delete the layer manually.

Any thoughts on a fix? It's a head scratcher for me

#

Changing the on use macro to a different one works, so I'd imagine it's something to do with that, but I can't figure out what. Does .persist() break this somehow?

    .sound()
        .file("worlds/testing/sounds/radiance.mp3")
        .volume(0.5)
    .effect()
        .file("jkase.fire.square.dragon.default")
        .atLocation(canvas.tokens.controlled[0])
        .scale({x:0.58, y:0.20})
        .attachTo(token)
        .belowTokens()
        .persist()
    .sound()
        .file("modules/animated-spell-effects-cartoon/sound-fx/fire/sfx_fire_07_bg.ogg")
        .volume(0.1)
    .play();```
violet meadow
#

Use ```js
if (args[0] === "on") {
//do stuff when the effect is created
}
if (args[0] === "off") {
//do stuff when the effect is deleted
}

#

Otherwise the macro will be executed during both creation and deletion

bleak arch
#
let sequence = new Sequence()
    .sound()
        .file("worlds/testing/sounds/radiance.mp3")
        .volume(0.5)
    .effect()
        .file("jkase.fire.square.dragon.default")
        .atLocation(canvas.tokens.controlled[0])
        .scale({x:0.58, y:0.20})
        .attachTo(token)
        .belowTokens()
        .persist()
    .sound()
        .file("modules/animated-spell-effects-cartoon/sound-fx/fire/sfx_fire_07_bg.ogg")
        .volume(0.1)
    .play()
}```
Like this?
#

First line not needed, bad paste

violet meadow
#

Oof sorry it’s quite late and misread,.
You execute this as an onUse MidiQOL macro, not a DAE macro.execute or macro.itemMacro

bleak arch
#

correct

#

I tried using macro.Execute in the active effects, but it just didn't do anything

#

Using the visual effect macro in the MidiQOL On Use section above, it works but with that strange bug

#

So right now, the feature uses the MidiQOL on use section for that specific visual macro, and then uses the active effects for two tokenMagic effects

violet meadow
#

If you want DM me an export of the item and will take a look in the morning, I am off to bed now unfortunately πŸ’€

bleak arch
#

okay no worries. I'll fiddle with it some more and if I can't solve it I'll throw it your way

#

Thanks for your help tonight πŸ™

vestal cedar
#

Okay, I actually solved my other problem (by restarting my server) but now I have a new one... I keep getting this error from tokens with reactions. It's really gumming up the works, because it tries to prompt the reaction, can't, and eventually just gives up. But nothing else can be rolled in the meantime. It seems to not affect certain tokens, but I can't figure out what might be going on:

vast bane
#

theres no shim for img

#

maybe click on some of those to see the line in midi, maybe he accidentally wrote something in as a v9 syntax

vast bane
#

what is your midi version number(and DAE for that matter)

vestal cedar
#

Here's more deets

vast bane
#

log the issue I guess, but is it possible you got really old v9 items for reactions?

#

what are the reactions?

vestal cedar
vast bane
#

Drag out the dnd5e starter hero wizard and hit them with a weapon

vestal cedar
#

Another example, slightly different

vast bane
#

Zanna

vestal cedar
vast bane
#

yep log the issue, use the starter heroes error for the snippet and tell him to hit the starter hero to repro

vestal cedar
#

The custom reactions don't have macros, btw, all of them are just DAE stuff

vast bane
#

you can either wait for him to fix, or revert to a 2.0.3 backup

#

but he can't fix things if nobody reports them so make sure hes made aware of it

vestal cedar
vast bane
#

and yes, the point is to get to a 2.0.3 system and 2.0.3 world, that has never been touched by 2.1.x

#

you do NOT want to backwards migrate data

vestal cedar
# vast bane you do NOT want to backwards migrate data

... Ah. Ok. That might be in play, then, because I think I did that once already before I knew the issues it could cause... Updated the 5e system to 2.1.2 through Forge, experienced some problems, rolled it some key mods back too, then tried updating again at a later date. Learned later that can cause serious issues.

vast bane
#

this is exactly what we tried to tell folks about on the day it launched, why they shouldn't install 2.0.3 over 2.1

#

this might be really painful

#

it does seem weird that you are the first to report reactions not working, so it does kinda make me think that the issue is how you crunched your data

vast bane
vestal cedar
vast bane
#

I think pretty much only tim can sus out what is going on here or Elwin

vestal cedar
#

Unfortunately I think the only save point I have is from 2 weeks ago before I upgraded to Foundry v10. Looks like I've got a hell of a lot of stuff to rebuild, lol. Thankfully my game will be taking a hiatus in about a month, so I guess I'll just live with the issues I've made for myself until I can run some experiments and hopefully rebuild into something cleaner.

vast bane
#

hold out for an answer from the smart folks

vestal cedar
#

I actually had a similar issue a while ago, where having an outdated macro on one actor's Magic Item somehow affected almost all actors with Magic Items or Reactions. Will need to go back and check those items, see if any of them are running eg. a Crymic macro from pre-v.10, then update and see if that solves things. I'm about 98% decided that the Magic Items module is more trouble than it's worth, but I'll still be interested in running the experiment and seeing what happens. What a wild ride tonight has been lol.

molten solar
vast bane
#

but what doesn't line up here is that you said you tested Zanna the starter hero and got the error so 🀷

#

Zanna's shield is very much a spell not a MIM

vestal cedar
# vast bane Zanna's shield is very much a spell not a MIM

Yeah, it's really bizarre. Like I said, while MIM was on, it would prompt reactions from actors that didn't have usable reactions, or else it would get tangled up asking for reactions that had nothing to do with MIM. Soon as I turned it off, no more problems.

vestal cedar
vast bane
#

It looks like Zhell put a PR in for a problem with compatibility

chrome gale
#

I have this macro set up on a weapon, and it works great. It adds a resource, when the weapon makes the killing blow.
However I now need to make an alternative version, where the weapon instead applies an effect on the creature, and if the creature dies while the effect is on it, it triggers a macro that... does this exact same thing. (looks for and adds a resource).

First issue - is there a way to have a macro trigger when a creature expires (or the effect expires, as I know I can make an effect expire upon death using special duration)

vast bane
#

not sure how to pull off your macro from actor A to modify actor B's item uses though

#

without shenanigans

chrome gale
#

oh no

#

oh wait am I confused

#

Player makes the effect, and wants the resource, enemy has the effect on them. When enemy dies, player gets +1 resource. Is that not allowed?

#

Is it a permissions issue?

vast bane
#

Well if the targets are always the DM's monsters, it might work

#

also EM has a defeated trigger if you have an auto defeat at 0 you can skip the dae/timesup step

scarlet gale
#

Generally pretty easy to get around permission issues with macros

chrome gale
#

the enemies will always be mine yes, the player... shouldn't be killing teammates

#

I won't say 'never' lol but

#

you know how players do

scarlet gale
#

midi has a function to create an effect on a target you don't have permission for example

vast bane
#

if your monsters auto defeat, you can put your macro in the "defeat" trigger for Effect macro

chrome gale
#

Is that specifically a midi option? I think I have it so they automatically become flagged as dead, but it was once a CUB setting I used

vast bane
#

actually that macro looks an awful lot like an on use macro, you'd have to seriously overhaul it for EM

chrome gale
#

that macro is an item macro on the weapon yeh

scarlet gale
#

I would just use a flags.midi-qol.onUseMacroName personally

#

way easier

#

Have it check if the target has the desired effect and if their health was just reduced to 0.

vast bane
#

his effect doesn't have to be the killing blow, it just has to have it while it dies

scarlet gale
#

Effect macros then

#

Can use the origin of the effect to find the correct actor to increase a resource on

vast bane
#

yeppers

vast bane
#

pretty sure monks stuff auto defeats

#

its a combat thing

#

it also is done by midi vicariously when combat is active

scarlet gale
#

Special Duration on the effect of 0 hp then use effect deletion trigger

vast bane
#

cause dead status auto defeats

vast bane
scarlet gale
#

Oh lol

#

You got plenty of options

vast bane
#

you can use the defeated trigger instead if he auto defeats/auto deads with midi/monks

scarlet gale
#

Effect macro provides the origin so you can do origin.parent to get the actor.

chrome gale
scarlet gale
#

Something like mark defeated

#

It's an option somewhere

vast bane
#

unless I'm mistaken this is core

scarlet gale
#

Either way, you have multiple options

vast bane
#

so midi's auto dead should cover it

#

but also monks has auto defeat as well

scarlet gale
#

Have the item apply the effect with an effect macro tied to either effect deletion or mark defeated

#

whatever you prefer

vast bane
#

either tokenbar or little details

#

I think defeated is the better flag incase some power word kills get thrown about

chrome gale
#

I've looked twice

#

I may be blind

#

not ruling it out

#

ahha its little details

chrome gale
scarlet gale
#

Are you on v9 or v10?

vast bane
#

Yeah, in v9 its at the bottom of damage subsection in workflow tab, in v10 its here:

#

and I think by default when combat is active a creature with the dead status is defeated, but that might actually be MLD/MTB doing that, I forget

#

if your tracker skips dead creatures, then you auto defeat

scarlet gale
#

As long as the effect is on a GM controlled token, it could be as simple as:

await origin.actor.update({'system.resources.primary': origin.actor.system.resources.primary + 1});```
#

(As an effect macro)

#

Could do a warpgate permanent mutation if you wanted it to work on non-gm controlled stuff

molten solar
chrome gale
#

sorry was fixing the monk module

#

I now have 'defeated' working properly

chrome gale
scarlet gale
vast bane
#

Does the midi CI flag work with just the names of active effects in general? or do I need to world script them in?

#

condition immunity

molten solar
scarlet gale
#

Didn't see that

#

Edited above macro

chrome gale
scarlet gale
#

That was just an example, seemed like you were trying to update a resource on an actor

chrome gale
#

yeh thats right, but there's... a bunch of steps in the middle lol. That I obviously didn't write myself, I just modified to make it work for me

scarlet gale
#

Ah, well you should also likely get your original macro updated to v10. It's using a bunch of v9 things.

#

I see a lot of data.data in there

chrome gale
#

is that now meant to be 'system'

#

or something

scarlet gale
#

Pretty much

chrome gale
vast bane
chrome gale
#

I think I only changed .data.data.

vast bane
#

also they aren't .system. they are system.

chrome gale
#

i can check as I did it in vs

#

yeh i just put the dots cos they were all in the middle of something

vast bane
#

system should start the chain not be in the middle

chrome gale
#

target.actor.data.data.details.race

vast bane
#

ok good point there

chrome gale
#

oh so it should just be system.details.race?

vast bane
#

you probably swapped a single data

#

no the target.actor should stay

#

you might have swapped a system with a . at the start of it and having nothing before it

#

check all the systems so that they look right

chrome gale
#

ah seems I caught a single data by mistake you were right

#

ok one error left

You are accessing the ChatMessage#data object which is no longer used.
vast bane
#

line 7 has a data that shouldn't be swapped

chrome gale
#

this is onl line ... 39

vast bane
#

30 has a single data that I think changes to system

chrome gale
#

thats the one I accidentally changed to system and that broke it

vast bane
#

the data on 39 should be yeeted

chrome gale
#

changed to system? that breaks the macro

#

or just removed

vast bane
#

I would take the original macro to #macro-polo (maybe hide the args entries hehe)

#

and just ask what to do with the datas

#

or paste the individual lines into macro polo

#

I think the getrolldata thing is also a v10 change

chrome gale
#

I'll ask. Thought this is just 'fixing' the macro that already worked lol (worth doing, but still)

#

I still need to figure out how to make this same thing work as a macro effect lol

vast bane
#

yeah most of that is written as an on use

chrome gale
#

Will have to drop it in macro polo tomorrow and hope someone knows what needs doing

#

macro effects certainly solves one of the problems i was having in getting this working πŸ‘

unkempt bone
#

Big yikes. Wondered why none of my effects were applying automagically. Noticed that Midi-QOL is no longer listed as a module in my modules.

Uninstalled it and reinstalled it and it remains unlisted in my modules. Uncertain when this happened exactly, but within the last 1.2 weeks.

Shows as installed in my list (V10.0.25).

Going to run Find the Culprit!, but wanted to see if anyone else had this neat occurrence.

#

Scratch that. Can't run Find the Culprit! because Midi doesn't show up in my list of modules available to me. :/

vast bane
#

install 10.0.24, and 10.0.14 dae and you will be fine, the ones you installed are purely dnd5e fixes for that new version.

unkempt bone
vast bane
#

but theres really nothing new in them for us, its just 2.1.2 compatbiility

unkempt bone
#

The foundry page only lists the 'latest' in the 10.x train, at least for Midi.

NM, found it!

lost estuary
#

I am working on a macro that runs on spell cast. Concentration is the applied via Midi.
Can i get Midi to run another macro on concetration end?

IE:

Macro part one contents;

Magical wait for con to end then proceed;

Macro part two contents;

Macro end;

#

i have a feeling that it will use concentrationData, but im not even sure where to start

#

And to be clear, i am trying to simply change the vision mode when this spell is cast, and change it back when its done. Using concentration (even though this is not a con spell) so the user can end concentration to end the spell early, as i have no clue how to do that any other way:

near sequoia
#

I noticed that if I roll an attack twice, the "damage" button disappears from the first card. But if I roll 2 different attacks, both keep their damage button. Is there a midi setting to keep the damage button on a card until it is rolled? I do still want the attack/damage cards merged, and the buttons to disappear on a card after it's rolled...

coarse mesa
coarse mesa
scarlet gale
#

Way more simple too

coarse mesa
#

yeah literally just a key and value in the AE

#

So, something like:

ATL.sight.range | Override | 60```
violet meadow
near sequoia
#

Is there a way to make an active effect apply on the target only if the spell attack roll succeeds?

near sequoia
#

Also -- if I have two temporary effects placed on a target with a single spell, and one has a Special Duration -- is it intended/expected that both effects expire when the special duration triggers?
These are the durations for the effects, and they both expire when the target is attacked...

kind cape
kind cape
near sequoia
vast bane
#

you must have something going on because Chill touch in the midi sample items is setup perfecctly....and has two different durations

#

I would remake the item or drag it to the sidebar, delete it on the actor(check for rogue ae's still remaining on actor) and then redrag it to the actor when its properly setup and see if it behaves normally.

near sequoia
#

ah, I think it is a bug (at least in 10.0.23 -- I haven't updated since then).
In Data/modules/midi-qol/src/module/workflow.js:expireTargetEffects , wasExpired is initialized outside the loop.
If the first effect sets wasExpired, it doesn't get re-set to false before processing the second effect. And if the second effect shouldn't expire but has a different specialDuration , then it gets to the end of the loop with wasExpired unchanged and still true. (also happens if it had a special duration that was removed -- in that case, the dae.specialDuration flag exists as an empty array, so the !specialDuration doesn't work).

vast bane
#

you don't have seconds set for the durations and try updating to 24 before reporting the bug, if you are on dnd5e 2.1 update to 25, otherwise stay on 24

#

I really don't think this should happen cause he literally has a sample item called chill touch that does 2 items with 2 different special durations that works fine in combat.

near sequoia
#

In Chill Touch, the 2nd special duration expires before the first, so this bug doesn't trigger. I'd imagine that if you reverse the expirations (1st one expires start of turn, 2nd one end of turn), then they'd both expire with the first one.
In any case, since I know what the bug is now, I think I can work around it πŸ™‚

rotund oyster
#

Okay. How do you make someone Resistant to Lightning Damage? Like take half damage?

#

Because I am trying to apply the restitance as a racial passive and it seems to not apply correctly

near sequoia
rotund oyster
#

I am adding it as a feature and it applies

#

Let me see if I can find a

#

Screen shot

#

Its a passive that's there all of the time

#

And it adds to the effects thing because the new racial feature I made

vast bane
rotund oyster
#

Let me check

#

It is there

vast bane
#

just add the resistance manually and delete the ae

#

on the feature and in the actors effect tab

rotund oyster
#

But when I hit the test dummy with the lightning it doesn't apply or is that something that is a manual thing?

#

I just read

vast bane
#

show me the attributes tab of the actor named Test

#

at first glance my thought is you are making the usual mistake with midi flags since there are dr flags which are system dnd5e flags that provide damage resistance, and then there are DR flags which provide damage reduction and are midi flags, but regardless, if the trait is always on, you should forego active effects and keys entirely and just manually add the resistance to the attributes tab of the npc and call it a day.

rotund oyster
vast bane
#

Ae's are typically reserved for temporary effects, and you will want to avoid using them when you can as they start to add up in an automation world.

vast bane
# rotund oyster

they have lightning resistance, can you show me the attack in chat thats not calculated with it?

rotund oyster
#

One sec

#

I have to hit my test dummy

#

lol

vast bane
#

just put 100 in the situational bonus

rotund oyster
#

What does that mean?

#

Forgive me

#

I am trying to understand

vast bane
#

oh it occured to me that you are probably one of them fast forward types so just keep rolling till midi hits

#

a good example of why fast forward is bad ;p

#

you could hold down the T key while rolling to go manual

#

show us a snippet of your attack and damage in chat

rotund oyster
vast bane
#

looks like its working to me

rotund oyster
#

The feature at this level does 2 damage

vast bane
#

it does 4 damage actually

rotund oyster
#

Yes yes

#

Sorry I leveled up the creature

vast bane
#

and the resistance halves it

rotund oyster
#

So If I see a 2 then it does 2 damage

#

Easier to see the numbers

vast bane
#

in the damage card it shows, also pro tip, you can mouse over the token image in that damage card to see its DR/DI/DV

rotund oyster
#

I see it now

vast bane
#

something is off with your setup though

#

why are your ae's not auto applying?

rotund oyster
#

I can do that?

#

I didn't know

vast bane
#

its pretty much why most use midi

rotund oyster
#

Kk

#

I only want to apply the effect if they fail their saving throw

#

How can I do that?

#

I am sorry for all of the needy

#

Once I figure it out I become master of this

vast bane
#

midi's configure settings, click the workflow button, then in that window go to workflow tab, and its the second section, I circled the setting

#

if you have my setting set, then you have a conflicting roller

#

if you don't, you will very likely want to turn this on as this enables the main core reason for midi, transferring effects automatically to other actors

#

it might also be if you were using an actors sidebar sheet and they have no token on the map too I suppose

rotund oyster
#

It does auto apply

#

thats a time saver

#

lol

#

Let me read

vast bane
#

does your setting have leave the button set?

rotund oyster
#

Let me check because it is still there

#

It is still there and that is selected

vast bane
#

I will just leave this here just incase:

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 just dead in v10 and often the culprit of things..

rotund oyster
#

I don't have those

#

So we are good there

#

I try to make as few mods as possivble

#

I freak out I have 30 mods, but I think most people use like 100

#

Which is crazy to me

vast bane
#

ooooh

#

one more

#

and it would explain the button sticking around

#

Effective Transferral

rotund oyster
#

Is that a mod or a feature?

vast bane
#

its a module

rotund oyster
#

I don't have that

vast bane
#

did you have the setting where it removed the button in my image?

rotund oyster
#

Yes

#

I will screen shot

#

One sec

vast bane
#

Then something is off wrong

rotund oyster
#

Doordash is annoying me

vast bane
#

is the active effect suspended?

#

(inactive)

rotund oyster
#

Let me screen shot

#

One sec

#

One sec

#

I am here

#

Getting dressed

pale jolt
#

so based on the conversation I've been seeing, the reason my midi isn't working is because I updated my version of dnd to 2.1.2? is that correct?

rotund oyster
#

Its fixed I think, but it reset

vast bane
# pale jolt so based on the conversation I've been seeing, the reason my midi isn't working ...

currently, dnd5e 2.1.x is very new and many modules are trying to catch up and squash bugs, with midiqol and DAE, there is a feature that prevents utilizing bad combinations of dnd/mididae, that was accidentally left in to interfere with the newest 10.0.25 midi and dnd5e. So with that said, if you have 2.1.2 of dnd5e, you should be on 25 and 15 of midi/dae respectfully, but if you see any problems report them because you are betatesting for the rest of us who didn't update yet.

#

if your midi is disabled, its likely because you have a very old dae, or you are are on 10.0.25 midi, and dnd5e is 2.0.3. If you are on 203, the versions of midi and dae should NOT be 25/15 they should be anything older

#

preferrably 24/14

#

midi 25 and dae 15 have no new things, they are just fixes for dnd5e 2.1.x breakages.

pale jolt
#

I was just updating like a goodboy..I'm on the newest versions of everything

vast bane
#

you should be good but if you spot problems make sure its a midi problem by finding the culprit with just midi/socketlib/libwrapper then report it to his gethub cause this is a very new dnd5e and its giving mod authors a hard time.

#

In general if you aren't keen on testing your live world with system and foundry builds, its usually a good idea to hold off specially if you run a complex roller module like wire and midi.

#

also always backup when updating systems and foundry builds, even if they seem small.

rotund oyster
#

That I agree is something I'm going to have to start doing but only in between campaigns
I was lucky because I haven't started my camping yet

pale jolt
#

definitely not good, guess I'm gonna be doing the module scoot boogy today πŸ˜‚

rotund oyster
#

I'm the only thing that's angry me is because the whole ogl stuff I'm not going to have a DnD betondon or by the books

#

Which means I'm going to have to build all the classes from the ground up

vast bane
#

if you have a backup from before, you can revert, just when you do so, make sure you rollback midi/dae to the 2.0.3 friendly versions 24/14

#

do NOT install 203 over 212 for the systems, back migrating is baaaaad.

pale jolt
#

I mean, worse case scenario I used to play with dice and paper, so I never get mad when this stuff breaks it's just a convenience lol

vast bane
#

I dunno theres alot of people who think the world has ended with tidy being broken hehe

rotund oyster
#

Paper pencil will always be the best but just sucks for the people with groups across the country

pale jolt
#

oh yeah, I mean it still rolls dice πŸ˜„

vast bane
#

don't jinx it!

rotund oyster
#

Lol

pale jolt
#

I have players all over too lol

vast bane
#

You Sir, are tempting fate lol

rotund oyster
#

Well like the reason why I'm doing all this extra stuff is because I really want to show a lot of people that you can be different with your D&D world

#

And since I'm streaming it using these automated animations d2l's in effects are very very important for the shiny

#

Because I want to make a good show that has all the shiny in it

#

Sorry my English is not making sense right now I'm driving because I'm a doordasher and I'm driving to an Einstein bagels
Speech to text

#

I just wish there was a way that I could get all the classes already more or less ready to go

vast bane
#

half of them are already in the srd classes unless your party are all artificers

#

most of them really, and midi SRD module has the automated versions of most of the srd ones

rotund oyster
#

Well for example one of the characters is going to be among but he wants to be at Tasha's Monk
And I think he's going for elements

vast bane
#

midi srd is only v10 ready if you get it from bugbears profile/github

rotund oyster
#

So we still have to update the monk to be more like Tasha's

#

I have to

#

Sorry my speech to text is really really really bad I need to be more slow when I speak

rotund oyster
#

Oh nice

#

It sucks that DnD beyond is doing this

#

Maybe I need to make my own game with black jack

#

Lol

opaque current
#

Yeah I agree with Moto. Sure you might need to make some Tashas features, but you only need the new ones when they level up. Don't need to create 20 levels worth of stuff in advance.

rotund oyster
#

It may be the way to go

#

I guess I am just that wants to be all ready to go kind of guy

#

But it may save up time in the meantime to it is that way

opaque current
#

Yeah, I've been there, you get over it when you realise you're probably going to have to make them all yourself πŸ˜†

rotund oyster
#

Lol

#

Yes, I am not rich enough for an assistant

#

Lol

#

They are soo many homebrew races I want to make

#

So much homebrew and so little time

vast bane
#

honestly, if you are buliding a table, of players, a teachers pet archetype player is invaluable

#

actors and artists being my second favorite type

#

Things that are easy to offload to the players in foundry would be art management, sound file finding, automated animation setups

rotund oyster
#

Dark stuff is usually handled in my end because I used to be able to draw and I have a professional artist to take care of all the little pretty things

#

But yes it would be nice to get teachers pet

#

Lol

spice kraken
#

@main knoll

main knoll
#

So I made an item (and have dfreds CE) but it doesn't do anything? Have tried with the item named 'Sharpshooter' and 'Sharp Shooter'

vast bane
#

you could put that flag on the dummy item he rolls for the other sharpshooter stuff as a passive apply on equip ae

vast bane
#

it must match this name

#

and there must be a token on the map

#

of the self/self roller

#

add the key that super just shared to you as an active effect on it, apply on equip

vast bane
#

you can't use both to manage active effects

main knoll
#

Oh right, I have roll automation off because it completely broke ready set roll. Ughhhhh

vast bane
#

pick one, and cub is not as awesome as dfreds for midi users

#

whoa wait a minute here

vast bane
# main knoll Oh right, I have roll automation off because it completely broke ready set roll....

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 just dead in v10 and often the culprit of things..

Choose RSR or Midi do not have both on

#

the best you can do, is turn off midi, and go install effective transferral

#

or turn midi on and throw away RSR

main knoll
#

Ok makes sense. RSR is critical to our group and I can just make a duplicate 0 weight weapon with the -5 +10

#

Thank you for the assist

vast bane
#

@fallen token has a very small module in his github somewhere that posts a message after the roll that asks if you want to apply dfreds CE to the actor

#

so if you had dfreds and RSR, you could roll an item that has the exact name, and a button to apply it would show up

#

Effective Transferral would do the same if you dragged the dfreds CE into that dummy items active effects tab

#

however, you cannot run cub's enhanced conditions with dfreds CE

#

so you need to do some hard choices here and clear out the two conflicts

#

Personally I do not see the appeal of rolling 2 d20's, I prefer my players know what they are throwing before they roll

main knoll
#

Yeah I will comb through the modules and decide, thank you. This is my only 5e table, every day I am more impressed with what the pf2e foundry devs have done lmao

#

I use enhanced conditions to apply bloody and a different icon overlay for dead, I might be able to use midi for that instead

tropic vine
#

Does anyone know why I would be getting the following? I have an onUse Item macro that has the following code in it:
console.log("isCritical: " + args[0].isCritical);
And I get back:
isCritical: undefined
Not sure why I am not getting back a boolean true or false.

violet meadow
#

I don't remember now if it's always undefined if not true

tropic vine
celest bluff
#

IsCritical is a boolean

odd sable
#

I haven't updated to the latest version of the 5e system yet, is the latest MidiQoL version working fine with all the changes, or would I be better off waiting with updating both?

scarlet gale
#

I would wait

#

There are still some minor issues

odd sable
#

Cheers! I saw there was an update out for MidiQoL already, and that sheet modules seemed to be causing the major issues, but I figure it may take a few iterations of updates for MidiQoL as well to get everything fully functional...

scarlet gale
#

It was updated to work with it, but I've seen a few bugs discussed in here

vast bane
old yew
#

To modify the Superiority Die item macros from MASIF to work with a PC with the Superior Technique fighting style or Martial Adept feat:

Fighter Battlemaster : Superiority Die

USEAGE : PASSIVE
This item must be on the character for Manuevers to function.  
It does not do anything directly but is a helper effect to determine the Battle Master Hit Die (d8, d10, d12) based on level.
 
v2.0 December 16 2022 jbowens #0415 (Discord) https://github.com/jbowensii/More-Automated-Spells-Items-and-Feats.git 
*****/

if (args[0] === "on") {
    const pcActor = await fromUuid(args[args.length - 1].actorUuid);

    // Test Class
    let pcFighter = pcActor.getRollData().classes?.[[insert_class_identifier_here]];
    if (pcFighter === null) {
        ui.notifications.error("You are not a Fighter!");
        return;
    }

    // Test Subclass
    let pcFighterSubclass = pcActor.getRollData().classes.[[insert_class_identifier_here]]?.subclass.identifier;
    if (pcFighterSubclass != "[[insert_subclass_identifier_here]]") {
        ui.notifications.error("You are not a Fighter Battlemaster!");
        return;
    }

    //const roll = await(new Roll(`2d8 + ${pcPaladin.levels}`)).roll();
    let fighterLevel = pcFighter.levels;

    let flagData;
    const flagData = "+ 1d6";
    pcActor.setFlag("dae", "SuperiorityDie", flagData)

} else if (args[0] === "off") {
    const pcActor = await fromUuid(args[args.length - 1].actorUuid);
    pcActor.unsetFlag("dae", "SuperiorityDie");
}```
vast bane
#

I think you also have to drag it off and back onto him

#

I would have kept the flagData part the same and just changed all the dice to 1d6

#

just out of fear of not knowing wtf that shit does lol

#
    let flagData;
    if (fighterLevel > 17) flagData = "+ 1d6";
    else if (fighterLevel > 9) flagData = "+ 1d6";
    else if (fighterLevel > 0) flagData = "+ 1d6";
    pcActor.setFlag("dae", "SuperiorityDie", flagData)
old yew
#

That did the trick!

vast bane
#

Huzzah!

#

edit your original macro to how it works

old yew
#

dragging it off and back on, I mean. The actor now has the necessary flag

vast bane
#

and put outside the code above it "Superior Technique" and "Martial Adept"

#

make sure you have the fucntional macro in the message

#

make it searchable so that we can help the next guy setup superior technique/martial adept with MASIF

#

search here doesn't search inside code so put the keywords in your actual post

old yew
#

I'll clean it up and do that, thanks again for the assist

thick galleon
#

hello, can i undo the latest update on Midi to play on 2.0.3?

vast bane
thick galleon
#

i am at 2.0.3 at the moment

vast bane
#

And you definitely did not install 203 ontop of 212?

thick galleon
#

just realised that midi isnt working anymore πŸ˜„

#

nope

vast bane
#

k then lets find you the zip of 24 midi

#

tim doesn't do past modulejson installs, so you get the zip of the whole module and you have to replace the folder in your data/modules directory

thick galleon
#

thank you, i will try it now πŸ™‚

#

looks like it works, it is listed again, thankis πŸ™‚

vast bane
toxic spruce
#

Does anyone know if the spell Hex was written for Midi?

violet meadow
#

It has been shared, yes.

toxic spruce
#

Ok, I couldn't find it but I will keep looking

violet meadow
#

Search for Hex from Chris

#

or me

#

Mine is not fully updated for v10 yet

#

Also I think the ddbeyond importeer has one

toxic spruce
#

I did look there, couldn't get that one to work

#

You are crazy efficient

violet meadow
#

Also that one which I need to check again

toxic spruce
#

Is it better to use the item macro or to create a macro, and call on it

violet meadow
#

But it might be more difficult to find it later 🀷

#

Pros and cons based on how you go about πŸ˜„

toxic spruce
#

Knowing me, I will do both, to make it worse πŸ™‚
To call on the item macro is "ItemMacro"?

violet meadow
#

Yes, case sensitive

toxic spruce
#

Your macro works great, even adds the dis on ability

#

I can't get the d6 to work but that is ok, I really wanted the ability check πŸ™‚ TYTY

violet meadow
#

let me see if it needs some quick changes

#

Are you auto rolling damage?

scarlet gale
#

Suppose I should actually document my hex macros.

#

Since it makes use of a macro.createItem to move the hex.

vast bane
#

wish there was an easy way to share a macro.createitem build

scarlet gale
#

If it was made using warpgate and I embedded the item in the macro it would be more shareable.

vast bane
#
Use Mr.Primates on his github
#

I never updated this for v10 and its not working now

violet meadow
vast bane
#

it works, however, what is the 10 on the end, I though tit was a typo, but apparently thats diameter?

scarlet gale
#

That's the range yes

vast bane
#

its suppose to be creatures within 5ft, so I thought the 10 was wrong, but when I set it to 5 it has no range

violet meadow
#

You have the center on the target

vast bane
#

it doesn't seem to suck in diagonal tokens to the damage

#

either its not taking that line right, or something else is wrong, I got no errors but the save only applies to the target

scarlet gale
#

What's your dnd diagonal rules set to?

violet meadow
#

respects 5/5/5 or 5/10/5 rules iirc

vast bane
scarlet gale
#

And that's why

vast bane
#

isn't 5/10/5 what bugbear just said?

#

so do I have to change my diagonal rule?

scarlet gale
#

5 won't get corners

#

10 will

violet meadow
#

or 7.5 or something

vast bane
#

I have it set to 10 now and its still only prompting the primary target

#

I think find nearby isn't working right

#

I set it to 100 for find nearby and still it only prompts the primary target for a save

#

no errors

#

is there another premade ice knife shared? I'm ok with abandoning this one if we have to

violet meadow
#

try this quickly ```js
let targets = MidiQOL.findNearby(null, args[0].targets[0].object, 10).concat(args[0].targets[0].object)