#MidiQOL
1 messages · Page 58 of 1
Yeah, just trying to recreate a homebrew item
it casts heal and then removes poisoned statis
where is it? I might be blind but I don't see it
If someone doesn't chime in with the args line for you, I am loading in shortly
much appreciated
whats an AR message
can it cure more than one?
Advantage Reminder
idk what that is
but yeah for now its only being used on someone with 1 weapon
so i'll just use as is
Its a module that puts messages in the popouts, most fast forward users would never use the module cause it doesn't do anything for them
I like AR cause when macros cause me nosebleeds and cross eyed, I can just fall back on an AR message
Can the feature cure more than one target?
Oh my GitHub under spells, I do need to export the burst feature for it however
no just one
The GM is great at creature types and if we ask because of special damages he tells us . in this picture it did normal damage plus 2d6 vs a plant
if(game.user.targets.size !== 1 ){
ui.notifications.warn("You must have one token targeted.");
return;
}
const uuid = game.user.targets.values();
@olive harness
I think you can replace your first line with the above, unless someone thinks this is a bad idea.
if it doesn't work then we need to lean on midi's args and I'm hard pressed to think of a premade I have, but I bet you chris or bugbear can write the line in their sleep
ok not sure what you are showing me here, what does the weapon look like in chat when you hit something?
I'll give try, thanks!
I assume you aren't actually using the mace of disruption so did you copy the activation condition perfectly to your new item? what creature type is the bonus damage meant for?
@sacred raptor ⬆️
sorry sent wrong pic
first glance, you have no GM logged in?
im a co gm
Not sure what I'm looking at, are you swinging the mace?
why would it deal bonus damage to a plant?
take whatever your homebrew item is, and add in the other field your bonus damage, and then cut and paste the mace's activaction condition into the homebrew items field, and replace fiend/undead with plant
ok thanks
if the item still hits everything with it, then your DM probably has conflicting modules:
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
did it work with what I gave you?
@vagrant wharf I need to double check my macro for that spell. I don't appear to be doing the mutation of the weapon lol
I can ping you in a few hours with a working one of you want
ok thanks for heads up
ok. Mostly I just end up making either a dummy attack or using that 2d8 weapon damage effect
I'm mostly only concerned for damage reduction purposes but can probably just manually handle it
a way to avoid death at 0 for death ward and half orc would be really cool though
It's nice to have it in the same damage roll for concentration purposes
yeah
I can get you a death ward macro too. It would be pretty similar to every moto posted earlier
Just had one of my players pick up that spell
ok cool
I just gave a death ward macro lol
I missed it
it requires nuanced setup
I honestly don't recall if it interrupts conc, that could be caused by the auto unconscious at 0
Yea, I was gonna double check that
I think 0 hp will still drop concentration
I could go the world script route
That would make sure it doesn't actually hit 0 hp
I already switched to your advice cause you are right, so many times I wished I could have just left conc on
I have too many players with silvery barbs
And automating that isn't something easy
I just reroll the d20 roll manually then undo the damage if it changes the outcome
it will still prompt conc checks right?
Sorry, working from the firehouse and caught a medical
still no working though, i'm sure i'm missing arguments
Is there a damage roll in items formula for requesting save roll?. Like 2d6 [saveSTR>13=half]
Midi handles that for you
actually dnd5e may too
if the item is not an attack roll, then set it as a saving throw
if its an attack AND save, then set the save damage to the other formula
and set the save up and midi should handle it automatically
make sure to set save half/full or whatever in checkboxes for it
So what are you trying to do?
Use an Item with an onUse macro that will delete the poisoned DFredw CE condition from the target?
the macro I gave them works for me shrugs
then again if you wanna midify mine I'd love it
I suspect mine will have permissions problems
If you use DFreds API you will be fine
if(game.user.targets.size !== 1 ){
ui.notifications.warn("You must have one token targeted.");
return;
}
let VALID_EFFECT_LABELS = ["Blinded", "Deafened", "Paralyzed", "Poisoned"];
let [targetedToken] = game.user.targets.values();
let availableValidEffects = targetedToken.actor.effects
.filter(e => VALID_EFFECT_LABELS.includes(e.data.label))
if(availableValidEffects.length < 1){
ui.notifications.warn("No conditions exist on this creature which are removeable by Lesser Restoration.");
return;
}
let dialogButtons = availableValidEffects
.map(e => Object({
label: e.data.label,
callback: () => {e.delete();}
}))
let dialog = new Dialog({
title: "Lesser Resoration Condition Selection",
content: ``,
buttons: dialogButtons
})
dialog.render(true);
Lesser Restoration On Use Item Macro.
I like this method of dialogs better than drop downs
Hmm yeah I just saw what you shared to them. It won't work 😅
Look at all those datas
yeet datas or system datas?
Yeet afaik
Whenever you go for effects label just yeet data
Do you catch the difference @vast bane ?
#1010273821401555087 message
yeah I changed the two datas I saw
const uuid = args[0].targetUuids[0];
const hasEffectApplied = game.dfreds.effectInterface.hasEffectApplied('Poisoned', uuid);
if (hasEffectApplied) await game.dfreds.effectInterface.removeEffect({ effectName: 'Poisoned', uuid });
⬆️ is basically Protection from Poison premade. Atleast the macro portion.
You can change to this so as to not have permission issues: ```js
callback: async () => {await MidiQOL.socket().executeAsGM('removeEffects', {'actorUuid': targetToken.actor.uuid, 'effects': [e.id]});}
Also to go through MidiQOL args, ```js
const targetToken = args[0].targets[0];
or ```js
const [targetToken] = args[0].targets;
The second just to show case the difference. But I wouldn't use it cause at some point you might forget to add the 1 target check and have issues
For a nifty freedom of movement trick, I was thinking since it overrides all other speed debuffs, could I set all of its priorities to 100 and that should cause nothing else to affect the same flags?
Let's put it here too for good measure. Elemental Adept feat for MidiQOL as an Actor on Use, called Before DamageRoll
For Dnd5e version 2.1+
Change the 1st line to the damage Type you want. This will deal with Cold for example.
A DAE Transfer to actor on item equip with flags.midi-qol.onUseMacroName | CUSTOM | ItemMacro,preDamageRoll can apply this as an Actor onUse macro. ```js
const damageType = "cold";
if(!args[0].item.system.damage.parts.map(i=>i[1]).includes(damageType) || !args[0].targets[0].actor.system.traits.dr.value.has(damageType)) return;
if(args[0].macroPass === "preDamageRoll") {
const effectUpdate = {
changes:[{
key: 'system.traits.dr.value',
mode: CONST.ACTIVE_EFFECT_MODES.CUSTOM,
value: -${damageType}
}],
label: Elemental Adept (${damageType}),
icon: "icons/svg/aura.svg",
flags: {dae: { specialDuration: ['isHit']} }
}
await MidiQOL.socket().executeAsGM("createEffects", {actorUuid: args[0].targetUuids[0], effects: [effectUpdate]});
}
Will create an AE on the target for 1Hit removing momentarily the cold dr.
@vagrant wharf Replace this on line 1
https://github.com/chrisk123999/foundry-macros/blob/main/Spells/Holy Weapon/Effect Macro - On Creation.js
let packName = 'world.automated-spells';```
With a compendium key that you use for storing item features. (Such as those used with `macro.createItem`.)
That worked! Thank you!
I am trying to make an effect for our naval combat using the midi overtime flag, but no damage is applied. Am i doing this terribly wrong?
commas, not spaces
ok i'l give it a try thanks
That's a strange error, not really sure how that can happen. Maybe mismatched midi versions to dnd versions?
Which version of Midi should i run for 2.0.3? I thought midi was patched in such a way that it would be backwards compatible?
Tim has mentioned it's untested but tried to make sure it still works
Let me see what version I'm on
As I haven't updated anything yet
I am on 10.0.27 for Midi, there was some weirdness with the pre 2.0.3 update version i was on.
Ok, i will roll back and see if that helps, Just to confirm though, this will apply 3d6 fire damage at the end of the targets turn yes?
im not missing something silly right?
Looks right to me
Thanks for the confirm!~
https://gitlab.com/tposney/midi-qol/-/tree/v10#flagsmidi-qolovertime-overtime-effects
If you aren't already looking at the documentation for it
I had, but i did not notice the commas!
got 90% of the way there.
you kindly shoved me the other 10
hmm?
Issue persists, suppose i will have to live without the feature until all my modules are updated to the latest DND version.
It's a weird error, not sure why it's having any issue with a hook when using an overtime effect
Any other macros at play at the same time?
Yeah, I am sure its some incompatibility introduced with the DND update. alot has just stopped working right as the modules are updated past where we are.
No world scripts, not even sure how to use those at this poiunt
could be a regen conflict though.
Try without that effect going
I did, and it worked fine.
so they are battling each other...interesting.
i can work around it, yall have been gems!
What that one?
The one from MidiQOL sample items?
Does that one work by itself? The regen?
Yes, they work together actually, the fire procs, then the regen.
its all working now, there was a damage immunity on the target.
the error still occurs, but does not impede the functionality of the two effects.
Alright, With regards to my attempts to automate ship fires i am running into the following problem.
I have set this up with an attack which upon striking a ship does two things.
1: Applies a Midi DOT that does 3d10 fire damage at the end of each turn (for the ship).
2: Applies a Midi DOT Active aura to the ship that causes all targets (PC's) within 30 feet to make a save or take 1d4 fire damage at the start of their turn.
This is mostly accomplished without issue, except that the active aura is applied twice to each PC impacted.
There is no CE with a matching name.
I am not running an A-A on this attack as i know that can be an issue with some of this stuff.
I know its not a phantom duplicate as it rolls damage and saves twice each player turn start.
Is there a known issue with AA doing this?
Is there a workaround in macro form (Moto suggested this)
AA: 0.5.3
DAE: 10.0.18
Midi: 10.0.27
DND5E 2.0.3
FoundryV10.291
You can see the fire effect applied to multiple PC's twice
Ship has the effect listed once:
Here it is applying save and damage at player turn start twice:
And here it is in the log applying the Aura twice to multiple PC's
And i have it set to not stack by name.
Likely a timing issue with AA, been told it's known to do that since it has to communicate on each client (?)
At the moment, i am the only person logged on.
though i am the GM, so i am also everyone?
You're on v10 right?
yup
What version of AA?
AA: 0.5.3
DAE: 10.0.18
Midi: 10.0.27
DND5E 2.0.3
FoundryV10.291
I’ve had it reliably apply effects twice when two GMs were logged in. But that was a few versions ago
Yea I've seen multiple gms cause issues with it
I think it's supposed to pick one gm to handle things
Hello there!
Does anyone have time to test a little something before I open an issue on the DAE Git, to see if it's only for me or not.
On a blank world, with only DAE and its dependencies, if I apply for example the Monk to a character sheet, the active effects like "Defense without armor" are applied twice.
Is it for you too?
Nothing serious, just saying to know if it comes from me or not.
(Latest version of everything)
Is there a good way to add a particular MidiQoL Optional flag only when a player uses a particular item/ability, i.e. they get the optional prompt when using that item, but not for all other items/abilities?
Yes and no 😁.
What exactly are you trying to accomplish? I am asking so as to check if there is another way.
If there isn't, you could disable the Optional effect by default, enable it when the correct Item is to be rolled only and disable again afterwards. In a macro that is
@scarlet forum DAE effects duplication issue known for versions > 10.0.15.
Fix in the .19 when that one lands.
https://gitlab.com/tposney/dae/-/issues/365#note_1256172607
Oh, thank you ! 🙂
One of my players can choose to sometimes add additional damage to an attack of his, I figured an Optional Damage flag could be used for this, but I'm not certain how to avoid adding it to their regular attacks as well.
One weapon that can do more damage.
Either a dialog that pops up to add the extra damage or the optional on off I mentioned I would think
I take it that would be an Item Macro no matter which option I chose?
Sharing a Staff of Striking with a Dialog pop up to ask how many charges, 0 to 3, you want to add.
To set it up, create the Staff as an Item with Limited Uses. Item onUse macro called both before item is rolled AND return a damage bonus
The macro itself ```js
// MidiQOL item onUse macro, needs to be called at both "Called before the item is rolled" and "return a damage bonus" triggers.
if (args[0].macroPass === "preItemRoll") {
this.config.consumeUsage = false;
this.config.needsConfiguration = false;
this.options.configureDialog = false;
}
else {
const {item, isCritical} = args[0];
const charges = item.system.uses.value;
if (!charges) return;
const labels = ["None", "One", "Two", "Three"];
const content = <center>How many charges? Available: ${charges}</center>
async function dialogAsync(){
return await new Promise(async (resolve) => {
new Dialog({
title : "Staff of Striking Charges" ,
content,
buttons: Array.fromRange(Math.min(4,Number(charges)+1)).map(i=>({label:labels[i], callback: (html) => {
resolve(i);
}}))
}).render(true);
})
}
let damageDice = await dialogAsync();
if(!damageDice) return {};
await args[0].actor.items.getName(item.name).update({"system.uses.value": charges - damageDice});
if(isCritical) damageDice *= 2;
return {damageRoll: `${damageDice}d6[force]`, flavor: "Striking Damage!"};
}
@odd sable small edit, if you grabbed it before, copy paste again
the dnd5e srd item has both monk and barbarian, it should apply the monk one actively and the barbarian one passively if I recall, though I don't use srd items with midi because they have issues.
Good morning (it is here at least :))
Does anyone have a functioning Faerie Fire Spell? Mine, and all versions I have tried does not seem to select anyone inside the template 😄
there is a functional one in bugbears midi srd
midi srd is a ton of srd premades for items, spells, and features, too many to list, but they are all v9 era stuff, we've all made cooler ones in v10 lately.
I have all v9 stuff, but to find the v10 - I should just post here? I try not to bother this tooooo much 🙂
well faerie fire would definitely be in midi srd, searching this discord can get you a bunch too
My bad - never mind, you gave me a link to a module, I read it as a ".js" macro - sorry
midi srd is actually Kandashi's module but they are on a hiatus during v10 launch so Bugbear updated the manifest so it would work in v10 and has been slowly tweaking a few that were not working with v10 changes.
Is it just Faerie Fire or are none of your templates targeting automatically? You may need to check your midi settings for templates
Just tried another, it is all of them, doing find the culprit now
I use DF Template Enhancements for that, bugbear uses Walled Templates (you can select in midi settings)
I use DF, so I can't use Bugbear's then?
It appears to be a module - cause it works with just Midi on
It shouldn’t matter, that module just grabs the targets. It’s up to date?
If it’s working with DF disabled I wonder if you need to check its settings, or try selecting a different option in midi other than DF
Let midi handle the targeting maybe
I will try, still working through find the culprit lol
Something else could be interfering. I haven’t noticed any issues with DF
Found it 🙂
One of Ripper's
Wasn't there a setting somewhere that removes the template after it is placed?
Midi can remove it when the spell expires. You can hide it with Automated Animations
I will look at both - thank you
A-A has a hide unless hovered setting for templates now
Issue persists for me on 10.0.15 after rollback. let me check some other things.
Now that i have slept 😉
SO yes, Active Aura's continues to duplicate at random on some of the PC's, which is odd as the stack setting is set to never allow more than one of these effects at a time. It appears that an applied aura effect ignores that setting maybe? @calm swallow any thoughts?\
Update your Active Auras
should i also update DAE back to latest from my 10.0.15 rollback?
My AA is already updated to the latest?
Ah, i was on a different branch. lets check now.
my goodness! IT WORKS
Thanks @violet meadow
Is there a way to auto roll init for us DM's? It always pops up the roll with disa. adv options
There is a module that helps with that. Quiet initiative or something like this
Ok, I am trying to program this baby from Dragon Lance:
Precise Strike. Once per turn, when you make a weapon attack roll against a creature, you can cause the attack roll to have advantage. If the attack hits, you roll a d8 and add the number rolled as a bonus to the attack’s damage roll.
I have the "flags.midi-qol.advantage.all" but trying to find the damage bonus
Sharing my hacky Chromatic Orb Macro:
const damage_types = [`acid`, `cold`, `fire`, `lightning`, `poison`, `thunder`];
(async ()=>{
let damage_type = await choose(damage_types, `Choose Damage Type : `);
//Replace the workflow's damage type with selected.
args[0].workflow.item.system.damage.parts[0][1]=damage_type;
//Send message with choice to DM
await ChatMessage.create({
speaker:args[0].actor.id,
content:`Damage Type: ${damage_type}`,
whisper: ChatMessage.getWhisperRecipients("GM"),
type: CONST.CHAT_MESSAGE_TYPES.OOC
})
})();
async function choose(options = [], prompt = ``)
{
let value = await new Promise((resolve) => {
let dialog_options = (options[0] instanceof Array)
? options.map(o => `<option value="${o[0]}">${o[1]}</option>`).join(``)
: options.map(o => `<option value="${o}">${o}</option>`).join(``);
let content = `<form><div class="form-group"><label for="choice">${prompt}</label><select id="choice">${dialog_options}</select></div></form>`;
new Dialog({
content,
buttons : { OK : {label : `OK`, callback : async (html) => { resolve(html.find('#choice').val()); } } }
}).render(true);
});
return value;
}
+No quite working 😦
Ddb importer has a pretty much good one for that spell. It uses the midi workflows to change the damage type.
workflow.setDamageRoll is very useful.
How can I downgrade to midi-qol v.10.0.26 ?
I can't find the link for the previous version
he has a zip repository, but you could probably find it in your backups too
Thanks so much 🙂
some modules do not keep their backup versions beware. This is precisely why I backup everything in the data folder weekly. I just delete all but the first of the weekmonth for anything older than 3 months
quick link is pinned in this thread 🙂
Pardon my ignorance - Where does this get used? I've tried macro fields and other places I guessed could be right but I'm having the Noob blues.
Item Macro on the feature.
That was for a very specific request for a Balm of Peace feature that rolled each heal as it's own damage card.
Yeah - I'm trying to get Balm of peace to work and workgin through Peace Cleric skills
Pretty much to use that macro remove any damage formula you have on your balm of peace and add that as an item macro.
Execute as ?
The player then just targets the other players they walk through and roll the feature.
default setting, after AE should be fine
Got that part - but I'm guessing the second part is filling our On Use Macro?
I found channel by searching Balm of peace and trying to follow instructions. I do use Midi-Qol - although very very new to both it and foundry
If so, find the feature and on the header of it look for the item that looks like a SD card and says "Item Macro" after it. Paste the script into that.
Then at the bottom of the details page on the feature look for a section called "On Use Macros" and press the plus sign. Type in "ItemMacro".
Got it - Perfect. Thanks for being gracious to a new user with basic question.
So how do you imagine this happening?
Each first attack on a round having advantage and then for the relevant damage roll the extra d8?
Or,
every attack "asking" if you want to have advantage when you haven't yet used it on the turn?
Hey I'm Trying make a custom spell and I used Hunter's mark macro from the Midiqol sample item compendium As a base. The only real different is this spell does fire damage and Triggers the extra damage on both Spell attack and weapon attacks. I got the Fire damage part down but I need help changing the macro to Trigger the damage on Spells as well as items. Could anyone help me out?
I assume it mayhave to do with Hooks.on("dnd5e.preUseItem") but I've never messed with hooks before when makeing macros
Hmm what do you mean with "items"?
This should work as an Actor onUse macro as is with all attacks
The stuff with the Hooks on this one, are there to make sure that the spell will trigger a change of Target when the prereq's are met, without expending spell slot or recasting it from scratch, losing the duration left
Okay if I comment the line
If (hookItem !== item) return;
then it works on spells
nvm I don't need to comment that
I am confused on how you are using this.
Can you try as your whole macro just this: ```js
if (args[0].macroPass === "DamageBonus") {
if (actor.flags?.dae?.onUpdateTarget && args[0].hitTargets.length > 0) {
const isMarked = actor.flags.dae.onUpdateTarget.find(flag =>
flag.flagName === "Brand of Hellfire" && flag.sourceTokenUuid === args[0].hitTargetUuids[0]);
if (isMarked) {
let damageType = "fire";
const diceMult = args[0].isCritical ? 2: 1;
return {damageRoll: ${diceMult}d6[${damageType}], flavor: "Hunters Mark Damage"};
}
}
}
@lean holly I think that what you posted in #macro-polo is triggered by a MidiQOL change.
Nowadays the actual workflow is included in the args[0], as args[0].workflow, so you can use that in the MidiQOL.applyTokenDamage()
Thanks! I think the Issue was that I was testing with another Custom spell. That does all of it's Damage rolling in the in the Item Macro so the extra Fire damage wasn't happening.
However I simply edited the Item Macro with const effect = target.actor.effects.find(i => i.data.label === game.i18n.localize("Marked"));
and if the condition it true it adds an extra 1d6 fire damage to the roll
@lean holly Updated macro ```js
if(!["spell"].some(value=>args[0].item.type.includes(value))) return; //if there is anything else that should trigger it, add it here like ["spell","bananas"]
if(!["fire","radiant"].some(value=>args[0].damageDetail.find(i=>i.type.includes(value)))) return; //if not fire or radiant stop
const damageType = args[0].damageDetail.find(i=>(["fire","radiant"].some(value=>args[0].damageDetail.find(i=>i.type.includes(value))))).type; //ugly but works
const extraDamage = args[0].actor.system.abilities.cha.mod;
const dialog = new Promise((resolve, reject) => {
new Dialog({
title: Radiant Soul: You used a ${damageType} damage dealing spell,
content: <p>Choose one of the targeted tokens to deal extra damage</p>,
buttons: {
one: {
icon: '<i class="fas fa-check"></i>',
label: "Confirm",
callback: async () => {
const target = game.user.targets;
await MidiQOL.applyTokenDamage( [{type: ${damageType}, damage: extraDamage}], extraDamage, new Set(target), item, new Set(), {existingDamage: args[0].damageList, workflow: args[0].workflow} );
}
},
two: {
icon: '<i class="fas fa-times"></i>',
label: "Cancel",
callback: () => {resolve(false)}
}
},
default: "two",
close: () => {resolve(false)}
}).render(true);
});
Just keep in mind that the damageType should be lowerCase ```js
const damageType = "fire";
const diceMult = args[0].isCritical ? 2: 1;
return {damageRoll: ${diceMult}d6[${damageType}], flavor: "Hunters Mark Damage"};
is this correct for aid, it doesn't seem to be working right
does things like apply -5 max hp
I have that leftover from some earlier midi qol archive so probably out of date but I don't know what the right one should look like
Looks pretty out of date, it's using a .data so it's from v9.
The macro that goes with it will need updates.
I'd just pull the one from the ddb importer and call it a day.
Im mid session tonight and noticing that this item macro is not adding temp hp like it should, it keeps doing the damage workflow and reporting 0 added:
function checkTrait(type, trait) {
return args[0].hitTargets[0].actor.system.traits[type].value.indexOf(trait) > -1;
}
if (args[0].hitTargets.length != 1) return;
let damage = Math.ceil(args[0].damageTotal / 2);
let hasImmunity = checkTrait('di', 'necrotic');
if (hasImmunity) return;
let hasResistance = checkTrait('dr', 'necrotic');
if (hasResistance) damage = Math.ceil(damage / 2);
if (damage != 0) {
let sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{damage: damage, type: 'healing' }], damage, new Set([sourceToken]), null, null);
}```
This seems to work fine. You are trying to heal a target with full hp already
Change damage type (better) or use the actor.applyTempHP(value) function directly (won’t work from a player client for non owned target actors).
which is that
Thanks bugbear!
Does anyone see anything wrong with this workflow by chance? (Midi) - being used in one of my macros
new MidiQOL.DamageOnlyWorkflow(tactor, ttoken, damageRoll.total, "necrotic", [targetToken], damageRoll, { flavor: `${tactor.name}'s Soul Dagger unleashes ${currentstacks} souls onto ${targetActor.data.name}. (DC: ${DC})<br>${flavor} <p><em>${targetActor.data.name} has taken ${damageRoll.result} HP of damage.</em></p>`, itemData: item?.toObject(), itemCardId: "new", useOther: true });
It does damage but it doesn't show any of the flavor text
I'm having an issue with the Module Times Up and Dynamic Active Effects. I don't use MidiQOL as I am using Ready Set Rolls for my dice roller.
I'm having an issue where effects that expire while in combat are being fully deleted instead of deactivated. I have the option selected in the options to not autodelete effects, but it still seems to be occuring.
The thing is, it's not consistent. Some effects I have don't automatically delete when their duration expires while others do, has anyone had this happen before?
The one that the dnd beyond importer module creates. If you're not using that module you can get the item macros off it's github: https://github.com/MrPrimate/ddb-importer/tree/main/macros
Just know some of them require a specific setup on the item.
oh ok
That's applying regular healing not temphp. You can change 'healing' to 'temphp' if that's the route you're trying to go.
The trait checking function may also want to be double checked. I haven't updated to to the newest dnd system and I've heard traits changed to a set. That function looks like something I made.
so these are a macro or? I never understood why nobody seems to bother putting the most minimal directions on these
can I just plug something like that in after effects??
I dont understand why something like this wouldn't work
If that's from the dnd beyond importer github, there isn't directions because the module sets it up for you normally.
the module doesn't seem to have any either, there's just compendiums
oh well
if its going to be like this I'll just do it manually I suppose and use midi effects to just create a marker for when it expires
What module?
DDB importer, it juct creates empty compendiums
Well yea, you need to run the muncher
Take a look at the readme for the module for help
yeah it just links to the github
With a readme...
yeah, oh well, its not that hard to do manually, just a mild nuisance
there's other modules that just... work... right away
is there a MIDI one for hexblad'es curse though? that one's a little more tedious to do manually
I use the one from crimic
when I roll initiative, the card that asks me whether to roll with advantage or disadvantage does not appear, how do I solve it?
When using flags.midi-qol.optional.Name.count and @fields, is there any way for you to decrement the @field by more than 1? For example, if a Legendary Resistance cost 2 charges instead of 1?
That was just introduced in dnd5e 2.1.0 – what version are you on?
afaik you need a module to not have that adv/disadv dialog appear now
2.0.3
until the situation is stable for Dae and other modules, I will not update😅
same here... you'll just have to hang tight for that popup then
Thanks
DAE was already updated, days ago
I changed to temphp and it still healed too, so I think I have to change the function?
I'm also not on 2.1.x yet
this session was so fucked up. SOMETHING is causing hidden monsters to be hidden from the DM when you combat state them and it was annoying as hell
Also another annoying thing that broke again, was the evocation wizard, yet again, could not target with his templates
I can target just fine, I had him try four times, and when he places the template, nothing gets targetted
I have logged in as him and it works fine that way, I have no idea what is going on now, and its to the point where we just manually target now on every template spell cause they never work for his client and I dunno whats going on.
I'm pretty sure its a user error issue but hes frustrated at this point and it always drags so we just have to live with I guess
Shouldn't need to.
Do you use DF templates?
It was healing them and temphp
like he rolled 16 damage, halved for healing temp, and it would do 8 healing, and 8 temp hp in the same workflow
Does getting temp hp with midi show as a heal technically?
Since your hp value does go up with it I think?
I have a tentative fix to try next week , where I suspect maybe its Automated Animations at fault as the fireball, which has coincidentally been the only spell he casts, has "remove template" on the PARTICLE part of the animation which plays at -400 wait time so it deletes the template very very fast. But yes I use df templates
hmmm maybe I did misread it let me test
Check your "Template Auto-Target tokens" setting in it.
I had to set mine to always to stop players from accidently turning it off
Causing midi template target automation to fail
yep that was it, I had this on in v9, so this setting must have reset during the update due to settings changes like formatting or something thank you
I had the same exact issue as you. I used to have it set to the setting that lets them toggle it, but one player kept messing it up
I also think maybe that remove template thing was an issue too so hopefully both can solve the problem, if it still happens next week, then at this point I'm giving up and he just has to manually target templates lol
It was deleting so fast that I never saw it
fireball in AA is a two part animation and the template removal is on the ray instead of the explosion, and due to just how its setup, the animation that plays with the removal is set to a negative wait time to make things line up
So I took the remove template off and we'll see
I think I have shared a hexblade's curse 🤔
Yep, cheese
Good question, never thought about it 🤔
Pretty sure it's on your github, was just looking through what you had posted
Have you tried with all modules disabled but those ones? If it’s still happening it might be a bug… but if it does work you might need to Find the Culprit to see what is causing the issue. It might even be RSR
take out the itemCardId: "new"
Do you use any concentration automation? Maybe?
More importantly, TimesUP states this
How do you create the effects that are being deleted instead of disabled?
I’m guessing CE if they’re not using midi?
Effective transferral is a good pairing with RSR
Hello, is there a way to trigger an item macro on token movement? I have a feature that checks if two tokens are adjacent to activate an effect on their sheets but I don't know how to trigger said macro
Active Auras could help with that maybe.
What is the effect?
It's a custom feature which grants an AC bonus if a chosen creature is within 5 feet of the feature's owner
v10?
Yes
Yeah Active Auras should be able to do that
How comfortable are you with macros?
Would a -x to attack rolls of all creatures against the feature owner, if the specific creature is 5ft away, do it for you?
I'm kinda new to the actual foundry/midiqol apis but I know js
I suppose that would work
I will be back at my desk in about an hour. Will use Babonus 😉
Hello! I have a question, does anyone know how to apply the Hexblade Curse effects?
Did you go into the link on my username? Has step by step pics for how to set that up.
A step I might be missing though, is going into MidiQOL settings => Workflow settings => Misc and check these 2 boxes
read MP plz
The first one. I think the second one would be awesome, but if they just clicked the ability the asking might be redundant.
So how does this work? Just use the ability and then the next attack will be with advantage?
Cause this just confused me a bit but if they just clicked the ability the asking might be redundant.
I was thinking: would it be possible to automatically register a hook callback on the actors' updateToken when combat starts? So that each time the effect's target or the token to check adjacency moves, the callbacks check if the effect should be active or suspended?
I'm having some troubles un-suspending effects on actors from macros tho
You could do that, but on the other hand that will be so many db transactions enabling and disabling the effect
Whereas Babonus would be able to change the attack rolls synchronously, checking whether some conditions are met or not
will take a stab in a bit
@coral dove You will need to create a Babonus on the actor you want to have better "AC" when the friendly token is adjacent.
Then the babonus would be something like ```js
const friendlyTokenName = "Baelor" //or use any other way to grab the correct token of the other creature than needs to be in distance.
const distance = MidiQOL.getDistance(canvas.scene.tokens.getName(friendlyTokenName), token); //there is another native function probably but for the time being try this.
if (distance <= 5) return true;
else return false;
Then on the outside menu make it an Aura
Thanks a lot, I'll try this!
It doesn't seem to be working.
Attack rolls with targeting do not suffer the penalty
you have a misplaced , instead of getName
The power of babos 😄
Gonna need to expand the script though since this applies to attacks on any target apparently. I added the same effect to the other actor as they get this in tandem when adjacent to each other but an attack targeting either of one gets -2 twice
I just put that together as a proof of concept. Needs more tests probably to limit it properly 🤔
I'll work on it! One thing I can't wrap my head around too well is how to get current targets or selected tokens
targets: game.user.targets
selected tokens: canvas.tokens.controlled if more than one or just plain token for the one inside of macros
If the selected token is the attacker, I'm guessing ''token" in the macro becomes the balor in the example
As it does get the -2 even if the tokens are not adjacent
Not a big deal, I'll try by getting the target token directly from canvas
This finally did it!
Also the native Babonus function for getting the minimum distance is ```js
game.modules.get("babonus").api.getMinimumDistanceBetweenTokens(tokenA, tokenB)
You got it, this is how I pictured it. They want to use the ability. They click it. It gives them advantage, and if they hit it gives them an extra d8 of damage. (If the don't hit then the use is not used up, but we can do that manually) 🙂
Got you. Import this item and check if it works with your MidiQOL workflow settings.
One thing that you will need to make sure, is to NOT have the box shown checked in MidiQOL settings => Workflow settings => Mechanics.
If all work, it should apply the bonuses and only consume a use IF the attach hits
It's a Feat so create such an Item in Foundry to import this
Yeah I plan on trying this in a clean world just to see if it's some other module that's causing a conflict.
Hm...that's a good question. From what I understand, there are 3 methods that i've tried.
Method 1. I create an effect on the item itself and have it transfer the effect to the actor. When I use this method, the effect does not delete and instead is disabled which is what I want.
Method 2. I create an effect from the effects tab on the sheet. When I create an effect via this method, the effect is deleted when the duration ends.
Method 3. I drag an effect from another sheet onto the current one. This also results in the effect being deleted which is strange since it never used to do this before.
I have DnD 5e 2.0.3
Time's Up 10.0.3
DAE 10.0.17
@grizzled garnet From what you mentioned, I think that everything works as intended then 🤔
But the thing is, I have a character who has an effect I dragged from another sheet and for whatever reason it doesn't delete when the duration expires. All i know is that RSR isn't the cause of this since this is occurring even without that module active.
Worked freaking perfectly ❤️
It was nice to see I had the DAE right, but that macro, no clue lol
So I managed to stumble my way upon this series of assistance given by Moto (#1010273821401555087 message) - And when I tried to apply that just now (Yes I am still on V9 of Foundry) it ALMOST worked and I was hoping someone could clarify for me why the Searing Smite does 0 damage? I have copy-pasted the full script and made sure to have created an identical convenient effect to the one shown in these posts (Besides the Icon that is)
What's the entry on the DAE after it's created for the @item.level? Does it change to a number?
Also, I think that there is no need for the extra flags in the DAE. Make it flags.dnd5e.DamageBonusMacro | Custom | ItemMacro @item.level and get inside the macro the spellLevel as args[1]
I see that there is a DF "Protection from Evil and Good" but can midi handle the
protected against certain types of creatures: aberrations, celestials, elementals, fey, fiends, and undead.
?
So I am rather technologically inept so pardon if I come off as an absolute monkey here but:
Regarding your first line: Is the DAE suppose to like automatically change / update something after it's been saved / applied to a character? Since when I cast Searing Smite and the effect applied to the player; it still looks like in the image I link (When checking the effect active on the player)
Regarding the second line - Where excactly am I placing that args[1] line? I suppose it's suppose to be around return{damageRoll: `${spellLevel}d6[fire]`, flavor: "Searing Smite"} somewhere but do I like replace something for it or add it in somewhere?
Does someone have a functioning HEX spell? Mine lowers the ability score, but I can't figure out how to get the +1d6 dam - if there is a way
I have one setup info here: #1010273821401555087 message
Macros available here:
https://github.com/chrisk123999/foundry-macros/tree/main/Spells/Hex
Requires warpgate and effect macros if you don't already have those modules.
Ok, I have the 3 in there now... and the effect macro goes in the DF?
In Midi QOL -> Workflow Settings -> Workflow, there is a setting Roll Other damage formula for rwak/mwak that can be set to 'Activated Condition' or 'if Save present'. My problem is that different times I need both(magic item that does bonus damage against specific creature subtype; attacks that do extra damage based on a save after hit). Is there a way to do this?
Don't use CE for the effect. Use the DAE button on the spell to create the effect
I am trying to get the "For the macro.createItem part you'll want to drag the move hex feature out of a compendium or your sidebar into the effect value field to get the correct uuid" part
So you need a feature for moving the hex essentially
and where your 'effect macro' is going to go
OH - wow you thought of everything
I was just going to make them recast it
Let me screenshot it
may be easier to explain
Then have another featured called something like "Hex - Move" or whatever you want and put it in a safe player accessible compendium, or in your item sidebar if you really want.
And have that one use the Chris-HexMove macro.
OMG I was blind 🙂
To get the id - can I drag it off the pc, or should I create it first in the items?
You want the feature to be in your item directory on in a compendium
So not from on a pc
I would put it in a compendium, harder to accidently delete that way
Also make sure the DAE effect is set to "Apply to self when item applies target effects"
For Hex
Ok, the Hex move has nothing but the effect macro right?
hex move has the item macro
the original hex has the effect macro
Complete set of screenshots, hopefully this clears it up
The 'hex' that DAE calls, does it have to be the same one as above, or any one?
The name of the feature won't matter
Just needs to have the correct uuid in the macro.createItem value field.
For the curse and the extra damage it is running perfectly. which is most important for me. After I killed the dummy, nothing happened, and I am ok with that, but I feel you did a ton of work to move it, so I feel I should utilize it 🙂
Go to your features tab on the actor that cast hex
you should see a new feature that you click to move the hex to a new target
Assuming the macro.createItem thing was setup right
If you use tidy, I find it's useful to move the hex move feature into a player character sheet, favorite it, then move it back out to the sidebar or compendium.
That way it's auto favorited when macro.CreateItem drops it on the sheet.
Should I use that item as the uuid?
Ok
Literally drag the whole item into the dae dialog for hex here:
I think I had the wrong item linked
Delete the one on the actor
it was, damn it
Also
Your top one needs the add changed to overwrite
Sharing stuff with macro.createItem isn't easy.
I might just go back to using warpgate for stuff like this. No post-install fixes.
🙂
At any rate, that get it to work?
It isn't creating it on my sheet - but I took way too much of your time already
I can show you in PM
(video)
So me just casually dropping back here with my searing smite issue as I may have killed thatlonelybugbear with how inept I am at this.
I tried to copy the things Moto said up here: (#1010273821401555087 message - But when I attack with a actor it shows 0 fire damage. In the section where it says "flags.midi-qol.brandingSmite.level" and @item.level. If I change that @item.level to just say "5" it suddenly rolls 5d6's of Fire Damage. Yet I still have no clue why it wont just roll properly when it says @item.level
Is something off with Midi concentration atm? Getting prompted twice and not seeing modifiers added to it.
Hmmm try quickly @spellLevel instead of @item.level but I now don't remember many things of v9 to know if there were any quirks
I think sometimes you have to wrap it in [[]] in v9
That still leads to this being the result
And wrap what? I am still so short with technical terms that I do no automatically know what it is that I need to wrap in it
Also I was told to relay this from a buddy of mine who does coding for a job who has had a blast making me edit the macro a bit for a short while now:
"When I used ChatMessage.create to show " actor.data.flags["midi-qol"].brandingSmite.level " it just said @item.level. Not a number, does that matter?
But doing the same for branding smite said 2"
[[@spellLevel]] or [[@item.level]]
Delete the second entry from this.
Change the 1st entry to flags.dnd5e.DamageBonusMacro | Custom | ItemMacro @item.level
Change the macro line js const spellLevel = actor.data.flags["midi-qol"].brandingSmite.level; to ```js
const spellLevel = args[1];
nevermind on the inline rolls then
When the effect is created on the actor, check if the flags.dnd5e.DamageBonusMacro | Custom | ItemMacro @item.level has changed to something like
flags.dnd5e.DamageBonusMacro | Custom | ItemMacro 2 where 2 would be the relevant spell slot you used
it should only change when it applies I believe, if you edit the feature it will say the code instead
Yeah when applied
Adding the [[]] on each side made it change from 0fire to 0d6 at least
I'll try what you said bellow that now bugbear
yeah that was bad suggestion cause I never lookied up what you were making
there are some times where a [[]] solves this but not your case
Hmm something probably isn't being picked up in that version if it returns 0 🤔
I'm trying to implement a feature that consume spell slots. I manage to get the chosen level spell slots through a dialog but I don't get how to update the value of remaining slots
share what you have?
is your searing smite using a CE?
or is it directly on the spell?
Doing that made it lose track of the Fire damage entierly
Looking for help where I keep getting Midi-QOL error "You must roll the attack before rolling the damage" even though it looks to me like attack checking is off.
Does anyone know the exact setting and which page it is on so I can make sure I'm not missing it? Thank you!
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things..
Yes
I think that is your problem
Hmmm. I don't have any of those modules
I think this is a known issue but also you are on a very old build so it probably was before castData?
This is the dialog callback
As a Temp, Passive or Inactive effect?
if it has a duration, its temporary
I was getting the actor straight from the token but the value wouldn't decrease anyway
Also pro tip in all of midi, never choose "suspended" checkbox or an inactive effect, midi does not like that at all. it uses it for something else.
show the attack workflow in chat
This stuff? Thanks for looking at this issue with me.
why are you neutering midi damage?
to me, this looks like a user using another roller and turning off midi...
You will need to update the actor after you finish what you're doing. ```js
.
<[#1010273821401555087 message](/guild/170995199584108546/channel/1010273821401555087/)>
ps: double check whether what I am writing above makes sense or not 😄
Alright now it works - Thanks so much to you and thatlonelybugbear! And sorry again for being someone who is hard to work with regarding these issues as my technical language and knowledge is near rock bottom
nah you good, troubleshootin is fun
just from how abnormal your settings are, I want to assume that its probably just really strange midi settings causing your issue
maybe with check hits off and damage roll needed set it causes that error I dunno. Is there a reason why you are completely throwing out automation for damage?
you can still have midi calculate DI/DV/DR and not auto apply
the automatic damage is a singular drop down the rest is all fun bells and whistles worth using
@coral dove you might need to duplicate the spells slot array and then change and update. I am too tired to think clearly now "D
This is the only setting you have turn to manual if you don't want automated damage, everything else you should leave on cause it only helps the DM manage things better and can cause other things to not work in midi.
Thank you, I'm trying to do some updating operations to see if it works
when do you see the error?
Wish the foundry api docs were clearer, as usual
So thanks to what you two helped me solve now I kinda am having a bit of a crisis moment asking myself why I have gone ahead and downloaded Convenient Effects and used that to set up a bunch of effects (Like a Monster attack applying grapple if it lands) - When I apparently all along could just have done that by editing the bite attack itself on the monster...
whenever I try to roll just damage without needing to roll attack first
CE is useful for other parts of our automation setups
do not get rid of it, it is priceless for stuff we make
DFreds CE is a good way to get the conditions with MidiQOL going and finding out how to set them up
honestly that issue you came up with is a thing we really should fix with dfreds
I am making something for condition automation without DFreds
theres something about the way dfreds interacts where it doesn't always carry over the castData in v10
yeah the metaData that MidiQOL offers are not getting picked up by DFreds
I think midi does all of the castData
Well yeah it is in junction with MidiQOL automation I have mainly used Convenient Effects with it's flags to set up things so I don't need to hammer 40 buttons but can just click one
its the easiest function I think to apply a ce for us cause bugbear and Chris use it a ton in their macros and its simple to cut and past for someone like me
another reason why I like dfreds is cause you can make a dialog really easy with it
Do expect me to return in the near future when my Paladin player starts using other Smites as even tho I now kinda realized what I had missunderstood here; I'm sure I'll break Thunderous, Wrathful and Acidic smite when the time comes
const effectNames = ["Consider - Red", "Consider - Yellow", "Consider - White", "Consider - Blue", "Consider - Green"];
const options = effectNames.reduce((acc,e) => acc += `<option value="${e}">${e}</option>`,``);
const content = `<form><div class="form-group"><label>Loadout:</label><div class="form-fields"><select name="loadout-option">${options}</select></div></div></form>`;
const choice = await Dialog.prompt({
title: "Select",
content,
callback: (html) => html.find("[name=loadout-option]").val(),
rejectClose: true
});
if(!choice) return;
game.dfreds.effectInterface.toggleEffect(choice);
one of the smites is in midi sample items
Aye the Branding one, that one is being used and works atm
Hmmm, ya. I'm not sure. I remember being able to roll for damage previously without having to roll attack first.
And I'm not sure of the answers to your other questions. I don't know what it means to neuter midi damage.
Its because that one worked and was in the sample items that I began digging for the Searing Smite function and found your message helping someone else from a while back
you aren't using midi automation really at all there
the only thing you are using in the workflow is removal of the buttons
probably maybe fast forward too?
let spellsLevels = duplicate(actor.system.spells)
spellsLevels[`spell${level}`].value -= 1;
await actor.update({"system.spells":spellsLevels})
fwiw, I can roll damage on anything in my chat history so it shouldn't give you that error
what is this set to?
Ultimately I think your issue is just abnormal settings choices, theres so many bells and whistles you are bound to find a breakage with turning off so much of midi.
@violet meadow Is there any serious issue with the newest dnd5e and midi/dae?
I have to update because inventory+ has a minimum requirement of 2.1 now
DAE has an issue with duplicating effects to be fixed with .19 when it drops.
Some remaining stuff with the changes maybe, but works pretty much OK. I imagine there will be an update soon enough
This worked too but it's wordier
const spellslot = actor.system.spells[chosenSlots];
spellslot.value -= 1;
await actor.update({
'system.spells': {
...actor.system.spells,
[chosenSlots]: spellslot
}
}); ```
is it the ghost effects duplication where they aren't really there?
nope it's straight up doubled up
other thing I'm hoping 2.1 does is it strips the bloat on my 5 player characters that causes the lock delay in tidy, which I think is the result of their sheets being old and having tons of unnecessary flags on them.
You suggest replacing applyTokenDamage in my macro with actor.applyTempHP in the last line?
function checkTrait(type, trait) {
return args[0].hitTargets[0].actor.system.traits[type].value.indexOf(trait) > -1;
}
if (args[0].hitTargets.length != 1) return;
let damage = Math.ceil(args[0].damageTotal / 2);
let hasImmunity = checkTrait('di', 'necrotic');
if (hasImmunity) return;
let hasResistance = checkTrait('dr', 'necrotic');
if (hasResistance) damage = Math.ceil(damage / 2);
if (damage != 0) {
let sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{damage: damage, type: 'temphp' }], damage, new Set([sourceToken]), null, null);
}
The current problem is that it heals them if they are not max health for some reason with this macro.
Nope if you need to affect non-owned tokens
As a GM only, then yes
its affecting owned tokens yes
its targetting a bad guy dealing normal damage, and then taking that number and halving it and adding temp hp to self
however NEVERMIND, its just weirdly working
this is rather confusing to explain to players:
but it is actually working
(Its rounding up for some reason)
math ceil does that
oh ceil should be floor I bet
Can I get an ItemMacro's item from its script?
I have to edit the item's active effect value depending on user input on a dialog
what do you use in midi to justify installing it? everything you've shown has midi shut off
I don't recall changing much since adding it to the server. I turned off target needing to be in range, but the issue I'm dealing with was happening before I found that setting to turn off.
you could probably use a smaller module if you trully do not want all the automation if all you need is fast forward/auto roll
and I'm assuming fast forward/auto roll as you could very well have those off too lol
that's a good question.
I don't even use the fast forward / auto rolls.
I think there are some quality of life things that it does, like adding att/dam buttons to inventory and dealing with crits better
are you sure you do not have better rolls/rsr installed?
midi does not add a damage roll in inventory
it does
Is it a macro executed via MidiQOL?
You can find then the item via
const item = args[0].item;
or via the workflow with either const item = this.item
or ```js
const {workflow} = args[0];
const item = workflow.item
If you want to update it might be better to get the actual Item on the actor. ```js
const item = actor.items.getName(args[0].item.name) //or getName(this.item.name)
Neither seem to be working. I'm testing it from the itemMacro dialog execute button
Nope. You need to use it as a MidiQOL macro onUse
that's correct. I just double checked
Ok great, that will probably be a nice tidbit of knowledge to have ahahah
I can't replicate your issue but my settings are completely opposite of yours so my original diagnosis stands, you probably have so radically different settings that somethings bound to fail.
Why is this cantrip saving for half?
const version = "10.0.10";
try {
if (args[0].macroPass === "preDamageRoll") {
const target = await fromUuid(args[0].targetUuids[0]);
const needsD12 = target.actor.system.attributes.hp.value < target.actor.system.attributes.hp.max;
const theItem = await fromUuid(args[0].uuid);
let formula = theItem.system.damage.parts[0][0];
let scalingFormula = theItem.system.scaling.formula;
if (needsD12) {
formula = formula.replace("d8", "d12");
if (scalingFormula) scalingFormula = scalingFormula.replace("d8", "d12");
}
else {
formula = formula.replace("d12", "d8");
if (scalingFormula) scalingFormula = scalingFormula.replace("d12", "d8");
}
theItem.system.scaling.formula = scalingFormula;
theItem.system.damage.parts[0][0] = formula;
}
} catch (err) {
console.error(`${args[0].itemData.name} - Toll The Dead ${version}`, err);
}
Thanks for your thoughts and questions.
Maybe I'll try removing the module and seeing if I can survive without it.
It didn't have this issue in v9 btw... I've been playing with it for almost a year and it's just since updating to v10 that it's not allowing me to roll damage without rolling attack first.
Strange to me that asking a module to do less makes it malfunction, but I'm sure it's a complex issue
I was under the impression that I didn't need to check No Dam Save for cantrips in midi?
do I really need to go to all of my cantrips and change this now?
can anyone confirm that this is not really what has to be done to get cantrips to save or suck again?
For Comparison here is Sacred Flame:
Why is Toll the Dead working differently, it must be something in the Item Macro?
If we really have to check the No Dam Save for toll the dead, it probably should be set that way in midi sample items.
Try duplicating the effect, making the changes and updating the item document afterwards
More on this in #macro-polo if you ask around 😉
Double embedded documents new error is that one?! Nice
async function wait(ms) { return new Promise(resolve => { setTimeout(resolve, ms); }); }
const lastArg = args[args.length - 1];
if (lastArg.failedSaves.length === 0) return {};
let actorD = game.actors.get(lastArg.actor._id);
let tokenD = canvas.tokens.get(lastArg.tokenId);
let target = canvas.tokens.get(lastArg.hitTargets[0].id);
let healingType = "tempHealing";
let damageTotal = Math.floor(lastArg.damageTotal / 1);
let damageRoll = new Roll(`${damageTotal}`).evaluate({ async: false });
new MidiQOL.DamageOnlyWorkflow(actorD, tokenD, damageRoll.total, healingType, [tokenD], damageRoll, { flavor: `(${CONFIG.DND5E.healingTypes[healingType]})`, itemCardId: lastArg.itemCardId, damageList: lastArg.damageList });
let targetList = `<div class=\"midi-qol-flex-container\"><div class=\"midi-qol-target-npc midi-qol-target-name\" id=\"${target.id}\">hits ${target.name}</div><div><img src=\"${target.data.img}\" width=\"30\" height=\"30\" style=\"border:0px\"></div></div><div class=\"midi-qol-flex-container\"><div class=\"midi-qol-target-npc midi-qol-target-name\" id=\"${tokenD.id}\">heals ${tokenD.name}</div><div><img src=\"${tokenD.data.img}\" width=\"30\" height=\"30\" style=\"border:0px\"></div></div>`;
await wait(500);
const chatMessage = await game.messages.get(args[0].itemCardId);
let content = await duplicate(chatMessage.data.content);
const searchString = /<div class=\"midi-qol-hits-display\">[\\s\\S]*<div class=\"end-midi-qol-hits-display\">/g;
const replaceString = `<div class=\"midi-qol-hits-display\"><div class=\"end-midi-qol-hits-display\">${targetList}`;
content = await content.replace(searchString, replaceString);
await chatMessage.update({ content: content });
await ui.chat.scrollBottom();```
How would I format temporary healing for this?
I just tested Vicious Mockery and that seems to work fine – no fiddling required and no itemMacro
test the midi sample item it seems to require the checkbox
Toll the Dead
the what now?
temphp
What are you trying to do there? I feel like there has to be an easier way then replacing strings.
Perfect!
Mr Primate's version is better btw, it rolls the save first and doesn't even roll damage at all if it succeeds the save
What does After Active Effects mean on ItemMacro activation?
Means the macro will run after the workflow has finished applying any active effects your item has.
I can't use that then, cause I have a thing about not confusing my players, all the things must behave the same, so it'd be weird if his sacred flame did it one way and toll the other
AKA, when everything else is done
I don't get how to apply the active effect automatically from item to actor then
Shouldn't those two checks apply the effect as a I roll the item?
you definitely don't want both checked
If so, it won't do that until you hit the buttons clicked in chat
the top one is for when the item successfully applies effect to target, the bottom one says fuck it, and applies it anyway if the item is rolled
not all effects auto transfer, sometimes you have an effect that only goes if the target fails a save
thats when that top checkbox you checked shines
so typically, if you have the bottom checkd, theres no point in checking that other one
I understand. It's a shame they don't all work this way... feels weird rolling damage pointlessly
I can check the bottom one alone but it still refuses to apply a temporary effect to the item holder
wht is the item details of the item rolling and is the effect a dfreds CE?
is there another active effect with a different setting on the item?
I know there was a bug on earlier builds where that would cause dae to follow the older ae
target/range is none/none why?
pretty sure this basically makes the item not do anything
if it is a self/self item, make it self/self and check no boxes in the first tab
also at this point, it might be wise to share what the item is
Still won't work, even as a self/self item
did you leave the checkbox checked
It's a custom class feature, asks for a spellslot to burn and give bonus to atk and dmg rolls for a turn
you want self/self in range/target and no boxes checked in thefirst tab of the ae
Fuck me, I hate that it doesn't save some edits if you change tabs in an item window
make sure you are editing the actual item you roll
Still nothing
just to clarify why you don't want either of those checkboxes, those are for situations like when a weapon self buffs when it hits, or when the target fails the save and applies a target ae too
if you want a self buff, set it up how I just instructed
also if this item works for many people, you may want to consider making it a dfreds CE instead
It's just for a character using the homebrew class
I really do think there is a rogue tooltip bug from something in midi's wheelhouse cause so many of us are showcasing this bug and its really annoying, is it actually midi or is it something dnd5e/foundry has done?
its such an annoying visual glitch isn't it?
Yeah it's pretty annoying 😅
to remove them, mouse over a scene tool, as they reset the state of tooltips
are you all set now with the self roll?
Nope it still refuses to work so I don't get what's going on
Could it be another module fucking stuff up? No BR or RSR is installed
what does it look like in chat
you don't have a target or you have weird midi settings
(or a roller conflicting)
hang on let me rephrase that
You don't have a token on the scene, or you have weird midi settings, or a roller conflict
yeah you aren't auto applying right?
Yep
its the one above the CE setting
yeah what got me when I started was I wasn't use to the concept that foundry calls everything an item
and thats what tim is using in that settings description
Great, it works with the dialog too
Well, items, spells, and features are all items on the actor object
Thanks a lot for the help!
Yeah I was just saying that since new people don't really get the nuts and bolts of things we just see an item as an item in dnd5e not realizing that foundry is more generic than that
Hey all, more of a Warpgate question than Midi, but any ideas how to have my active effects updates apply to a preexisting active effect, instead of making a brand new one? I've tried to name the active effect in updates to the same name as the effect already on the actor, but it just creates a brand new effect with the same name
Need to do it this way because my Concentration effect is not tied to the newly made mutation effect
unless someone knows of a way to do that instead
Set the origin of the effect to the uuid of the spell that was rolled
Hm, I'm sure that's helping, but the issue seems to be that it's creating a new active effect when the active effect is deleted. So it works the first time, but then recreates the new effect as its turning off, messing up all subsequent calls
For what it's worth, the ddb importer has a good enlarge/ reduce macro.
Usees ATL to handle the token size
Not at my PC to look at your macro, but I can look later if you haven't figured it out by then
I'd appreciate the look over. My issue seems to be the active effect being recreated after its deletion. I've no idea why
what the macro currently looks like
hmm, concentration automation isn't working .3.
gimme a sec
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
Do you have concentration notifier or Combat Utility belt installed?
is cub set to manage concentration?
nnope
what about concentration is not working?
it simply doesn't apply
I roll a concentration spell and the token doesn't get the thingie
show me the details of the item that is not applying concentration?
humor me
show me one
this could be a case of bad importers
the roll20 one is notorious for this
it's an item made in foundry ;3;
show me the item details?
I don't think it needs the botom checkmark and might be the issue
it might be som esort of double positives toggling off
OH
wait no, is your cub managing enhanced conditions?
yeh!
is dfreds CE installed?
Dfreds Convenient Effects
nope
oh
only Dfreds droppables
I dunno then, its probably a conflict with cub/midi but /shrug. Most of us use dfreds CE instead of cub
midi has better synergy with dfreds ce
oh, I can switch if it lets me do condition effects
I barely use CUB for anything anymore
it will require some setup an dyou don't have to uninstall cub, you just have to turn off enhanced conditions, or delete all of cubs overlapping duplicates with dfreds
honestly no module handles name spoiling right, I gave up on that feature long ago
dfreds CE and Monks tokenbar spoil names and nothing can stop it unless those mod authors offer to utilize anonymous or cub
blerb
the request windows in MTB spoil names and if you set the messages status to player level, the messages when ce's apply spoil names
ok gonna install CE
should turning off Enhanced Conditions fix the concentration issue?
I get around the CE spoiler by just making dfreds messages DM only, and revealing useful ones to the players manually
before you install ce
just disable cub and see if it starts working
then the answer is yes
It could also be the double checkmarks on the item for concentration
reverting the mutation is what's cause the active effect to be remade, no idea why though
the only thing I rlly use from CUB is temporary combatants
super useful
disabled CUB and it still isn't working :c
did you toggle off the bottom concentration checkbox and try?
ye
also are you testing with a linked actor when you change settings? cause you could be editing the sidebar actors items and not updating the canvas actor
ok then the only thing left here, is you are gonna have to share your module list to see if theres a conflict you aren't seeing, I'd suggest sharing it in a dm with me
okie
I just deleted a big CE by accident, is there any way to recover?
Assuming it is, or in a file, and not backed up in a compendium, server, or somewhere else in your computer. Deleted usually means deleted.
So fyi, something that has been annoying as hell, is trying to fix all of my active auras templates. I have now sussed out the various things that are always missing in them:
some premades do not have these set and do not work right, I'm thinkin midi srd possibly is the cause but either way right now this silence spell works perfectly for me when I have these 3 things set right
you have to false the activation condition so that midi does not transfer efffects
cause you want active auras doing that
Man Active Auras stresses me out. Thankfully we don’t need any in our new campaign, but it’s only a matter of time
I haven't been having that issue
you make your own hehe, I think my issue is that the midi items are not updated, just the midi files on updates, so the item is like 8 months old til I catch the bug and fix it
actually, the problem is that Silence is not a premade in midi
the only premade I have, is the premade in active auras, and that is why theres no false for midi
I had assumed I had yoinked this out of midi srd, but there is none there, its only in this:
its automating immunity to thunder damage
Hello everyone. I found thatlonelybugbears macro for Protection fron Evil and Good but I'm not sure how to set it up exactly.
I'm not sure if I'm using his or my own
mine appears to be entirely an Effect macro
The last flag is an advantage reminder module flag
Awesome Moto! You're worth your weight in gold!
I don't know for sure if I'm using his or another users version but the effect macros kinda look like his lol
lol. Well I'll give it a shot
oh hey. Is it this one? <#1010273821401555087 message>
That should just be imported as an Item (spell in this case)
yep looks like that is what I'm using
Yeah it's that one
I just added the message flag since I had ar
I have a worldscript version if you want something more automated
Sure. That would be cool.
I usually would take anything but I gotta get away from foundry for a bit going cross eyed with world building atm
world script, not an item macro
So you'll need something like world scripter module or know how to setup a world script
World scripter module is easier IMO
Yeah I'm installing world scripter now.
the biggest benefit of worldscripter is that it disables when FTC is running so it can in a way show you if a worldscript is at fault
Nice
the catch is that some things can't be put in it since there are some worldscripts that need to hook very very early in initialization but I never rmember what those hooks are
I highly doubt chris' hook is one of those cause its usually a setup hook or something
Nothing I ever do would need that
I mostly just work with midi hooks and those don't need to be run early
Potion of Growth seems to have serious issues from Midi SRD and I cannot figure out the problem, I already tried swapping out datas but I think theres worse things going on:
When I edited what you said in #macro-polo @violet meadow this is the new error
I think maybe since this item is basically just doing enlarge/reduce, should I just drag and drop the dfreds CE in the ae and call it a day instead?
its one of midi srd's items that isn't setup as macro that is stored in the modules files, its actually on the item instead
you can't drag and drop the nesteds onto items apparently
can you ping me if you manage to get Potion of Growth workin again. I kinda hit a wall with dfreds since I can't just drag and drop it, I was gonna do a macro but if you are working on it then I'll just use what you get when you finish it.
Here ya go
Mr. Primate seems to have a Enlarge Reduce macro in his repo fwiw
the effect appears on the actor with 0 seconds
I advanced the time outside combat and it seems to not care about that.
I advanced the time in combat rounds and it goes negative but seems to not matter, just pointing out the weirdness is all
Trying to setup a one-attack Assassinate modifier but doesn't get applied. Am I using the wrong flags?
Its functional enough for me regardless
Fix the duration 😄
Put 1 in the Effect Value fields
I should have known better, cause thats literally what I have been doing to them tonight already this was just the first one that had a macro that wasn't working lol
Doesn't seem to fix that
you could have issues with either an unlinked actor, or the really wonky editing of an owned item
Do you apply it on the target or the source?
Item is self/self, didn't check other boxes so it gets applied on the actor
Make sure the actor got the updated ae, if its a bug with editing owned items, you'll see 2 effects in his effect tab
or on the item
yeet the grants
oh yeah, if its a assasin rogue subclass, you are giving the opponent advantage there
When using grants flags, the actor with that effect on will be "granting" others what the flag says 😄
I wonder if you could automate that with an equation if the targets turn is still 0
then you wouldn't have to roll it
Ok thanks!
If I'm remembering the feature right
Actor onUse macro could do that
Checking you turn against the target's and applying advantage automatically (and critical damage)
and point the actor on use to itemmacro.assasinate right?
yes
Advantage works, still issues with critical dmg but I'll try the macro thing out then
lets make sure the feature is what I recall lol
Yeye, you get advantage and autocrit if a target hasn't acted yet
It is. On the screenshot
Hey, my eyes are crosseyed from reading descriptions for the last 3 hours lol
I'm making magic item shops lol
I'm confused by this
If you care to share... 🐻
you can point it to an item macro instead of a folder macro I believe to make it simpler to save
honestly I just throw it in the folder macros, its like the messiest place in my world
But I dunno how to write that macro hehe
I thought maybe the active effects could have evaluations in them instead of 1's is what my point was
I don't know how to apply advantage or critical damage from a macro 😅
Guess I'll leave the onus on the player here
I feel like I just did this let me try and remember where I added that
yeah I got nothin, I swear I got it shared to me I just must have used it on a monster instead of the players
Could there be a setting hindering the flags.midi-qol.critical.X flag from working?
I think you need fast forward on for that flag
I do have that on tho
Attacks get fast forwarded, advantage triggers but not critical
let me test it cause I don't fast forward and when you don't you can see if its busted
oh wait how is your sneak attack setup?
is it an other field?
Bit late for it, but I have a bunch of potions on my github Moto. Including one for potion of growth that will roll the duration of the potion.
I just had it like that with BR/RSR since it gets rolled separately
um
Midi does not work with:
Ready Set Roll
Better Rolls for 5e
Roll Groups
Fast Rolling by Default
Fast Rolls or Quick Rolls
Dice Tooltips
Taragnor's Gm Paranoia
WIRE(Whistler's Item Rolls Extended)
Minimal Roll Enhancements
Retroactive Advantage/Disadvantage
Max Crit
Multiattack 5e
Advanced Spell Effects module is in beta in v10 and often the culprit of things...
Also the critical flag works fine for me:
I knew I was missing something, I did pour through gits but I missed yours doh
what is your git, you don't have any links in your profile
Don't have Nitro, so no server profile
¯_(ツ)_/¯
At any rate, I think I have most of the potions that the ddb importer doesn't handle itself.
I created a few myself but I went cheap and used AR flags lol
A bunch can just be done with macro.createItem or midi flags
for Oil of Slipperiness I just made it an item with spells since it casts either/or freedom of movement/grease
yea same lol
Don't have them, I meant I had sneak setup as additional formulas since I used to use BR/RSR
I was gonna do createitem but then I had the epiphany that item with spells is better since the consumption stays on them when they are stored in a compendium with it
I think it's mostly the bottled breath spell that uses it
Oil of Etherealness, Animal Friendship, and Gaseous form too it seems
Longer duration on those potions then the spell has IIRC
for potion of advantage I just used kaelads modules, I did an AR reminder and in the reminder theres an inline command to roll the potion and I gave the potion 2 charges, the first activates it, and then when they use it, they roll it in the AR message deleting it.
If I don't fast forward, I can see the normal damage button being the default
I think either you don't have the effect active, or you have a roller conflict
I just have literally advantage flag and nearly every special duration flag for that one
can you share the key again? and share a snippet of the actors effect tab?
it could probably just take whatever our dfreds CE dm inspiration is honestly
@coral dove give me 5 and I will send you over a macro for the Assassinate 😉
drag what you have over to Riswynn the starter rogue and have them roll
oh I was using the critical.all key
also I'm pretty sure the saks shuldn't be in assasinate
Still not working
oh shit it actually does work on saks
Yeah, I went through adding each weapon category for that although shouldn't be a big issue
that is a weird wording
Does it? Wow
Hmm how do you indicate if a creature is Surprised or not? Do you have an AE on them?
it also works on the advantage too, it doesn't call out weapon attacks, it just says attack rolls
My assassins rogue just toggles it on during the first turn if they surprised the enemy
surprised is actually a condition that rarely gets used but everyone has it who is surprised in a surprise round of combat
I don't think foundry handles the surprised condition at all
It was more of a question about the inFoundry mechanics they use
I can search for that statusId to auto crit
Doesn't come up enough to be worth doing anything too fancy for IMO
basically we're suppose to apply the surprised condition to all the surprised people in the first round of combat, and many mistakenly just call the round a surprise round
I'd just automate the turn part
Is assassins rogue attacking someone they should crit? Feature gets clicked once.
and if @coral dove is the DM they could probably just use a macro to return to turn 0 without advancing the round to give them a second shot at things.
I got a macro that returns the round to 0 cause of a weird way that I start combat, if you want it to keep the surprise working
is that i the effect tab of the actor?
Yep
if it is, that is an example of editing an owned item
I dragged the midiqol sneak atk, renamed it
sometimes it bugs, its less often nowadays
Should just be able to delete one, or both and just redrag it over.
delete both and roll it again
Happens even if I import the item, rename it and add them
oh wait no, delete both, and then go to the item details, go to effect tab and click the HAND icon
theres no way to know which is the ghost
if you click the hand here it will apply the passive again if its missing
(I have players who fat finger passives)
Glad my players don't know how to delete effects
I did it to myself
I gave them all a delete key
I think you van hide the effect tab with tidy, I was tempted but eh
It helps that I have mine trained to just delete passive effects via the token hud with temp effects as status icons module
yeah we do use vae now so that should help some
Do I need to manually use it before each attack?
You can configure it not to need that
nope if thats sneak attack 10.0.13, that mama jama should just run
it will detect an ally or advantage and poke
I normally combine the auto sneak feature midi has into the same passive
if you aren't rolling at advantage but relying on an ally make sure the ally is the same color
So you don't even get prompted
the auto sneak I think won't work with my configs
Great, that worked
Part of me wants to rework sneak attack to use an on use macro and just edit the workflow damage
But it already works as-is
I just noticed some weird stuff happening to a character with two max hp effects on Add
It got like 200 extra hp (but enabling/disabling fixed it)
Have them use +
Before the number
Add will just literally combine the strings
20 & 20 would become 2020 for example
You want +20 & +20 to get +20+20
Also I found out why the critical wasn't working... I wasn't targeting so it would just not apply the flag (this is a bit confusing)
So if it's tough and a berserk axe I go + (2*@details.level) + (@details.level) right?
Also this happens every time the target gets hit by an attack
Current hp don't go down, max hp go up
pretty much
+ @details.level I think should work
for the axe
Please tell me this player also went hill dwarf
If they didn't, they're really missing out
no no no
tough is permenant you don't do an ae for that
I mean, you can if you really want to
Assassinate automation trial.
For critical damage to be applied, target needs to have an Effect labelled Surprised on them.
Actor on Use | After targeting complete ```js
if (game.combat.round !== 1) return;
const sourceTokenId = args[0].tokenId;
const targetToken = args[0].targets[0];
const targetActor = args[0].targets[0].actor;
const targetTokenId = targetToken.id;
const sourceTurn = game.combat.turns.findIndex(t => t.tokenId === sourceTokenId);
const targetTurn = game.combat.turns.findIndex(t => t.tokenId === targetTokenId);
if (sourceTurn < targetTurn) {
game.assassinateAttackHookdId = Hooks.once("midi-qol.preAttackRoll", (workflow) => {
foundry.utils.setProperty(workflow, "advantage", true);
})
if (targetActor.effects.find(eff => eff.label === "Surprised")) {
game.assassinateDamageHookdId = Hooks.once("midi-qol.preDamageRoll", (workflow) => {
foundry.utils.setProperty(workflow.rollOptions, "critical", true);
})
}
}
Hooks.once("midi-qol.RollComplete", () => {
if (game.assassinateAttackHookdId) Hooks.off("", game.assassinateAttackHookdId);
if (game.assassinateDamageHookdId) Hooks.off("", game.assassinateDamageHookdId);
});
We are in homebrew humans-with-different-cultures world. He's a "viking" half barb half sorc
(Custom class inspired by PF1 bloodserker or whatever it was called)
So I just manually add it?
Draconic bloodline for extra HP?
Here is my suggested image for the new Surprised dfreds CE:
He was on the abyssal subclass but after some plot stuff ended up on a celestial one
If you want to cut down on excess active effects, it's easy enough to manually calculate hp
yeah its 2x level if I recall
I really wish the class features Hit dice was not a drop down but a open field to type in
I personally don't bother with an effect for tough since the ddb importer already has the math done for HP for me.
Ok thanks
actually that wouldn't fix this
Now I want to make a character that is draconic sorc hill dwarf with tough and a berserker's axe
There a reason you always use foundry.utils.setProperty instead of just setting the value?
I've always just done stuff like workflow.advantage = true without anything weird happening
I gotta say, I handed down some small boons after some plot events. He went for +1hp * level
The funny part tho is I have an abjur wiz in the party with almost the same amount of hp+temp hp once their ward is up
It's the small hit dice, only so much you can do about that
I'm not getting it to work on my end
Now it should work. Small edits (if you meant the Assassinate)
Hey, does anyone know how to make regeneration whisper?
I hate how it spoils itself
dnd5e(helpers) didn't do that
Make it as an effect macro
oh and just update the system.attributes.hp.value at start of turn yeah, I get what you are sayin
if value=max return at the start
Or just apply the heal with the midi apply damage function
Let it take care of the hard stuff
Plus you get an undo button
no that won't work I don't think
Why not?
I'm not sure if my midi would allow that, it'd put a card out
yeah no particular reason. I have it more structured in my mind and I keep using it
Just wanted to make sure it wasn't something I should be doing
Do you have a Surprised effect on the target?
its hard to sus out which ones put the other card on players screens without logging in as one due to the nature of him not spamming the dm with both cards
does it have to be a status condition?
or can it just be a CE?
Shouldn't matter, should just be the effect name I'm guessing
for assassinate? no, just an actor onUse
flags.midi-qol.onUseMacroName | CUSTOM | ItemMacro.Assassinate, preambleComplete for example on a DAE on the feature
You are not ff damage?
I feel like we're the only 2 people who use that flag
I can turn it on to test your thing, but I was testing with my usual setup