#MidiQOL

1 messages · Page 23 of 1

narrow saddle
vast bane
#

that is a v10 manifest

violet meadow
river urchin
narrow saddle
river urchin
#

but it installs a v9 version

vast bane
short aurora
#

Nope, just verifying that I also just pressed the fullest of automation in midi and it still doesn't seem to work. I did get a new error, though. Same one is also there, this one also appeared

[Detected 1 package: effectmacro]
    at Object.eval [as fn] (eval at executeScripts (modules/effectmacro/scripts/main.mjs:21), <anonymous>:8:46)
    at Function.#call (foundry.js:724)
    at Function.callAll (foundry.js:681)
    at ClientDatabaseBackend.callback (foundry.js:12767)
    at foundry.js:12715
    at Array.map (<anonymous>)
    at ClientDatabaseBackend._handleUpdateDocuments (foundry.js:12715)
    at ClientDatabaseBackend._updateDocuments (foundry.js:12592)
    at async Function.updateDocuments (commons.js:6128)
    at async Actor5e.update (commons.js:6225)```
vast bane
river urchin
short aurora
#

That's just a number, like age

river urchin
short aurora
#

It's up to the developer to remember to up that :p

violet meadow
#

It should be fine

vast bane
river urchin
vast bane
#

both of those forks are highly experimental, they have just fixes to make them barely functional in v10, and apparently they forgot to change the compatibility flags

violet meadow
vast bane
#

why does his version say 0.2.14, thats really old atl

violet meadow
#

Yes you are as I don;t see the prompt for Update Software

vast bane
#

is that just the version primate started with lol?

violet meadow
#

Its fine. Just click yes on the popup

vast bane
#

oooh its the version before the templates, makes sense

violet meadow
#

What is the issue? 🤔

violet meadow
#

Just click Yes in the popup

vast bane
#

neither of those urls are good though

violet meadow
river urchin
short aurora
violet meadow
#

Hmm let me double check

vast bane
river urchin
#

it installs the thing, but then you have the issues i'm finding

short aurora
vast bane
#

ok I know what Teccam is doing wrong

#

hes trying to update a fork

#

primate purposely made his version old, so that when kandashi finally updates it, all the fork users can just pop update to get the real one

violet meadow
vast bane
#

so do NOT update it

river urchin
river urchin
vast bane
violet meadow
#

That should either be #modules or in DM to be honest at this point!

river urchin
violet meadow
#

no worries!

vast bane
#

@violet meadow

#

oh shit I'm behind a build aren't i

violet meadow
#

again ... hit that button once more

coarse mesa
#

Simbul’s Cover Calculator is out! Time for me to migrate over to v10 methinks

summer turtle
#

Hi ! I'm trying to create for my player (arcane archer) an entry for a "Seeking Arrow" attack.
I use Midi-QoL. I've configured this :
The issue is, when my NPC does a DEX save, and if he succeeds, the base damage (1D8+mod) are not divided by 2, and it's supposed to be...
Can I do it please ? and how ?

#

Well... It seems I managed to do it... It's not pretty, but it works...
If someone has a better way to do it, I'll take it 🙂 thanks !

violet meadow
summer turtle
#

I tried to put "base damage who are not divided" ... so something which is always "0" is good...
And for the 2 others lines, they are divided by 2 if DEX save is ok (and when the parameters are like my first screenshot, it doesn't work 😦 )

vast bane
#

I think updating to 288 just killed my actual live session world

short aurora
violet meadow
solid mountain
#

Thanks, I missed this little beauty.

#

My player prefer the popup since they never got the hand of using shift alt ctrl.
But they still miss adv and disadv every now and then.

molten solar
solid mountain
#

This will help.

vast bane
coarse mesa
#

Simbul’s Cover Calculator is out now, not sure if it’s integrated with midi yet tho

short aurora
#

very nice

#

Aborious can you check on your GM account in console if you also get a maximum call stack size exceeded with socketlib and midi?

#

else I'll just report it to tposney on my lonesome, thankfully don't process reaction normally

narrow saddle
#

A server restart didn't make any difference and I tried in different browsers, and the difference still remains, it pops up for the GM but not the player. (It only pops up for the GM if the player isn't logged in)

We have a session tonight so I am going to ask a player just to have a go at it before we start.

@violet meadow

vast bane
#

@scarlet gale I'm not seeing range issues with active auras

narrow saddle
#

I don't really have time to find the culprit before the session.

short aurora
violet meadow
#

(let me pop Krig's midisettings back in to check reactions)

short aurora
#

Not those; try the full-auto setting

#

I put on full auto since I don't normally do reactions and figured that could be an issue with your item

vast bane
#

Bugbear what happens if you inception the new midi feature

#

I'm kinda giddy to try it lol

violet meadow
#

Spontaneous combustion

#

How do you mean though?

vast bane
#

drag the item the ae is in to the ae lol

narrow saddle
vast bane
#

is there a fix for the thicc health bars yet?

molten solar
#

2.1.0

violet meadow
#

It just waits for the timeout, no errors

short aurora
#

Yeah, mine did no errors on the player, on the GM I got the stack call trace thing

violet meadow
#

Ah it errors out in the players

#

Not the Gm for me

vast bane
#

handlebars?

violet meadow
#
is-binary.js:24 Uncaught (in promise) RangeError: Maximum call stack size exceeded
[Detected 2 packages: socketlib, midi-qol]
    at gt (is-binary.js:24:17)
    at gt (is-binary.js:45:63)
    at gt (is-binary.js:45:63)
    at gt (is-binary.js:45:63)
    at gt (is-binary.js:45:63)
    at gt (is-binary.js:45:63)
...
#

OK so it errors out on the client that initiated the Attack

narrow saddle
molten solar
#

Did you copy a non-midi macro or something

narrow saddle
#

It is just reaction damaged.

violet meadow
#

Nah that's a plain SRD item attack and the process of the reaction gets nuked

#

I imagine some sort of serialization issue as it happens on another client from the one that needs to act on the Reaction (...)

#

But why not with my settings testing Nope it happens. Hadn't noticed before

narrow saddle
#

I don't have any of the SRD modules installed since going to v10, the only Kandashi modules I have are AA and ATL due to a tweak someone did.

violet meadow
#

Not the SRD modules. I was just commenting that the attacking item was just a Fire Bolt found in the Items (SRD)

vast bane
#

is there no way to ping mrprimate?

bitter zodiac
#

Anyone else get this error with DAE & MidiQol? Concentration Convenient effect is not being added when the player casts a concentration spell - if I disable DAE, then it works as expected (but other things stop working of course)

Running Foundry v10.288, MidiQol 10.0.16 and DAE 10.0.10

Edit: Adding some details - running on an RPI, tried rebooting server and clearing cache to no avail - seems to be a DAE/MidiQol interaction

Edit2 (FIXED): Just in the off chance this happens to someone else, it turned out my Simple Calendar module was stuck on a really old version - reinstalled and everything's working as expected. Find the Culprit FTW.

short aurora
#

I made an issue for the reaction thing

violet meadow
#

@short aurora Have you tested the Fire Shield will all reactions off in your world?

sudden crane
steel apex
vast bane
#

ask him where we send issues with active auras and active token lighting

#

cause AA is pretty unuseable in its current state

river urchin
steel apex
vast bane
river urchin
#

hmm i should send it as mp4

steel apex
steel apex
river urchin
violet meadow
# vast bane

That's an issue right now, on which Kaelad was working.

river urchin
steel apex
river urchin
#

whenever it works propperly it's when i press "disable movement animation" button in drag ruler controls

river urchin
violet meadow
#

The token update lags by one square. It could have something to do with the code using data in places instead of system

In the first update something is messing up and the shim is not being used correctly. On the second update, the coordinates of the new "previous" space are updated being used.

dark canopy
#

try making the aura 11' feet

#

or switching to 5/10/5

#

feels like a pixel vs grid distance and/or < vs <= distance

violet meadow
#

hmm will try

molten solar
#

could totally be the spam in the console too. If it's bad it can totally make calculations chug

dark canopy
#

or, maybe 13 ft (just over half a square over 10)

short aurora
vast bane
#

seems to work perfectly if you move with keyboard keys

#

its just drag and drop that freaks out

river urchin
#

btw using this while moving the token with the aura also solves the issue (drag ruler module settings, by default the key is alt)

dark canopy
vast bane
#

why does moving feel laggy though in v10? its like I have a really high ping to the server

#

the machines are literally next to each other in a room wired together

short aurora
#

v10 adds a much slower movement animation, you will need a module to change it

river urchin
vast bane
#

seems like there is input lag though

violet meadow
#

or Zhells pin

dark canopy
vast bane
#

stil trying to sus things out with modules on

#

I like how my v10 server has to have more modules installed than my v9 server lol

molten solar
#

'has to'

violet meadow
#

(door macro's fault)

#

@vast bane do you have EM and DFreds CE sorted in your v10 server?

vast bane
#

wish there was a way to set M to always toggled on from MLD so that the tokens moved instantly always

violet meadow
molten solar
#

easy world script

vast bane
#

can it go in worldscripter?

violet meadow
#

Ah you have it almost ready in the pin

molten solar
#

literally just add it to the pin's script

vast bane
#

if it never animates then it never breaks active auras

river urchin
vast bane
#

I just need the hook, I'll pop it into worldscripter module

molten solar
#

Check the pin

vast bane
#

whats missing in the pin that I need?

molten solar
#

Not you

vast bane
#

I never ran the macro to fix icons, and they are all fixed for me now after the foundry update, was that one of the things in 288 build?

river urchin
# molten solar Check the pin

oh, sorry, didn't read the last part. Do i write "esmodules": [ "./my-script.js" ], under "verified" (and before the })?

molten solar
#

The order doesn't matter, as long as there are no trailing commas where there shouldn't be

river urchin
#

gotcha, thanks!

#

i assume the script has to be on a file called my-scripts.js, right?

molten solar
#

You can call it Steve for all it matters as long as it matches

#

just has to be a .js file

river urchin
#

i guessed so xD thanks!

river urchin
violet meadow
vast bane
#

smooth as silk now

#

time to test my midi-inception idea

steel apex
vast bane
#

👀 What is create token lol so many new goodies in v10 midi

molten solar
#

... the permission to create a token?

vast bane
#

Awwww he thought of inception, it errors out before you drag it onto the actor

steel apex
#

Those allow the adding of items and spells to a token which then disappear when the effect it is tied to expired

vast bane
#

lol so you can't drag itself onto itself

violet meadow
#

The created item on a DAE on it, as a new macro.createItem? But why 😄

vast bane
#

Its a test bed, for science, thats why! Excelsior!

violet meadow
#

Stop that and check if the Fire Shield works for you

vast bane
#

where is it?

violet meadow
vast bane
#

need to go get effect macro

violet meadow
#

Get Babonus, Door Macro, Template Macro now that you are on it too

vast bane
#

do I need babonus for fireshield?

#

this isn't a permenant build

violet meadow
#

Nope

molten solar
#

does fireshield give a bonus to hit dice, attack rolls, damage rolls, save DCs, or saving throws?

violet meadow
#

And some luck... 🤞

vast bane
#

oh I wonder if the light status icons work in dfreds

violet meadow
#

(freaking cold fingers...)

vast bane
#

wow, light looks really different in v10 or something

molten solar
#

(canvas: the "map")

vast bane
#

do you think this is a performance hit?

molten solar
#

No.

vast bane
#

I have to be weary cause I have a player with bad hardware

molten solar
#

If anything, it should be an improvement.

violet meadow
vast bane
#

had me wondering which one, he already has animations off on his side

violet meadow
#

Dice3d with lots of effects and high quality stress

molten solar
#

Some background computations aren't as taxing as actual visual animations.

vast bane
#

I bet you if I made 2 inceptions they'd lopo on each other

molten solar
#

So don't install Visual Active Effects /s

violet meadow
molten solar
# violet meadow 🤌

Oh come on, add the entire spell description in flags.visual-active-effects.data.content

vast bane
#

what other things do I need to do before I use this bugbear

violet meadow
#

my blessing

vast bane
#

I rolled the spell and nothing happened

#

oh duh, enable the new modules

molten solar
kind cape
#

Not very SRD friendly 😂

violet meadow
#

Fire Shield is SRD no?

vast bane
kind cape
#

Oh wait, it is, then you could put the entire thing 🦐

violet meadow
# vast bane

Going out for dinner now. I will test again after.

vast bane
#

no prompt, and it put a fireshield buff on im

#

him

#

its on an npc fyi

#

a drow mage

violet meadow
#

unlinked?

molten solar
#

It's what I do in CN

kind cape
vast bane
molten solar
vast bane
#

but that means it can't be used on most of the dm's casters

kind cape
violet meadow
molten solar
vast bane
#

linked the actor, no errors, no prompts

violet meadow
kind cape
molten solar
#

dunno your modules or how you'd connect the two

vast bane
#

when I attack him, I never got prompted for cold/fire

kind cape
violet meadow
vast bane
#

nope

molten solar
# vast bane

This would indicate an error in the macro, not the module.

violet meadow
#

Yeah it expects DFreds CE to have applied something that currently isnt probably

vast bane
#

am I suppose to get any prompts when I cast it?

#

well you have this on it:

violet meadow
#

Yeah that's fine cause it applies it from the macro (at least it should)

short aurora
#

The includes error seems similar to the one I'm getting, I don't think the way the messages are fetched is working proper

vast bane
#

Do you want my settings export?

violet meadow
#

Can you check something? Give in console ```js
game.messages.contents.findLast(i=>i.content.includes("<div class="dnd5e chat-card item-card midi-qol-item-card""));

#

Does it return something an actual ChatMessage??

vast bane
#

the last message is a midi damage application card fyi

violet meadow
short aurora
#

I think it's actually the secondary effect deletion on the effect delete macro, but I don't understand why, because breaking it up does seem to trigger the conditional

violet meadow
#

Hmm so for both of you, when you cast the spell, does the actual DFreds CE ask for which one to apply?
Fire or Cold?

short aurora
#

Mine does after I remembered to toggle effect macro

vast bane
violet meadow
vast bane
#

I get no prompts nada, just the spell cast in chat and a fireshield buff on token and then errors for when something attacks it

short aurora
#

I cannot replicate the .findLast error I got earlier, now it's just that includes being undefined.

vast bane
#

18 and 5 for my includes

short aurora
#

I edited my macro to debug, sounds about right line wise

vast bane
#

all 3 are effect macro

violet meadow
#

@molten solar how many lines does the Effect Macro add when wrapping?

molten solar
#

Like... 2?

#

Took me a sec, I was about to newspaper you for suggesting I used libwrapper

violet meadow
#

OK if (sourceActor.effects.find(eff=>eff.getFlag('core','statusId').includes("Fire Resistance"))) damageType = "fire";

#

hmmm

short aurora
#

I think that .includes is bogus, it's the same thing erroring on effect deletion

#

It also does not work in console

molten solar
#

add a ?

violet meadow
#

Yeah add ```js
if (sourceActor.effects.find(eff=>eff.getFlag('core','statusId')?.includes("Cold Resistance"))) damageType = "cold";
if (sourceActor.effects.find(eff=>eff.getFlag('core','statusId')?.includes("Fire Resistance"))) damageType = "fire";

molten solar
#

It errors out when it tries to read through effects that don't have a status id

violet meadow
#

it will return undefined damage but should continue

molten solar
#
sourceActor.effects.find(e => {
  return "Fire Resistance".includes(e.getFlag("core", "statusId"));
});
short aurora
#

Works without the damage stuff on my settings now, but I think it required more automation anyway for that to work, right?

#

Removes the effects correctly and everything

#

No console errors

violet meadow
molten solar
#

What does CE's do?

violet meadow
short aurora
#

Ooh, it do, well done

violet meadow
short aurora
#

I speak goodeth english

violet meadow
vast bane
#

I'm about to leave to go pickup my daughter from school so will be out of the office for a half hour

violet meadow
#

Later tonight for me. F@@k I am late..

vast bane
#

Did someone let primate know that a really decent workaround for active auras is that world script hook to disable animation on movement?

violet meadow
#

yeah. Are you in Kandashi's discord?

vast bane
#

gearheads?

violet meadow
river urchin
#

btw where do i report a bug for that? booming blade macro ALMOST works, except for when the target moves, it's the caster who takes the damage

#

i assume it has to do with something from there

vast bane
#

looks like the target token is the same token casting the cantrip in there

tepid remnant
#

Is there a way to modify scalars in an item? For example, a fighter with superior technique gets an extra exploit die or, in my case, an class feature that increases monk's damage die and ki. Do I make a DAE with a macro to modify the scalars or is there a better way I'm ignorant of? (I'm ignorant of a great many things lol)

river urchin
coarse mesa
# vast bane

I never used to get scrolling status text with AA on my pally aura but now there is, just like this. What’s changed squint

molten solar
molten solar
#

If you did not have it before, then the previous effect did not have a status id.

#

It has been a feature since at least v9.

coarse mesa
#

Yeah I have status text for other AEs but not ones applied by AA… which I actually like. How did that come to be? 🤔

molten solar
#

I just said? 🤔

coarse mesa
#

Having them popping on and off continuously with the paladin moving is annoying

molten solar
#

Just don't use effects lol.

#

You don't need to add +CHA to saving throws if no one is making a saving throw...

coarse mesa
#

I have a subtle TMFX glow when tokens are in the aura

molten solar
#

Of course... stress

coarse mesa
molten solar
#

Can't you just tell him his mom loves him or something

coarse mesa
#

His mom is probably dead, cliche backstory

vast bane
#

tmfx in pally aura is evil, we tried it, it got out of hand lol

coarse mesa
molten solar
#

What I did was just give my paladin a jb2a aura animation to visualize the range

vast bane
#

I just forced the aura's ae to show on tokens

molten solar
#

(difference is I don't use AEs for it)

coarse mesa
#

I’ve turned off a bunch of AE icons with Token Variant Art… I’m using different tokens and fx for effects instead

#

Was ruining my feng shui having a stack of icons on tokens 24/7

bitter zodiac
# bitter zodiac Anyone else get this error with DAE & MidiQol? Concentration Convenient effect i...

I'll add to this - I did see a post mentioning something about concentration and the same versions of MidiQOL and DAE that I'm running (not sure which Foundry version) - #1010273821401555087 message

However, I'm not sure if that's related or not as my issue is concentration not being added, and the above issue is it not being removed.

Also tried linking and unlinking the token, and same issue if the token is linked, unlinked, and after being toggled linked and unlinked.

violet meadow
#

No fx on targets, less visually compelling, more performant though 🤷

vast bane
#

I turned off tmfx cause the animations would wig out when the tokens are not on the active scene

tepid remnant
coarse mesa
violet meadow
#

I meant a generic token auras module provided one.

#

I am trying to move away from Active Auras (as an exercise to find also other ways to do it) so will be creating some more features over the next days with template macros + bab to test. Its intriguing 😁

coarse mesa
vast bane
#

Unless you rep all of midi srd aa is gonna be the mainstay

#

even then I got so many monsters rocking aa abilities

molten solar
#

This reminds me I should probably submit Template Macro sometime soon...

dark canopy
coarse mesa
vast bane
#

Yeah, same with a bunch of modules, like warpgate, sequencer, I could never swap those out just cause of all the stuff I've built with em

#

Advantage reminder also

dark canopy
#

if someone comes along and makes a new warpgate, they have my full support 🤣

molten solar
#

Someone is making a new warpgate

vast bane
#

could you possibly sway them to use the same formatting so that our macros all work with the new thing lol

molten solar
#

(but I hear they're being really slow about it, where are my tradeable mutations, Badger!???!!)

dark canopy
#

i shall return to v2 with a new, broader horizon of foundry knowledge

#

(but making money comes first 😅 )

molten solar
#

mood

vast bane
#

Ok my attempt to blow up this test build:
One item that has an ae that makes item 2, item 2 has an ae that creates item 1

coarse mesa
#

Absolute madlad

vast bane
#

make sure you know where to delete it lol so don't use a proto actor

river urchin
#

Has someone tried Simbul's cover integration with midi?

violet meadow
#

Yeah

river urchin
#

If it integrates well i mean

violet meadow
#

Works by adding an AE on the attacker from some quick testing and works fine for auto calculation

#

It is more or less the same like dnd5e helpers. Tposney will need to take a look at some point to integrate it as the predecessor was

river urchin
#

Does it count same size tokens as cover?

violet meadow
#

Not sure. I think it does

#

It doesn't have the extra cover calculation from kandashi's yet

dark canopy
#

all tokens are considered half cover by default, per RAW

river urchin
#

Sweet! I'll try it tomorrow

jagged cairn
#

How do you get that "pop-up" to use the effect before the roll? Is it a module?

molten solar
#

The configuration dialog is core dnd5e. The button for Divine Fury is Advantage Reminder.

undone sorrel
#

So when you use DAE's macro.ItemMacro flag, the one that gives the args[0] == on/off - Is there a way to get the workflow attached from the last arg there? None of the fields seem applicable

jagged cairn
#

Like bardic inspiration fe

kind cape
violet meadow
#

Like you do when you 'get' the workflow from args[0]?

undone sorrel
#

actually I'm dumb nvm I can do this in a different way

undone sorrel
# violet meadow Like you do when you 'get' the workflow from `args[0]`?

what I meant is "normally" you can get the workflow from MidiQOL.Workflow.getWorkflow(args[0].uuid) in an On Use Macro but DAE's macro.ItemMacro flag (the one that calls the item macro on creation or deletion) has different args, so I was wondering if you could get it from the last arg there (args[args.length -1]) which has some extra info about the interaction.

#

but like I said I can go about this in a different way

violet meadow
#

In general the args[0].uuid is the Item.uuid that is being used at any given time

undone sorrel
#

so for completeness, I'm updating stuff to v10 I'm also trying to refactor a lot of the old stuff that I wrote:

The macro needs to read the targets and some other info from from the workflow after an attack has happened. Before I was using this annoying system of checking the chat messages so I was trying to refactor that into something more simple but uh seeing as the workflow is already complete by the time I'm checking, it seems like that's not possible

violet meadow
#

You can get for some time a previous workflow. May or may not be on the client by the time you search for it

#

And for sure needs to be on the same client (at least for now)

undone sorrel
#

eh, for the way it's currently set up, after the active effect is removed from landing a hit

violet meadow
undone sorrel
#

will always be same round

violet meadow
#

I mean you start the workflow, add an effect that affects 1hit and the hit is part of the same workflow?

#

Yeah I meant to say current combat turn, but my AD&D years came to surface

undone sorrel
#

problem is that the effect and the weapon attack come from different items right now. At least I think that's the problem that will prevent your suggestion

violet meadow
#

OK can you give me an example of the workflow?

eg a feature adds advantage on the next attack. You attack and the effects is deleted. What do you need to access?

#

The targets are always the args[0].targets or args[0].hitTargets when you access them from an onUse on an Item or an Actor macro

undone sorrel
#

Make an melee weapon attack; if you hit, you deal your normal damage and 2d6 additional damage. In addition, if you hit, the first successful attack that each ally makes against the target deals 1d6 additional damage until the start of your next turn.

This is the text for the feature.
The way I have it set up right now is there's an item that applies the 2d6 buff which disappears on hit and calls its own item macro to set up the other stuff.

But the weapon attack is made with any weapon in the inventory so currently the two workflows are completely separate

molten solar
#

babonus could do this

undone sorrel
#

I know there's a booming blade macro floating around I can rip code from which will let me combine the two but like I said too lazy :p

violet meadow
#

the first successful attack that each ally makes against the target deals 1d6 additional damage until the start of your next turn.

Once per ally? 🤔

undone sorrel
#

yeah once per ally

#

you don't need to find a solution I already have one working, btw

violet meadow
#

I am an intrigued bugbear now. I will poke around a bit

undone sorrel
violet meadow
#

Ohohoh should I make a babonus one or at least ...sleep trying? Are you on v10?

undone sorrel
#

now switching over ya. Trying to fix whatever's broken before my DM switches

undone sorrel
molten solar
#

And also require that their target must have an effect with a unique status id

#

Give the item's effect the status id 'herp-derp' or whatever, and put that in the babonus filter

#

man all these inputs are getting out of hand...

violet meadow
#

Oh its going to be wonderful, just you wait! It will have also expiration and stuff 😄

#

Now let me make that BaB and log the effect to grab all its data

molten solar
#

The flag can get pretty big. 😅

violet meadow
#

I see...

#

It's not gonna be an aura though cause we need it to be only once per ally, so unfortunatelly it needs to be created as an Effect on all of them 🤔
Pff lets see if it works and I will think it through later

#

(hope you dont have many allies :D)

#

Fair warning, as you already have a working macro, I am using this as an exercise on some new modules interactions. If you see 22 modules as prereq don't be alarmed 🤣

molten solar
#

😮

#

Template Macro!

violet meadow
#

that is a tomorrow endeavour

#

Why does the monaco editor still not work in EM 😭

scarlet gale
#

Zhell template macro 0.0.3 doesn't have the latest animate:false fix right?

molten solar
#

nah.

molten solar
molten solar
violet meadow
#

0.8.9 I thought it fitting to use it also in 10...

scarlet gale
molten solar
violet meadow
#

Man it works .

undone sorrel
#

Oh btw I forgot I was going to thank you for EffectMacros Zhell. Since learning that you can call the macros stored there from anywhere my ability to do hacky shenanigans has increased exponentially

scarlet gale
#

I'm a pretty big fan of the Ace editor, I just wish it worked in more places.

violet meadow
#

@undone sorrel so the premise is to use an Actor onUse for the whole thing.
You activate your feature that creates an Actor onUse macro on the ... actor (DAE shenanigans with MidiQOL flags.midi-qol.onUseMacroName)
In that one you can check if an attack hits, do the extra damage and after that 'send' your gift to all allies as an AE you create in that macro, against the specific target of the attack.

molten solar
#

also fixes the fact that... "when created" template macros just plain did not work due to a Foundry issue somehow

scarlet gale
#

Oh interesting

molten solar
#

Their "shape" did not exist unless you wait for 0 ms

#

Don't ask

violet meadow
#

wait is that the issue with the dnd5e template ability whatnot?

molten solar
#

Huh?

violet meadow
#

I remember the function not...

molten solar
#

(is he drunk?)

violet meadow
#

Found it ```js
const template = dnd5e.canvas.AbilityTemplate.fromItem(item);

molten solar
violet meadow
#

So you just need to refresh it

molten solar
#

Yeah _refresh sets its shape property

#

which is undefined initially for some reason 🤷

molten solar
#

Nah I think that's different.

#

Those are for cancelled templates, but who knows.

violet meadow
#

hide it before moto sees this...

molten solar
#

pffff, what he gonna do? go back to v9?

scarlet gale
#

I should probably make it work with not 5 ft grids.

#

¯_(ツ)_/¯

violet meadow
#

Drag distance is implemented or keys movement?

molten solar
#

Can you paste just the macro?

scarlet gale
#

It's accurate enough

#

sure

#

I'd like to measure the distance in a better way

violet meadow
#

Stayed / Entered / Left respectively?

scarlet gale
#

yea

violet meadow
#

(too small on my phone... I saw the titles too late)

scarlet gale
#

I figured lol

molten solar
#

testing..

#

... after removing Midi dependency...

scarlet gale
#

lol sorry Zhell

violet meadow
#

small one, not even there, noone can see it

scarlet gale
#

I wanted it to work with midi concentration checks

#

Long movements over weird diagonal angles can sometimes round funny

#

But messing with measuring grid spaces was hurting my head

violet meadow
#

So drag ruler kind of does the calculation for you, or better did at some point iirc. Let me find my macro

scarlet gale
#

That would be nice

violet meadow
#

Now it gets shortest distance between start and finish correct?

scarlet gale
#

yea, if you move multiple times such as with drag ruler it fires a new movement trigger after each stop

#

So that shouldn't break it

molten solar
#

doesn't do anything for me 🤔

scarlet gale
#

damage?

molten solar
#

I replaced it with the core method

coarse mesa
#

Install midi

molten solar
#

Oh no I see

#

Chris, the hook never gets animate: true

#

It's always falsy or false

scarlet gale
#

oh

molten solar
#

(i.e. undefined)

#

you want if (this.hook.animate === false) return;

scarlet gale
#

hmm

#

it's working for me?

violet meadow
#

You have animate:true in the worldscript?

scarlet gale
#

and if I hold alt it doesn't do the damage

molten solar
#

You got something setting it to true then

scarlet gale
#

Must be another module doing that

#

easy fix at least

molten solar
#

Works pretty well after fixing it 👍

scarlet gale
#

I think my next thing to do is make a darkness spell that doesn't use AA

molten solar
#

Found one bug tho

scarlet gale
#

go on

molten solar
#

if you move out of the area in a straight path, going through only 3 or 4 spaces in the template, it seems to count 1 more

#

(dragging)

scarlet gale
#

Yea... I really need to figure out a better way to measure the distance, diagonals really mess it up.

molten solar
#

nvm im dumb, it's the "leaving" macro lol

coarse mesa
#

The spell is weird though, like if you’re standing just inside the edge and move out, should you take damage? You didn’t travel 5’ inside the spikes

scarlet gale
#

assuming you're in the center of your grid

#

you at least went through 2.5 ft of it

#

and dnd always rounds up

#

so

#

¯_(ツ)_/¯

#

close enough

coarse mesa
#

doesn’t it always round down?

scarlet gale
#

oh maybe

molten solar
#

it do

scarlet gale
#

guess I should fix that

coarse mesa
#

I’m in favour of more damage

scarlet gale
#

Honestly I kinda don't want to touch it

#

since rounding up works better for diagonals for distance.

violet meadow
#

So what I could find now (my filing system is like a messy bugbear's lair) from v9 in combat ```js
const combatantCurrentId = game.combat.current.combatantId;
if (combatantCurrentId != args[0].tokenId) return;
const combatantCurrent = game.combat.data.combatants.find(i=>i.data._id === combatantCurrentId);
const currentMovementflags = combatantCurrent.data.flags.dragRuler.passedWaypoints;
const currentMovementflagsLength = currentMovementflags.length;
const lastMovementFlag = currentMovementflags[currentMovementflagsLength - 1];
const diagonals = getProperty(lastMovementFlag, "dragRulerFinalState.noDiagonals");

//if (diagonals === "0") {
const movedSquares = lastMovementFlag.dragRulerVisitedSpaces[lastMovementFlag.dragRulerVisitedSpaces.length-1].distance;
//}
console.log("movedSquares:", movedSquares);

scarlet gale
#

That relies on having drag ruler right?

violet meadow
#

From a flags.dnd5e.DamageBonusMacro DAE

#

And yes drag ruler

scarlet gale
#

Only problem is that I can't use that, since I need to get the length from the side of the macro to the end point

violet meadow
#

The diagonals were messy

scarlet gale
#

not the whole movement

#

let intersectionPoint = quadraticIntersection(previousTokenCenter, currentTokenCenter, template.center, template.shape.radius, epsilon=0)

#

I need a way to convert from arbitrary coordinates to grids passed through

violet meadow
#

Yeah but I now wonder what the v10 Drag Ruler does 🤔

scarlet gale
#

it wouldn't have any reason to care about a partial movement

violet meadow
#

That would get me only the last segment of the drag ruler movement

scarlet gale
#

Someone a few days back said foundry had a function I can likely modify for my needs, I just couldn't figure out where it was at

#

Your last segment doesn't mean it's at the edge of the template

#

you can go into it from 40 grids away

#

but I only need the parts in the circle

#

hence the quadraticIntersection

violet meadow
#

I don't disagree, I was just trying to remember what the snippet was doing

scarlet gale
#

ah

#

Ideally I'd like to look at this mentioned code

#

And see if I can make use of it

coarse mesa
#

Does drag ruler account for difficult terrain or is that another module?

scarlet gale
#

Another module that hooks into it IIRC

#

Terrain Ruler

#

Zhell might have use of this: #1010273821401555087 message
I don't know how I'd implement it, but the dev said it does the work of finding if a move goes through a template

#

Which would help for making a moved through but didn't end in template function

molten solar
#

I won't have the time to look at it this week 😦

violet meadow
#
 _highlightMeasurementSegment(segment) {
    const {ray, distance} = segment;
    if ( distance === 0 ) return;

    const spacer = canvas.scene.grid.type === CONST.GRID_TYPES.SQUARE ? 1.41 : 1;
    const nMax = Math.max(Math.floor(ray.distance / (spacer * Math.min(canvas.grid.w, canvas.grid.h))), 1);
    const tMax = Array.fromRange(nMax+1).map(t => t / nMax);

    // Track prior position
    let prior = null;

    // Iterate over ray portions
    for ( let [i, t] of tMax.entries() ) {
      let {x, y} = ray.project(t);

      // Get grid position
      let [r0, c0] = (i === 0) ? [null, null] : prior;
      let [r1, c1] = canvas.grid.grid.getGridPositionFromPixels(x, y);
      if ( r0 === r1 && c0 === c1 ) continue;

      // Highlight the grid position
      let [x1, y1] = canvas.grid.grid.getPixelsFromGridPosition(r1, c1);
      canvas.grid.highlightPosition(this.name, {x: x1, y: y1, color: this.color});

      // Skip the first one
      prior = [r1, c1];
      if ( i === 0 ) continue;

      // If the positions are not neighbors, also highlight their halfway point
      if ( !canvas.grid.isNeighbor(r0, c0, r1, c1) ) {
        let th = tMax[i - 1] + (0.5 / nMax);
        let {x, y} = ray.project(th);
        let [rh, ch] = canvas.grid.grid.getGridPositionFromPixels(x, y);
        let [xh, yh] = canvas.grid.grid.getPixelsFromGridPosition(rh, ch);
        canvas.grid.highlightPosition(this.name, {x: xh, y: yh, color: this.color});
      }
    }
  }
#

Oh wrong link in the reply

scarlet gale
#

I think I should be able to adjust this to fit my needs

#

thanks for finding it

#

what's the context of the segment

#

specifically is the distance just the pixel distance?

#

I could probably just have it use the ray distance if so

molten solar
scarlet gale
#
function measureSquares(ray) {
    const distance = ray.distance;
    if ( distance === 0 ) return;
    const spacer = canvas.scene.grid.type === CONST.GRID_TYPES.SQUARE ? 1.41 : 1;
    const nMax = Math.max(Math.floor(ray.distance / (spacer * Math.min(canvas.grid.w, canvas.grid.h))), 1);
    const tMax = Array.fromRange(nMax+1).map(t => t / nMax);
    let prior = null;
    let gridDistance = 0;
    for ( let [i, t] of tMax.entries() ) {
        let {x, y} = ray.project(t);
        let [r0, c0] = (i === 0) ? [null, null] : prior;
        let [r1, c1] = canvas.grid.grid.getGridPositionFromPixels(x, y);
        if ( r0 === r1 && c0 === c1 ) continue;
        let [x1, y1] = canvas.grid.grid.getPixelsFromGridPosition(r1, c1);
        gridDistance += 1;
        prior = [r1, c1];
        if ( i === 0 ) continue;
        if ( !canvas.grid.isNeighbor(r0, c0, r1, c1) ) {
            let th = tMax[i - 1] + (0.5 / nMax);
            let {x, y} = ray.project(th);
            let [rh, ch] = canvas.grid.grid.getGridPositionFromPixels(x, y);
            let [xh, yh] = canvas.grid.grid.getPixelsFromGridPosition(rh, ch);
            gridDistance += 1;
        }
    }
    return gridDistance;
}
#

Ta da

#

measures the grids you went through from a provided ray

#

looks accurate

molten solar
#

Neat! If you can fix it up to take a TokenDocument and its start and end positions I could add it to the API

#

and maybe return an array of objects? 🤔

scarlet gale
#

easy enough

molten solar
#
[
  {template: "some id", distance: 4},
  {...
]
#

something like that. An array of objects, with the template id and the squares traveled through the templates

scarlet gale
#

I just realized

#

you could 100% use this to check if a move goes through a template

#

I was just trying to get a more accurate calculation of distance traveled for the damage lol

violet meadow
#

so many freaking helpful functions in foundry.js

scarlet gale
#

That's how I found quadraticIntersection

#

I was trying to implement it myself

#

Started to type something in the console and saw that pop up

violet meadow
#

It gets its own pinned tab in my VSC

scarlet gale
#

Hmm new problem

#

Foundry templates are dumb for circles

violet meadow
#

Simbul's Template Scaling maybe helps?

scarlet gale
#

parts like this are making my calculation seem wrong now

#

Since the that spot isn't getting highlighted

#

but it is being used for the distance

#

I'm getting the intersection point of the circle, then converting that to the nearest center grid square

#

so that point gets counted

#

let me see if adding that module makes it highlight right

#

I was previously using DF template enhancements for that in v9

#

bleh

#

That module just turns it into a square lol

#

at least with a 20 radius

molten solar
#

in babonus I just get the direct distance to the center of the circle

#

and round to the nearest 5

scarlet gale
#

I just need to do some extra math when grabbing the center point

molten solar
#

It's an API method in babonus 🙂

#

Ah no, this isn't

scarlet gale
#

I know how to fix it, I'll just ditch the quadratic equation part and check the distance of the tested point in the ray to the center of the circle.

scarlet gale
#

Foundry have a function for finding if an arbitrary point is in a template?

molten solar
#

yes

#

check the template macro api

scarlet gale
#

I need the point, not the tokens inside

#

the idea is to adjust the above code to see if it's inside the template based on a x,y point

molten solar
#

Yes

#

It's used in the api

#

templatemacro.mjs line 51

#

It doesn't actually find the tokens inside, it finds all the token's centers and returns if any of these points are in the template

scarlet gale
#

yea, that's all I need to do

#

sorta

molten solar
#

Then you just need templatePlaceable.shape.contains(x,y)

vast bane
#

I don't have a bard player so I never needed to make it yet but it would be just a roll in this message

#

Here is my barbarian's rage AE's that are advantage reminder

jagged cairn
#

Ohhh got you, i miss interpreted what it was being used for. I was curious about the functionality of for instance a bardic inspiration, where you store the effect and use it later on a different roll

vast bane
#

the bardic ability would apply an ae like the dm inspiration but would print a roll button of like [[/r 1d8]]{Bardic}

jagged cairn
#

Would it actually add that roll to the original one or would it go as separate?

violet meadow
#

@gilded yacht Quickly tried MidiQOL v10.0.17 and it seems that the reaction stack overflow issue is still present 🤔

scarlet gale
#

@molten solar I think I'm misunderstanding how this shape.contains is working. It's always just giving me false.

#

I feel like I'm getting close

molten solar
#

Try moving the token to (0,0)

scarlet gale
#

is it because the shape has X and Y of 0 in it?

molten solar
#

Think so, yeah

scarlet gale
#

So I need to change the position I'm testing relative to 0?

#

or change the shape x and y

molten solar
#

yeah it's weird. Foundry thinks the template is at (0,0) when you use its shape or something, but you're probably using the tokenDocument's actual x and y

scarlet gale
#

that explains it

#

I'll just copy the shape and update it's x an y to the correct position

#

and test that

gilded yacht
violet meadow
#

testing

scarlet gale
#

yea, I just realized that

violet meadow
scarlet gale
#

Getting there

molten solar
scarlet gale
#

Would be easier if I only needed to test if I passed through it

#

I'm trying to actually count the number of grids I've gone through

#

I'm butchering the function Foundry uses for highlighting squares when you are using the ruler.

#

Current macro from above is randomly adding 1 sometimes

#

😢

vast bane
#

omg guys I found an interesting bug/feature of dae

#

Loot type items are so useless normally, but if you have DAE, you can put effects on loot items through DAE with the wrench button

#

they have no functionality but somehow they allow dae to put an effect on them

#

even though the loot item has no details tab you can roll it and if dae is setup right it applies to target

#

not a very efficient way to do it but one of my players just accidentally setup an item as a loot item with an ae so I fiddled with it and indeed it works

coarse mesa
#

Good to know! I never have that wrench icon displayed so never would have found that

vast bane
#

I keep it enabled so you can see dae's on compendiums that are locked

errant cosmos
#

((I had a question about Relentless Attack but it started working and now I can reproduce the bug I was seeing, so I deleted my question))

glass lynx
glass lynx
scarlet gale
#

Yea I'm not sure

#

I kinda gave up on it for the day

glass lynx
#

An alternative would be stealing the measureSquare function from TerrainRuler. That one is 100% accurate in selecting the correct squares and able to deal with start and end ponts that aren't centered, but I remember it being a pretty large chunk of code

scarlet gale
#

I considered it

celest bluff
#

i wrote slide through target tokens

solid mountain
#

I wonder it it would be possible to set a (dis)advantage reminder text for effects added by midi:
Like this:

#

I'm talking about combining midi and advantage reminder module.

#

Basically showing the player WHY they have disadvantage to ranged attacks (they are near an enemy)

vast bane
#

oh its still in for v9:

#

so the second one is the flag for mdi-qol.advantage.grants.attack.all. Cause the creature is paralyzed.

#

for stuff that is too situational that goes in a message, I always say where they get it from

solid mountain
#

Ah, maybe the module couldn't tell where the flag came from.

vast bane
#

it probably can now, since the latest midi puts castdata into the ae's

#

but its up to kaelad to add it

solid mountain
#

Might be worth putting a suggestion maybe, I just found the module thanks to your message the other day. I like it a lot.

vast bane
#

I don't really need it, the reminders I use, are always labelled

solid mountain
#

Works really well when the players tend to forget some things in the heat of battle. 🙂

median path
#

Hi - i'm on version 9, using midi qol & active auras - is there a way to prevent midi from applying a effect to targets in the aoe.

#

I'm using active auras to apply an effect - and modified spirit gaurdians to act as the dot portion of a Symbol death, but I'm running into an issue where the effect originally applied via the template from midi is not properly removed - as opposed to the effects applied via active auras which works properly

fathom socket
#

could an effect grant advantage to attack rolls but only from the source of the effect?

vast bane
#

grant.advantage in the key field should get you what you need

violet meadow
#

So you have that as a passive effect on the source (probably using a feature with a DAE transfer to actor on equip) and when a specific effect is ON the source it will attack with advantage

violet meadow
narrow saddle
#

The update from @gilded yacht for midi regarding reaction, does that fix the problem with reaction not popping up for the player?
Not back at my computer till later.

violet meadow
#

Yes

#

Midi 10.0.18 fixes

fathom socket
violet meadow
#

Are you on MidiQol v10.0.18 by now?

#

Also can you check that the actual flag exists? It should auto complete

#

Not on my pc to check

fathom socket
#

no it does not complete

#

.attack not .attacks

#

there still seems something missing

violet meadow
#

Emnity and Enmity

fathom socket
#

dou

violet meadow
#

Hope it works now

median path
# violet meadow What does the macro look like?

My implementation is a bit scuffed. This is the first time i've tried to delve into this, but i'm using the flags.midi-qol.OverTime from the effects tab handle the damage at the start of your turn - and a custom Item macro to deal damage to creatures when the effect is applied during their turn (to handle the case of when you enter the aoe). The problem is that the effect is also applied by default via midi to all targets inside the template, and this is not removed by active auras. I suppose if there is a way to place a template without automatically targetting all creatures inside it would also help

fathom socket
violet meadow
violet meadow
#

Check the readme real fast. The v10 version midi

fathom socket
#

in the changelog it states effects.some(ef=>ef.label===
i deleted the additional f and it works now

#

thanks for your help👍

violet meadow
#

Glad to hear that's working now, but the change from eff to ef shouldn't matter 😁

median path
# violet meadow You can check during the on phase in the macro if the current combatant is the t...

Yes! I just used that macro (just needed to tell active auras to apply to a template instead) - the problem is if I use a template targeting, you end up with the default behavior that it also applies effects to enemies inside the template (instead of relying on the active aura application) - and this leads to incorrect behavior when there are targets inside the template on cast. The spell works fine otherwise

#

Previously, with spirit guardians the targeting is set to "self" - which avoids this problem

median path
# violet meadow Glad to hear that's working now, but the change from `eff` to `ef` shouldn't mat...

Thanks for the help btw. I should have tested the default spells in the active auras first to validate that they do not have this problem with other spells, but it seems this is expected behavior (atleast in my versions of the software). In summary, effects applied from spells that target AOEs (using templates) do not get removed since they were created by the spell, not the aura. I had hoped that there was a simple flag or hotkey to ignore this behavior.

river urchin
#

(already changed data.data for system wherever i found it)

median path
#

Is it possible to specify for Midi that it shouldn't target friendly units in a aoe?

vast bane
#

If its a placeable template you have to use sculpt spells flag

vast bane
#

make sure you are dilligent with dispositions cause enemy plays off the opposing disposition of the origin caster

violet meadow
#

You should target Self (3rd available box in target details) in such cases and let the aura handle the template

#

You put the Effect with the Aura on the caster

covert mason
#

I'm trying to automate Shield Master's ability to take no damage on a dex save. Is this how I'd format the flag?

flags.midi-qol.optional.NAME.superSaver.dex```
vast bane
#

you can't automate that

#

unless you are changing its raw rule

#

it only works on dex saves that are ONLY targetting him

covert mason
#

Ah

vast bane
#

I did an advantage reminder for that, I also did one for the shield bonus on dex saves

violet meadow
#

Now if you have other reactions... that will not work 😄

#

But you can use Hooks and to try to deal with that

vast bane
violet meadow
#

just spitballin anyways. I have it always on and change the damage if needed afterwards

violet meadow
solid mountain
#

I've been thinking about macro-ifying eldritch blast.
I've seen some implementations before, but how does one do it if the player wants to switch targets?

#
const e = event;
for (let i = 0; i < 4; i++) {
  await item.rollAttack({event: e});
  await item.rollDamage({event: e});
}
return false;

Currently using this as a ItemMacro, which activates before item is rolled.

vast bane
#

Anyone know what this is? I can't roll anything in my v10 build now:

molten solar
#

Looks like something wrapped in double brackets in an effect possibly

vast bane
molten solar
#

Just use babonus 🙂

vast bane
molten solar
#

I'll text you my hourly rates

violet meadow
#

The easiest solution would be to check how many EB are available according to level, cast each one sequentially, flagging the count and asking for a new target each time (hooking on midi-qol.RollComplete to trigger the next one)

violet meadow
#

@solid mountain do you happen to have an older version of a Magic Missiles macro floating around?
You could probably change that to facilitate EB.

vast bane
#

I got an idea for a janky eb

#

and mm

#

Make a singular instance ability of it that when it finishes the workflow, as part of doing damage it clears your targets, then have late targeting turned on and make another macro that rolls the eb/mm item 3 times, so everytime it applies damage it clears targets and pauses for late targetting again

violet meadow
#

@gilded yacht Now with the per target attack roll evaluation, would it be possible at some point to have a creature as a target more than one times in the same workflow?

eg. either with Late Targeting or without, if you have already selected a target and re-target it, a small counter would appear on it with how many attacks to be rolled against the specific creature.

Would make things like Magic Missiles or Eldritch Blast cleaner 🤷

violet meadow
# vast bane Make a singular instance ability of it that when it finishes the workflow, as pa...

Yeah that is a valid workaround (you can reroll the item from scratch, respecting the @scale uses and reloading with EM at combat turn end), but I think Ikabodo wanted to roll the item once.

It can be done by having the player select all the targets, then roll the item, create a Dialog grabbing the targets, grabbing the @scale value for EB available, you choosing how many blasts per target, validating you math, rolling the attacks, evaluating results and applyDamage to tokens accordingly

vast bane
#

Have an ae that creates an item that rolls the damage once then makes the item do flat damage of that first roll

gilded yacht
#

Year createToken does nothing yet - I'm sort of torn since it's better handled by warpgate, but maybe a createToken at offsetX, offsetY might work.

violet meadow
#

Oh yeah I tested it. Might be an overkill but warpgate is a black box for some 🤷

gilded yacht
violet meadow
#

the best kind of magic!

gilded yacht
vast bane
#

@gilded yacht if you enable sanity or honor in a v10 build and then have midi enabled and drag out a dnd5e starter hero with the compendium locked, a looping critical error plays out nonstop:
#troubleshooting message

violet meadow
#

I do the same, but was intrigued by Ikabodo 😄

It could be handled with some extra finesse. Make the Item have uses with max given from a @scale value, and roll until they become 0

#

Recharge on turn end

vast bane
#

its sorta kinda related to a bug with sanity/honor in dnd5e system, but midi makes it insanely weird

#

for some reason midi's doing some flag preupdateactor something on the locked compendium and failing

covert mason
#

Is there a way I can only have this show the roll table results for me as the GM?

// roll on a table that contains items and add the item to a selected token's actor.

// use this if the table is in the sidebar.
const table = game.tables.getName("Foraging");

// draw items from compendium or sidebar.
const {total} = await new Roll("1d6").evaluate({async: true});
const receiver = token?.actor;
if(!table || !receiver) return ui.notifications.warn("Missing table or selected token.");
const {results} = await table.drawMany(total);
const itemData = (await Promise.all(results.map(i => {
  const key = i.data.collection;
  const itemId = i.data.resultId;
  const uuid = `Compendium.${key}.${itemId}`;
  return key === "Item" ? game.items.get(itemId) : fromUuid(uuid);
}))).map(i => i.toObject());
await receiver.createEmbeddedDocuments("Item", itemData);```
molten solar
short aurora
#

Workflows with multiple targets could be useful for something like Bless, ~Bardic Inspiration, but a clean implementation does sound a little shifty...

violet meadow
vast bane
#

For magic missile, what if it did flags instead of attacks. Then applied the damage proportionate to the number of flags

#

cause you can put multiple flags on a token

covert mason
molten solar
#

Not really Midi related 🙂

short aurora
violet meadow
vast bane
#

meh I agree with tposney on mm and eb, its just simpler to do it the normal method, no automation

short aurora
#

I think in general some multi targeting aide could be helpful, might just be out of scope for midi tho'

violet meadow
molten solar
#

Of what module, praytell, would it be in the scope?

short aurora
#

Maybe none of them

#

:spook:

#

(Auto-complete showed me some scared creature sticker and didn't put it in, I blame Discord)

molten solar
#

Were it me, and I absolutely had to designate a target for each attack, I would use item.rollAttack() preceded by a prompt each time

#

and then my player would tell me to get stuffed cus that's annoying as heck

violet meadow
#

Found it

molten solar
#

for Magic Missiles, I just have a single prompt where the player can input a SCSV list of how many missiles to roll against what target
yeah something like that 👇

vast bane
#

Wtf did Skeemo do to you?

violet meadow
#

whose was that? I meant the macro

vast bane
#

dragonheist/waterdeep npc

short aurora
vast bane
#

kinda evil so just bein weird

violet meadow
molten solar
vast bane
#

Skeemo Weirdbottle

bold plover
#

Hello, I've been trying to get the double rolled damage to work for crits but I can't seem to get it to work. If I'm reading it correctly it should be 2*(1d8)+3 but instead its just doubling the ability modifier.

violet meadow
#

And in the DnD5e - Fifth Edition System Settings choose the way you need it to roll actually make sure no checkbox is ticked, regarding crit damage

bold plover
#

already tried that

#

double rolled damage from what im reading is close to the pathfinder style of crit and should be rolling only 1 die and doubling it

violet meadow
#

Do you want this?

#

1d4 + 5 base damage, 2d4 + 5 crit damage

bold plover
#

no

#

1d4 +5 base, 2*(1d4) +5 crit

#

so if i roll a 3 on the d4 its 11 total damage

violet meadow
#

It seems there is a discrepancy between the text description and the actual Dropdown.
That one seems to Double everything on a crit including multipliers.

bold plover
#

i logged the issue, thanks for the help

river urchin
#

was there a setting in any module to make some or all active effects to go inactive instead of deleted whenever they ended? I think it had to do with midi or dae iirc

#

toggle effect or something like that

violet meadow
#

That's the only thing I can think of

river urchin
#

yeah, that was it!

#

thanks!

sleek phoenix
#

Hello, everyone. How can I add a macro to add an effect on failed save in an attack or ability?

orchid hound
#

yes

#

generally the effects are only added after a failure if there is a save present. should be a setting in the workflow for that

stoic seal
#

Did active auras have a patch for v10 yet or is it still solely working for v9

velvet lava
#

Hey if i were trying to set up an aura that grants Temp health per turn for 5e what midi should i use to set the effect with DAE

#

I've tried ovveriding and add to the attributes system.attributes.hp.tempmax and system.attributes.hp.temp but in neither case the effects are being applied to either the actor causing the aura or others inside of it

orchid hound
#

effect over time, but doing temp health is not a good idea for effects

velvet lava
#

Im trying to integrate the Twilight Domain channel divinity, worst comes to worse it can be manual but i wanted to automate it if possible as the player isnt great at tracking it

violet meadow
#

FYI this is the latest version as of right now.

velvet lava
#

I do have that module, i might not be using it by accident

#

im using a small handful recommended as QOL

short aurora
#

I was thinking that macro.updateActor would be the best for this, but I am unsure if you can do the usual check for "if higher temp HP already exists don't overwrite" with that one.

velvet lava
#

hmmm this is getting into level of programming im incapable of,

#

Yeah not sure i can figure this out ill just do the temp health manually.

undone sorrel
#

I have once again returned to ask how to make an attack made at advantage auto miss.

In v9 bugbear suggested workflow.setAttackRoll(await new Roll('1').evaluate()) which worked nicely (though I suspect was bugged). In v10 it "works" but now changes the chat card to show the 1 instead of the original rolls which takes away info from the player.

Previously, I was attempting to make it auto miss by changing isFumble in the workflow and it seems like that's been fixed in v10 for single rolls but still doesn't work for rolls at advantage.

velvet lava
violet meadow
velvet lava
#

I do, what I had set up was that when they activated their channel divinity it creates an aura that should be adjusting temp Hp values for nearby Allie’s but it’s either not finding the Allie’s and caster to apply the affects to or the effects are failing to apply

#

The aura is set to apply to the caster and targets

#

Im new to this but what im trying to do is make it so whenever a player ends their turn in the aura and when the aura is cast their temp HP is set back to the features initial roll

violet meadow
velvet lava
#

Yes, i have it

violet meadow
#

Lastly do you happen to have Effect Macro module ?

velvet lava
#

No i have advanced macros

violet meadow
#

Get it and it will be easily doable 😉

#

testing now

velvet lava
#

awesome lemme go grab it, i appreciate the help. FTT is a big learning curve but i feel like im picking it up quickly!

#

Okay I've got effect macros added on. So am i going to add a macro for both triggering conditions thatll set temphealth to a specific value. How do express it so that it will save and use the first the player makes?

violet meadow
#

Combat turn end triggers it? What was it again? Twilight sanctuary?

velvet lava
#

Yes so on initial casting they roll applying it to all close players and then any player ending their turn in the aoe has their temp health reset to whatever was initially rolled

violet meadow
undone sorrel
velvet lava
violet meadow
#

Which would be the 1st roll?

velvet lava
#

the one the cleric rolls when their first activate the ability, after that they never roll again and whenever Temp health is set its back to that number

violet meadow
#

I thought they were rolling each time

#

But still you can do it if you want

#

I will be on my PC in a bit.

velvet lava
#

Awesome i really appreciate the help

violet meadow
velvet lava
#

Im glad im not the only one

violet meadow
covert mason
#

When you drink this potion, you regain 1d3 + 1 (uncommon), 1d4 + 3 (rare), 1d6 + 4 (very rare), or all (legendary) spent Hit Dice. When you drink the legendary variant of a rejuvenating draft, your age is reduced by 1d4 years (to a minimum 1 year old).
How would I implement this increase in hit dice as an ItemMacro?

short aurora
covert mason
dark canopy
#

short of an interactive dialog that validates chosen number of hit die and type to restore, this is firmly a "best to handle manually" type of situation

covert mason
# dark canopy short of an interactive dialog that validates chosen number of hit die and type ...

I did manage to make a series of mana potions using a dialogue option. Here's what I have for that. I'm wondering if I might be able to do something similar with hit dice.

const spells = foundry.utils.duplicate(actor.data.data.spells);
new Dialog({
  title: "Potion of Superior Mana",
  buttons: {
    level1: {
      label: "Regain three Level 1 slots",
      callback: async () => {
        spells.spell1.value = Math.min(spells.spell1.max, spells.spell1.value + 3);
        await actor.update({"data.spells": spells});
        ui.notifications.info("You regain three Level 1 spell slots");
      }
    },
    level2: {
      label: "Regain one Level 1 slot & one Level 2 slot",
      callback: async () => {
        spells.spell1.value = Math.min(spells.spell1.max, spells.spell1.value + 1);
        spells.spell2.value = Math.min(spells.spell2.max, spells.spell2.value + 1);
        await actor.update({"data.spells": spells});
        ui.notifications.info("You regain one Level 1 spell slot & one Level 2 spell slot");
      }
    },
    level3: {
      label: "Regain one Level 3 slot",
      callback: async () => {
        spells.spell3.value = Math.min(spells.spell3.max, spells.spell3.value + 1);
        await actor.update({"data.spells": spells});
        ui.notifications.info("You regain one Level 3 spell slot");
      }
    }
  }
}).render(true);```

```You regain 3 spell levels' worth of spell slots when you drink this potion.

If you consume more than one mana potion of any type before completing a long rest, for each potion after the first you take three levels of exhaustion ten minutes after consumption.```
dark canopy
#

similar complication

jagged cairn
#

Hey! How would you guys go about setting up a spell that has multiple options? i.e; Enhance ability?

covert mason
#

Damn

#

Ah well

undone sorrel
#

Are DamageOnlyWorkFlows working properly in v10? I can't seem to get it to display the damage on the chat card when using the ItemCardId = "new" option, even though the HTML is being properly generated and the damage is being properly applied

violet meadow
#

@velvet lava really barebones implementation with MidiQOL/DAE/Effect Macro/Active Auras.
It will roll once, save the roll and apply it at the end of each affected creature's combat turn.

It can/will be expanded to add a dialog in case there are the conditions present so as to prioritise their deletion.

#

It has plenty of forgotten console.logs to be deleted in a future version 😄

velvet lava
#

how would i apply this to the effect, and damn i would have never been able to figure this out

violet meadow
#

Its an item for you to import

#

Ready to go 😅

velvet lava
violet meadow
#

I tested quickly and it was working with the .19 version from Mr Primate

velvet lava
#

do you have to specify who is allies with who?

#

as long as they are set to friendly right?

violet meadow
#

Yeah that should be dine

#

Does any aura work for you?

velvet lava
#

I cant see them, im wondering if the whole module isnt working

violet meadow
#

Do you see the module enabled in foundry?

#

And which version does it show?

velvet lava
#

Ahh its v 9.242

#

I dont need Token Auras right just Active-Auras

violet meadow
#

There is a newer version but I haven't checked it yet.
It the same with .20 instead of .19

velvet lava
#

its still not updating for my other actor yet

#

and i dont see any visual aura if im supposed to

violet meadow
#

Only an icon on the affected tokens

velvet lava
#

ahh thats not showing up

violet meadow
#

Or quickly go into your AA settings and uncheck the Wall Blocks auras to be safe

velvet lava
#

i did that, no effect

#

i dont need to do anything on the other actor for them to accept the aura do i?

violet meadow
#

Νο nothing, as far as the modules work you should be OK

#

Are you in combat?!

velvet lava
#

yes, and ive been swapping between their turns

#

the tokens are also next to each other so range shouldn't be an issue

violet meadow
#

Are your modules updated??

#

And are there any errors in the console when the turn changes?

velvet lava
#

A: Duplicate Linked Tokens detected, defaulting to first token.

#

this might be the issue

narrow saddle
#

Hi folks,

I have created an effect for a Chuul's pincer so that it applies Grappled effect on the victim when they are hit with the pincer.
I am on v10 and I used macro.CE. In the effect there is no duration so the Grappled effect is not temporary, however the pincer itself only lasts one turn. Then it drops off taking the grappled effect with it.
There is NO duration set in the effect. The Pincer duration is instantaneous in details. Should this be set to special or permanent, maybe?

summer frost
#

Can anyone replicate this and explain what is happening??

This was all run in an environment with FVTT10.288, dnd2.0.3, and (only) midiqol 10.0.18, DAE 10.0.11, libWrapper 1.12.10, socketlib 1.0.12, and MidiSRD 10.0.1 (from thatlonelybugbear's fork).

Background: midiSRD's aid function doesn't handle tempHP correctly. So I set out to fix it. Expected it to be easy.
Built this function(and inserted it into MidiSRD-macros.js...and updated the Aid spell card to call MidiMacros.ook_Aid instead of MidiMacros.aid):

#
        const { actor, token, lArgs } = MidiMacros.targets(args)
        let buf = (parseInt(args[1]) - 1) * 5;

        if (args[0] === "on") {
            // NO IDEA why I need to first zero out hp.temp...but if I remove
            // this it doesn't work.  Every other (re)casting of the spell on
            // the same target ends up with the effect applied, but temp.hp 
            // showing as zero.
            //await actor.update({ "system.attributes.hp.temp": 0 });
            await actor.applyTempHP(buf);
        } else {
            await actor.update({ "system.attributes.hp.temp": null });
        }
    }

#

As shown above, every RE-casting on the same PC results in the Aid effect being placed on the actor...but every OTHER recasting shows the temp HP field on the character sheet as empty (and the HP bar on the token shows zero temp HP after those particular castings). In other words:
Casting #1A (PC has NO pre-existing Aid effect): Actor gets Aid Effect, sheet shows 5 temp hp, HP bar shows 5 temp HP
Casting #2A (recasting on same PC): Actor gets Aid Effect, sheet shows ZERO temp hp, HP bar shows ZERO temp HP
Casting #3A = like Casting #1A
Casting #4A = like Casting #2A, etc, etc.

If I uncomment (in the "on" section) the setting of hp.temp to zero, then everything works (although the use of the applyTempHP function doesn't detect attempts to downgrade the # of temp HP, since it always thinks it's starting from zero and therefore every casting looks like an upgrade from zero).
Casting #1B, works as expected: Actor gets Aid Effect, sheet shows 5 temp hp, HP bar shows 5 temp HP
Casting #2B thru n, same as casting #1B
Upcasting: As expected, sheet shows upcasted temp hp, HP bar shows upcasted temp hp
Downgrading: (UNEXPECTED) sheet shows downgraded temp hp (should keep the higher amt), HP bar shows downgraded temp hp

I originally bracketed the lines of the on/off sections with console.log statements to log when I entered and exited each session and it appears that the async nature of stuff means that (on a recast), in instead of seeing the expected sequence of "Entering OFF", "Exiting OFF", "Entering ON", "Exiting ON", I'm instead seeing "Entering OFF", "Entering ON", "Exiting OFF", "Exiting ON".

Totally confused.

jagged cairn
celest bluff
dark canopy
jagged cairn
molten solar
celest bluff
dark canopy
#

when, in effect, we just want to set the actor's THP to max(current, new)

molten solar
#

that is what that does tho

celest bluff
#

Typically it's label, changes, origin, duration, icon

dark canopy
jagged cairn
celest bluff
#

You're using an entry within the effect right?

#

It won't be connected, you'd be better off manually making it or hitting the drop down and adding it that way

#

As a separate Dae effect

jagged cairn
#

The macro is the following;
new Dialog({ title: "Mejorar Habilidad", buttons: { Button1: { label: "Resistencia del Oso", callback: () => { const targets = game.user.targets; const uuids = [...targets].map(t => t.actor.uuid); game.dfreds.effectInterface.toggleEffect('Resistencia del Oso', {uuids}); } }, Button2: { label: "Fuerza del Toro", callback: () => { } } } }).render(true);

celest bluff
#

Yeah that won't connect

jagged cairn
#

Do i have to connect trough macro?

#

it*

celest bluff
#

Yes, but timing will be your enemy

#

You'd be better off creating the active effect yourself

#

Rather than using dfreds to apply it

jagged cairn
#

Im afraid thats a outside of my understanding

molten solar
jagged cairn
#

Isnt there a way to get the DAE effect uuid and the item uuid and link them?

jagged cairn
molten solar
#

Console (F12)

jagged cairn
#

You mean this?

violet meadow
molten solar
#
game.actors.getName("name of an actor that has an effect").effects.find(i => i).toObject();
summer frost
molten solar
#

Yep

jagged cairn
#

So what do i do with this info?

molten solar
#

You mimic that structure, insert the stuff you want, and create it in the macro.

#

Here's a lowbrow example for creating an effect on the token you have selected:

token.actor.createEmbeddedDocuments("ActiveEffect", [{
  icon: "icons/magic/holy/yin-yang-balance-symbol.webp",
  label: "Steve",
  duration: { seconds: 60 }
}]);
celest bluff
#

The origin will be the original item

velvet lava
jagged cairn
violet meadow
celest bluff
#

You can also use flags.dae.deleteUuid set it to override and the value should be then uuid for concentrating

grave robin
#

Hi all, does anyone know the Formula to add to make MidiQoL trigger +1 for say undead only creatures?

acoustic jasper
#

+1 to hit or damage?

grave robin
#

or +1d4

#

damage*

acoustic jasper
#

damage? add it to "other formula" (check the box "roll other" at the end of the page)

#

and in Activation Condition use: ["undead"].includes(raceOrType)

grave robin
#

ah, legend thanks

#

Ill try it now

acoustic jasper
#

make sure

#

you have Activation Condition set in midi-qol settings

grave robin
acoustic jasper
#

don' tick also roll other

#

and don't write it in on use macros

#

it's higher "Activation Condition"

#

and - "undead"

#

["undead"]

#

like that

grave robin
acoustic jasper
#

yeah cause it's not a macro

#

Under Activation Cost

#

you have "Activation Condition"

#

put it there

grave robin
#

Huzzah!

acoustic jasper
#

you can check "Critical Other" if you want that damage to be critical (on critical hits)

grave robin
#

I'm an idiot

#

thanks for the patience

acoustic jasper
#

no problem 😉

grave robin
#

Thanks dude, its working now 🙂

acoustic jasper
#

have fun

grave robin
#

I assume I can replace "Undead" wtih any othe creature type?

#

to make more cool weapons?

acoustic jasper
#

yes - but start with small letter

#

"fiend"

grave robin
#

ah cool

acoustic jasper
#

you can add more then one ["undead","fiend"]

#

will work for both

grave robin
#

whoa

feral flame
#

I seem to be having an issue with MidiQOL that the toggle hotkey "T" does not bring up the original card in fast forward settings. I only seem to get the damage button not the attack, has anyone dealt with this before?

vast bane
#

I do not think the toggle key deals with the auto remove buttons. It toggles the roll options.

#

you only see the damage because you haven't rolled the damage yet.(because toggle turns off auto roll)

feral flame
#

So would the toggle key turn off the auto roll for the attack as well?

vast bane
feral flame
#

No, it still rolls the attack even if toggle is used.

vast bane
#

then your damage is not set to auto roll?

feral flame
#

Both are set to auto roll.

vast bane
#

While holding T with both autos set:

#

did you click the "attack" button in the card and just aren't understanding what auto roll does?

#

(mine says advantage cause its a barb hitting a paralyzed creature)

feral flame
#

Nope, I'm clicking the item itself in the character's inventory.

vast bane
#

turn off everything but midi and try it, if it persists, report the bug

feral flame
#

Sure thing 😄

vast bane
#

are you sure you have auto attack on for attacks? cause I can replicate your issue by toggle attck off

feral flame
vast bane
#

ready set roll, roll groups, quick rolls by default?

feral flame
#

I actually don't have any of those modules.

vast bane
feral flame
#

Yes it does.

violet meadow