#MidiQOL
1 messages Β· Page 97 of 1
That'll work when the effect transfers to an actor other than the bard?
It should be evaluated when the effect is applied
If you use ##whatever instead of @whatever this will be evaluated using the rollData of the recepient
just as a sidenote π
β
That is most helpful, thank you again
Now I can go through and hopefully futureproof these for when he levels up lol
scale is a blessing
For the Frightened condition you could potentially add it in the same AE as a onUse Actor macro
I'm not really sure how I would go about doing so, but I don't want to presume upon your time if you're just offering the thought
flags.midi-qol.onUseMacroName | CUSTOM | link the item's itemMacro,postActiveEffect
To link the item's itemMacro, drag the item from the character sheet onto the effect value field directly.
It should generate something like Actor.xxxxxxxx.Item.yyyyyyy.
Put the ItemMacro. in front and add a ,postActiveEffects after
Ah, I'm not using an Item Macro to proc the Frightened effect
The macro it self should be something like ```js
const condition = "frightened";
const aeData = CONFIG.statusEffects.find(ae => ae.id === condition);
if (aeData) await MidiQOL.socket().executeAsGM("createEffects", {actorUuid:args[0].hitTargets[0].actor.uuid, effects:[aeData]});
It can be another macro from your macro folder
just use its name instead
name it Frighten that poor baby and call it with that name
Why do you define condition there in the macro? Can't you just put "frightened" where condition is in line 2?
the very simplified warpgate.spawn example on its wiki does the same thing and I've successfully used just 1 line myself avoiding it
I changed that
ok let me try it on a server to see what I missed
ah ok
Now the attack goes off, no error
But also no Frightened on my Giant π¦
Is it case-sensitive?
give me 5 to test it
The onUse macro goes in the same effect that the actor gets to turn invisible/have extra damage, correct?
Are you using DFreds?
yes
I am using Dfreds
const condition = "Frightened";
const aeData = CONFIG.statusEffects.find(ae => ae.label === condition);
if (aeData) await MidiQOL.socket().executeAsGM("createEffects", {actorUuid:args[0].hitTargets[0].actor.uuid, effects:[aeData]});
you are using statuseffect for the invis not macro.ce fwiw
in the drop down for invisible look at what your world calls frightened, maybe it not "frightened"
It is case sensitive
That capitalized one fixed it
(Assuming that's all that changed)
its also searching label instead of id
for the id it should be "Convenient Effect: Frightened"
is it applied via CE? the invisible isn't right?
The invisible functions correctly? I don't know if that's despite my best efforts π
Is there a way to limit the duration of the Frightened til the end of the creature's next turn?
Correct
"...[T]he creature it hits takes necrotic damage...and is frightened of the target until the end of the frightened creatureβs next turn."
const condition = "Frightened";
const aeData = duplicate(CONFIG.statusEffects.find(ae => ae.label === condition));
aeData.flags.dae.specialDuration = ['turnEnd'];
if (aeData) await MidiQOL.socket().executeAsGM("createEffects", {actorUuid:args[0].hitTargets[0].actor.uuid, effects:[aeData]});
Perfect π
Thank you very much
And I believe all the other effects he gets from now on are easy to do without macros, so π Much appreciated for helping with the hard stuff, group
@queen raptor I just saw the conversation in #macro-polo . Did you solve the reactive damage ask?
The take damage if you hit a specifc creature?
Yes, Krig helped me with that one.
When it comes to using the scaling values, is there a better way to roll multiple bardic dice than @scale.bard.bardic-inspiration * 2 ?
I've just created a feature to add extra damage, thanks to the help i've received in the main channel. But i was wondering If i can make this, in an easy way, to auto target the character that has the feature using midi + dae. I was giving the buff to monsters while i was testing it, and players might to the same.
can you give us the descripton of the item you are trying to make so we don't have to go fishing for other channel info?
often stuff instructed upon in normal dnd5e doesn't fly well in a midi environment they might have taken you down the wrong path
Sure. sorry. The idea was to create a scalable feature that deals 1d4 damage on the first attack (d6 = lvl 6 | d8 = lvl 14). The idea is to be able to use only in the first attack of the turn, but it will last for 10 rounds. Also player can only use it times = proficiency bonus.
pretty sure thats going to be macro territory in midi unless you just make a dae that the player assigns to themselves on their turn
if thts what you already have, the problem is probably just that you have the items details set to anything other than self/self for range/target
I've done the feat effect using dae. But just wondering if there was something i have missed to auto target self
Putting the target to self on whatever is applying the effect should do it
you could put that dae in macro form in the item macro of the feature then use a dae that is macro.itemmacro and use the run macro each turn
Just saw it
make sure the dae has a special duration of 1 attack
Thank you guys! Starting with automated combat and i keep missing this kind of things
if you don't have times up go get it
Okay ill try that aswell!
special duration is feature on the duration tab of the dae
Yeah i downloaded times up for that
if you can find a place where a dae is shown how to make it in macro form this is totally possible
I just shared a macro with a createeffect function...
But the idea is the 1st attack of each turn. So if i make that to expire on 1st attack
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: args[0].tokenUuid, effects: [{
"changes": [{
"key": "flags.dae.deleteUuid", "mode": 5, "value": spawnedCreatureUuid, "priority": "30"
}],
"label": "Your Actor Name", //edit this line
"duration": newDuration,
"origin": args[0].itemUuid,
"icon": args[0].item.img,
}]
They will spend charges
I dont want to be rude, but I don't have a clue of how macros work. I really appreciate that, but it is far beyond my knowledge. WIll try on the future tho
I don't know what special durations look like in this though
ok then that should be good what you have
I will make it toglable
you should be fine by just setting a special duration on the duration tab no need to toggle
and that make it easy
I was trying to get you the automated once per turn thing
also automated once per turn assumes the word "Can" is not in the items description.
if its player choice then what you are doing is the only way it can be done
unless you use optional.name stuff inwhich case then the player will always get prompted to use it and would be annoying for a martial
Special Duration location:(use a different one than mine)
just above it would be the thing we'd utilize for automating once per turn but we'd need to tap a smarter person than I for that
I feel like the emboldening bond premade pretty much can be plagerized for it though
It worked!
I put it to Expire after 1 attack
what is the key you are using?
And it auto removes
show me the effect tab of your effect
Cub usage in midi nowadays has my eye a twitchin hehe
What do you suggest instead? I've read about dfred
I was trying to learn Midi + Dfred + DAE.
if your world already has a ton of stuff setup for cub it'd be too painful to switch now but a ton of people here who share stuff are using only dfreds CE mainly cause it has more updates, alot of premade stuff and more exposed documentation for macros.
plus dfreds and midi have collaborated features
the strong point for CUB is that its system agnostic so other systems can use it where dfreds couldn't be
I started yesterday, only have set up conditons (on spanish) and a few feats. I wouldn't mind to change, and I will do if that's how ppl work.
is this item you are making a spell or a feature?
Feature
is it favored foe?
surprised nobody has tweaked hunters mark for it
These are the kinds of things i miss as a beginner
Sources of premade stuff for Midiqol:
Midi Sample Items Compendium(comes with the module)
Midi SRD's compendiums
https://foundryvtt.com/packages/midi-srd
Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros
Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros
Chris' Module form of his macros:(CPR)
https://foundryvtt.com/packages/chris-premades
Dfred's Convenient Effects:
https://foundryvtt.com/packages/dfreds-convenient-effects
Activation condition and other useful info:
https://github.com/thatlonelybugbear/FoundryMacros/wiki
w15ps's Module
https://foundryvtt.com/packages/w15ps-srd
If you are running dnd5e with very little homebrew, having midi srd+CPR are imo must haves. Saves you a ton of work and the update button on CPR works with midi srd
ddb importer probably complements both of these modules further
Oh wise Moto I come again seeking your guidance! π
Am just trying to write a quick macro that autodeletes concentrating from the temporary effects of my character without having to go into the char sheet in case Midi bugs out on me or I have to do it manually like stopping to concentrate on a spell. I looked at the character object but am not getting any wiser...π
I'll share my general delete in a sec, outside in main menu installing something
I give this to my players too:
const tokenActor = token?.actor ?? game.user.character;
const effects = tokenActor.effects.filter(i => i.isTemporary).reduce((acc, e) => acc += `
<div class="form-group">
<label for="${e.id}">${e.label}</label>
<div class="form-fields"><input type="checkbox" id="${e.id}" /></div>
</div><hr>`, ``);
const content = `<form>${effects}</form>`;
const title = "Delete effects";
const buttons = {del: {
icon: `<i class="fas fa-check"></i>`,
label: "Delete!",
callback: async (html) => {
const selected = html[0].querySelectorAll("input[type=checkbox]:checked");
const deleteIds = [];
for(let s of selected) deleteIds.push(s.id);
await tokenActor.deleteEmbeddedDocuments("ActiveEffect", deleteIds);
}
}};
new Dialog({content, title, buttons, default: "del"}).render(true);
hotbar macro
(This is not mine, Zhell made it)
Ooooh nice! Thank you!
Should be able to work from there to autopick concentration.
Thanks again!! π
that macro will only look at temp effects not passives, which is what I like about it, players can't accidentally delete features by the same name or passives they shouldn't have
Yeah I saw. That IS pretty neat!!
@scarlet gale ngl your VAE description export function is dope, considering running your module in my low auto world or snagging it for a world script
Tyvm!
VAE in core does that by default, Chris just restores that functionality with midi automation I think.
I tried this under Macros but got pointed over here. I have this handy itemMacro for Aura of Vitality but I would like it to work with Blessed Healer. I'm hoping I just need to add a spell level clause in the system area of the macro. Can someone share the correct syntax for this? const version = "10.0.10";
try {
actor = await fromUuid(args[0].actorUuid);
const itemData = {
name: args[0].itemData.name + " Cure",
type: "feat",
img: args[0].itemData.img,
system: {
actionType: "heal",
activation: {type: "bonus"},
damage: {parts: [["2d6", "healing"]]},
target: {value: 1, type: "creature"},
range: {value: 30, units: "ft"}
}
};
const items = (await actor.createEmbeddedDocuments("Item", [itemData])).map(i=> i.uuid);
let removeUuids = getProperty(actor.data.flags, "midi-qol.concentration-data.removeUuids") ?? [];
removeUuids = removeUuids.concat(items);
if (removeUuids.length > 0) actor.setFlag("midi-qol", "concentration-data.removeUuids", removeUuids);
} catch (err) {
console.error(${args[0].itemData.name} - Aura of Vitality ${version}, err);
return {}
}
```js
your macro here
```
Before we head down the road here on making your item, are you aware of the interaction of both blessed healer and spells that don't heal instantaneously? If you are ok with going somewhat into the grey area and allowing them to interact, then you need to edit Blessed Healer to allow features too and then Aura of Vitality from CPR should work with it. (Hopefully). I think you need to edit the 3rd line of blessed healer to include feature too
Quick descriptions of the abilities involved also help a great deal
I would be less inclined to go search for it and see what needs to be done tbh π
aura of vitality places a buff on self and then the healer can heal X amount as a bonus action for 1 minute. Blessed healer:
Beginning at 6th level, the healing spells you cast on others can heal you as well. When you cast a spell with a spell slot and it restores hit points to any creature other than you this turn, you regain hit points equal to 2 + the spell's level.```
casting aura of vitality does not heal anyone
however if they want to allow it, the problem is that the midi sample item for blessed healer checks for spells only, and then the other problem is that most premades for aura of vitality use a temp item that is not a spell, nor stores the spellLevel in the feature either.
(99% of the time a caster is not upcasting aura of vitality anyway as it has no upcast enhancement, so you could just ignore the upcasting and give a flat level 3 bonus self heal)
I wouldn't allow that to be used with each bonus action!
Only for the first time after casting
I came here for my own question so:
I'm trying to automate
Melee Weapon Attack: +7 to hit, reach 5 ft., one creature. Hit: 15 (2d10 + 4) psychic damage. If the target is Medium or smaller, it is grappled (escape DC 15) and must succeed on a DC 15 Intelligence saving throw or be stunned until this grapple ends.
How would you have the attack success apply grappled but the save apply stunned on fail? My first thought is a simple item macro that uses a secondary save item on hit?
But still its grey as Moto said
Also fyi, disciple of life should and does apply to aura of vitality and its all hinging on the wording of either feature
Awesome - I will give it a try
So the grapple happens anyways
find doesn't create a copy. This adds the DAE flag to the default status effect too.
if small or medium yes
and if hit
I think I can pull it off if I make two items, one that is an attack for grapple, and then a save for stun and then I just need someone to tell me the item macro to plop into the attack to roll the save attack right after only on hit
ffs...
@queen raptor forgot the duplicate in the Frightened condition snippet...
const condition = "Frightened";
const aeData = duplicate(CONFIG.statusEffects.find(ae => ae.label === condition));
aeData.flags.dae.specialDuration = ['turnEnd'];
if (aeData) await MidiQOL.socket().executeAsGM("createEffects", {actorUuid:args[0].hitTargets[0].actor.uuid, effects:[aeData]});
basically, I need to program a wep to ignore certain dmg resistance :<
I mean which is the macro that broke, MidiQOL/DAE versions, what is the error etc
There are a few elemental adept macros shared
console.log('no Cold');
return;
}
if(args[0].macroPass === "preDamageRoll") {
const effectUpdate = {
changes:[{
key: 'data.traits.dr.value',
mode: CONST.ACTIVE_EFFECT_MODES.CUSTOM,
value: "-cold"
}],
label: "Ignore Cold Resistance",
icon: `${item.img}`,
flags: {dae: { specialDuration: ['isHit']} }
}
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: args[0].targetUuids[0], effects: [effectUpdate] });
}```
this!
so I guess you are on dnd5e v2.1.x
yes
Replace includes with has in the first line
also the key:'system.traits.dr.value'
v9 vs v10 syntax
Does it?
I dunno if thats where you saw it or not, but I think Bugbear and I got attached to the concept after seeing a screenshot from Zhell
Zhell would know for sure though
deepClone is the superior replacement of duplicate
know what
Doesn't your VAE in core have buttons for the spells?
when CN is enabled I think?
VAE has a hook anyone can use to add buttons. It's detailed on the module page.
I did initially have it in CN, but I moved it to VAE entirely.
I was just trying to sus out the origin of our idea of making buttons in the vae's, I feel like it was a screenshot from you that got us doing it
Yes
Does anyone have a working Celestial Revelation (Radiant Consumption) item they'd be willing to share? Having trouble getting mine to work with DAE and Midi.
what IS that?
(CPR has it)
lol darn
I am shallow like that π
But can likely be copied and adjusted when I get a chance
I think I have shared that π€
Now does it work? hmmm
some data instead of system hmmm what else
Ok who wants to save me trouble here:
I need an easy on use item macro that checks if the attack hit from the item, and if yes, rolls an item named "Tentacles(Save)" using the same target/args?
When the attack is made, on success, grappled is applied, Then if the macro is setup right it will roll the other item which is a save, on fail stunned. Both end if the target makes a str/dex check to escape.
Sorry, what is CPR?
It doesn't have it
It's my module, but Moto was mistaken
const lastArg = args.at(-1);
let tactor;
if (lastArg.tokenId) tactor = canvas.tokens.get(lastArg.tokenId).actor;
else tactor = game.actors.get(lastArg.actorId);
if (args[0] === "on") {
await tactor.createEmbeddedDocuments("Item", [
{
"name": "Radiant Consumption damage",
"type": "weapon",
"system": {
"equipped": true,
"identified": true,
"activation": {
"type": "special",
},
"target": {
"value": 10,
"type": "creature",
"units": "ft"
},
"range": {
"units": "self"
},
"ability": "",
"actionType": "other",
"damage": {
"parts": [
[
"ceil(@details.level/2)",
"radiant"
]
],
},
"weaponType": "simpleM",
"proficient": true
},
"flags": {
"DAESRD": {
"RadiantConsumptiondamage":
tactor.id
}
},
"img": "icons/magic/fire/beam-jet-stream-spiral-yellow.webp",
"effects" : []
}]
);
ui.notifications.notify("Weapon created in your inventory")
}
if (args[0] === "off") {
let removeItem = tactor.items.find(i => i.name === "Radiant Consumption damage")
if(removeItem) await tactor.deleteEmbeddedDocuments("Item", [removeItem.id]);
}
This post may be useful to you:
That should do it
Now do mine ;p
Thanks thats great!
and the macro from above
Let me know if it works
If this.workflow.hitTarget > 0 {
Find an item by the name of X and use it
}
lol Rule out there spotting my suggested changes to midiqol+stealthy and employing them hehe.
if (!!args[0].hitTargets.length) await MidiQOL.completeItemUse(token.actor.items.getName("da name"), {}, {targetUuids:args[0].hitTargetUuids[0]})
the new item will use the previous targetting right?
what happens if untarget dead happens?
This will be run as an ItemMacro | After Active Effects
is the untarget after the macro fires?
should be fine
thats what I thought too
I imagine the untarget is triggered after RollComplete
this is my idea for how to handle that mind flayer attack from earlier
I don't know how to make a whole item in a macro and figured it'd be more work for anyone I asked so 2 item solution is fine
You could add the Stunned condition After Active Effect I think, after checking if the target has the Grappled condition
Ah ok
the other annoying part, which I'm going to handle manually, is that they technically are overtimes
So do the Stunned on fail and after AE add the Grappled
they both end if a successful athletics/dex check are made
You can remove Conditions with an OT so that should be easy to do
yeah but my items re two items so there would be 2 overtimes
actually, can I make it where the stunned ends if grapple doesn't exist anymore?
I can't get it to work but I think I'm just doing something wrong. Idk, not sure it's worth the headache to get it set up.
Thanks for your help
Help Durango, I think I got this all set
Can you export the Item as you ve set it up so far (drag it onto the sidebar Item's directory, right click export and send me the file as a DM)
I need this to be a DAE macro.itemmacro I need this to fire when args are off but don't know the line for args off?
if (args[0] === "off") {
game.dfreds.effectInterface.removeEffect({ effectName: 'Stunned', this.uuid });
}
the "this.uuid" is a guess
Sent!
if (args[0] === "off") {
const targetActor = canvas.tokens.get(args.at(-1).tokenId).actor;
await game.dfreds.effectInterface.removeEffect({ effectName: 'Stunned', actorUuid: targetActor.uuid });
}
Hey guys, is there a way to automate spell/attack damage redirection? I want to make a creature that when damaged redirects all damage to one of their minions, is it possible or should I just tell the players to not target them?
yes but it needs some setting up, with which I cannot help right now.
I use the janky third party aura, but I don't redirect, instead all damage is prevented, and with the legacy buttons on, you can manually take the damage for your ally
@violet meadow does the macro have to be a folder macro for the overtime macro=? can I not do an item macro?
or am I not even using that actually? willl the dae's macro.itemmacro do it on its own?
will need to double check if linking an actual item in there would help. When that ability was made that was not the case for sure
@lofty kindle there are some issues with the item you sent me, which I will fix and send it back in a bit
Thanks I appreciate it. No rush at all
Can someone give me the pros and cons of making a synthetic item via warpgate and making one via dae args on/off? My next cheatsheet project is to make a theoretical item with 3 ae's on it that have every bell and whistle defined so that a person could just copy/paste the template and clear out what they don't want.
One ae will be normal transfer setup, the other two will be the two different self roll checkbox ones
I guess 4 ae's as I could do transfer on equip too
Cool factor
vs
Inventory clatter and a couple of database interactions to create the item
I say create it π
There are some specific cases that an item in memory only helps, but if you don't know what these are, no need to go through it !
when you create an item, how do you know what all the various attributes are of the item, what do you type in the console to get the item details? isn't it fromuuidsync or something?
easiest solution is to create the item on the actor and then console.log(duplicate(item))
define the item to be the one you created
is Item in your example the uuid of the item?
and I assume that would be an on use macro?
wow if I do this, then I could just share the item
console.log(duplicate(_token.actor.items.getName("name of the created item you want to check"))
and yes you can just share it
eh I'll still make the cheat sheet cause the whole point is to make an easy copy/paste
or you can use an item's JSON export too
my overtime cheat sheet has saved me so much time I feel this item creation cheat sheet would do the same
is the item export literally the formatting of it too lol?
if so thts hilarious
check the MidiQOL sample Flaming Sphere
Granted it's an actor's JSON but you get the gist
you always use find label for checking ae's, why not use dfreds version of it?
await game.dfreds.effectInterface.hasEffectApplied('Bane', uuid);
Try this for a non DFreds CE π
can this be ok as a folder macro? the item already has another item macro and I'm worried they will mix in weird ways
what's the itemMacro?
if (!!args[0].hitTargets.length) await MidiQOL.completeItemUse(token.actor.items.getName("Tentacles(Save)"), {}, {targetUuids:args[0].hitTargetUuids[0]})
if (args[0] === "off") {
const targetActor = canvas.tokens.get(args.at(-1).tokenId).actor;
await game.dfreds.effectInterface.removeEffect({ effectName: 'Stunned', actorUuid: targetActor.uuid });
}
Would these be ok? one is an on use after active effects, the second if is via dae?
do I need macropass lines?
The off will only be triggered when the DAE effect which calls macro.itemMacro is deleted
k so after active effects is fine in the on use part on item right?
But the rest should be inside a ```js
if (args[0].macroPass === "postActiveEffects")
or if its an onUse you could also do a ```js
if (args[0].tag === "OnUse") {}
This should be enough```js
if (!!args[0].hitTargets.length && args[0].macroPass === "postActiveEffects") await...
if (args[0] === "off") {}
@lofty kindle changed the item quite a bit. Sending it back to you π
The setup does not apply stunned and this is all that shows up in the console
Of course. ```js
if (!!args[0].hitTargets?.length && args[0].macroPass === "postActiveEffects") await...
FYI, you need the `ItemMacro | After Active Effects` as on Use macro call too, in addition to the DAE macro.itemMacro
yeah that warning/error was DAE saying you tell me to look into args[0] and find hitTargets and evaluate that the length exists, but hitTargets doesn't exist you dum dum
something seriously fucked up about this cause its also rarely applying anything
wweeeeeelllll
grappled should apply for sure on hit
send me the item cause I cannot bother to make it now π
reloading the instance, things are also taking a while to resolve I think my pc had been logged in to long
Is this suppose to have anything in the value?
it should all boil down to the same createEmbeddedDocuments call
ok discovered some of the issue, I had forgotten to take off the saving throw of the attack item, so it was inducing the save an additional time misleading me to think it was ok when it wasn't, now I'm dealing with a bunch of pending int saves that are triggering the ignored things before so trying to clear everything and start fresh
Oh I read it totally differently, what Moto asked before!
I was thinking about an ephemeral item vs an item that is being created in the inventory 
i would imagine a warpgate centric approach would be "lighter" overall than a chain of macros through DAE
ok, so I got the two tentacles to work together, but I think that dae error is telling me that I shouldn't combine them and that I should use macro.execute instead for the dae, unless I can somehow execute the macro as the never automatically in effect macro to keep it self contained?
Do you still get a warning? π€
oh shit, I could do on delete efffect macro can't I?
On deletion, find and delete stunned
then the item is all self contained, doesn't rely upon a folder macro
the warning happens cause if the on use is reading the if args off thing
ok just add else if instead of just if
on the second one
but it shouldn't make a difference or I am too tired to think clearly
honestly if it doesn't work in the next attempt I think its just as simple to leverage effect macro here
Just make sure to clear any effects before as deleting any that are currectly linked to the itemMacro will trigger it
how the hell does actionSave= work in overtimes?
what's your OT ?
I think I need the Zhell friendly version of this:
const targetActor = canvas.tokens.get(args.at(-1).tokenId).actor;
await game.dfreds.effectInterface.removeEffect({ effectName: 'Stunned', actorUuid: targetActor.uuid });
for actionSave=true you can do this
actionSave=true,saveAbility=dex|str,saveDC=100 //change to what needed but you get the point
I feel like Zhell missed a good opportunity with this error message to include a pirate joke for args:
await game.dfreds.effectInterface.removeEffect({ effectName: 'Stunned', actorUuid: token.actor.uuid });
or actor.uuid
Guilty! I just use passive perception for this purpose, but it is interesting to see how others do things.
I don't like how flat passive is, I feel like its a table top tool but not a pc/vtt useful thing to do
since we have a puter doing so much why not leverage it for a more chance related encounter
plus when I prep and roll their stealths, If they roll a nat 1 it motivates me to write a blurb for when they encounter them
As a player, I like reduced variance so that I am less beholden to the tyranny of randomness. But to each their own, and said puter is good at giving options.
I'm just now realizing that my cheat sheet is missing saveDC= and I know for a fact I had it at some point in it.
Fixed the cheat sheet as it was missing a critical option:
#1010273821401555087 message
Edited the cheat sheet yet again as I had a typo in the edit
After moving the second half of the macro to EM, the first half is no longer working and throws the same dae warning:
if (!!args[0].hitTargets.length) await MidiQOL.completeItemUse(token.actor.items.getName("Tentacles(Save)"), {}, {targetUuids:args[0].hitTargetUuids[0]})
@violet meadow β¬οΈ
the item also doesn't roll
if (!!args[0].hitTargets.length?) await MidiQOL.completeItemUse(token.actor.items.getName("Tentacles(Save)"), {}, {targetUuids:args[0].hitTargetUuids[0]})
was the period intentional and I left it off stupidly?
oh shit now I get it
This
The itemMacro and the name of the second item?
Also you have the activation condition true for the effect when there is none
I am afk so cannot check it properly now
Put a console.log(args[0].hitTargets?.length)
at the top
Thought you had a save but there is no activation condition also. Why would you need this?
I will confuse you more now, I will take a look later when I am back at my PC
I thought you need that on or the effect transfers regardlessof hit/save results
If I take out the if statement and just run it, it works
If an attack doesn't hit, the effect will not be transferred
What are you making?
Melee Weapon Attack: +7 to hit, reach 5 ft., one creature. Hit: 15 (2d10 + 4) psychic damage. If the target is Medium or smaller, it is grappled (escape DC 15) and must succeed on a DC 15 Intelligence saving throw or be stunned until this grapple ends.
Did you log what shared above?
I didn't know how to do one item so I made two items and I need a check on hit to fire the second item
No need for a macro for that
the log is my last image
attack grapples, save stuns
Oh gotcha
This?
hit grapples, save stuns
yeah thats the only thing that shows up in console
It seems that there is an issue with which itemMacro is being run?
I never missed thats 1 workflow
What is data sanitizer?
function.chrisPremades.macros.monster.generic.autoGrapple as an on use macro
Will auto grapple hit targets, ignoring the save
Yep
then its 1 item 8)?
No evaluation needed
Delete [0] from the hitTargetUuids
I'm gonna try chris's real quick
Look at the tentacle attack from my mind flayer automation
I assumed since you didn't have it in the folder, it wasn't worth automating so I thought I could pull it off lol
the elder brain has a tentacle but its different
Nah, I thought I included it
frikkin glitch ass UI just does not want to work with me today, I can't delete any EM macros
https://github.com/chrisk123999/chris-premades/blob/master/scripts/macros/monsterFeatures/generic/grapple.js Probably my smallest macro lol
no errors, cannot delete or edit this actors Effect macro
well I can open it, and edit it, but saving does nothing
Reopen foundry?
relaunched the server and everything, I think its cause I'm making a unique canvas actor
I'm still trying to make a functional mind flayer as the canvas actors were both having strokes
Updated this
Not at PC to actually check
But I'm pretty sure that's the right location
I added a lil tidbit to your concept, I added an On Combat turn starting effect macro:
ChatMessage.create({content:`Because you are stunned, you cannot break free from the grapple.`})
because if you are stunned, you are incapacitated, and if you are incapacitated you cannot succeed on any str or dex checks so therefore the only way to escape a mind flayer is to be pulled away from them
I kinda like rubbing it into the player when their turn starts ;p
Evil would be so proud of me
Pretty sure they can't do anything while stunned
Not just can't remove the grapple
May as well have it auto advance the turn lol
they can speak falteringly
I like to shame my players lol
hmmm, it does not seem to be working
I think its a dfreds or midi bug though
By this image's logic, you'd think the zombie got stunned and grappled
Looks grappled to me
it was suppose to be stunned too
function.chrisPremades.macros.monster.generic.autoGrapple
that right?
I know exactly what this is, and I really need to report this to dfreds
Have the item do that
stack by name is not working right in dfreds now
???
its picking up partial positives in the ID's since all of his CE's start with "Convenient Effect"
I have this exact ability setup fine
With the current updated versions of my dependencies
You using a macro.ce for the stun?
Works perfectly with statusEffect for stunned:
When are you having the macro run?
If the CE is on the custom item in the side bar, then the stacking breaks and only one custom can be on an actor
after active effects
Shouldn't you just be doing no stacking by origin
if both ce's are on the custom item in the sidebar(dfreds item) then dfreds stacking has a stroke and only one can be on the actor
the origin is apparently the sidebar item
your stunned isn't the conflicting CE
the enhanced monster was
What does a sidebar item have to do with an item on the npc?
either way, I have it working with statusEffect atleast
because all the ce's that are custom start on that item, I honestly don't get this bug, its almost always when the actor has the enhance monster on it
parry also fails to apply when the monster has enhanced monster custom ae on them, it will shut off the lowe rpriority ae and apply the higher one
Do you have a link to the v10 version of Fluid Canvas?
its a zip link in jb2a's discord
What is an enhanced monster ae???
Look away if your stomache for crazy foundry shennanigans is weak:
I can't seem to find it there.
I found the module.json, but I get an error when trying to install it on Forge.
@celest cradle do you have that zip of fluid canvas handy lol? I can't find your post for it when you gave it to me. I dunno where you posted it.
I honestly fear the worst, every since dfreds went from 3.1.1 all my custom ce's have been having stacking issues where one turns on and any other of them turn off
I think my worlds corrupt but I'm keeping my head in the sand, statusEffect works so I guess I'm all set
macro.ce should too, makes no sense why its not but theres no console errrors to go by so I have no clue
can i see the manifest url?
thats the wrong one I think
I think you want gazkhans
if you go to fluidcanvas's original github, theres 2 forks, chuey's is older than gazkhans
but I'm just guessing here basing it on the fact that gazkhan shared me a zip, no idea where it was from though
yea, no go -- its not a full manifest, nor compatible with the updated v10 manifest format
Oh
This one's better? https://github.com/Gazkhan/kandashis-fluid-canvas/blob/master/module.json
nope
I think this is why he gave us it in zip form

do want me to zip my folder and give it to you?
Aye, sure
will dm it to you incase they don't like this here
Did you see my world script too for crit shake @covert mason ?
(its more Gazkhan's than mine lol)
(advertising something that you are going to do that may not be kosher...is...not the safeguard you think it is? lol)
Yes please!
Hooks.on("dnd5e.rollAttack", async (item, roll) => {
console.log(item,roll)
if(roll.isCritical){
await Sequencer.Helpers.wait(1500)
KFC.executeForEveryone("earthquake", 2)
}
});
I use this in worldscripter module
and then if you use dfreds CE, duplicate Poisoned as custom and then edit it and add an on creation/deletion Effect Macro:
const poisonedUser = warpgate.util.firstOwner(token)?.id
await KFC.executeAsGM("drug", [poisonedUser], 1)
you could probably do a dae version if you don't have effect macro but I dunno how to set that up
I do have effect macro
KFC commands apparently are like toggles so the off just needs to be the same command again
I was tempted to do blur for stunned but I was waiting to see how my players like it first
Is there a way I can easily copy over a Drefds CE to, say, the active effects tab of an ability?
don't do fade to black for blinded...thats worse than the blinded effect from core lol
you can drag and drop dfreds CE's directly into item and actor effect tabs, just not an items effect tab in the sidebar
this is also kinda why I keep recommending everyone use macro.ce instead of statuseffect, then you don't have to worry about the wrong ce
Thanks, bookmarking it for future reference since folks are starting to spot my tricks I setup for it
@scarlet gale is the function suppose to be after active effects?
can anyone suggest to me a way to sus out what is happening, like can I turn on more logging to see why the stunned is auto removing itself? the current console shows nothing, it even says its been applied both in chat and in the console, yet its gone
I really don't want to use statusEffect to work around this bug.
Im using MrPrimate's Thunderous Smite macro, but it casts it straight away. Is it supposed to wait for a melee hit before activating?
you are using his macro and another importers item setup
its firing right away cause the item you have is not set to OTHER or utility and no damage formula/saving throw
It hard to guess how his macros want items setup, the simplest solution is to ask someone in CPR's discord to share the details tab of the spell as 90% of users on that discord are also ddb users
you could ask here but less eyes here are ddb users
Ah ok, I'll ask there. I cant actually remember where I imported that spell from.
Its not a spell?
So when I turn on midi's debugger to full, the item works, but if I shut off the debugger, the stunned poofs when the grapple is applied confusing
Jesus this doesn't get any weirder:
its not even really there???
if (this.hitTargets.size != 1) return;
const targetActor = canvas.tokens.get(args.at(-1).tokenId).actor;
await game.dfreds.effectInterface.toggleEffect({ effectName: 'Grappled', actorUuid: targetActor.uuid });
At my wits end here but heres the error:
it needs to be the midi version of this not dfreds
because its applying to target
I don't think your item is meant to be a dae item macro, but you could try that, I suspect you have the wrong macro pass
@vast bane send me your Item
Chris doesn't see it in his build so I really think my world is going bad but I'll send you the item if you want
(You need CPR installed lol)
If you ve got it sorted it's OK
I can't run more than one macro.ce or else they overwrite each other
I mostly want to test what was happening with the initial macro we were working on
On use macro for:
On failed save, GM hide your token?
Switched to this one; I'm curious what would have gone wrong if I continued to use the old one?
Just since it seemed functional before
It would make the Frightened condition to be until end of target's next turn by default. Whenever you used the condition π
Is there a way to add a damage bonus to an actor that's conditional on the target making/failing a save? The use case in this example is poisoning a weapon. Adding the bonus poison damage is easy enough but I can't figure out how to set up a save. I'm thinking I need to use some kind of macro and a damageOnlyWorkflow but I'm wondering if I'm missing an easier way.
Go to MidiQOL settings => Workflow settings => Workflow tab, to the bottom.
Choose at least If Save Present
Then add a save in the Item's details tab and in the Other Formula the 1d8[poison] damage for example
Attacking with the Item will trigger a Saving Throw which will half the Other Formula damage if its a success, by default
( & @regal igloo)I have a Wand of Magic Missiles that handles upcasting: https://github.com/w15p/w15ps-srd -- sorry for the late reply
Yeah I know how to do that but can I do it procedurally? They have several different poisons, some of which even apply conditions on a failed save beyond the damage. Having to go in and modify the weapon item every time they use a poison would be a bit of a pain haha.
You could change the Item in a macro to include the Other Formula and save when the poison is "applied".
Or you could use an AE with a MidiQOL optional bonus flag for damage which could be used when needed.
I just gave you the no macro option π
Can it be done with AEs? I feel like I've been writing macros non-stop and would love to just... not write another one lol.
Can you dm me the actor with the item and your midi settings. version 10.0.36 was supposed to fix the AoE templates for magic item spells.
Warpgate centric as a DAE macro.itemMacro execute on an Item which will apply the "Poison" on one of the chosen weapons π
const effectToken = canvas.tokens.get(args.at(-1).tokenId);
const effectActor = effectToken.actor;
const effectTokenDoc = effectToken.document;
const mutName = "Poisoned Weapon";
const formula = "1d8[poison]"; //change as needed
const save = {ability: 'con', dc: 13, scaling: 'flat'}; //change as needed.
if (args[0] === "on") {
const weapons = effectActor.itemTypes.weapon;
const result = await warpgate.menu({inputs:[{type:"select",label: "Apply Poison", options: weapons.map(i=>i.name)}]},{title:"Available weapons"});
if (!result) return await effectActor.effects.find(eff=>eff.id === args.at(-1).effectId)?.delete();
const updates = {embedded:{Item:{[result.inputs[0]]:{system:{formula,save}}}}};
if (!!warpgate.mutationStack(effectTokenDoc).getName(mutName)) await warpgate.revert(effectTokenDoc, mutName)
await warpgate.mutate(effectTokenDoc, updates, {}, {name:mutName});
}
if (args[0] === "off") await warpgate.revert(effectTokenDoc, mutName);
Thanks for the heads up. It turns out I missed a change to how skills are represented and so the lookup is now failing. Will fix in 10.0.37
Can you dm me an example and the relevant actors? It could well be a midi problem that's causing it.
@gilded yacht Does Midi-Qol trigger dice so nice rolls manually? If so, would there be a way to have the damage dice get displayed after postDamageRoll step is done?
I'm still having the issues of workflow.setDamageRoll done during postDamageRoll not being respected.
@gilded yacht there is an error in the condition you added to the hook, it should be :
if (!(this instanceof BetterRollsWorkflow) && this.needTemplate)
https://gitlab.com/tposney/midi-qol/-/blob/v10/src/module/workflow.ts#L297
I think, but have not tested for ages, that if you specify the poison as ammunition (and specify roll other damage and the saving throw and effects in the poison item) and specify the weapon to use the ammunition, then midi should take the other damage, saving throw details and effects from the poison. I just retested and it seems to work as described.
Thanks for the heads up.
Yes it does if you using the merge card, if not then midi does not do anything for the dsn display and there's no way to do what you are after. By the time that postDamageRoll is called the dsn triggering has already happened. If you are using the merge card then it should be possible to move the dsn display until after the hook is called. I'll have a look.
Yea, I'm not worried about non-merged cards
So I got a video of my issue with macro.ce, but in an effort to make it as clean as possible I discovered that the problem is actually npcs, player characters don't have the problem(target being player character)
this only happens with npcs as the target
Can you dm me the actor with the tentacle attack feature? So I can test
Sent
I didn't actualy say what the problem is, but the effect is suppose to apply grappled on hit and stunned on save fail, and for some reason the stunned is being immediately removed.
the current version uses CPR functions but I had it using a standard midi on use and it still failed same way. If you swap the effect's key to statusEffect the problem goes away
It looks like the effects are still present on the zombie, it's the display that is the problem?
Oh snap, the man himself is back
I was having a hard time trying to see if they were indeed there but not displayed
the console says that dfreds applied two, but you only se one and you can clearly see it kinda gets overwritten by the seccond
didn't occur to me to see if it is indeed stunned lol
no its not there on the actor data, it shows only 2 ae's, the empty macro.ce ae and then grappled
I'll have a play
tried turning on the full debugger in midi but I didn't know what I was looking at so that didn't get me anywhere
Hey people, someone in the macro channel recommended coming here. I need help. I have quite a few strenghts, but macro building is so not one of them. I need quite a simple macro for a player in my 5e group. Basically when he rolls a 20 with a certain weapon, it should add one ki point. I use DAE, Midi-QOL and so on. The Ki is a feature. How would I best tackle this problem?
Sorry for the bad english, it is not my first language.
Do they have to roll a 20 or is it just when they crit with the weapon?
Create a script macro (click on an empty slot in your hotbar at the bottom and change the type of it to script) with this and have it on the monk's weapon as an onUse macro for After Active Effects.
// If Midi's workflow detects we crit (normally roll a natural 20)
if (this.isCritical == true){
// Change the item name here to what your feature is called
const itemName = "Ki";
const itemToUpdate = this.actor.items.find(i => i.name == itemName);
// We check if the item we're updating is already at max value, because you can exceed it. If it is, we "return" nothing, meaning we don't do anything and cancel the rest of the macro
if (itemToUpdate.system.uses.value == itemToUpdate.system.uses.max)
return;
// Otherwise we add 1 to the current uses of the item.
await itemToUpdate.update({"system.uses.value": itemToUpdate.system.uses.value + 1});
};```
is the "supply" part of spell components part of midi and if so how do I use it?
I looked on the midi page and coudn't find a reference too supply
Thank you very much it helped a lot.
Not sure what you're referring to
Do you need to use components?
You could use materials as resources and thus needing to have availability in order to cast some spells
For example make revivify spell to use a Diamond as a resource
I have never seen thatβ¦ Iβm pretty sure it does not come from MidiQOL
@tranquil cloak
if (args[0].macroPass === "preItemRoll") {
if (!actor.items.getName("Gilded Acorn")) {
ui.notifications.error("You have no Gilded Acorn")
return false;
}
How does the supply box factor into that? Athough, with some testing I don't think it comes from midi
its an unfinished core entity
https://i.gyazo.com/9775a6de83b9a96410827b77ccbcb1ca.png
I recieved this critical error message when loading up Foundry. Any idea what it could be?
reinstall, restart, make sure you are on the v10 version
Midi or Foundry?
MidiSRD has been updated for v10. This is not the updated version you got
Does it work? π
Also I would change the .NAME. to be a unique name so as to make sure that all work fine if you got several optional bonuses on the same Actor
Any skill or tool the actor is proficient in
oh
Well the tool, change the formula in the details tab
There isn't a flag for all proficient skills but you can do the following
1 sec, confirming my thing
For acrobatics
Is this something that is permanent?
I see. I would have to set it for each skill?
Yeah
Yes, trying to automate a class feature that adds a floor to proficient skills. Might be easier to just manually adjudicate such
But I appreciate you taking the time to show me
There is a system option for this if it's the reliable talent feature
It is. Good to know, thank you.
Yeah, in the Actor traits
so if i make item/spell/feat/etc macros, should I save them as items vs. modifying the srd stuff in the compendium?
best not to modify compendiums that are not created by you
works perfectly. amazing
Hey guys, are there flags for advantage against specific conditions?
Can't seem to find one, but thought I'd ask
Like advantage against poison effects?
Specifically I need Frightened and Charmed.
Sorry, was searching for it over Discord, didn't see your message.
if you have cpr installed there is
look at CPR's dwarven resilience
On it.
it will only check against convenient effects though
the keys won't auto complete cause chris hasn't submitted them to dae yet
So I have this, but the flag doesn't exist in the dropdown menu. Is it still functional this way?
Ah, you just answered that.
keys only auto complete when someone submitts them to dae's gitlab I think
as long as you have the setting on in CPR yes
conditional resistance and vulnerability I think
theres CV keys to give disadvantage
I wonder if V11 will break CPR
Since it'll almost certainly break Compendium Folders module
all the more reason to stay on v10!
Hmm... Doesn't seem to do anything :S
It's upper case on the screenshot, but I tried both.
show me the item effect of the thing applying it
show me the item that is charming you or frightening you
I believe it only works if the item is applying a macro.ce
Ah, damn... Let me see.
I see what is happening here... The Resistance adds +5 to the roll, rather than actual advantage.
Wait, no, that's wrong.
So I see it does something, because after I cast the Frightening feature - but before I roll the save - this CA effect appears on the saving token. But as you can see on the chat card, only one roll happens.
why do you have an apply active effect button, that is abnormal
Hm. Let me look, I created this feature on one of my first days playing with Foundry.
are your conditions convenient effects?
Yes.
they work for me so I dunno what to say here other than you got weird midi settings or a conflicting module
that button chat is sus
also why is the request whispered?
I think this may be it?
test with fresh abilities on two starter heroes
As for this, I'm not sure. I'll have to browse through settings if there's another way of having this happen.
This maybe the reason.
You know what, something is wrong with the Daunting Roar, it would seem. For some reason, just adding Fear to a weapon attack makes the advantage work. The roar doesn't. I'll re-do.
Much appreciated, I have no idea how you spotted that π
restart your session test with more traditional things like starter heroes and a basic item transfer
CR may not work with more than one target
Found it...... π€¦π»ββοΈ I had the Roar's action type set to Ability Check, rather than Saving Throw.
As always, thank you for your help.
Can anyone think of an example someone has already made of a feature similar to this one? My Midi-fu is still iffy on reactions to things that might not necessarily happen to the actor with the feature.
When a creature you can see within 30 feet of you makes an ability check, attack roll, or saving throw *with advantage*, you can use your reaction to remove advantage from the roll.
too squirrelly to automate
Maybe you can deconstruct Ancestral Protectors to do what you want
Good shout, from where?
I have one from V9 I think lonelybugbear gave me. Maybe Chris, it was too long ago
Moto, do you know if CPR has it?
I lied, it was neither of them π
You don't create a chat message that shouts out the creator of your macros when used?
/s
Appreciated, thanks
Does anyone know if midi supports overtime effects granting more effects?
How does one yoink out CPR stuff exactly?
More effects like what
Ah, should've specified.
Status effects, basic ones from like CE, or new DAE effects.
Generally speaking most things just need to have my helper functions copied.
Or if you keep the module just change it from an import to calling my helper functions from chrisPremades.helpers
Thanks, I appreciate the info!
You also have to look at the actual script unless I missed something in Chris' module, e.g. opening up the module's folder to have a looksie
https://gitlab.com/tposney/midi-qol#flagsmidi-qolovertime-overtime-effects It do all them things, can even run a macro for you to create a new active effect on the go.
Ah so it is supported! Cool, I'll have to mess around with it a bit, it's not something necessary right now, but definitely for when I design "raid bosses" in the future. ποΈ
flags.midi-qol.OverTime OVERRIDE applyCondition=stunned would be a simple way of just starting right?
Oh they have examples!
@vast bane my brain is a bit fried right now. One of our party just gained Fanatical Focus and Iβm trying to think of the best way to implement the reroll, since we use MTB. Something youβve done? I canβt find a single reference in this server
I feel like the Rage could macro.createItem on the caster like a modified Lucky from the midi samples, but I don't know the syntax for "keep the new roll" vs. "keep highest" which is the big difference
This is a solid start, thanks
I tried dabbling in creating the feature and I got it to work like I wanted once, now it prompts me twice to reroll the saving throw and I dunno why
Here's what I got so far; an item that applies an active effect with this on transfer, the item has charges (since they can only do it 1 per rage and you'll be creating the item on the user), but it only works as expected the 1st time the effect it procced, afterwards it will procc twice for saving throws, once for a specific saving throw (e.g. like Dexterity saving throw) and then for a generic one (just Saving Throw), which does not seem intentional. Will let other people with more experience weigh in on that one. edit: remember to change the label names, I was just lazy for testing
When I say "procc" I mean it will prompt twice, once for the type of whatever saving throw it is and then again for a generic saving throw, but it's the same rolls and the same saving throw.
From a workflow perspective βkeep the new rollβ seems like an easier ask, but Iβm still not sure how it would work in the context of say an AoE where everyone is rolling saves in a MTB card
Yeah, the interaction with MTB is also beyond me, but I guess you could test the Lucky item and see if that works as wanted and go from there
Hello everyone,
im currently trying to build zealot barbarians "divine fury" to be mostly automated. Is there a simple way to just re-apply a expired active effect at the start of every players turn? i know there is "macro repeat", but i try to avoid using full fletched macros, as i no not have proficiency in JavaScript π
I've been looking around with the search function already, but most of the stuff i found is directly doing stuff at the start of turn in whole different ways instead of just applying an effect.
I don't think it's possible without doing a little scripting/"macro"-stuff. Chris has both variants of Divine Fury in their module, if you want a prepared example and already use those modules, but both of those are macros. "Pure" Midi example is Sneak Attack for instance, but that also has a macro. I think build-a-bonus/babonus is the furthest you can get without a macro, but I suspect you need a little scripting to do the "once per turn" thing.
thanks for the hint so far. im just looking at the macro for sneak attack and .. well... i do have quite a bit of scripting knowledge but while i can see the macro is nicely done, thats way more then i need.
the premium would be a simple "am i raging? then apply the effect", as teh damage portion and the expiration is already handled
i already did try around, found that i can find the "am i raging?" part in the actordata, but still failed at the reapplication nether the less
Essentially you need something "on" to check for re-application. In this case, I'd stick it on the Rage, since you already want to check if that's active. How's your Divine Fury Active Effect prepared? Is it on another feature on the barbarian or is it like a DFred's Convenient Effect?
makes sense to stick it to rage.
currently my effect is on an active ability.
i do have Dfred's installed, but not used it on any form intentional yet
The script needs a bit of v10 touch up which while not difficult to do, I cannot do it right now
Oh that is quite old, but should do the trick
Remove the .data. from the getProperty call
uhh. Thats glorious. Changing it for a test, but thanks in advance β€οΈ
Now there are a few things that I would do differently π
if (args[0] == "each" || args[0] == "on") {
const targetActor = game.actors.get(args[1].actorId);
const divineFuryEffect = targetActor.items.getName("Divine Fury").effects.entries().next().value[1];
await targetActor.createEmbeddedDocuments("ActiveEffect", [divineFuryEffect]);
};```
Here's my take, if only because I prefer my players be able to see rather than abstract things away in scripts. Set up the same way as bugbear's with an effect line that runs the macro, checks if you either *just* applied Rage or if you're already raging and it's the start of your turn. Either way, it gets the Active Effect (assumes there's only 1) from your Divine Fury feature and applies it. Needs to have Macro Repeat set to `Start of each turn`.
It took me an embarrassing amount of time to decide on a three line script. >_>
OR => ||
Whoops, don't juggle languages kids
Thatβs the version I gave to Mr Primate π
Weβve been using this and itβs rock solid
What did you do for Fanatical Focus? Iβd forgotten you had a Zealot
It's two messages down from bugbear's link, it's the optional bonusses
Sneaky
The fanatical focus is an optional in the same AE
Does it not?
My barbarian decided to stop the bbg by cleaving through his stuff of power with her dawnbringer
Only a small piece of her remained... π
So I haven't used it recently
I was just wondering, in a group save eg an AoE if the Barb could reroll before damage got applied etc. Iβll test it in the morning
Ah I see hmmm. I am away at my father's home town with limited availability of internet π
So until next week, nothing much I can test
Iβm guessing if itβs optional it gets offered before the result gets sent to MTBπ€
I hope youβre trading internet for some beautiful scenery or something?
Indeed I do! A small village in the Greek countryside π
I know youβre an AR enthusiast, but any reason you didnβt go with the optional bonus route?
I made the rage when they were level 3 and I had no idea how to do anything heh
it'd also be annoying to have a pop up on every save so I tend to avoid them if I can
Makes sense. Thought you might know some pitfalls, thatβs why I came to you first
@uncut citrus
Its most likely rolling straight for the same reason as I told that user in that link to turn attribution on but regardless, having roll attribution on is generally a positive feature to have on for all users of midiqol especially if you fast forward rolls(or be a cool dawg like me and don't fast forward and use advantage reminder)
Hey, that worked. Thank you very much
Whas I right in my guess that you had vision improperly setup and you had advantage/disadvantage countering each other?
Hi there, anyone know if there is a problem with Shillelagh 10.0.17?
I have a Druid with a Quaterstaff and a Club equipped, when I cast it, the drop down menu appears but there is nothing in the drop down menu. π
I have done it with the weapons equipped and not equipped etc.....
All my modules are up to date, I think. π
Exactly
The weapons' base type needs to be either club or quarterstaff
Muchas gracias amigo. π
I have midi set up to check for flanking and to apply a CE "flanked" effect; is it possible to make a creature immune to that?
If you make the flanked a statusEffect, you can then add a condition immunity against it
Sorry, you may need to explain this a bit more. I have the condition set up in CE, midi is what's applying it. I'm not sure what you mean by "make it a statusEffect"?
Right click it in DFreds and make it a statusEffect.
Okay, gotcha; and for the condition immunity, do you just mean typing its name into the custom box for the character sheet condition immunities? Is there a way to do it in an active effect?
Reload and it should be there as an option iirc
It doesn't appear in the condition immunities box:
And what I really need is to do it in an active effect anyway XD
What about special? I might be forgetting a step, but you can add new ones as well
Adding "Flanked" to special does not prevent the effect from being applied.
Documentation on the World Scripter module seems to be nonexistent, not really sure how to use it XD
This is the entire readme, haha
Create a script macro with just that line
Then drag that macro in the World scripter compendium and reload Foundry
Okay, that works! Thank you! Now how do I add it to an active effect XD
Same like the other conditions
Type ci in the DAE key field and it should auto complete
Then in the effect value the flanked should be available
Ahhh, I was trying "condition" and "immunity" and couldn't find anything, I wouldn't have known what ci was. Thank you!
Do you happen to know the difference between the first part of this list and the ones with the dashes in front?
di damage immunity,
ci condition immunity,
dr damage resistance,
DR damage reduction
The minus condition is an AE that removes said immunity etc
Ahhh, gotcha, thanks!
I'm using Chris' amazing Ring of Spell Storing. Most spells are working well from it. but not some of the ones that you apply to yourself, like Mirror Image, Mage Armor or Blur. They expend the use in the ring when you try to use it, but the spell doesn't cast and have an effect. I don't know if I am doing something wrong, or if there is a fix for this.
@scarlet gale would probably be the one to ask
I'll take a look at it when I get a chance.
Could you make an issue for it on my Github so I don't forget?
Yes, how do I find that?
Hey @scarlet gale I actually was curious about your Experimental Elixir for Artificers. The ability allows for a spell slot to be expended to pick one of the elixirs on the table to produce. I was curious if that could be added in potentially for a future release. I may try my hand at tossing menu in allowing for the spell slot usage and then producing the secondary menu with the available elixirs but it'll probably take some time sifting around everything lol.
Something I've wanted to do, but making a menu to expend a spell slot didn't seem worth it at the time when I made it.
But it does make sense to actually have that
Can't blame you with everything else in there lol but alrighty
Make an issue for it as well if you want.
I'm in the middle of my work-week so I don't want to forget about it.
Hey Krig, may I ask what the differences are between doing it this way and via ItemMacro? I always thought ItemMacro was meant to remove the need to create macros outside of items without any drawbacks.
that key basically makes said macro an actor on use, so whenever the actor using something it will try to use that macro if it pertains to it. You can also make a feature that has that AE key on it and then put the macro in the item macro of the feature and then it can be selfcontained. I do precisely this for my evocation wizards lazy sculpt spells actor on use.
Ahhh, that's why. Makes sense now.
ooooh just had an epiphany for another entry in the wiki @violet meadow What are the codes for all the drop downs on actor on use, and the codes for special durations when written in macros?
Like another cheat sheet where it goes After Active Effects=postActiveEffect
There is a console method to get them
isn't it just making an actor with an actor on use that is just console.log(this)?
what about the special duration codes those seem harder to find for me
MidiQOL.MQOnUseOptions
DAE.daeSpecialDurations()
These are really helpful
and I ll throw another special one new MidiQOL.ConfigPanel().render(true) π
Working on a item macro, need the define a distance as being 5 x prof bonus. Wasn't sure how to call to the actors prof bonus, anyone know?
End of the Line is the name of a homebrew life stealing sword of mine π
I love that for you haha
Distance in a macro?
Yeah distance defined for a template
actor.system.attributes.prof * 5
ty!
Follow up to my earlier line of questioning re: flanking immunity; Iβm getting a really weird behavior. If I add the immunity on the character sheet, everything seems to work fine. βFlankedβ can still be added to the character, but itβs forced down to βinactiveβ and its effects donβt apply. However, if the immunity is added via active effect, the flanked condition is still set to inactive, but its effects are applied anyway? It feels very bizarre. Any ideas whatβs going on?
how else would flanked condition be applied if not via an ae?
I'm not sure I understand the question?
The flanked condition is an active effect, yeah, I'm not sure how else it would be applied but that doesn't seem like it should matter π
you said it is inactive but when you do it one way its ok and another its not but you used the term as an active effect
what is the difference in the two ways you applied the active effect
You've misread my question. I'm talking about the immunity.
also what IS the flanked conditions keys?
you are using the custom value in the ae key
you need to use the non DAE auto complete key for your world scripted immunity
I don't understand what that means XD
what is the key on the active effect show it
what does flanked do
Subtracts 2 from AC.
are you sure its not doing it?
sometimes the to hit is weird, it will show it in the check hits area but not on the sheet
if you don't check hits then you got a bigger problem than you realize
When I add the immunity directly to the sheet like image 1, and I apply the "flanked" AE, it gets put in "inactive" as in image 2, with AC of 17.
is their ac normally 19?
I think thats a core bug
its not really 19
err 17
hit them with check hits on
that tooltip on the sheet is always weird with dae
unattuned magic items that mod the ac that aren't attuned, also mod the ac of sheets
When I add the immunity via an AE, it shows up here. The effect is still inactive, but AC is 15.
I'll try this.
this is a bug I've noted to #dnd5e channel and was told its a dae/midi problem, its a superficial error
you can replicate this by dragging ring of protection to an actor but leave it unattuned, but equipped
Nope, the AC is actually 15, a 16 hit.
mouse over and show the tooltip over the ac
0_o log the issue I guess, that ones weird
When I remove the immunity, it looks liek this.
I wonder what that looks like without midi/dae
I guess it can't happen without it
are you using tidy sheet?
Nope.
Don't think so.
I've reloaded Foundry, but I haven't shut the whole server down and restarted it. I'll give that a try.
Nah, full reboot hasn't made a difference :/
is the actor unlinked?
No.
document it the best you can in an issue on midiqol's gitlab, you are likely going to be the only one who knows the bug exists
@rocky jewel
Sources of premade stuff for Midiqol:
Modules:
Midi Sample Items Compendium(comes with the module)
Midi SRD's compendiums
https://foundryvtt.com/packages/midi-srd
Chris' Module form of his macros:(CPR)
https://foundryvtt.com/packages/chris-premades
Dfred's Convenient Effects:
https://foundryvtt.com/packages/dfreds-convenient-effects
w15ps's Module
https://foundryvtt.com/packages/w15ps-srd
Macros:
Mr.Primates premade macros:
https://github.com/MrPrimate/ddb-importer/tree/main/macros
Chris' Premade macros:
https://github.com/chrisk123999/foundry-macros
Wiki:
Activation condition and other useful info:
https://github.com/thatlonelybugbear/FoundryMacros/wiki
I have everything else working it just seems to be some active effect type situations like hexblades curse not being able to get working
Is that in one of these?
Its definitely in Chris Premade Module, not sure about the macro verions if you don't want to install all of CPR
CPR has a ton of dependencies and kinda requires a user to abandon CUB for dfreds ce
Ok ill check it out thanks
I personaly had an issue installing the dependencies during the CPR install and recommend preinstalling some of them as I think theres an issue when THAT many dependencies are called during an install.
Good news is that I can repro it with default conditions too, not just my world script one.
would it be easier to give the attacker a bonus of +2 to hit instead?
For the life of me I can't remember why but there was a nuanced reason to use that over flanked
oh yeah, if you do ac bonus then ranged attackers who have nothing to do with the flanking get the bonus
but some folks like that so that could be the case here
yep, just checking π
Thatβs exactly why Iβm using the AC penalty instead of the attack bonus. This is desired.
would it not work the same?
if you can apply flanked, then during an attack, check for that condition and add +2?
(mainly cause manipulating AC isn't the easiest thing to do on the fly like this, as you have discovered, heh)
Can you do a nested calculation in item descriptions? Like something akin to [[ 5*[[ @smoky smelt]] ]]. Except I know that doesn't work lol
nm dumb over here got it
Hey guys, I'm using this macro by Krig, but when it triggers the retaliation, I get this error in the console. The macro seems to work as it should - except only the fact that a physical dice doesn't roll. Should I care about it?
Hey all, so the flag "flags.midi-qol.DR.all" when used with a "CUSTOM" change mode and a value will decrease the raw amount of damage taken by that amount whenever the one with it takes damage, correct?
And is the opposite true if I put a negative value in place? Will they take more damage as well should I use one?
It's not just AC. There may be a workaround for my particular use-case, with "flanked," but there is still an underlying bug where condition immunity is not being respected if that immunity comes from an active effect (and not being respected in a weird way, where the character sheet says the condition's effect is inactive but the effects are applying anyway). I've tested restrained and blinded, both exhibit the same weird behavior.
yea, that does sound weird
Correct.
Thank you! Is there a flag in midi as well that references certain damage types in this way? For outbound damage?
As in, while the passive effect is on an actor whenever they deal acid damage it will deal "x" additional acid damage?
Hm... I believe that would be macro territory, but I may be wrong. Relatively new to this whole thing.
I know you can add extra acid damage to attacks, but not sure how to restrict it only to attacks that already deal acid damage.
Achievable with Build a bonus I think or a damage bonus macro
Restricted only to attacks of that specific damage type?
Ah, yes BABonus does this.
Iβm not familiar with BAB but from what I know it is pretty customable, otherwise the damage bonus macro can handle it easily by checking the damage details and search for acid damage, if prΓ©sent the return bonus damage otherwise return an empty object {}
Not sure if there are easier ways to do this, but the Build A Bonus module lets you do what you're asking. Here's how you'd set it up.
From the list of filters on the right, you'd select Damage Types and include Acid. In the damage bonus field add the extra damage you want - remember to include damage type in square brackets.
Thank you both! I'll try to build the macro and see if I can put it together and if not, use this module.
Hey, I saw you were doing the same thing I'm currently dealing with and was wondering whether you found/wrote a macro somewhere for the Tale of the Traveler, by any chance? I'm not sure how to make a character retain extra AC while they have temporary health available.
Actually curious how you approached the rest of your tales as well.
Hey, I'd be happy to chat with you about this but I am currently in prep for another game right now. If you want to just send me a DM, I'll flag it to hit you up after I'm all done tonight?
Oh, only if it's not too much to ask! I'll drop you a message now. Much appreciated.
Hey y'all, I'm trying to build a Darkness condition with CE that works for my player's blind fighting style paladin. I want to use the invisible status effect to make the tokens disappear off the map but glow for his See Invisibility sense, but looks like CE+StatusEffect isn't intended behavior. Any suggestions on how to make the tokens disappear for sense but customize the midi flags?
this is what I have currently but the only thing being applied is the StatusEffect
No trouble at all, I just don't want to get caught up in my game tonight and forget to respond lol
this is not rules as written, you can still sense creatures that have not taken the hide action
Also the grant keys work on the attacker not the defender
However I suspect your real issue why it all looks weird is that you have attribution issues:
essentially what attribution is going to tell you is that the target has invisible on(when nothing about darkness does this) and then the attacker has advantage flags on them and they cancel out rolling straight.
Yeah, without getting into macro territory I wasn't sure how to apply blind/invisible status and give my blindsight paladin vision through all that and end up with advantage, so this was my compromise π
yeah so my thinking was ranged attacks couldn't see them in the darkness (disadvantage), but melee attacks would be at advantage a la blinded
usually it's a single enemy and my player's paladin in the bubble so that's what I ended up with
Well the problem is slightly different, the invisible gets set using StatusEffect, which doesn't do anything to Midi flags unlike CE.Invisible. But then the flags aren't applied in one big darkness midi AE
you can't really automate this well, you are making a bunch of bad reads when not all conditions would apply, but also like...do you not have dfreds CE setup? just give everyone the blinded condition and have your blindfighting guy have condition immunity to blinded
the result is tokens that are invisible but no Darkness CE or flags
statusEffect invisible should be dfreds CE's invisible or you are midiqol'ing wrong
are you using cub or something?
Yeah I was trying to not use CE's invisible because it plus CE blinded cancelled out the advantages, but the blinded codition immunity might just work
you are overcomplicating all of this, just have darkness apply blinded condition to everyone and give the blindfighter blinded condition immunity
Well I do still want the invisible condition since people outside the darkness can't see inside, or do I not understand Darkness RAW
also macro.ce is a way to apply ce's but if you have a non ce invisible, that means you do not have dfreds CE replacing your status conditions and thats usually bad
Hey guys, I've got a barbarian with rage, I've got some stuff setup for checking for hits/attacks so it will fall off automagically if the correct conditions are met for how it works, my issue now is that they hit level 3 they chose the zealot path and have divine fury. Is there anyway to apply the additional damage applicable from divine fury on only the first attack per turn?
Yeah that's ultimately what I learned searching around which is why I popped the question, I figured this wasn't the right method
thats why its really awful to automate and I say just plop down a darkness animation
CPR has that feature
yeah fair enough. Was just optimistic there was a way to use foundry's v10 sense to give a cool visual for my player, but alas
o'rly? Had a bunch of override stuff already set guess I missed that
imo foundry's core visibility changres with blinded/invisible is awful and poorly setup in dnd5e. Stealthy is the module to use and I enjoy CPR's setting that shuts off v10 foundry's hiding of tokens.
Sweet, I'll take a look!
Would you mind clarifying what the attribution flag does? Or can i find that in the Midi readme
attribution is a setting that then shows all the flags affecting the workflow, if you look at the second image in my link above when I told you about it, there is an example
the other problem with specialized keys in darkness is that others will get those keys too
best to just blind everyone, immune/exempt the blind fighter and teach them how to override their fast forwards(or be cool like me and don't fast forward hehe)
Yeah exactly, that's what led me to my goofy original implementation
Speaking of which @scarlet gale I made a copy of your Misty Step macro for a player of mine that is a Harengon, they've got Rabbit Hop that functions similar in effect but the distance is 5*prof bonus (hence the question earlier). Worked like a charm though so if you have interest I can toss that over. Fairly niche though I suppose.
Override fast forwards?? Wait I fastforward everything so that'd sounds handy
Mine was just the automated animation preset lol
holdin down alt/shift/ctrl override advantage/normal/disadvantage in fast forward(I don't fast forward I assume those are the right keys by default)
Β―_(γ)_/Β― lol
Ohhhh I see I didn't realize that would override the automation as well.
Yeah we do use Alt/Ctrl
it will even say if you overrode in attribution its pretty cool
I think its like adv: user control or something
Or user bypass
That's awesome, yeah excited to toggle on the attribution cause sometimes we're all staring at a roll wonder wtf happened
yep, I keep meaning to write an issue to get that setting on by default but I suspect that won't help everyone who has midi already installed
Does CE register condition immunities? Seems like it's still applying
Hello all! I've started using MidiQOL and one of my players keeps rolling Eldrich Blast with disadvantage for seemingly no reason. Any clues as to why?
midi does, CE should have a setting to be None, Replace, or add for status markers/conditions in its settings though
Toggle on attribution of advantage and midi will try to tell you #1010273821401555087 message
I think theres going to be a discussion in your future on whether or not that character can race change π
or you forgot to setup their vision
Oh my god.
How funny.
I did not set up their vision. So they were just blind as a bat.
Cool sounds good Iβll take a look in midi. Iβve now set CE to replace, was on none
midi will apply blinded inactive to any creature who has the condition immunity for blinded
Ahhhhh maybe thatβs what I was seeing then
the condition must be literally blinded, not a "custom" with blinded written in
also make sure your blinded is "blinded" and not "blind" though thats only an issue if you don't have dfreds set to replace
on the actor themselves if you see blinded on the first tab as a condition immunity and they aren't immune to it for some reason, more than likely its cause its a written in immunity in custom, typical of bad importers
core v10 blinded modifies the users vision so beware, if you don't like that CPR has a setting that shuts off v10 blinded/invisible
You can also do world scripts if you don't want to install CPR but I already replaced them with CPR and forgot what they were
You can easily do this with midi options flag. You can set each count turn to deal additional damage.
Just curious what that might look like, haven't done a lot with midi yet.
Hey guys, I'm trying to provide a bonus for as long as the character has temp health. What am I doing wrong here?
No can do π
You cannot use that as you wish
In certain flags you can use condition evaluation
But they should result to a simple true/false
You cannot use a condition like if true add 10 to walking for example
I see. So more like "resistance to acid if true" ?
More like advantage to attacks if that is true
system flags do not use conditions evaluation
OK. So I'm guessing automating this would mean entering macro grounds?
Gotcha.
Hmm world script level macro
I don't even know what world scripts are and how they differ from other macros π So I'll leave it at manually removing the effects.
Or if the onUpdateTarget DAE flags work, they could help as well
There was an issue last time I checked
Couldnβt one just have it add 10 and then put something in the duration to end the effect when the temp HP is gone or is there no way to recognize that in the special duration doodads?
Essentially every time the effect's target is updated, you can run a macro. There are filters that you can monitor, so for instance if hp temp is not undefined do this
They can do what you want and there are some examples shared
Read the DAE readme
I'll have a read. Thank you.
But last time I checked in the latest iterations of Midi/DAE there are not working
Always worth a go.
Sorry, one more question, because I'm struggling to understand what they are: the optional.NAME flags. I assume NAME gets replaced? By what?
Unique name you want
Use it if you have several optional bonuses on the same actor to differentiate
It will work without changing it too
Oh, so it just renames the bonus?
It's just a unique identifier which can be whatever you want instead of NAME
It's not something that can be seen by the user
Understood.
As always, thanks for your time.
Where does one "buy you guys a coffee", should he be so inclined?
Hahaha there is a link in my username profile, but no need. Just help others when you can and we call it even π
Since it seems like nobody answered, are you getting a single die roll multiplied by two? If so, I noticed that 2@scale.bard.bardic-inspiration worked as it should - 2 separate dice being rolled.