#MidiQOL
1 messages · Page 45 of 1
then the only macro you need is a simple one liner that zhell probably has written 1000times
Yep, now its just a matter of either going warpgate route(more macros) or setting up a macro.createitem chain
FeatureA is the createitem key with an effect macro at end of turn using chris' above macro. The created item is the aoe damage feature and have its name be in the above macro.
make sure you put your createitem feature somewhere safe where it won't get messed with, like a compendium storage spot cause the ae will fail if you ever dleete the original
is there a scale to radiant consumption?
Half your level in damage
ok thats easy enough to do in the formula on the temp item
if you run into snags just snippet what you got and we'll correct your course
Just understand any items created with macro.createitem have to be protected/stored somewhere that you wont' delete them cause the original has to exist
I store them in a well foldered compendium myself
This is my scorching ray example, the trick is that you haev to literally drag the temp item onto the effect value
Is there a reason not to have the damage over time effect run the macro?
It's not something you'd want to be an overtime
performance as well as ridiculous overkill is probably my thought on it
its also not technically a damage over time
its a pulse
You'd have to either macro the heck out of the damage or rely on active auras, which I am a fan of, but I would not lean on it that badly
wow, I actually think you can pull off stuff like sneak attack and divine fury with this concept, lil messy but totally possible for the one-a-turns
Ehh
also not really necssary since midi already gives us it
Sneak attack is far better off being done with an actor on use macro
So its' part of the workflow and you get correct concentration checks
I'm more thinking of the generic monster version than a rogues, for sure players need the special treatments
Why not just edit the one line in sneak attack to use the CR level
Just drop the dfreds on the rogue monster and suddenly they can sneak once per turn
isn't it more than one line, doesn't it throw the macro if you don't remove the check for rogue?
nah, it's literally one line that checks for rogue levels
I thought I saw an if in there
const rogueLevels = actor.getRollData().classes.rogue?.levels;
Just swap everything after the = to the amount of rogue levels you want the creature to have.
Hello,
How do I change the value of sorcery points using midiqol?
is it a resource or a feature?
festure
with dae/midi you can actually utilize a resource if you so chose
Do an item.update on the feature
If this is for in a macro
are you trying to use a feature for the sorcery feat that adds 2?
I'd personally just directly edit the sheet
I think that would suffer from the same issue as editing hp with ae's
@uncut rampart What version of Aasimar is this for? The old one or new one?
Actually I think if you just edit the max field, it should work, just have it be the features charges+2
tnks
since its permenant I'd just directly edit, all the fancy stuff would be just to perform fance stuffy, soemtimes its just as simple as editing a field once
unless your sorcery points are a scale value, then add a +2 after it
I do that for my barbs rage cause I gave them a feature that lets them have 1 more per day
Volo's guide to monsters
@scale.barbarian.rages+1 this is what I put in the max field of my barb who got a feature giving 1 more charge. @plain bane
this is how i usually use it
tnks for help
because you have dae/midi you could also make it a resource pool if the player wished for it, cause DAE can modify the pool with scale values, nifty trick I learned recently
I'm learning to use it, there are a lot of things that I don't know what they are for yet, and even reading the documents I'm still very confused
Give it time you'll catch on.
let damageTargets = MidiQOL.findNearby(null, token, 10);
damageTargets.push(token);
let damageValue = actor.system.details.level / 2;
let damageType = 'radiant';
await MidiQOL.applyTokenDamage(
[
{
damage: damageValue,
type: damageType
}
],
damageValue,
new Set(damageTargets),
null,
null
);
Effect Macros Turn End
No need for fancy items or whatever
@uncut rampart
Thank you!
I think it includes the aasimar if its the volo version
That's what line 2 is for.
findNearby doesn't include yourself so I just manually add it to the array
oh and I take it effect macro predefines token?
I'm startin to learn, feels fun
If you wanted to get really fancy
the origin is also included
So if you have an effect with a orgin set to it's item
(such as when midi applies effects)
You can grab spell dcs and stuff that way
Ok, so a major question I've been having with MidiQOL is... how the heck do reactions work?
reaction prompts have to be turned on for players and dm's. I suggest dropping the timeout to 10seconds cause players online are always afk. Also the promptonly happens if they are the target, and the reactions are setup with 3 types. Reaction Manual, Reaction, and Reaction Damaged
put reaction manual for the stuff like feather fall that will never happen in combat with midi
or put all of a constantly afk players reactions on manual if you are fed up with waiting lol
does anybody know a way to track days for the uses on a feature (like, you can use this feature once every 7 days)?
Could just set it to charges
I'm sure there's a way to use the simple calendar API if you wanted to complicate it more
in dotmm the portals recharge after X days, I actually track this on simple calendar
if its a feature on an actor, just have it cost the same amount of charges as the days to recover and have it recovery 1 charge per day
Oh that's not a bad idea
Thats my one for the week
but this way the feature can still be used, I mean it's practical tho
Mhm you gave me an idea thanks a lot
yea
it will say not enough charges
That should solve it
Ah it does?
Yep, drop a spell slot down to 0 and try to cast
Never used charges ahah
it should only be successful if you uncheck the resource consumption
and I don't think theres a solution for that at all, nor should there, I dunno about you guys but I do that all the time with monsters without slots
So if I go to Limited Uses and put 0 of 7 per charge and recharge 1 per day, it won't work until it hits 7?
Where do I set the cost?
Resource consumption hmmm
it'd have to be 2 items?
cause there is no cost in charges right, its just 1
you'd have to make Item A just be the resource. Then Item B have a consumption cost of 7 of Item A's charges
I think I can save myself by using a macro to check if the uses.value is at 7 then use the thing
How do I set up the thing to recharge only 1 per long rest or day?
I think I'm gonna use this strategy for divine intervention
I have a module that let's me just set the cost to be higher than 1
I want to say is this one: https://github.com/ElfFriend-DnD/foundryvtt-link-item-resource-5e
I'm making a module so less module dependent I am the better
Ah
surely useful tho
true but in my defence without midi this thing wouldn't be possible ahah
Ok so I know there is a way to enforce advantage and disadvantage but it there a way to enforce a second roll that must then be taken regardless if its higher or lower?
I don't understand. From the logs it seems to be executing the dialogue and chat messages, but It's just not spawning anything.
I can't pinpoint why it's not doing it.
Is it perhaps possible to dynamically add a saving throw and an effect transfer to a workflow within one of its hooks, eg the pre attack hook?
The MidiQOL hooks can be awaited, so for the most part you could.
Now the issue is what you want the saving throw to do
I don't suppose anyone here has a good javelin of lightning automation?
Having a template and an attack seems pretty messy.
I would just make a 2nd item tbh
My dirty solution is to just warpgate the item after being used
Having the 2nd usage have you pick the targets
freezes ice knife comes to mind
I do want to come up with a proper one click solution
Synthetic item in the item macro that fires in tandem with the attack rol
I need to take a look for mine. Actually search for it.
Starting tomorrow I am off work and will start working on different stuff 😅
I might even tidy up my git
I've started making my own
I have this macro (which does its job) but in one case I need to apply an effect to 'self' while also pushing the enemy away, which won't work using the normal targetting options. So I assume the best/only way is to remain targetting an enemy and add a line to the macro to cast a DFConditionalEffect onto self?
Bit confused what's going on here. You still want to push them, but also have a self effect?
The feature (in this specific case) does two things, as a reaction to getting attacked by a creature.
- The players gains resistance to that attack
- The enemy is pushed 10feet
You can check a box in the effect to target self instead of target
help plz
I can't make this macro work, I already followed your guidance, I have all the modules you ask for but it doesn't work?
or your configuration does not cause it to give a darkness effect and it just creates the option of attaching darkness to the token, I thought it would create an area where any token that entered it would gain a darkness effect, but I think it was not Is this the intention or am I not knowing how to configure it
First up, are you using my most recent version of Darkness.
ahhhhh so there is! Thankyou
Also, I recently reworked a pushback macro for Moto that doesn't use vision to check if there is a wall in the way
Ok cool. Next up, did you put the world macro in the worldscripter compendium
Then reload your page?
Does it work for pull too? This one was done for me by bugbear, and I can use it to push or pull by custom amounts (so I use the same macro for a bunch of different spells)
Not sure lol, but it looks very close to what you have there
yes
Did you add the item macro to your darkness spell?
And remove any other automations that may have previously been there?
There won't be any effect icons on anyone in the darkness btw. It modifies the workflow in hooks without using any effects.
yes, I used the one from sdr
Ok so
Next up is to test it I guess
keep in mind that it follows raw rules
So unless you have a creature with devil's sight or something
targets inside of it should be regular roles, not advantage or disadvantage
You can tell the macro is working right if you see a console message saying "Source see target:" and "Target see source"
After making an attack
so i must be doing something wrong. because the token inside the area makes a normal attack and the one outside also makes a normal attack as if they were seeing each other
no
The source gains advantage from being unseen, but then also gets disadvantage from not being able to see the target.
So that's a correct roll
If the console is showing my message about seeing each other, it's working as intended
I understood
you use the fact that both can't see each other to apply the advantage and disadvantage, I only used this mechanic when both are inside the area, I got confused thanks
Yea, it's a confusing 5e mechanic
The darkness spell automation was made for my need to handle players and monsters with Devil's sight.
so in theory if someone has devilsight or a magic item to see in magical darkness he will benefit
its honestly probably not worth automating unless you got a warlock lol
dm npcs can be dealt with by the dm
slap a darkness animation down and call it a day
Pretty much
I have AA replace the template with an animated darkness thing
And for parties without devil's sight, that's all you'll likely ever need
this flags.world.feature.devilsight I use in the midi, but I don't find it there
do you infact have a warlock player?
It won't autofill
dae's auto complete only works for flags that the authors have registered with tposney I believe so random made up flags won't auto complete
Is there a formula that's capable to utilizing the scaling number of rages as per the rage table?
Just create a scale value and put it in the max field
@classes.barbarian.levels?
no
You need to make a scale value for the rage specifically
So in the max field I will put @scale.shadowassassin.sneak_attack in this example
Can you show the rage advancement tab for me?
I'm not quite sure where to find that. Is this a new thing to v10?
Ah, there's no rage advancement there. That must be why. 😂
Click the + > Scale Value > and change things there accordingly
Then in the bottom of Identifier use that @ name exactly
Cause prior to 1.6 you'd basically have to use this (putting for reference but don't use it cause you won't learn anything)
@classes.barbarian.levels > 19 ? 99 : @classes.barbarian.levels > 16 ? 6 : @classes.barbarian.levels > 11 ? 5 : @classes.barbarian.levels > 5 ? 4 : @classes.barbarian.levels > 2 ? 3 : 2```
Also, this is all #dnd5e and not midi
But then they're not learning!
think they were the ones with the psionics scale yesterday so they know that stuff
How would I go about automating this if at all?
Active Aura with an effect macro tied to it possibly
nah you don't automate that
you automate the other feature
the aura is always there, its how you frighten them that needs to be adjusted
so the channel divinity and if the pally gets any fear spells or if the DM is favorable and allows for intimidation to cause frightened
just simply modify that paladins frighted stuff to check for distance and restrain or reduce movement to 0
And deal psychic damage
I see
These examples have been awesome, and I've gotten a lot of use out of them. Just one question, if I wanted the item to trigger on effect creation, is this how I'd format this code in the "On Effect Creation" macro?
const itemData = game.items.getName("Burst of Radiance").toObject();
return effect.setFlag("effectmacro", "itemData", itemData);
const itemData = effect.getFlag("effectmacro", "itemData");
return new Item.implementation(itemData, {parent: actor}).use({}, {flags: {dnd5e: {itemData}}});```
Two macros
Ah, without storing for later?
Just one immediate use and nothing else?
Aye, pretty much.
Oh, and also adding an item called "Fiery Fists"
There was that previous one used for the Astral Fists
const objects = ["Fiery Fists","Primordial Eruption"].map(n => {
const obj = game.items.getName(n);
return obj.toObject();
});
const created = await actor.createEmbeddedDocuments("Item", objects);
await effect.setFlag("world", "createdIds", created.map(i => i.id));
ui.notifications.info("Fiery Fists added to your inventory");
await created.find(c => c.name === "Primordial Eruption").roll();```
But that also adds the Primordial Eruption, and the example you posted of the one that uses it directly from the directory is much neater and adds less clutter to the inventory, which is great
const item = game.items.getName("Burst of Radiance");
const data = game.items.fromCompendium(item);
const fake = new Item.implementation(data, {parent: actor});
return fake.use({}, {"flags.dnd5e.itemData": data});
Using an ephemeral item probably won't get more correct than this
Well I suppose you could store the real item in a compendium and get it by uuid... that's the only thing that'd be more correct to do...
And so if I wanted to also add some fiery fists, I'd go-
const objects = ["Fiery Fists"].map(n => {
const obj = game.items.getName(n);
return obj.toObject();
});
const created = await actor.createEmbeddedDocuments("Item", objects);
await effect.setFlag("world", "createdIds", created.map(i => i.id));
const item = game.items.getName("Priordial Eruption");
const data = game.items.fromCompendium(item);
const fake = new Item.implementation(data, {parent: actor});
return fake.use({}, {"flags.dnd5e.itemData": data});
ui.notifications.info("Fiery Fists added to your inventory");```
And when the effect wears off, take away the Fiery Fists:
```js
const deleteIds = effect.getFlag("world", "createdIds").filter(i => {
return !!actor.items.get(i);
});
await actor.deleteEmbeddedDocuments("Item", deleteIds);
ui.notifications.info("Fiery Fists removed from your inventory");```
Are you trying to make an item show up for a short time in an inventory?
Or feature list
The 'Burst of Radiance' will never show up 🙂
Trying to make an active effect that spawns an item called 'fiery fists' in the inventory, while activating an explosion feature in the item directory.
BOOM, transformation. You now have fire fists!
macro.createItem from DAE
Can that also remove items after the effect is over?
Yep, it handles all of that
Oh sweet!

Same end result, yeah
We're in #1010273821401555087, so there's no point reinventing the wheel
Here's my overly complicated Javelin of Lightning macro. Requires: Midi, Template Macros, Warpgate, and Effect Macros.
https://github.com/chrisk123999/foundry-macros/blob/main/Items/Javelin of Lightning/Chris-JavelinOfLightning.js
Template macros was only used because of it's API for tokens in a template lol
Has anyone built a Holy Symbol of Ravenkind (from Curse of Strahd) which utilizes DAE/Midi-QOL/etc?
That should be pretty doable with the Magic Items module.
Just make each function it's own feature on it that uses charges.
I'm looking at Magic Items, I just installed it and am starting to use it. It looks like a really easy way to make an Item which casts Spells and gives you access to Feats. However, the abilities of the amulet are all a little tweaked:
- instead of "Hold Monster" it can only "Hold Vampires"
- instead of giving you Turn Undead, it grants Disadvantage to monsters saving from your existing Turn Undead action
- the last one looks like a fairly straightforward "Daylight" spell, but it might have a different range, duration, and other specific parameters.
You can make a custom version of hold monster and rename it to Hold Vampires. As for the disadvantage on turn undead, you'd likely need a macro for that if you want it to be fully automated.
Automated cover module/settings recommendations that work well with midi?
Only just started playing with simbul's cover calculator and running into some hiccups
terrain walls the players can see past are being treated as full cover (don't know if there's an option to control this)- manual mode clears a cover setting after each attack
- auto mode re-calcs and undoes any manual adjustments before each attack
Terrain walls are supposed to be full cover.
They're just so you can see the background art beyond the wall
ah, i see the module adds the cover properties inside a wall's options. that I was unaware of
Does this go into a itemmacro or world/gm macro?
It's an item macro, I don't have it set like that in the screenshot because I don't like to embed my macros into my items.
Just noticed I didn't set the DC in the bolt part, let me fix that
https://github.com/chrisk123999/foundry-macros/blob/main/Items/Javelin of Lightning/Chris-JavelinOfLightning.js
Updated
Just turn it off and let midi add the appropriate AC modifier when you roll the attacks. Make sure Simbul’s is selected in midi, then all it’s doing is the sight line stuff, midi is doing the bonuses
You can press R to check cover for a hovered enemy before you roll the attack
Ok that's a good start. I want the saving throw to roll an item if failed, the item needs to be decided dynamically
Wonder what I'm doing wrong... I set it up on Bardic Inspiration per your screen shot above, but this is what I'm getting x3 when I make an attack, and a bunch more after the roll
Do I need to do something on the Details tab?
Sounds doable. If you want, share what you have or what the description of the item is, so that we can better understand what needs to happen
There's a item property for that.
Should be possible. Instead of/as well as no full cover>
In fact changing rounds to seconds is supposed to happen already. If you have a sample item that does not do it, dm it to me so I can play
dfreds does not pass the metadata that midi provides, so it is not accessible within the effect. If you want to access things like spell level you'll have to use an active effect, not a CE.
Could be a case of me messing up the macro. Is that the full error?
Caught me just as I'm heading for bed... hope this helps:
(That's just part of one activation)
Was hoping it would give a line number lol
Found the error
I forgot a comma
My personal copy of it I don't have the embedded helper functions because I use a worldscript to handle it.
commas eh
So the ones I share, I've started adding them as their own function at the top to make it easier to share.
You need a scale set
for how large the bardic inspiration dice is
actually hold on
I may have flubbed that check
oh don't bards get that automatically?
ah
This is what I get for testing by using the inspiration on the bard lol
only very specific bards inspire themselves lol
very selfish bards
I'll catch up on this tomorrow, thanks Chris
OK so I went back and retested some more.
When the remaining duration in combat is less than 1 Round, eg 3 Turns and you End Combat, then and only then the Duration changes to None.
I would say that this has no impact in game, I was just confused as to when it was happening and I incorrectly associated it to concentration spell vs non concentration spell.
The issue that remains though and I might need to retest changing some settings, is:
- If you cast a spell with a Duration in combat and you end that combat, the Templates or Effects associated with the spell will not be deleted when the duration expires in "real" time.
I'm working it out in my mind atm, I will be able to do some coding after the holidays though
sidenote, look at Roll#alter -- i see you are manipulating the protected Roll members ( _ ) directly -- check out some of Roll's methods for manipulation
Grabbing the original roll formula and adding more to the end while also trying to keep the original roll.
Accessing roll.formula was getting a formula with all of the damage flavors next to every number
I'm trying to automate my artillerist artificer's 'explosive cannon' feature. Each of their cannons have an explosion ability on them.
As an action, you can command the cannon to detonate if you are within 60 feet of it. Doing so destroys the cannon and forces each creature within 20 feet of it to make a Dexterity saving throw against your spell save DC, taking 3d8 force damage on a failed save or half as much damage on a successful one.```
Is there a way I can make the "Explosive Cannon" ability trigger that feature on the cannons, simply by targeting them and using it?
yea, messing with rolls after construction is a bit fiddly -- been doing similar lately on my side and just pointing out some potentially useful methods that are a bit hidden
Just have it as a feature on the cannon?
You can just have the cannon have the feature, you will still need to delete the cannon yourself
have the feature dismiss its owner token 🧠
Aye, fair enough. I was thinking more of a QoL thing, but that works too 🔼
I'll take a look at at least. If there's a proper way to modify the roll I should be doing it that way
Doing another roll then pushing all but the first terms onto the original roll does work at least.
Speaking of Eldritch Cannons, here's what I have so far in terms of trying to summon one. I repurposed the Spiritual Badger example from Warpgate, and took a look at an earlier example: #macro-polo message
It's telling me that cannon has already been declared, but the only place I see it being declared is:
const cannon = await warpgate.buttonDialog(buttonData);```
Am I missing something here?
You do probably by mistake here ```js
let updates = {
token: {"displayName": CONST.TOKEN_DISPLAY_MODES.HOVER},
actor: {
'system.attributes.ac.flat' : 18,
'system.attributes.hp' : {value:summonerLvl5, max: summonerLvl5},
},
embedded: {
Item: {
"Force Ballista": {
'system.attackBonus': - @mod - @prof + ${summonerAttack},
},
"Flamethrower": {
'system.DC': ${summonerDc}
},
"Protector": {
'system.damage.parts': 1d8 + ${summonerInt}
}
}
}
}, cannon);
`let updates, cannon` essentially and the `)` is also wrong
Try using an external IDE, which will make your life much easier. Like VSCode
It indicated the mistake at once 😛
So it should be
let updates = {
token: {"displayName": CONST.TOKEN_DISPLAY_MODES.HOVER},
actor: {
'system.attributes.ac.flat' : 18,
'system.attributes.hp' : {value:summonerLvl*5, max: summonerLvl*5},
},
embedded: {
Item: {
"Force Ballista": {
'system.attackBonus': `- @mod - @prof + ${summonerAttack}`,
},
"Flamethrower": {
'system.DC': `${summonerDc}`
},
"Protector": {
'system.damage.parts': `1d8 + ${summonerInt}`
}
}
}
};```
?
Just delete the , cannon as you declare it elsewhere
Looks like it's now trying to read the modifier of something
yeah change the const summonerInt = actor.system.attributes.int.mod;
to
const summonerInt = actor.system.abilities.int.mod;
Oh, looks like I missed that 😅
If you click on that error stack on the link, it would open up the Sources in console, showing the actual error
Whenever you see VMxxx:y it indicates a user macro and the :y is the line
Might be levels, not level
Nope it highlights the error too. Its trying to read artificer in actor.system.classes and it doesn't find it
Hmm, but there is a class item on the actor
There is, but its not there 😄
Use actor.getRollData().classes.artificer instead
Always log in console what you are trying to find out
Select the token and type in console _token.actor.system
Then the same with _token.actor.getRollData()
So it looks like it's actor.system.details.level, though I'm seeing originalClass with an id there. Bunch-a numbers.
The classes cannot be found in system
Check in actor.classes
Best go through the RollData
Oh, there it is 😅
Okay, so actor.getRollData().classes.artificer worked! It summoned a cannon! Only trouble now is they're spawning with 0/0 health
Just give some HP on the sidebar actor
Hmm, and they don't appear to be having thheir other abilities deleted depending on which cannon is spawned.
Ah, let me unlink it. That might help.
Nope, that didn't work
Yeah I am not sure right now about the correct syntax. Maybe quickly ask in #macro-polo.
I am trying to resolve some issues with connectivity to my Foundry server @:&#^*&R^%^#%& 😩
Aye, no worries
Evening all. just wondered if i could pick some brains im running the latest V10. I have full auto selected in Midi qol but damage is not being delivered by template spells. are there any reasons that anyone can think of why not?
Have you tested with just the basic set of modules required for midi?
i have not but can easily try that ill give it a go
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
ANything with "Fast Rolls" in its name
Dice Tooltips
Gm Paranoia
WIRE
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
This almost needs to be a pinned post
I got it on copy paste
Someone give Moto a badge for midi community helper
Didn't we used to have a picture for that? Or is it too out of date now?
@scarlet gale I’ll test your Inspiration later today. Does what HB was saying have any bearing? I’ll be testing with Emboldening Bond and Sneak Attack 👀
Ehh, it won't break anything.
I just missed a function I could have used instead of doing it my own way.
Magical Inspiration only applies to spells, so it shouldn't prompt for an attack that has sneak attack.
Unless you somehow have sneak attack on a spell attack roll.
Not enough Ghostbusters
I just meant in the context of regular bardic inspiration since it still covers that
oh true
I'm attempting to automatically advance an artificer's magic item attunement slots via DAE, but I can't seem to figure out the attributes to do so. Am I doing something wrong here?
Is't that tidy's thing, doesn't the sheet not track attunement?
Yea, pretty sure that's just tidy
Oh. Welp
I'm sure it's a flag or something
tidy probably just isn't reading the official key
The core sheet does not show it, but it does exist.
It's highly likely you simply can't use scale values there, even with DAE.
if it changes the value, then it probably would change the artificer stuff, its probably just tidy thats having the stroke
I'd check the value in the rolldata or whatever in the console, instead of judging it by tidy's frontpage
Try this
system.attributes.attunement.max | Override | @classes.artificer.levels > 17 ? 6 : @classes.artificer.levels > 13 ? 5 : @classes.artificer.levels > 9 ? 4 : 3
Thanks for the aid, but it seems it's a tidysheet issue. The scaling works fine as is. It's just Tidysheet doesn't have a flag for altering attunement slots 😅
It worked for me on v9
I'll show
Tidy's kinda lagging behind in v10 I think
Wait really?
I mean nothing restricts you going over. But using the scale value just shows 0
Ah, i stand corrected. *"We don't know what Tidyshee's attunement flag is"
Normal
can't you get it by inspecting the web element?
New
or using rippers module that detects that stuff
You can check flags in console
@covert mason Is this not what you want?
It's literally just the flags object
It is, aye
Then use what I messaged here
Testing it out now
This is basically scale values before 1.6
np
I wonder what throws it off
Some fields just don't take scale values
When I come across those I just go back to that method above
Last I checked, Tidy made new fields in the system data.
@covert mason @spice kraken You guys overcomplicate everything
It's literally this easy
Yeah, but that doesn't scale on level up
I based the values from their picture here
New feature at level 14 = new AE
you could also make it not upgrade, but add "+1"
I like super's way though
one ae, just a lil long
Yeah I did have it as +1 at first. The AE name is "+1 attunement"
Also looking at the advancement set up on the class, that is incredibly high effort.
I just pasted the class progression stuff into the details tab, don't see much benefit to having it all mapped into advancement except the major features
Certainly is comprehensive
I went and plopped this in the worldscripter folder, restarted the server, put the spell on an NPC, went into combat, cast it, and there appears to be no temp HP applied, nor any retaliatory damage when struck.
Am I doing something wrong?
is it a script or chat macro
It's a script
There is a bit more setup to that one.
@covert mason
The code in that one is also a bit out of date. You'll probably want to use this one:
https://github.com/chrisk123999/foundry-macros/blob/main/Spells/Armor Of Agathys/Chris-ArmorOfAgathysWorld.js
Also, if you're using the worldscripter module you only need to refresh your page. You don't need to restart the server when adding a new macro to it's compendium.
This seems great, thanks Chris! All working well now
My only slight niggle is the header on the extra dice card:
Is that something that can be fixed easily?
nvm that only happens if the GM is doing the rolling
Oh that's weird. It doesn't do that for me when I roll as gm.
I may have one or three chat mods getting in the way
Is there perhaps a way so that, when an effect expires, it causes/triggers another effect?
I want to make it so that when an effect expires it causes a level of exhaustion (so in this case it would be a dfCE)
Just thought I'd ask
Probably easiest way would be using Effect Macro, you can set that to run on effect expiry. If you drag a CE to your hotbar you’ll create a macro for how to apply it
Interesting. I'll keep it in mind thanks
There seems to be a bug in times-up and concentration expiry. Fix in the next release.
Is there a way to modify (in any way whatsoever) with a macro a dice roll coming from a preItemRoll macro?
Because I have a feature that rolls an additional damage die when you roll max value from the damage die, problem is that that includes damage bonuses too, and I have a macro (preItemRoll) that adds a die to some damage rolls, but idk how to make it work with it.
You can run postDamageRoll and use setDamageRoll to do that most likely.
I've recently started using Midi to try and help automate things at my table; but I'm not seeing a way to set barbarian rage to give the bonus damage and resistances for it's duration. I just get an error about "Managing active effects within owned objects is not possible in this update"
Would anybody be able to help?
What version of Foundry are you on?
Most recent
put the item in the sidebar and edit from there
the warning says that you cannot edit AEs on owned items -- owned items are items held by an actor
idk if args[0] or lastArg would have data from the additional dice coming from the first damage bonus (the one from the preItemRoll)
I'll test it, thank you
Thank you, I'll give that a try when I get a moment.
this.damageRoll._formula will have the complete damage formula including any thing added onto it.
where "this" would be something specific or I have to write literally "this.stuff"
It's the same as doing args[0].workflow.damageRoll._formula
okay ty so much
I've set that up as an ItemMacro, is that correct?
https://github.com/MrPrimate/ddb-importer/blob/main/macros/spells/iceKnife.js
is there any other setup I need? 'Cause it doesn't seem to be doing much when I cast the spell
Integrate your dndbeyond.com content into Foundry virtual tabletop - ddb-importer/iceKnife.js at main · MrPrimate/ddb-importer
IIRC that spell has been acting up on recent versions of Midi, let me double check my setup.
Actually, seems to be working for me.
Let me screenshot how it's setup
It's an itemMacro run after active effects
Doesn't appear to be hitting any other targets 😦
Could you do an item export?
Does your console have any errors?
That would be why it's not working
I wouldn't know how to troubleshoot that, you're best looking for help on the DDB importer Discord.
how the hell do u automate savage attacker? .3.
How do I use setDamageRoll?
ok i gave it my best shot but i'm not sure how to make it actually call the macro. i have an effect on the armor with flags.dae.onUpdateTarget | CUSTOM | Checking Health,testMacro, data.attributes.hp.value,,. (i'm not sure if i need anything for those last two fields. the documentation seems to imply it's optional, but i get an error when i don't include at least the commas). is there a certain place the macro needs to be? i've tried making it an item macro as well
Do a roll and pass it to that function.
If you need an example: https://github.com/chrisk123999/foundry-macros/blob/main/Spells/Hex/Chris-HexAttack.js
thanks but sadly it seems that the args[0].workflow.bonusDamageRoll haven't happen yet
When I run the macro
I've made a mistake, I thought the the macro I want to reroll the die from was a preItemRoll but its DamageBonusMacro, so idk if it is possible, any tips?
Okay maybe I found a way but setDamageRoll doesn't work because the damage roll already happened, is there a way to return a damage bonus without using DamageBonusMacro?
Right now I'm using flags.midi-qol.onUseMacroName with postActiveEffects
You would want it to run on postDamageRoll
My example from above applies 1d6 extra damage without using a damage bonus macro.
But apparently even with postDamageRoll, args[0].workflow.bonusDamageRoll isn't evaluated yet
Mhm I can test it again maybe I missed something
What does that imply? Sorry but I am a bit new to this scene
Try damageBonus instead of postDamageRoll
I don't know if it'll actually work
You probably will need to update whatever is doing a bonus damage to just instead add it to the formula
Okay I'll try it thanks
Like you showed me with setDamageRoll? If so how it changes things? Won't it be the same thing but in reverse?
If you have something else applying a bonus damage roll and want to include that in your check you may just want to rework the bonus damage to just be part of the regular damage roll via setDamageRoll
Mhm yeah true
Heads up, IIRC the DamageBonus step is with a capital D, unlike all the other steps 🙃
If you ve set it up as a Transfer to actor on Item equip, it might be failing.
Try to make it so that you roll once the item to get it going. If you want, send me over the item and I ll take a look when I can 😉
Whistler’s latest… I’m guessing these won’t work with midi?
https://foundryvtt.com/packages/logic-rolls
Logic Rolls, a Module for Foundry Virtual Tabletop
It might
The module is tiny lol
Logic is 🤌
Looks like it's just adding functions to Math.
Oh I just wanna try them now
anyone have a suggestion on how to automate this? A [Creature X] has a caustic blood like fluid that flows beneath its carapace. A creature that deals bludgeoning, piercing, or slashing damage to the [creature] while standing within 5 feet of it must make a DC 15 Dexterity saving throw, taking 14 (4d6) acid damage on a failed saving throw, or half as much acid damage on a successful one. Additionally any creature that failed its save takes half as much damage on the following round.
AA to apply an effect with an on use macro
I have a couple of reactive damage macros around
I kinda do something like that here
You'll need to do some extra stuff for the turn after damage, but that's not too crazy
ah, yes! I remember the reactyive fire damage now.
And an OT for after
Do report back if you try it, I suspect that it will work, but I'm not sure what the use cases for it is in a MIDI environment
For the first time ever I decided to try a ctrl/alt key for my setup and am just now realizing...that they don't work when you aren't fast forwarding? That seems weird yeah?
so midi takes away the core advantage/disadvantage keys?
@covert mason I'll go screenshot it for ya
Oop-..
Yeah, this is probably more of a MidiQoL thing
what needs to be automated with witchbolt?
Integrate your dndbeyond.com content into Foundry virtual tabletop - ddb-importer/witchBolt.js at main · MrPrimate/ddb-importer
lets try not to split convos between here and #macro-polo
Oh, just this.
(or clearly indicate when the thread has relocated)
I moved it over here cause it was midi related
witch bolt is a direct damage spell with a very minor overtime damage effect, is the macro for the really sexy lightning lure effect?
Cause thats on my wishlist, but its pretty far down!
ASE had a pretty cool automation for it
I actually haven't ever used the DDB version of the macro for it
Badger has a non midi version of it that looks really cool in the wiki but I could never figure out the midifiication of it
the damage doesn't scale in the OT effect so whats the macro doing?
I bet a bunch of the ASE spells can be updated to work without ASE.
It shouldn't scale
Upcasting only changes the initial cast
Not any over the damage after
No fancy effect for this, but it does at least look like it's checking if they stay in range and isn't beyond full cover
it also prompts each turn to continue the effect
which one? I dont recall a witch bolt implementation 🤔
ooooh good point forgot about the range
the thornwhip/lightning lure effect actually behaves like witchbolt imo instead of those two cantrips
ah, the tether portion
afaik they are instant effects and don't persist but the macro seemed to keep the two tokens tethered and I loved that effect
it shouldnt have 😅
it was a tether, then reposition, then check distance and end animation with a boom
could have been a byproduct of my fiddling with midi with it
at any rate, its a good one, so im happy to answer questions about it
with witchbolt and that tether effect and the jb2a lightning rays, that could make for a very cool looking macro
that's exactly what I've been trying to do this past week xD
https://github.com/Vauryx/advancedspelleffects/blob/master/scripts/spells/witchBolt.js
It would take some work, but you could strip the ASE imports
ASE was the one module that prevented me from moving over to v10, but in the end I just took the plunge.
And swap some .data to .system
The only ASE spell I ever got working for me in v10 was Chaos Bolt, and that's because I found the original non ASE version of the macro and was able to manually update that.
I was really happy when I made my Chaos Bolt one! 😁
The one from Wasp (that got added to ASE) was super nice. It handles all the bounces and animations.
@scarlet gale I really like how your Magical Inspiration lets you see the DSN attack roll before asking if you want to add the inspiration bonus. Makes me wonder if the same could work for the skill/save/ability rolls… or just wait and hope tposney fixes how optional bonuses work 🤔
Only if workflows trigger for checks
(they don't)
If it's showing the DSN first, that's purely accidental lol
It’s great, not seeing a roll is so jarring
Pretty sure, hang on
That would be pretty surprising, unless DSN is hooking all rolls made
Nah it doesn’t… 😔
We do get extra DSN dice on bonus damage like sneak attack
With the regular midi optional bonuses you miss the d20 base roll, but you see the bonus dice (eg the d6 for regular bardic inspiration)
game.dice3d.showForRoll(rollObject)
That should do it
Might have to pass another argument to make it synchronized
I don't think you'd want this one to be?
Since it's getting roll after the fact?
Does that function need to be awaited?
@coarse mesa Try this.
waaheeeyy it works! and looks cool if you're fast enough, the d6 clacks down with the d20/s
nice work, thanks
Do the rolls for magical inspiration show up?
That one has a chat card so it might get autodetected
I really hope Tim can get it going for optional bonuses, that would fix the rest of Bardic Inspiration and also Emboldening Bond... which is like half of our d20 rolls now
What's not working with it?
Because multiple optional bonuses work fine for me
It should have a button for each optional bonus when multiple are detected
Assuming you made sure to change NAME to something else for each one.
Emboldening Bond is like bless but you only get it on one roll a round at your option... so it's an optional bonus roll.... so you don't get to see the base d20 roll, the dialog just pops straight up with the result
it works, you just don't see the first roll.... your MI gives me hope that it's possible though
yeah that's what you see, but no d20 DSN roll, right
It wouldn't be too hard to make emboldening bond work like how my magical inspiration does.
when you get used to DSN and everyone on the table is watching, it feels broken to just have that pop up
from the rest of the table's perspective it looks like you're rolling a d4 for an attack haha
Interesting
I think that's because the chat message just does the old total plus the bonus
especially when you normally have extra FX on natural 20s or 1s with DSN
While my macro I'm editing the dice roll to keep the old roll data plus the new stuff
DSN just sees the flat total with no dice
I've raised an issue on the midi git, hopefully Tim will find a way to fix it for all optional rolls, rather than rework everything else to work around it
(he's aware of it too)
Yea, ideally optional bonus rolls should be formatted better
How do I spawn this Floating Disk from a compendium?
const spawnedCreature = await warpgate.spawn("Floating Disk", { token: { alpha: 0 }});
new Sequence()
.effect()
.file("jb2a.template_circle.out_pulse.02.burst.purplepink")
.atLocation(spawnedCreature[0])
.wait(300)
.animation()
.on(spawnedCreature[0])
.opacity(1.0)
.sound()
.file("/Sounds/Combat/Arcane_Thrum.ogg")
.startTime(200)
.fadeInAudio(500)
.fadeOutAudio(500)
.play()```
Is that the full macro?
It is 😅
I think you need an actor named Floating Disk
I do have one, yes, but i'm wonderingg how to spawn it from a compendium instead of my item's directory.
If that's at all possible
You'd have to use the token data instead of the actor name
Was there an example of that in warpgate wiki? Was it the summon minor elementals or something?
You'd have to mess with loading a compendium and fetching the actor data presumably
Not hard to do, just less easy then having the actor name
Personally, I wouldn't even bother with a spawn for that spell.
Nobody is casting that in combat
And walking multiple tokens around the scene gets really old pretty fast
Ah the floating disk 🤣
Aye, fair
from a player perspective
I was like elementals?🤔 😅
I could dig having a disk following though out of combat, if it was an Item Pile with Follow Me, it would be cool
We almost never use that spell though, even though it's a ritual... the duration and carry weight just aren't enough to make it worthwhile 😔
I've only ever seen it used after raiding a dragon hoard
No reason not to have it as a Wizard tho
Since it's ritual
(This is coming from someone who likes having a lantern floating around with Follow Me though... my warlock casts Mage Hand a lot)... it's technically telekinetic feat so doesn't feel so spammy... and yep bullseye lanterns > driftglobe... looks damn cool having a light sweeping around. Our gloomstalker and twilight cleric both hate it though, half the fun
making it an item pile container would be useful 
I was just told in macro polo that this functionality, dragging an item from a character sheet to a hotbar and having it attack automatically, is a midiQOL thing? is that right?
Having it do the attack is midi-qol.
neat! Is there a way to specify that the attack be done with disadvantage?
through the macro bit?
That macro takes no options.
gotcha
Not that way.
Easy solution, turn off fast rolls
or hold down control when clicking it
basically I'm trying to automate a multi-attack where the second attack is rolled with disadvantage
here is my item. usually, the macro would check the health and toggle those other 2 effects that increase the base abilities. but i'd just been trying to call one that has a console.log() in it for testing. thanks for the help so far (and happy holidays)
// Get rolltable result item
const table = game.tables.getName("Soul Magic Surge Test");
const {results} = await table.draw({displayChat: false});
const itemId = results[0].documentId;
const item = game.items.get(itemId);
const itemData = item.toObject();
// confirm use of item.
const content = await TextEditor.enrichHTML(`<p>Use ${item.name}?</p> <p><em>${item.data.data.description.value}</em></p>`, {async: true});
await Dialog.prompt({
content: content,
callback: async () => {
// Get source token (for effects that need a focus point)
const selectToken = canvas.tokens.controlled;
let dummy;
if (selectToken.length === 0) {
dummy = game.actors.getName("Soul Magic");
} else {
dummy = canvas.tokens.controlled[0].actor;
}
const [created] = await dummy.createEmbeddedDocuments("Item", [itemData]);
const message = await created.roll();
await message.setFlag("dnd5e", "itemData", created.toObject());
return created.delete();
},
label: "Apply Surge Effects!",
rejectClose: false
});
Ok so I'm having some issues with this, and I can't quite see why, as it's very hit and miss. It works fine with some spells, and totally fails with others. The spell I'm currently struggling with is one with an active-aura, but it seems to apply the effect and then immediately remove it.
The active aura seems to be unrelated to the problem, as it happens if it's not an aura too (just tested) the issue seems to be with the effect not sticking
clean up your compatibility issues
that was my first thought, but from what I can tell they're not from something I'm personally doing, they're in a module?
Plus the same errors come up if I cast the spell normally, and it works then.
is the aura setup to not transfer effects via midi?
If this macro is just to roll an item once and then delete it, it can be simplified greatly, assuming v10
(Moto is right, however; clean up your compat issues, that's the first troubleshooting step.)
the status effect toggling on and off, is the effect added via dfreds CE?
either via macro.ce or just a flat macro using dfreds stuff?
Do I have control over those compat issues? They seem to be from the module not from my macro (I could be totally wrong, I have no idea, but they're listed as ActiveEffects5e)
Yes
I just turned off the aura entirely for troubleshooting purposes, it makes no difference. The effect still doesn't apply properly
You disable the module.
you are pressing a macro, the compats will be in that macro
either you are using data instead of system somewhere or its a macro launching stuff from a v9 module
The issue is coming from a module that handles concentration in some form. Look at the files in the error.
Hmmm, what are your versions Nirin? Are you actually using midi?
the macro is shown above, and yeh I'm using midi
The warnings are not created by the macro.
well the macro above has data.data
Beyond that single one
that could be handing things off down the chain?
Nah, doesn't work like that.
I was about to reply to say this, it's the only 'data' in the macro
It's a module that hooks onto effects being created/deleted.
Quite clearly.
You can literally just click that file name "concentration" in the warning and see what module it's living in
with a midi build its either midi or CuB and if its Cub thats naughty
lemme check what I named the files in CN lol
its midi that I'm using
what version number of midi and foundry build are you on?
weirdly, that is saying its from ASE (which this spell does not use, and I no longer use as it's not v10 compatible)
10.291
10.0.23
I would double check that the module is actually disabled
A module you do not have installed cannot give you warnings. So you do have it installed and enabled.
Zhell thanks for teachin me a lil somfin. I didn't realize you could click those and learn the module
but fixing that data.data is a pretty simple clear of atleast 1 warning
It's wierd though as none of these spells use ASE at all
what do I change the data.data to?
system
system.system? or just one
one
ASE has some hooks for what it does
You don't know what ASE looks at. It's no doubt looking through all effects and their internal data no matter what, who knows.
There is zero point having it enabled at all in v10.
and when its finally made in v10, it replaces the v9 anyway so just uninstall it
Does anyone have a careful sorcerer or an evocation wizard in v10 midi?
Last two sessions the player I have, has had major issues with fireballs not correctly working. Everytime he tries to do it, it just ignores the template and nukes the hell out of the pretargets
when I did it, it behaved as if there was no flag on him
Are you using DF template enhancements?
and he definitely has it
Yes
I still though, cannot rule out user error cause hes kinda not very compute literate, I can't replicate his issue, I can only report that I couldn't get the pretargets to work
Do you have templates auto target tokens set to always in DF?
I was getting that same issue until I turned that setting on
I was previously using the toggle setting
If that doesn't fix it, I'd just run find the culprit until you figure out what's messing with your targeting
ok so ASE is now completely uninstalled, and that concentration error is gone. I also managed to get rid of another one by changing .roll to .use. So no more errors.
Unfortunately it still doesn't actually work lol
Someone pointed out that the line
return created.delete();
Which I think was meant to tidy up a temporary created spell, is also causing the effect to be removed. Which does seem to be what's happening.
there ya go
So the question becomes... is there a way to do this without deleting the effect?
I have dfredsCE, and midi. I don't use cub anymore
wondering if I instead had the spell apply a dfredCE.... if that would also be deleted when the spell does
What are you even trying to do here?
Yeah I don't follow whats being done
but I got Effect Macro on the tip of my tongue for advice cause its got yummy hooks to use
The macro casts a spell from the sidebar, as if its being cast from the selected character
isn't that totally Zhells forte, he loves to make synthetic items
automated wild magic surges, in this case
problem with dfreds CE is you gonna have a bajillion surge effects taking up all that space
when a surge happens, it rolls on the table, grabs the spell, casts it and applies effects.
Lets see if zhell returns, I know he does alot of stuff like that where he casts spells from compendiums
except it currently only works for spells. the effects are being a pain
Well yeh the end-goal was to instead have the spells in a compendium, but until I have a finished list I'm doing them from the sidebar (they're in a folder so its tidy)
Is this the regular wild magic table or some homebrew one?
Using DFCE would be fine but yeh would be a shame as it would be messier
I have a macro.createitem idea but its janky like my middle name
mix of both. Regular ones that work, homebrew ones to replace ones that won't work. I'm mostly renaming/reflavouring them for this character, but I'm trying to keep the same balance
I don't know if this is a here question or a macro polo question, but this macro doesn't apply the remove condition properly, is there something I'm doing wrong?
game.cub.applyCondition("Disadvantage");
dnd5e.documents.macro.rollItem("Scimitar");
game.cub.removeCondition("Disadvantage");
are you actually using cub in midi?
I am very stupid in most areas
yah
the disadvantage/advantage work as intended in one liners
like a macro that's only game.cub.removeCondition("Disadvantage"); works as intended
Might need to await them
it looks like you are trying to do 3 things that require time, while a macro does them immediately
gotcha
but also, if youa re in midi why are you using a condition called Disadvantage?
mostly the aforementioned stupidity
You should just be passing the disadvantage event to the midi complete item roll function
IIRC they were trying to do a multiattack feature where the 2nd attack is at disadvantage
I mostly have no idea what I'm doing, but I'm trying to learn macro stuff from scratch as I go.
yah, what Chris said
I was linked a method to do it but it requires a level of macro-ing I don't think I'm able to do
Personally I'd just manually roll each attack lol
so I fiddled around with the cub conditions
make a second weapon that applies disadvantage to the next attack on the roll
I honestly don't think multiattack macros work in midi, what if you change targets?
I have a dual wielding player that I just give them their offhand weapons and primary weapon attacks for each weapon. And the offhands are modded accordingly
I suppose I might have to do that
The player then setup his hotbars to have one be his primary stuff and the other his secondary
Yeh I do the same with one of my players. Two weapon items in the list
I'm just looking for ways to speed up monster attacks, my players like to take time with their own stuff but say the monsters turns take too long
Hammer and Hammer (offhand)
Combat Booster
You're going to wind up wasting attacks if you just blindly roll them in a row
Combat Booster is THE best tool I use as a dm with many monsters
it has a history of attacks on the token hud so you can just go through and bam bam bam
yep
Or just drag the monster abilities to your hotbar
and have it read to go before the game
also token action hud is good too
I use this. Speeds things up no end.
I wouldn't so much worry about speeding up your combat, so much as worry about entertaining the players with THE combat. A combat can be long as hell, as long as its really fun/funny
token action hud looks fantastic! I think that might be my solution
this is definitely true!
A way that I like to spice up combat, is another Ripper module, Maxwells Malicious Maladies. You don't have to run it for real, just have it fire, and use its messages for inspiration to describe what happens to the monsters and the players
also, I told my players its 100% optional and just there for the flavor, and all my players started actually using and following the restrictions of their wounds, evne though they were anti fumble tables, they actually like the module. Course they water down some of the wounds lol.
Action Pack is another option along the lines of Token Action HUD.
action pack takes up too much real estate
oh I like that, that's good
I put the icons on small and it works pretty well for me. I keep both so my players have the option.
if you do try out maxwells, beware that df manual rolls and maxwells have a tiny issue working together
I use character action list+Token action hud for sorted action economy. but for monsters nothing beats combat booster history buttons cause they are super tiny and if your modules already yoink you to the current combatant its so simple to right click and get the buttons
I think the combat nyoinking is a combat utility belt thing?
that's been real helpful
It's a shame DFCE doesn't seem to allow for custom folders, as that would have let me keep them tidy at least.
So applying the dfce using the effect 'macro.CE' doesn't help, because that gets removed when the spell gets 'return created.delete();'` as well.
BUT applying the dfce using an itemMacro does work, and it sticks
I'd put it all in the macro, and instead of rolling a table, have the macro return a random choice of 100 uuid's that you have stored in a compendium
Yea... Having a roll table seems like extra work
wait, is this wildmagic surge?
Yep
why not just use the module
Pretty sure there is a module that rolls it for you
I use it for the wild rations my players found in undermountain
Going to use it for undermountain as well for an entire level.
Do you mean wildmagicsurge5e?
I already use it. The dev added the option that triggers a macro for me, for this specific use case haha.
https://foundryvtt.com/packages/simbuls-wild-surges
Isn't this the standard nowadays?
Oh I've never even heard of that one, the only ones I'd seen before are wildmagic5e and ... I think it was in one of Monks as well as a sub-option
yeh, Simbuls is a spinoff of the one from 'little helpers'
it works fine, but it's pretty limited, its just for basic surges
wildmagic5e is much more in depth, and has all the different surge variants.
Personally, if I actually had a player that picked wild magic I would probably just warpgate the features onto the player when needed.
Grab the spells from a compendium then mutate onto the token when needed
I assume that would have the same problem though
👀 macro.createitem
Not really
in that you have to delete the spell from their list at some point, and when you do the effect gets deleted too
roll the table, get the UUID of the result, and have the effect value of the macro.createitem edited in the effect macro before its applied
I just use simbuls to automate my sruges they are just weird flavor surges cause noone is a sorcerer
you mean instead of making an effect, just write out the whole effect as macro text?
I looked at dfce and its implied its possible, but I couldn't find any examples so there's no way I could do it
You could just make them as CE then use it's API to apply it
If you're having some surges only be effects
this works, I said earlier, but the issue becomes they fill up the dfce list (as you can't put them into folders). It's my last resort option atm
if I cant find a tidier solution. Will mean it wont work as a compendium though
Could just have the effect embedded into the macro
this sounds like you have a solution, but I only understood half of it lol
I've started doing that ever since v10
yeh this was something I'd tried to look into, but I can't find the examples/syntax I'd need
Make an effect on a linked character
export it to json
search for the effect name
That has the exact formatting you need for the effect
ahhhhhhhhhhhhh clever
(Just as a sanity check) the only part I need is from 'effect' down to 'flags'?
You can normally cut out quite a bit
Including all the flags
Although you may way to keep the DAE ones if you have a special duration set
oh sorry
I meant 'flags' down on line.... 66
I didn't notice it was there more than once lol
This looks like you exported an item
yeh I did, sorry did that matter? I was only after the 'effect' and I thought it would be set up the same on both
Probably will still work
did you happen to have an example of the macro you'd use to actually apply this?
Apply an effect?
Also, you'd want from line 6 to 64 from this item
You'd also likely want to trim out some stuff like _id
and the effect flags
ok so I can see what lines 58-77 do (for me), a lot of the stuff before that seems specific to what you were doing?
Also 'olive oil' and 'mead' ... thats a hell of a party you're setting up lol
In this example I'm making an effect with an embedded effect macro to remove a mutation once the character takes a long rest
Dragon Vessel item from FIzban's
ahh cool
I'm also grabbing the itemdata from a compendium and setting it up as a warpgate mutation in here as well
You may find that useful for what you're doing
omg
I just kinda guessed at what was needed
and it... worked?
lol it actually worked fine
I assume 'packs' is what the compendium goes by?
You can type game.packs into your console to see all your compendiums.
yeh I'll save your link somewhere with a note saying why I'm saving it, so that when I do want to store all the surges into a compendium I can alter the surge macro to look for them there instead of the sidebar
My macro is a bit weird because some of my items are split between different compendiums
Like the healing potion works fine as a regular import from the DDB importer, but the potion of fire breath is one I setup myself
let itemData = packItems.find(item => item.name === selected);
seems to be the line I would need? As the spells would all be in the same compendium so that can be a fixed value
yea
change selected to the string name of the item
Keep in mind that the compendium needs to be loaded
So line 40 does that
I wont need that for quite a while probably so I'll just leave it as notes for now and come back to it
How does "flags.midi-qol.grants.critical.range" attribute key work? I want to increase the critical range of the effect to 19-20
its a singular number just like the crit range in the item details
so if its 19-20, you put 19
also welcome to the dark side, now drag and drop the midi sample item for bardic inspiration 😉
I don't really know what to do with the surge idea, personally I would just use simbuls and halfass it. If I had to automate it, I'd probably get someone to write a macro that lists off all 50ish surge items and have the macro randomly pick one, and then insert its UUID into an active effect on the surge item on the actor and then attune it, so that the actor gets it via createitem, then run it/roll it and then on completion delete the active effect or untoggle the effect.
Chris probably has a better idea than createitem, I use createitem cause I can't write macros
We managed to solve it (above). I'm just using active effects, but they're set up in itemmacros
supposedly warpgate can get it done easier
so far its working well
warpgate would probably do the job too but I don't know how that works haha
if simbul's carried along 5e Helper's wild magic surge API, it would be very easy to do whatever custom stuff you need without having to jump through a dozen modules to do so
I only use one module (wildmagicsurge5e).
Well, discounting the use of DAE and midiqol and active auras, which simbuls would also need to use I assume
I'm sure simbuls is fine, but the dev for the module I use added in the extra variants and features I needed to get this all working so I really can't complain
cool cool, just making sure that option was known 🙂
when i see: roll a table, to get an item, to get an ae, to execute a macro, to create an item with an ae (or whatever, heh), I get twitchy
If there's an easier way to do it I'm happy to try it, though my current way does now at least work lol
and thats all that matters
Merry xmas, Midi friends (and Zhell)! Hope you all have a fantastic day and enjoy yourselves 
Damn what time zone this dude at
But is it Add or Overwrite?
If it’s a midi-flag it should be custom I think
New Zealand, I come from your future
https://foundryvtt.com/packages/boneyard-template-tools
It sounds like I don't need my personal function to check for tokens in templates anymore 😁
For anyone that wants to quickly apply effects via a macro on tokens in a specific area, this should help
I haven't tried it yet.
I've been using the API from template macros to do these functions lol
hmm, what channel would I ask questions related to DAE in?
hmm, I'm not 100% sure if it will or not. I'll try in dnd5e first. Appreciate it! 🙂
I think your problem is you lack the full midi suite of modules, do you have simple calendar and times up modules?
having SC will stop your active effects from expiring the traditional way till you start utilizing the calendar
Its ok to have them both but our advice is dependent on if they exist or not
I do have simple calendar, yeah, but I don't have times up
grab times up its a very lite module and it adds alot more special duration choices
but can you show me the actual book thing you are trying to make so we can more clearly show you how to do it?
heh
<#macro-polo message>
I appreciate your help, btw, I feel like I've been asking nothing but dumb questions the past few days
Yeah I'm stickin with your suite of stuff cause Effect macro has never done me wrong yet
so basically I have a frog who on its first hit will grapple an enemy, and on its second hit, it restrains and blinds it, and the grapple condition is removed
I can get all the effects added no problem
but I'd like to get the grapple condition removed automatically on the second hit
from both frog and target
Times UP/DAE/MidiQOL
am sure both are fine and work well together. Was just funny.
Plus I'll vouch for any dev who asks questions and wants to utilize best practices.
My main reasoning is just that I already have 66 modules, I'm still trying to trim down, feels like too much overlap
but I thought the same way about dae/effect macro and look where that wound up lol
ok fantastic, I'll look into that!
I'd make the second swallowed thing a dfreds CE, and then have the effect macro of the first grapple check on hit to apply dfreds
oh wait em probably doesn't check hits eh?
With midi could just have a macro check what conditions are on the target then apply the correct ones depending on what's already there
Item macro on the feature
If you go the Macros way, just one onUse with all the logic is enough
ok, I'll look more into macros then. timesup has a bunch of stuff I'll absolutely get good use out of later, but I didn't see anything in its expanded list for "when target is hit by specific attack"
There isn't against a specific attack.
times up is basically install and forget
gotcha
More of a blanket condition: if hit or similar
I don't know if it's a module incompatibility or something, but setting up OnUse with a real simple macro like after damage roll >
game.cub.removeCondition("Grappled");
doesn't seem to consistently work
Not a fan of the module myself, if you have the full midi suite dfreds is just superior
How do you set it up?
it's real basic but:
^that's the entirety of the macro, I didn't cut off the bottom
pretty sure that macro implies selected?
that item has no targets setup nor range
I am not sure about the CUB API
oh god
Do you need a token selected?
you're right
Disable cub and install dfreds CE
Designate the target probably
its identical to dfreds apply
all of this is gonna have to be in a macro, if its not, then you could literally pull this off way simpler with dffreds CE
Yeah the macro doesn't define which token the CUB call should be executed upon
it won't matter cause the macro command is assuming selected
not targeted
you could totally hack this and check the box for toggle at the bottom and put grapple and the swallow stuff in the swallow items AE's
this would totally live up to my middle name
well in this case I'm trying to remove from selected, the frog should no longer have grappled when it swallows the thing?
lol
nah seriously check the box for toggle effect at the bottom of the swallow item, and then have swallow Grapple, restrain, and blind.
It should toggle the grapple right bugbear?
I liked dfreds a lot but I've got so much other stuff that I made that relies on CUB I'd be terrified to switch
ok I'll try that
dfreds will come with probably way more than you have made
dfreds CE has alot of synergy with midi and also most of us have premades that we share that all utilize dfreds.
Midi will outright just apply a dfreds CE if its name matches the item automatically
first item grapples:
oh you have cub, so just change the keys in both of them to macro.cub instead of statusEffect
we wanted the effects tab
the top one is wrong btw, its applying to self
if you go two parter on this, you could just use cub or dfreds CE's macro syntax to effect macro a remove grappled on effect creation.
I thought that they are both grappling with each other so this would make sense 😅
I dunno, is it the MM giant frog?
that's how I'd set it up yah, grappled condition for both
maybe that's not right for 5e? iunno!
haha
add macro.createitem a swallow attack that only shows up when they have grappled someone
have that swallow attack remove grapple from both in the effect macro when it applies/creates
yeah set both to macro.cub and see if they toggle
ok!
If you aren't well versed in macro/js then you pretty much have to create a two item solution and I can totally tell you what to put in the effect macro on the second one if you have dfreds CE, I don't know cub unfortunately but if those two toggle then you don't need the macro
game.dfreds.effectInterface.removeEffect(
{
'effectName': 'CE name',
'uuid': targetActor.uuid
}
);
I'm super super new to macroing stuff, unfortunately
I'm curious if either dfreds or cub will toggle innately if you use their macro.whatever in the ae
the toggle didn't seem to work, unfortunately!
ok I'll download dfred's and see if that works. Appreciate all this!
You'll want to get the target actor with let targetActor = this.targets.first().actor
its important you understand that they can't really coexist, if you have both cub and dfreds you have to turn off the condition lab/enhanced conditions
and dfreds needs a lil setup in its settings to have it take over conditions by default
is there a reason, as an aside, that the on use macro isn't working?
the macro seems to work as intended if I trigger it manually
That only works on the selected token
cub kinda sorta has alot of friction with midi in this regard
You'll likely need a different function, but I'm not familiar with the CUB api
you should be able to find its api and do something like what chris did for dfreds, but none of us use cub s we don't know
Not really
its just that its not what we use
ah I see
gotcha
Yes. Include ,[args[0].hitTargets[0], token] in the parenthesis after the condition and check if that does it
I haven't used CUB for so long
If it works only -- too late now 😁
oh wow
yeah that's not something I ever would have been able to muddle out haha
lessee, like so game.cub.removeCondition("Grappled",[args[0].hitTargets[0], token]);
It might work 😅 not sure if I remember that correctly
it's giving me a syntax error, lemme make sure I put it in right
The error should be helpful
Oh do you have ItemMacro module enabled in your world?
oh! no, I don't
Tell tale sign of that issue is the error calls out Itemacro in the error
Cannot read the args[0]