#MidiQOL
1 messages ยท Page 96 of 1
Did you delete the effect from the character sheet's effects tab or did you delete it from the shillelagh item by chance?
I mean initially
The first time i removed it from the players effects tab
DAE 23
Wait in this one I cannot see an icon on the token for Mace of disruption.
I thought that was the issue.
It's in core dnd5e.
I deleted it cause it was not needed for the test since I can reproduce on any item
No modules, it will show that active effect on the token if it has a duration, even if it's unavailable.
This might be related to the fact monsters don't really have equip/attune stuff, I did see that was added for next release
Could anyone with tidy sheet tell me what version of tidy sheet your game updates to?
0.8.40
Trying to figure out why my copies won't update past 0.8.20 unless I do a manual install
I will say, once I deleted the 90000 duration, the effect wasn't showing on the token. Still showed on the actor effects tab though.
thats going to happen no matter what
I guess remove the duration
it also shows with force show
you can use TVA to exclude the ae
the ae's settings don't really matter cause the second it goes from unavailable to active its deleted
just is weird it shows like that
Inactive effects doesn't, so I assume it's a bug or oversight and I'll post an issue
TVA has a setting where you can set specific ae's to never show on token, it fixes it:
Scratch that, seems to already be reported, they'll get to it
but really you can just shut off duration/force show on it, its not going to actually be on the actor for more than a few milliseconds as the automation deletes the starter item as soon as its attuned/equipped
fyi DAE starts ticking down the duration of unavailable ae's
*in combat
wait no thats effect start not duration lol
Moto's item doesn't need a duration, just remove that. I don't like how the item's not dynamic though thinking cap
The hold person spell from the Sample items doesnt apply the Paralyzed on a failed save. Is this correct?
Do you have DAE?
Yeah
you sure about that?
it works if i apply it from the chat card
That dialogue looks very wrong
I suspect you have mixed up DAE srd with Dynamic Effects using Active Effects
DAE SRD is garbage, delete it, Dynamic Effects using Active Effects is the right module to have and that item won't work till you have the real DAE
I got it from here
this one?
Make sure it's enabled
0_o
I guess dae has a master switch like midi does?
Yep
you have a default setting set to off hehe
At this point I would check for errors in console after using hold person
... slight note of that should fail
you have effect transfer to manual or you have another module installed
Is the spell set up to ignore non-humanoids already? I can't recall
might be the issue
the apply active effect button looks sus
I bet they have effective Transferral installed
Looks like mine with a swaggy CSS overhaul for the ui on
but Hold Person does not work on anything non-humanoid and skeletons are not, is there an activation condition on the item or something?
Just tried it on another player
A player is most likely also not set to humanoid, lol
Try to remove that from your item and see if it starts working, I think that check evaluates to false on both players and skeletons alike
does it even evaluate when effect transfer is set to off?
why would it automate when he has it on manual?
... wut? You can keep the button even if it does auto also
but does he have that setting on, occams razor
workflow button, workflow tab, special section, first drop down
he has effective transferral or ready set roll installed
Fair call, you should not be able to see that button
None of them, I removed all the ones Midi said not to use in the wiki
Could be Argon too
Rippers moved into the automation department lol?
share your module list with me in a DM
bugbear did you add the list to the wiki 0_o?
I didn't have time to do anything yet. I was completely off for the past few days. Tomorrow I'll have access to my PC again
maybe hes using the readme as a wiki
know this isn't a VAE chat, but what's the benefit of VAE over Dfred's similar module?
@north ocean this is the official incompatibility list:
#1010273821401555087 message
do you use CPR?
yup
if yes, that is the benefit
I think they meant the DFreds effect panel
oh gotcha
I assume Callbritton meant dfreds effect panel
(I didn't know that was a thing)
its pretty much the exact same module minus the ability to put buttons in it
I recently added a feature to my module to autofill the VAE details from all effects
ok...i just used the midi quick setting to turn on the no automation and then back on again and its working ๐
Not sure if Effects Panel enriches text for descriptions
k, according to what you showed us you should of had one of the two other modules installed for the images to make sense hope you cross checked the list with your mod list
you can enrich the actual spell description of the item for dfreds
Enabling Argon does add that button for me as well, overruling the setting... ๐ค no is wrong'
the apply effects button?
I thought so ๐
wow Rippers moving into the effect transfer game?
do we need to add it to the list?
can you screen grab the setting in argon to shut it off for me?
It's just the core dnd5e button, I think Ripper might be letting it escape somehow not argon's
Worth noting is that Argon does actually have an active effect apply setting, but changing that did nothing to the button
is it a setting you can shut off in argon?
Does it remove it on a fail?
Not the button in response to Moto
its problematic but probably not the cause of their hold person fail, they were casting on skeleton and hold person only works on player character sheets and humanoids
Oh FFS my server back home is off due to power cut and I cannot access remotely my latest MidiSRD dev version... I knew it that not updating my git dev branch would come back to haunt me... Now I am waiting for power to be back on...
I had a weird one last night, everytime any of my npcs would use their reaction, the reaction CE would delete any temp ae's that were on the actor
only way I could fix it was to remake the CE from scratch
my reaction CE does have a delete an effect effect macro but it shouldn't be deleting anything, just a specific thing
Vallant's right, I can repro this with just Midi as well
Ripper did nothing wrongโข
So if you apply via the button, you cannot delete it?
If you have this setting, it will apply effects on failure and remove the button, if they succeed, the button is there and will remain forever.
Ah ok there is an issue for that, correct?
I don't think so actually
I did indeed
I just ran a whole session and never saw that
probably misremembering the issue ๐ค
maybe its caused by your save settings?
Im using MTB what are you two using?
Vallant looks like auto
I put mine to nothing, so could be that, yeah
I put mine to auto everything
Can you do a pull request on gitlab? I want to redo tposney's readme so bad every time I look at it - edit: will just google
yes you can
by email what is this 2012
TBH I never used this option. I always have it to Auto apply and not show buttong
Those say by email to me, but I think I'm just doing that workflow wrong and if I fork the project, do changes, I can do it without an email?
I started writing some things up, but didn't have the time. I might give it another try soon
Just jest, I'm doing the exact same thing after all (merge request)
Yeah I know ๐
Just meant I had the same idea
i threw together this pair of scripts because seeing the hoops being jumped through was stressful ๐
Removing the jankyness. What a party pooper ๐
Moto doing warpgate will be a killer combo!
The billiance of mine is that its a prefab, you copy it, drag X item to its effect value and its good to go
cough the effect macro has item names hard coded cough
mine is the same, you can just export/move the masked item
oh shit thats right
the new macro.createitem was suppose to fix it but its backwards ๐ฆ
No need for the hardcoding of names though ๐
it runs the macro on the created item instead of the dummy item
dont even need the source item once masked -- completely self contained
feel free to figure out how to make it call the item without name lol
half the magic items have item macros for their own automation on them so the macro.createItemMacro thing is kinda a deal breaker since you'd have to append a macropass to the magic items
which it ran the unidentified items item macro
is there a globe of invulnerability from MIDI or CPR that I'm missing? trying to figure out how to get that automated
I haven't made one (yet)
oh ok
also for the call lightning one from MIDI srd spells I think, it asks the caster for saving throw when cast
change the item to other and remove the damage formula and saving throw, I assume its a self buff spell temp item
idk I didn't change a thing just dragged it from midi SRD
As an alternative, my module has that spell too.
oh you're not the author of both? I lose track of all these things
Nope
alright i'll try yours and yes moto its a self buff
@violet meadow is Midi-SRD
but I dont know if changing that will fuck up the spell so I'll try the CPS one
YOU DIDN'T POST THE MACRO??? Can haff how pls?
(gotta document it first ๐ )
for chain lightning is there a way to edit the jumps in AA? I'm trying to create crimson lightning but the secondary bolts are the default blue
Does anyone have a forumla for green flame blade for a shortsword and add fire damage into the roll?
mrprimate has that Im sure
You can copy the macro from out of the module and change all references from chris to chrisPremades.helpers and queue to chrisPremades.queue. Then edit the macro as desired, such as changing up the jb2a animaions.
copy line 4 -> 81
wait how do I copy the macro from out of the module
That reminds me, I need to update this to just add the targets after targeting instead of using a synthetic item.
er, and that goes where
as an item macro
actually I'll just make do with the lightning as is instead of trying to tamper with its guts
this grants advantage to saves vs spells?
Has a GFB formula?
@tepid dock @violet meadow https://ko-fi.com/post/Badger-Scripts-Masked-Items-U6U7KAGRY
Hey I am trying to make the Sentinel Raven feature from the Warlock: The Raven Queen UA class. I'm using ATL for the darkvision part, but idk how to add the bonus to perception nor how to toggle it on and off on feature use.
How are you adding Darkvision exactly? I'm currently trying to do that and it's not working for me.
Also, what's the feature description?
Delete that
Share only relevant info
@digital lagoon
system.skills.prc.bonuses.check | Add | +1000000
make sure to always use + in the effect values. Without it, if you have 2 bonuses that both add 1, it'll be +11 instead of +2. You will see ++2 but that's normal. You want that
Also system.skills.prc.bonuses.passive for the passive Perception.
And it works for you?
as a item yes, not as a feature
or atleast i'm not sure how to add it to a feature as a toggle
Easy way, create the AE, and drag it to your macro bar
Now you have a toggleable AE
That works like a charm, thanks
After an attack the token is deselecting the target. Where is this setting in the mid?
after damage''
Heya, im trying to make the 5e Dyrrn's Tentacle Whip - Is there any way I can automatically apply disadvantage on attacks made against abberations?
"You gain a +2 bonus to attack and damage rolls made with this magic whip, but attack rolls made against aberrations with this weapon have disadvantage."
VAE does not touch what shows on the token
All issues with effects are ALWAYS dae
It is the only module that modifies effect behaviour.
thanks for the bestow cures chris
Next release? It was added in 2.1.0.
Yeah, I misremembered, the bug turned out to most likely also be this https://github.com/foundryvtt/dnd5e/issues/1859
I think that's a core issue tbh
But yeah, effects always applying to unlinked actors was fixed in 2.1.0
It is a core issue, yeah. Something about unavailable/suspended not technically being disabled/inactive.
This particular issue? On linked as well with my testing, just doesn't seem to care about its' "unavailable" status as long as there's a duration.
Do its effects apply?
Nah, just a visual
Right
workflow.setDamageRoll should not affect dice so nice at all. If the dsn dice have been display setDamageRoll won't redisplay them. Or is something odd happening?
I'm setting the damage roll with workflow.setDamageRoll and the displayed dice is the original roll instead of the newly set roll. Is there any way to work around that?
While I could try to clobber in edits to the roll, it seems cleaner to me to just grab the old formula (make any changes) then re-roll it.
However this results in the displayed dice being totally wrong.
Hey bugbear, trying to help out with a macro for disadvantage against aberrations, where did you find this conditionData again? I can't seem to find it in neither the arguments nor the workflow when trying to make a macro for checking if = aberration.
Have your whip run this macro onUse before attack roll;
if (this.targets.size == 0){
return
};
const targetsArray = Array.from(this.targets);
if (targetsArray[0].actor.system.details.type?.value.includes("aberration")){
this.disadvantage = true;
};```
You're a wizard Krig. Thank you
If you want a cheap way to get the only target, such as with most attack rolls, you can do:
let targetToken = this.targets.first();```
That will get the first item in the set
Any idea how to override the current number of hit die on a 5e character?
Here I have an AE setting attributes.hd to 0 and it shows as 0 just below the portrait and prevents spending any hit die during short rest. But when you click the 0 under portrait it opens the shown dialog allowing the use of the actual 3 hd remaining.
Hit dice available is stored in each class, so you may need to overwrite those too
I would look into rest recovery if you're trying to do some homebrew changes to hit dice usage. There might be a setting in there that takes care of what you're trying to do.
It's more the effect of a magic item. Reduces your HD to 0 in order to grant you the bonuses.
While it's not the same, you could use babonus to grant a "-99" bonus to hit die rolls. They'll still have the dice but they'll all heal 0.
Thats a potentially easy work around. Cheers
apparently its a dnd5e bug and already reported
Idk I'm convinced it's a core bug
In the workflow data
Could someone help me with this?
https://i.gyazo.com/5279a258c1b3722c8d7dc96121ef3967.png
When I am trying to use Chris's Premades version of Vampiric Touch as a player this comes up. As a GM it works perfectly. Does anyone know what setting it is that creates this error?
You need to alter the user permissions to let them use File Browser
How do I do that?
Foundry right sidebar, User Management in Game Settings tab 
ah, thank you!
Then Configure Permissions
You are truly a bugbearic angel ๐
Such a friendly bunch we bugbears are
You sure are, you got them long limbs for good hugs
@violet meadow
Could I ask you for some more assistance? Remember the other day when I asked here about a macro for a save ability? The one that deals damage to multiple targets and then heals the user.
I still cant get the thing to work๐ญ Iv been trying to Frankenstein some code but I dont know any script at all.
share the code you have and how you set the macro up
async function wait(ms) {return new Promise(resolve => {setTimeout(resolve, ms);});}
if (args[0].failedSaves.length === 0 && (args[0].failedSaves[0].value.actor.system.attributes.hp.value >= args[0].failedSaves[0].value.actor.system.attributes.hp.max)) return {};
const tokenD = canvas.tokens.get(args[0].tokenId);
const actorD = game.actors.get(args[0].actor._id);
const target = canvas.tokens.get(args[0].failedSaves[0].id);
const itemD = args[0].item;
const gameRound = game.combat ? game.combat.round : 0;
const halfDamageHealing = Math.floor(args[0].damageTotal / 2);
await MidiQOL.applyTokenDamage([{damage: halfDamageHealing, type: "healing"}], halfDamageHealing, new Set([tokenD]), itemD, new Set());
const effectData = {
label: "Blood Spray",
icon: "icons/skills/wounds/blood-drip-droplet-red.webp",
origin: args[0].uuid,
changes: [{
"key": "system.attributes.hp.max",
"value": `-${args[0].damageTotal}`,
"mode": 2,
"priority": 20
}],
disabled: false,
}
}
};
await wait(600);
ChatMessage.create({
user: game.user.id,
speaker: ChatMessage.getSpeaker({ actorD: actorD }),
content: the_message,
type: CONST.CHAT_MESSAGE_TYPES.EMOTE
});```
```js
code here
```
There we go
OK so this is meant to be used against 1 target
and this feels wrong args[0].failedSaves[0].value.actor.system.attributes.hp.value
the first value in there
args[0].failedSaves[0].actor.system.attributes.hp.value should be
but that conditional doesn't make much sense
Well this one was originally made to be used for an attack roll.
Probably would need OR instead of AND, meaning || instead of &&
OK so what is the intended result?
Get the damage dealt to targets that didn't save and heal for that amount the caster?
The sum of the damage, or the damage rolled?
I can see a world that it would get the essence of targets that failed to save ๐
So ye, its an instantaneous aoe aura around the caster. A save is half damage, but no matter if the targets fail or not the user heals for half the total damage dealt.
if save doesn't matter to the heal then it doesn't matter to the macro?
just play off the damageApplied
"You swing your flail in a wide motion around you. Necrotic energy streaks around you to a distance of 15 feet for the duration.
A creature within the area must make a Wisdom saving throw DC 15. On a failed save, the creature takes 4d8 necrotic damage. On a successful save, the creature takes half as much damage. This ability has no effect on undead or constructs.
You regain hit points equal to half the sum of the necrotic damage dealt."
This is the ability I was trying to create.
or will that create an error if require target isn't on
The save and damage is on the Spell sheet.
I actually have this already
You do? ๐ฎ
its the lifesteal I shared whenever people ask for it
we zero in on damageApplied and just do a damageOnlyWorkflow of temphp or healing
remove the first line for your aoe
maybe put in an If statement for if no targets are found
incase the user pops it with nobody around them
This still will not get the whole damage dealt. You need to go through the damageList and sum the sums up ๐
oh shit
yeah multiple targets
wouldn't it though?
it'd just be like 10 heals
it'd be janky, but thats my middle name
problematic if its meant to be temp hp though
Luckily its not supposed to be tempHp xD
const damage = args[0].damageList[0].appliedDamage
if (damage != 0) {
let sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{
damage: damage,
type: 'temphp'
}], damage, new Set([sourceToken]), null, null);
}```
Is this all that was needed?
Someone might help with summing them up but my linked macro will do tiny individual heals to the source actor
I think you need a target count chck incase the user pops it with nobody around
How does one do that?
bring back the first line but change it
have the statement be If targets are zero, return
unless midi accounts for null as zero
I think appliedDamage also requires midi damage automation to be set to any drop down other than No
Ye I have no clue how to do any of this xD
if (args[0].targets.length < 1) return;
let dmgSum = 0;
for (const d of args[0].damageList) dmgSum += d.appliedDamage
if (!!dmgSum) {
const damage = Math.floor(dmgSum/2);
const sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{
damage,
type: 'healing'
}], damage, new Set([sourceToken]), args[0].item, new Set());
}
You guys are heroes without capes๐ฑ
I'm just a hero Cosplayer
Aware, but that just means it hasn't been moved to foundry's github. The system doesn't do anything with tokens' visuals.
Discard that, 3D Canvas is now warpgate compatible https://streamable.com/k00ba0
Does Argon Combat Hud now perform effect transfer? Or is its setting dependent on Midiqol?
Argon does absolutely no automation whatsoever
it just uses the items as if you click on them on the sheet
we had some confusion last night around a setting related to disabling an apply active effects button in it
ah, that is for special actions only
so if midi exists it will show midi's apply active effect button, and if its just core, core's version?
to be clear, it's just for the "Disengage" and "Dodge" actions basically
doesn't touch anything else
gotcha ok, thats what we eventually got around to discovering but since I don't have the module I was curious if it did something like effective Transferral where it gives the user a button to apply ae's with
Could probably add Help to Argon, its basically similar to dodge in a way so it'd do nothing without midiqol
Help action gives advantage against a target or advantage to a target depending on how the DM interprets it
space is tight, i cut that out lol
@vast bane i wanted to test something and you probably know, where do i get a warpgate-misty step item?
Hmm, an additional question then. Is it possible to have the ability ignore Undeads and Constructs?
its not warpgate
we all use automated animations
its like the only non animation thing that sequencer/aa does
ahhh, i'll go bother wasp
Does this as an Activation condition do it?
!(["construct", "undead"].includes(raceOrType))
Do I just put that as the first line then? or where would it go?
Details tab of the Item. Activation condition field
But you will need to be using Activation conditions in the MidiQOL settings
Okay that has now been activated
Hmm
Didnt work
Can you screenshot the Item's details page?
How do you set it up?
Just a damage formula?
Also, the user took damage this time even though the range was set to special
@violet meadow Is this what you were after
Activation conditions will not work for you
do you want to not damage undead and constructs at all with this spell?
that target/range is wrong for the macro
change radius to creature
or enemy depending on whether he can suck on his allies
It can hit allies, thats the fun part xD
then change radius to creature and the second drop down in workflow tab should be set to this:
Levels maps will have issues with these typs of spells targetting through floors without level auto cover module
https://i.gyazo.com/f9a2aedb62126ed602602bef97f57c80.png
so like this?
the filter for undead/constructs has to be in the macro since its not an ae or other formula
There is a module to prevent that? ๐ฎ
I think level auto cover is a patreon module, my solution that I use personally is to not waste 20 hours setting up levels maps and just to use MLT/stairways ๐
MLT/Stairways? So many modules iv never heard of xD
so just add this "!(["construct", "undead"].includes(raceOrType))" as the first line of the macro instead?
I'm sure bugbears already writing the right syntax
its going to be an if statement and then return
If !(["construct", "undead"].includes(raceOrType)) return; bugbear?
wait no
you need the macro to exclude all targets that are construct/undead
this would kill the macro if any target is one
Thats above my paygrade
then again, I could use my crazy sculpt spells macro as a template...
Crazy sculpt spells?
if (!token.actor.items.getName("Sculpt Spells") || args[0].item.system.school !== "evo") return;
game.user.updateTokenTargets(args[0].targets.filter(tok=>tok.disposition !== canvas.tokens.get(args[0].tokenId).document.disposition).map(i=>i.id))
I'm not sharing this for you Mrtoyama, its for @violet meadow
could the macro utilize this way of filterig the targets?
just a matter of removing the disposition filter and putting in race/type instead
for anyone interested in the macro just above, its my answer to my player whose an evocation wizard and hates having to micromanage how sculpt spells flag works in midi. His evocation spells just literally ignore all allies by default.
then we manually account for any allies who go over his allowed amount but it hasn't happened yet
@umbral basin change the onUse macro to be executed on All instead of only After Active Effects
Add this at the top of the macro```js
if(args[0].macroPass === "preambleComplete") {
game.user.updateTokenTargets(Array.from(game.user.targets
.filter(function (tv) {
if (['undead','construct'].some(v=>tv.actor.system.details.race?.toLocaleLowerCase().includes(v)) || ['undead','construct'].some(v=>tv.actor.system.details.type?.value.includes(v))) return tv
})
.map(t=>t.id)));
}
if (args[0].macroPass === "postActiveEffects") {
//put the rest of the macro in here.
}
So like this?
if(args[0].macroPass === "preambleComplete") {
game.user.updateTokenTargets(Array.from(game.user.targets
.filter(function (tv) {
if (['undead','construct'].some(v=>tv.actor.system.details.race?.toLocaleLowerCase().includes(v)) || ['undead','construct'].some(v=>tv.actor.system.details.type?.value.includes(v))) return tv
})
.map(t=>t.id));
}
if (args[0].macroPass === "postActiveEffects") {
//put the rest of the macro in here.
if (args[0].targets.length < 1) return;
let dmgSum = 0;
for (const d of args[0].damageList) dmgSum += d.appliedDamage
if (!!dmgSum) {
const damage = Math.floor(dmgSum/2);
const sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{
damage,
type: 'healing'
}], damage, new Set([sourceToken]), args[0].item, new Set());
}
}```
And here in the On Use Macros field, change the After Active Effect to All
rare you get to use all in an on use lucky you
I set that up ๐
Why is it rare?
I just don't see many that do is all, you don't want to use all when its not necessary generally but this time it is
missing or extra ( or {
he edited it, make sure you didn't grab it before the edit, I always do that hehe
if(args[0].macroPass === "preambleComplete") {
game.user.updateTokenTargets(Array.from(game.user.targets
.filter(function (tv) {
if (['undead','construct'].some(v=>tv.actor.system.details.race?.toLocaleLowerCase().includes(v)) || ['undead','construct'].some(v=>tv.actor.system.details.type?.value.includes(v))) return tv
})
.map(t=>t.id)))
}
if (args[0].macroPass === "postActiveEffects") {
//put the rest of the macro in here.
if (args[0].targets.length < 1) return;
let dmgSum = 0;
for (const d of args[0].damageList) dmgSum += d.appliedDamage
if (!!dmgSum) {
const damage = Math.floor(dmgSum/2);
const sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{
damage,
type: 'healing'
}], damage, new Set([sourceToken]), args[0].item, new Set());
}
}
Tried this one aswell
got the error again
๐ค
So missing a ")" somewhere?
I was told a while ago that the error like that can also mean }
oh
I don't see any errors when I checked it
Simplified it a bit, but it shouldn't have an error syntax
Copy paste again
Maybe you left out the last }
Hmm
Well lets see!
I got the same error again
Hmm...
I copied everything though
Do you have any actor on use macros already or CPR installed?
CPR = chris premades?
if I have other on use macros? Ye
my only thought is that maybe this actors got a bad actor on use?
Can you export the item and send it to me
How do I export an item?
Move it to the sidebar in the Items Directory and right click export
So, the item in question is that the Ability?
The one that has the macro onUse
Do you have ItemMacro module?
yup
Hi, I'm working on an onUse macro with a preCheckHits trigger and I'd like to update the attack roll card at the end of it.
...
let newContent = `<hr><p><b>Luck Points Used</b></p>You have used ${useFeature} Luck points`;
const chatMessage = game.messages.get(args[0].itemCardId);
let content = duplicate(chatMessage.data.content);
const searchString = '<div class="midi-qol-attack-roll"></div>';
const replaceString = `<div class="midi-qol-attack-roll">${newContent}</div>`
content = content.replace(searchString, replaceString);
chatMessage.update({ content: content });
I don't get any error but also the card is not updated. What am I doing wrong?
remove the data in the chatMessage.data.content
I tried now but it doesn't seem to make a difference/
btw, I do have merged cards enabled.
is the content updated at all?
log it before updating the chatMessage
is there the searchString present?
Hi, I have an issue where MidiQOL automatically applies disadvantage for a ranged attack when in melee with a hostile token, despite that token having the incapacitated condition. Other effects it seems to apply properly though :/
Any ideas where I should check if some setting is messed up, or is that just not a feature (yet)?
Okay, Iv imported the new version of the ability. I can see that you changed the name of my macro into "ItemMacro". Should I do the same?
Also it seems to only target Undead and constructs now xD
Probably a case not thought of. Make an issue in the Midi git repository ๐
Use the Item as is on the character sheet. Delete your old one and drag the imported one on the chracter sheet
Does it work?
Lol undead and constructs only is an indication that it works at least ๐
I made them included not excluded by mistake ๐ฉ
LOL
I suppose I just need to change "Include" to "Exclude" in
(['undead','construct'].includes(tv.actor.system.details.race?.toLocaleLowerCase()) || ['undead','construct'].includes(tv.actor.system.details.type?.value)) return tv
Is it that easy?
Okay that made no difference
turn on attribution and sus out what is actually going on
also beware that dfreds CE has a ranged disadvantage CE that if placed on a linked actor will carry over to all scenes causing disadvantage if the combat dummy is next to them in the landing page
It's reproducible @vast bane . Needs an issue to disregard incapacitated from NearbyFoes
I see "I have advantage/disadvantage why" posts and I immediately resort to attribution lol
I'm scarred
Does any one know if itโs possible to make a formula for green flame blade which then allows you to select the second target for the splash damage?
The splash damage would need to be within 5ft of the original target
So how do I exclude them instead? xD
does Mrprimates macro not do that?
Thank you. I havnt used this importer before, is it fairly easy to use?
you don't need to
but its useful for some items incase you can't guess how the item should be setup
that ones probably a good case for that, so maybe a ddb importer user can share the details of green flame blade
my guess is that macro is meant to be an on use macro in midiqol, probably stored as an item macro
it might be a dae macro.itemmacro I dunno
Itโs been a while since I used macros, but you need to make a new item for it?
do you have item macro and midiqol?
The latter only
install item macro, in its settings once its enabled, uncheck the box related to character sheet hooks
Ok
If you haven't made Green Flame Blade yet, make it, then setup an on use macro for it via midiqol and then paste the macro in the url into the Item Macro at the top of Green Flame Blades window
Or make a blank spell in your sidebar and import this lol:
Awesome thanks so much
this'd be a neat way to give item macros to novice users who don't have it
you have to guess how the macro is called, my first guess is midiqol on use, second guess would be dae
If you give the item an action type, then you gain access to the bottom half of item details:
Got sidetracked```js
if(args[0].macroPass === "preambleComplete") {
game.user.updateTokenTargets(Array.from(game.user.targets)
.filter(function (tv) {
if (!['construct','undead'].filter(v=>tv.actor.system.details.race?.toLocaleLowerCase().includes(v)).length && !['construct','undead'].filter(v=>tv.actor.system.details.type?.value.includes(v)).length) return tv })
.map(t=>t.id))
}
if (args[0].macroPass === "postActiveEffects") {
//put the rest of the macro in here.
if (args[0].targets.length < 1) return;
let dmgSum = 0;
for (const d of args[0].damageList) dmgSum += d.appliedDamage
if (!!dmgSum) {
const damage = Math.floor(dmgSum/2);
const sourceToken = args[0].workflow.token.document;
await MidiQOL.applyTokenDamage([{
damage,
type: 'healing'
}], damage, new Set([sourceToken]), args[0].item, new Set());
}
}
Ok and that was just a new spell made from the basic sidebar?
its so that you didn't have to install item macro though most advanced midi users have it installed
if you don't shut off character sheet hooks in its settings it will wreak havoc on midi
If it will benifit me in the long run, Iโll probably get it anway but Iโm very much a novice
The string was not matched, but I checked some of Crymic's recent public macros and saw a better way to search for the div. I was using the example in midi's readme. Now I have:
...
let newContent = `<hr><p><b>Luck Points Used</b></p>You have used ${useFeature} Luck points`;
const chatMessage = game.messages.get(args[0].itemCardId);
let content = duplicate(chatMessage.data.content);
const searchString =/<div class="midi-qol-attack-roll"">[\s\S]*<div class="end-midi-qol-attack-roll"">/g;
const replaceString = `<div class="midi-qol-attack-roll""><div class="end-midi-qol-attack-roll">${newContent}`;
content = content.replace(searchString, replaceString);
console.log(content);
chatMessage.update({ content: content });
The content is replaced from:
<div class="midi-qol-attack-roll">
<div class="end-midi-qol-attack-roll"></div>
to
<div class="midi-qol-attack-roll"><div class="end-midi-qol-attack-roll"><hr><p><b>Luck Points Used</b></p>You have used 1 Luck points</div>
The card does not change however
What is the difference here? Im trying to compare them but I dont see it.
or.. is it the js.length?
Iโll make sure I do that! Iโve just had to nip out so will do it when im back but thank you very much for the assistance, much appreciated.
Is there any way to make an item roll and apply its damage automatically without pressing the button or having the GM press any buttons on a per-item basis (when the general settings are to not fast-forward and not auto-apply)?
The function returns true/false based on a different conditional check
Ah
Well, it still doesn't work for me๐ฅฒ
Still only damages Constructs and Undead
I think Foundry hates me
Did you change the macro on the actual Item on the character sheet, or the sidebar?
Replace all your Blood Spray items
I imported the new Blood Spray.
Then I made a new Character and gave it the new Blood Spray.
Turns out that an item I snatched from dnd5e SRD wont uh... generate? conditionData unless I change item data on it, fun times
๐ค
What am I doing wrong?๐ญ
And when you say "All Blood Spray items" are there more than one?
You can make a macro for each of the items, that's about it.
I don't know how many you may have created. To be safe delete all the ones you can find.
Import the last one.
Get it on the character sheet
Use that ๐คท
So just to be clear.
- I import the new Spell.
- I have my macro set as "ItemMacro" That being the macrop you sent earlier.
- I add the New Blood Spray to an actor
- I use it?
Just Import the Item. DO NOT change anything. Do not even open it ๐
Put it on an actor. Use it
Does this work?
The item from here
Do you want me to connect to your world quickly to take a look?
If yes, send me a temporary user/pass for a GM account by DM
Lets try that
wrong item type
make a basic spell
then import his spell on top of the basic spell
somehow since dnd5e 2.1 we've needed to import over the same item type now
You got some double " in there
<div class="midi-qol-attack-roll"">[\s\S]*<div class="end-midi-qol-attack-roll"">
and the replace String
You're right, I've messed up the copy-paste, but the macro doesn't have the issue. Here are the macro, the card html logged after the update and a screenshot of the card
Are you using that on a GM's client?
Hello,how woud you set up something like that?:
Two Birds, One Stone.
When you make a ranged attack using the quarterstaff's sling, you can expend 1 of its charges to cause the sling bullet to transform into a pair of birds mid-flight. The birds then attack the target. Make an attack roll for each bird, using either your ranged weapon attack bonus or Wisdom (Animal Handling) bonus instead, whichever is higher. On a hit, the birds deal piercing damage, instead of bludgeoning. If you used your Wisdom (Animal Handling) bonus to make the attack, you add your Wisdom modifier to each damage roll, instead of Dexterity. The birds disappear immediately after the attack.
That is a PITA... Just create separate items...
PITA?
Pain in the ass
yes
ah, yea I figured. Was my first thought too, Thought maybe you could do it via versatile and a flag. Is there a flag for linking abiility values?
or just @mod + @prof
oh damn I pinged someone
Put those inside `text here`
only thing that seems to be different is the type of message.
did it a bunch of times testing some things ๐
Can anyone help me understand midi's over time action save stuff? From the documentation, it seems like it should listen for whatever I have it set up as, but with the following "effect value":
rollType=skill,
saveAbility=athletics,
saveDC=13,
actionSave=true```
the effect isn't removed when the affected target rolls athletics and gets at least a 13. Am I missing something?
ath instead of athletics
That was the first thing I tried, I changed to athletics because I thought I may have gotten the wrong abbreviation and didn't want to look it up XD
Are you in combat?
Lemme give it another shot because I think I had a different typo as well when I was using ath.
Yep, that was it, thank you.
@gilded yacht Minor documentation quibble, but for the overTime saveAbility stuff, the documentation says that full skill names are acceptable but apparently they are not XD May be worth changing.
I made a cheat sheet for myself so I wouldn't ever screw up with typo's, and shared it here:
#1010273821401555087 message
the ones with // in front of them means if you don't do anything in that sub group in the overtime, that is the default, if a group has no default its optional.
and the way I setup the cheat sheet the last one has no comma cause 99.9% of all overtimes use label anyway, I made it the last one so beware of commas, always put the label last in my sheet and you will be fine.
I personally just have it as a notepad++ tab when I'm making new items
easy to copy and paste from
It's a valid response and helps in confirming the issue ^^
Issue created: https://gitlab.com/tposney/midi-qol/-/issues/1222
strange, I've tried public message, logged as player, and changing the div the macro updates, but nothing.
can you pin that cheatsheet, @vast bane ?
I can't but I can add it to the pin
Try maybe with only the needed modules ๐คท
Updated the pin but I'd rather have The list at the top of it so its kinda low in the pin.
I kinda base the pin off what are most commonly the easy answers here.
@vast baneHey, im home now and first attempt didnt go well. Could you take a look at what im missing?
If anyone saw my comments on pondering if Heartbeat is incompatible with midiqol, I discovered the cause of my constant spam errors. There was a token on the canvas that was an improperly setup vehicle sheet and heartbeat module has a stroke over that throwing errors galore whenever the combat tracker advances turns.
not quite sure where to add the extra splash damage
hol up
it looks like you are pasting in an imported items contents into an item macro
https://github.com/MrPrimate/ddb-importer/blob/main/macros/spells/greenFlameBlade.js
On this linked page, there is a button you can press to safely copy/paste the raw contents:
Once you have pasted his macro in, at the very bottom of that item you have, there is a blank field to the left of "After Active Effects" change that blank field to ItemMacro
do you not have DAE installed?
Yeah
I gave you the item import cause I thought you didn't have the spell yet
you clearly have the spell, so take that macro and paste it into the spell instead
The actual spell from the SRD?
its not SRD
its a SCAG/TCE spell
your actor has Green Flame Blade with a dope icon, might as well use whatever that is
and delete mine, but copy/paste the macro into the that green items item macro
and at the very bottom of that green item, hit the + so that you create a new on use macro field and put ItemMacro in and choose After Active Effects for the drop down.
the macro is not going to workunless you have Dynamic Effects Using Active Effects Module installed, its wrench is notably absent from your top bar
unless you cleared its wrench setting out of its settings
k just an abnormal setup, no biggy. I think the macro is ok, but the problem is neither you nor I know what MrPrimates version of the item looks like on the details tab
my first thought is it doesn't want it to be a melee weapon attack, but I have no idea, it'd be super awesome if someone with ddb's green flame blade could share the item details to us.
and no idea what it will do at later levels
I think I'm good with deleting that pin then honestly
Nah, don't delete the pin. Change it to a link maybe, but still it is helpful to have it here too.
Though maybe the full text makes the pins a bit less informative?! ๐ค ๐คท
Done!
oh well ๐
haha oops
nah I was fine with it being unpinned
right under it is the link to the wiki
I'll just point people to that post
We need @dark canopy to include the <https://github.com/thatlonelybugbear/FoundryMacros/wiki/MidiQOL-knowledge-database-by-@MotoMoto1234 > in the first pinned message then
Macros for Foundry VTT, mainly based around MidiQOL ecosystem for 5e. - thatlonelybugbear/FoundryMacros
hmmm isn't the link in his post the main category?
I like the wiki anyway, the post is kinda tedious
I mean it sounds better to have it available there too (the link I mean)
and doesn't look great on our phones
pointing to the wiki link with that link being obvious upon click through i think is good
if you really want the link, i can add though
but I'm still sharing the attribution instructions here lol cause I got a quick link to the last time I ran someone through it
I wonder if theres a way to get the wiki to open the discord links in discord instead of browser?
or is that my fault with my discord settings?
it should give you a choice, but I would transfer that information to the wiki itself. Having important data relevant to the article hidden in some other service isn't terribly helpful
I have no mental capacity rn to think about what would be better. I trust you all ๐
Is there a recommendation for handling combat on maps that are non-standard sizes (10ft grid, etc). I think midi assumes maximum distance between the squares, so melee attacks don't happen.
scale the map to 5ft squares
using 10ft scales gets rough
10 ft isn't even the biggest. Storm King's thunder has 50ft maps IIRC
๐
Was more a mental excercise than an actual problem
wondering to myself "what to do" if the scenario ever pops up
I guess the solution would be to just use them for reference, and use a regular battlemap of similar style if you had to run combat
in that case, about 50 tokens can occupy the same square...so have fun with that
๐
I as the DM want things as complicated as possible plz. Stacking all the tokens seems like a great way to do it
gawd I cannot stand how hard it is to deal with tokens on top of tokens
also it's 100 medium sized. way more if you go to tiny โค๏ธ
I've been kinda avoiding adding a module solution
I had a mount module butit was too clunky
the worst one I've run into recently for needing stacked tokens
is Dragonheist Xanathar's lair
I never ran them through it hehe
my party's villain was the Cassalanter's
and I didn't do the alexandrian version, I did a homebrew one instead as I tied it directly to dotmm
I think the suggested module is tokenz
That room has four spores and a zombie beholder
I have 2 small race characters and they have medium sized mounts, a Tabaxi with a robot(its a Roomba) and a Gnome with a Mastiff
This 1-cell-wide jail cell has a half-ogre, a minotaur and some medium sized character
and this is canon -- per the book
Cut the map to pieces, blow it up and create the correct amount of grid squares per map square
https://www.patreon.com/posts/53796644
You don't need to buy into his patreon to use his maps, he even offers the UVTT files for them. When you buy in he gives you all the bonus assets like trap tokens and moveable map parts and the dungeondraft assets for your own copy of DD.
That's the villain I've chosen. I amended them to be sacrificing refugees though, including refugees that my party is saving ๐
I think this will still work in v10 (with deprecation warnings). Was really helpful while i was playing a Small beastmaster ranger. https://ko-fi.com/post/Badger-Scripts-Mount-Companion-Z8Z6EH76Y
use Tych's Maps they are the best for alexandrian and regular dragon heist and also if you go into Dotmm hes one of the best for map art there too, so your players won't notice any artwork differences
Yo those are really nice. I'm also making some now in dungeondraft so I can learn the damn program
thinking about making a third party enhancement to go with DDB Importer's adventure muncher
I think...well I know my main problem is just combat in general, its so hard to get to the right token when theres 3-4 in the same square. Dead folks+mount+mounted
which is why this macro does all that work for you -- with the identifiers set up appropriatly, its one click to mount, one click to unmount
I've burned down the manor 3 times now in my campaign and the players have had to remake it in dungeondraft each time lol
LOL
They also bought the Gralhund estate when it was at auction. The last time the manor burned down it took all the other buildings in its clump minus the bent nail with it so they bought the other plots and are currently constructing an adventuring guild in it and now reside in Gralhund
let's try to stay on topic ๐
sorry lol
I'm like a grandmother getting a call from a son/daughter, I will jump at any chance to talk about my campaigns lol
I tried, but that didn't help. It turns out that I need to await chatMessage.update() Not sure why you don't need to, maybe your test macro was different? Thanks for the help anyway
How does spiritual weapon + warpgate work?
How do i link it to my "weapon actor"
generally by name
Ive got it working for me but my player is getting the message "lacks permision to create the token"
give them core permissions to create tokens
there is a premade item in midi sample items all you need to do is make an actor named "Spiritual Weapon" though its recommended you drag out the jb2a actor as its already made
(players still need permission to create tokens)
Sorted, thank you
I prefer the v9 warpgate macro rather than the v10 one, only cause the v10 one had growing pains its probably sorted by now
I keep hoping to find somebody asking about magic missile so I can link to this innocently... but I'm just going to suck it up and call it what it is (shameless self promotion)
https://github.com/w15p/w15ps-srd/wiki/Demo
Hopefully the Magic Missile at least will be useful for somebody - thanks to everyone here for all the help so far!
How to write on the attack the activation condition "if the creature is not immune to cold"?
Are you trying to automate damage application with a given resistance?
No, I want the effect to not apply if the creature is immune to cold
!target.traits.di.value.has('cold')
Damnit. First time, I was like 'I know this one! I know this one!' just had to look up if it was in traits and still too slow ๐คฃ
Actually I haven't checked if that will do it. Going off memory ๐
How can i add an aura to Channel Divinity: Twilight Sanctuary? or do i need another module?
Did not work. The checkbox next to "Activation condition must be "True" to apply the effect" put
Hmm.. Well, it should work.. It seems to me that I did something wrong
No, everything seems to be correct. There is immunity to cold, a condition too, a check in "The condition must be met too" in the box too, but the effect is still applied to a creature with immunity to cold
put a value after di
Actually log the target actor and checkn
I will be at my pc in a bit
?
!target.traits.di.value.has('cold')
Ah, literally "value"
Oh great, now it works. Thank you ๐
Is there anyway to automate those 2 choices if the player ends their turn in that aura?
CPR has twilight sanctuary
I wouldn't use an aura for this.
I would create an item which when this channel divinity ability is active, can be used by the player and trigger a dialog to..
Ok then go for Moto
Crymic has a Twilight Sactuary in his patreon.
I highly recommend all of these:
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
and twilight sanctuary as well as its other features are in CPR
its ok to install all the dependencies i take it?
i would recommend adding modules as you find that you need them
rather than that whole list at once
I personally would preinstall them, when I first installed CPR I got errors in 3 of the dependencies, I think cause foundry/github didn't expect that many installed at once
I think Vallant is referring to CPR's dependency list
I'm just installing CPR's
you can try but if you see an error uninstall that one and reinstall
I personally had 2 error out saying they couldn't find the manifest prolly due to throttling at github
ill just prerinstall
once you installit go through its settings,you don't have to have it all on but I personally saw no performance degredation. I left off the things that didn't matter to my campaign
if you have unautomated versions of stuff, you should see a lil medkit/chest icon on the top bar, you can click that to have it update it, make sure you turn on synergy with midi srd/other compendiums so that midi srd's items also update
Need to ask tposney if he can move the version numbers off the names of the sample items so that his compendium plays well with CPR
(imo, the module using the other's resources should be the one to adapt -- assuming what its adapting to isn't straight up wrong, which its not, here)
its not like that. CPR has a feature where you can feed it your own custom compendiums to update off of, and it has the side benefit of letting us feed it other modules compendiums too but tposney puts the version numbers on the end of the names of the items and CPR checks vs the name of the item to sus out to update with them or not so all of the samples get ignored.
sounds like its exactly on CPR -- to match substrings
pretty sure he only started putting them in the name in v10
you convinced me, instead I'll just unlock my own and rename them hehe
IIRC, late v9 also had some that were versionized
@vast bane Ok so i added Twilight sanc to me players sheet and used it, got the animation etc but no prompts when players end their turn
did you turn on its required settings?
also did you actually update it to his version?
how do u code max damage?
with MidiQOL
I wanna do the Pugilist's Haymaker feature ;3;
do you mean, how to get the roll formula in the macro to return a max roll? in that case: .roll({maximize: true})
yeah but
Is there a way to set an active effect that gives the actor the maxroll property?
this, basically
I could give them an alt. weapon that deals max damage but I'd prefer if it could be an effect
As far as i can tell yes
Do i need to manually add all the compendiums?
@vast bane
I already have every item so I just use the update button on the top bar to get his version/updated versions
each item should say what it requires too of his global settings
.3.
I dunno if this is true or not, but I think all of those are hooks, so you have to restart after you check them in his settings
flags.midi-qol.max.damage.mwak. Add it to the effect and set it to custom 1.
you also might wanna join CPR's discord:
Nice UI! Someone needs to style those inline links tho ๐
I'm using your styling
Yes. All mwak damage rolls will resolve to max dice roll
you changed the icon on document links for me
I'm trying to write a onUse macro for the isSave trigger. What I want to do is to give the target of the save the option to add +X to the saving throw after the roll, but before knowing if the save was successful. Are there macros you can point me to to understand how to have the client of the target show a dialog and make a choice?
Yup that got it!
typically this is handled by the optional.NAME shit in the midi readme, literally search for optional.name
You don't need to restart after enabling them
is DF chat cards the folder name for DF chat enhancements?
you could also maybe have a look at CPR 'Focused Aim'. Although it resolves after a miss, it gives the player a popup to add to an attack roll. Maybe there is a way to re-engineer it to your needs.
On a technical level it actually manually checks if an attack would hit before midi gets to it
Whenever I need things to pop up between the roll and the declaration of success, I'm always using optional.something
makes sense. ๐
I have another question: I need a condition like "if the target has an effect with such and such a name" and "if the target has more than 10 effects with this name" (yes, I know, it sounds strange)
Btw, where to watch it? Where to look for everything that can be written in the condition? Or is it a collection of information from different parts of the entire foundry and/or MidiQoL documentation?
how can you tell how many stacks there are though?
the pin by Honebadger has the wiki, and bugbears activation condition crash course is in the wiki
Activation conditions are just evaluated JavaScript
Damn, by the way, this is a problem. I need this both for effects that are applied several times with the same name, and effects that, when applied again, increase the sum by 1
What are you trying to make?
I assume theres something in the workflow you can check against, I just never have seen how to tell the difference between 5 stacks and 1 of an ae set to stack
A flag on it most likely
I'm guessing the stacking drop down is a Dfreds or DAE feature right since its kinda hard to apply a stack in core?
DAE I think
I need it for two things. First, there is a mob that applies effect A if the target has effect B. There is also a mob that applies effect A only if the target has at least five charges of effect B (charges are made through "each addition increases the amount by 1"). Secondly, there is a mob that applies a C effect to itself with "Stacking effects apply multiple times" selected, as long as it has less than ten C effects. The second one sounds strange, it's easier to do it through a macro, as it seems to me, right?
Well, as expected
Ok, nvm, I figured out how to do the second part through a macro, and it really will be easier. And I already figured out the first one myself
thanks, what I don't understand with flags.midi-qol.optional.Name.save.all is how to handle giving the character multiple options. I've done reroll, but I would also need to add to the menu created by the flag other options. Specifically +1 up to +5 depending on how many uses of a specific feature (could be a resource instead) the character has left.
oh, yeah now I get why focused aim was suggested
right, ok, I've used focused aim to create a macro for attack rolls. That's fine. I have it now and it works - it's attached here. (I am trying to implement the Luck Points rule from Kobold Press and its applies to attacks, saves, and all skill/ability checks). Now I've started working on saves, but here I'm using isSave as trigger and this.actor obviously is not the target of the save. Also I imagine the menu won't pop up for the target unless the macro deals with that specifically.
I didn't figure out the first one, it doesn't work. Once again, how to make the activation condition "The creature has an effect with such and such a name"?
did you look at the wiki cause bugbear has that exact activation condition as one of his examples:
Okay, I'm blind. Thank you
preTargetSave instead of isSave as the trigger
Btw, I realized what the error was, I wrote ...eff.data.label... instead of ...eff.label..., and I was given a warning that this is an outdated thing or type of that. I understand correctly that this would work on V9?
I doubt the shim works in activation conditions
it prolly would have worked in v9, give it to super he can test it for us ;p
even if what I would like to do is to give the character having rolled the save the possibility to spend resources to add to the roll, not the attacker?
Oof too late to wrap my head around that one now ๐
hmmm is that an ability on the defender?
yeah, it's getting late for me too ๐น.
It is in a sense an ability on the defender.
It's a mechanic called Luck Points. You have a pool of points and every time you roll an attack, skill check or save you can decide - before evaluatjng the result - to use points to add to the roll or spend 3 points for a reroll. For attacks it was easier to automate, now I was trying to do saves rolled as per of midi workflows.
I'm still pretty sure they can just be done with optional bonuses
There 100% is one for saves
yeah it sounds like optional bonus
The issue is how to insert the amount of points to use
You can trigger a macro off an optional bonus
hmm oh well can you?! I need sleep
yes, that is my problem going down the optional bonus route.
in the changelog I saw flags.midi-qol.optional.Name.macroToCall OVERRIDE | ItemMacro | ItemMacro. But it says that the macro will be called when an optional bonus roll is clicked.
yes that was what I saw and seemed that it couldn't help you ๐ค
So instead preTargetSave trigger and do everything in there
That will be a macro onUse on the actor that has the ability
When are you calling setDamageRoll?
Post damage roll @gilded yacht
Heys guys
I'm using Mid with the Moken Token Bar. Wanted to make all enemies/allies within an action's template automatically selected. Currently it is selecting only who is marked as a target. I haven't found an option that causes everyone inside the AOE to be tagged. Is there such an option?
it is literally the first option at the top of workflow tab
oh, ty
Not sure if this already exists and I've missed it, so I'm going to ask here before opening a feature request...is there a way to have a "reroll" button displayed on the chat card for an attack/feature? When pressed, it would roll back any changes applied by the automation (similar to what the undo button does) and then immediately re-use the same attack/feature against the same targets.
It would be mostly useful in case someone forgets to roll with advantage/disadvantage, or when some automation is missing (IE: halflings racial skill that allows allies to reroll ones) or other cases like that.
That is not easy. There are too many changes that might have happened in between.
Concentration failing upon being damaged is namely a huge one (that can be disabled though), but effects etc being triggered or deleted or ...
Your best bet is to try to catch most common cases of such things before hand or just deal with it later ๐คท ๐
The way I do it, I tell my players I'll automate what I can. I'll make a journal for you on what is automated, what isn't, and how automated. It's your job to remember all this. If you had advantage or disadvantage and forgot well too bad, remember for next time
Makes life easy
The best thing is to not auto apply damage for me
I'm the same way
I always use No + Damage Card as the option of choice ๐
hahah almost. I yeet all chat buttons before even rolling ๐
You also left me behind in v9 land ๐
Can that be set for just players?
I full auto damage cause I hated having to keep track of players hp
I don't remember the different combinations available
I am look at the new item macro function calls. In the older versions there was code for get a tractor (token actor?) from the tokenUuid or the game actors how should this be replace using the function args.
args[0].actor will get you what you need when calling a macro via MidiQOL onUse macros
Yes and it's the setting I use at the moment
But that's already there - if you click "undo" everything is reversed, including restoring spell effects and concentration. This button would simply automate "click undo + use the same feature again"
It's a qol change more than anything, although it's not a big one since undo exists
What do you mean Undo exists?
so the definition for the new style function call is function myfuc({ speaker, actor, token, character, item, args }) now the old code has let tactor = (args[0].tokenUuid) ? (await fromUuid(args[0].tokenUuid)).actor : game.actors.get(args[0].actorId); I copied this from an example so not sure why this is done. can I just use the actor arg or should I use tokem.actor?
After the damage gets applied, you can click the undo button (for every target or for specific ones) and it'll revert all the effects it has just applied
OK what is the macro and how do you call it?
Can't take a screenshot now but it's after the damage card, it uses the usual "round arrow" design that undo normally has
Actually here's a pic (sorry for the picture of a monitor lol)
from the item on use macro
That is highly circumstantial and will undo only any damage dealt.
For example, you cast a spell like enlarge reduce with automation. No take backs with an undo button available.
Or you attack with a weapon that deals damage and also applies the poisoned condition.
You can Undo the damage with the button provided, but not take back the condition application
Same with concentration deletion. If a spell drops cause you fail the con save, nothing you do will get back the effects etc associated with that
As a general rule of thumb, to save you from potential troublesome situations, I always tend to go from token to token.actor
So either use args[0].workflow.token.actor or fromUuidSync(args[0].tokenUuid).actor when tokenUuid is available.
I would think tposney safeguards against unlinked tokens and gets the args actor from the relevant token.actor, but not sure right now
I see, it's weird cause certain effects seem to be reverted - although I can't test right now to figure out what's causing it
Dead and the likes when a token hits 0 would be reverted yes, but not anything else afaik
Hello, I'm having an issue with Magic Items and Midi-Qol. Specifically when a spell associated with an item calls for placing a measured template. When casting the spell from the item it automatically allows for placing a measured template, but when the template is placed, the target does not get prompted for a saving throw, and the spell effects are not applied. A chat card is created with two buttons: Place Measured Template, and Apply Active Effects. The Place measured template button will just place another template, but has no other effect. Using the Apply active effects will apply the effect on the target without a saving throw, except if it's a damage spell, it will throw an error saying there is no template placed.
I've double checked that the actor is properly targeted by the template.
I have found a work around that if I right click when prompted by the first auto measured template canceling out of the template placement, and then go to the chat card and use the Place Measured Template Button, Midi-Qol will work as expected - prompting a saving throw, and applying effects or damage as normal.
So there is obviously something getting caught with that first measured template placement.
I have disabled all modules except Midi-Qol, Magic Items, libWrapper, socketlib, and lib - Color Settings, and have found the same issue still exists.
v10 291, DnD5e 2.1.5.
Has anyone else experienced something like this?
i dont think Magic Items plays nicely with Midi? I could be wrong, but there are at least caveats
I second that. I've been having some minor issues lately as well... I approached it by simply dragging the relevant spells directly onto the character sheet, rather than via Magic Items.
according to GitLab - it mostly plays nice. With the excetion of looking for passive / transfer effects
I figured that was the route to go eventually. It's just nice being able to have the charges tracked on the item.
I agree. Alas.
@regal igloo and @wide crystal , relevant comment by tposney #1010273821401555087 message
Having said that, https://foundryvtt.com/packages/items-with-spells-5e is a no-frills replacement if you want to try something different.
I tried it recently and I found it rather lacking... I believe upcasting was missing and the UI seemed a bit odd to me. Just using it felt like I was doing something wrong ๐
it's not a one for one, but it will get you 90% there
Hey y'all is there a setting on core foundry or midi-qol that allows you to click on an attack/feature/spell to allow you to roll damage without needing to roll attack? Most of my players enjoy rolling physical dice for the attacks when called for, but prefer to keep damage on foundry due to wild calculations and otrher bonuses. Thank you!
That is core to the system and something midi has removed for you.
maybe have a look at DF Manual Roll module. It lets you combine both physical and digital rolls and still keeps MidiQoL open for automation
thank you! i'll take a look
Generally speaking MIM is not needed really. If you need items with spells, use Items with Spells module, if you need items with other item types use warpgate or macro.createItem from dae.
DF manual rolls module
Thanks, I've been playing around with Items with Spells and it's working much better. Covers the simple uses I'm trying to do
As for upcasting in items with spells, it is a bummer that it doesn't handle it but you can do it manually in the module this way:
Now if only we can get collapsible spellbook tab categories 8)
checking out this module now and it's a GOD send thank you so much!
now i no longer have ot edit initiatives for folks who prefer rolling physical dice on the combat tracker
Concentration in particular doesn't seem to be ending with TimesUp for me, is there a setting I may have mismanaged?
Any guru's feel like checking my work?
const duration = duplicate(args[0].item.system.duration);
let newDuration;
if (duration.units==="turn") newDuration = { turns: dvalue, startRound, startTime, startTurn };
else if (duration.units==="round") newDuration = { rounds: dvalue, startRound, startTime, startTurn };
else if (duration.units==="minute") newDuration = { seconds: (dvalue*60), startRound, startTime, startTurn };
else if (duration.units==="hour") newDuration = { seconds: (3600*dvalue), startRound, startTime, startTurn };
else if (duration.units==="day") newDuration = { seconds: (86400*dvalue), startRound, startTime, startTurn };
else if (duration.units==="month") newDuration = { seconds: (2592000*dvalue), startRound, startTime, startTurn };
else newDuration = { seconds: (946080000*dvalue), startRound, startTime, startTurn };
//const [spawnedCreature] = <Your whole warpgate macro here and remove the slashes at the start of this line and the <> around this>
const token = canvas.scene.tokens.get(args[0].tokenId).object;
const actor = token.actor;
await MidiQOL.socket().executeAsGM("createEffects", { actorUuid: args[0].tokenUuid, effects: [{
"changes": [{
"key": "flags.dae.deleteUuid", "mode": 5, "value": spawnedCreatureUuid, "priority": "30"
}],
"label": "Summon Bestial Spirit", //rename this to the actor you are summoning
"duration": newDuration,
"origin": args[0].itemUuid,
"icon": args[0].item.img,
}]
});
This is meant to tie the summons to conc, lets you just paste in the summon macro into the area in the middle? I know I'm defining token and actor but thats ok, this requires advanced macros which lets you 8)
I believe you can just tick Concentration on the feature used to summon whatever and make the warpgate macro an args = "on" macro with a dismiss macro on args = "off" and it will do all this for you
this deletes the actor when conc ends
It should immediately delete it
Actually sorry, unfamiliar with that flag in particular
Anyone know of a good premade effect that can reduce a creature's max hit points by the amount of damage taken? Maybe a chris or midi premade that's out there alreay?
effects should never be used to mod hp or max hp unless you are absolutely desperate
multiple CPR items reduce max hp, shadow attack in particular
Here is my updated macro after some one tested it:
const token = canvas.scene.tokens.get(args[0].tokenId).object;
const actor = token.actor;
const duration = duplicate(args[0].item.system.duration);
const startRound = game.combat ? game.combat.round : 0;
const startTurn = game.combat ? game.combat.turn : 0;
const startTime = game.time.worldTime;
const dvalue = duration.value;
let newDuration;
if (duration.units==="turn") newDuration = { turns: dvalue, startRound, startTime, startTurn };
else if (duration.units==="round") newDuration = { rounds: dvalue, startRound, startTime, startTurn };
else if (duration.units==="minute") newDuration = { seconds: (dvalue*60), startRound, startTime, startTurn };
else if (duration.units==="hour") newDuration = { seconds: (3600*dvalue), startRound, startTime, startTurn };
else if (duration.units==="day") newDuration = { seconds: (86400*dvalue), startRound, startTime, startTurn };
else if (duration.units==="month") newDuration = { seconds: (2592000*dvalue), startRound, startTime, startTurn };
else newDuration = { seconds: (946080000*dvalue), startRound, startTime, startTurn };
const [spawnedCreature] = await warpgate.spawn("Your Actor Name", {}) //edit this line
const spawnedCreatureUuid = `Scene.${canvas.scene.id}.Token.${spawnedCreature}`;
if(!spawnedCreature) return; //in case it was cancelled.
new Sequence()
.effect().file("jb2a.misty_step.01.blue").atLocation(spawnedCreature)
.wait(300)
.animation().on(spawnedCreature).opacity(1.0)
.play()
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,
}]
});
This will link the deletion of the summoned to the conc of the actor
(requires advanced macros unless you go and fix token/actor definitions and their usages below it)
In my summons, I do something like this. This is using an effect slot on the item itself, but you can still create the effect programmatically if you'd like, just include a flag that triggers this macro.
if (args[0] == "on") {
// Warp Gate spawn macro.
// Name your spawn something more clever and you can retrieve it from your feature, so it's truly dynamicโข.
const tokenId = await warpgate.spawn("Burny Ball");
if (!tokenId) return;
// We save the ID in a flag on this effect, so when the effect is turned off either manually or by expiry, warpgate.dismiss has a tokenId it can dismiss.
// If you have multiple Warp Gate spawns of different types, say Summon Demons or something, gather all their tokenIds in an array and put it on the flag.
const effect = game.actors.get(args[1].actorId).effects.get(args[1].effectId);
await effect.setFlag("world", "tokenId", tokenId)
};
if (args[0] == "off") {
// Checking if we actually summoned something, as to not generate errors if not.
if (!args[1].efData.flags?.world?.tokenId) return;
// warpgate.spawn generates an array with tokenIds of spawned tokens, dismiss expects 1 tokenId, so we loop over the array and dismiss each of them.
const summonArray = args[1].efData.flags.world.tokenId;
for (const tokenId of summonArray) {
await warpgate.dismiss(tokenId);
};
};```
I think the main benefit of mine is that I feel its simply a copy/paste and edit two fields and every summon will work, just a matter of pasting in the right warpgate command if the attacks/actor changes details
i like this -- what I dont like is the pattern emerging where we need to flag the casting actor in order to get rid of the summon ๐ค I wonder what I can do about that
(to be clear, the part me not liking is a result of how warpgate works, not how you used it)
You can cut down on those two fields (if you're referring to the actor name) by defining it in one variable at the top and refer to it later :p You also have two unused variables actor and token
I think that's going to be hard for you system wise for Concentration, that stuff is always on the onus of the caster :S While you're here though, I was surprised to see spawn return an array and dismiss not accept an array, any particular reason?
I still want to improve mine to make it truly dynamic, but I think that would involve me flagging the actors I spawn with any change data, like scaling abilities, and figuring out a way to put actor names in spells to summon and that sounds boring
Not really. It's one of the older functions that hasn't needed/gotten much attention
A loop dismissing them all is basically all I would end up doing under the hood. They all get queued internally and handled sequentially, so no real need to await the dismiss either
Hey guys, would you be able to advise on the necessary change to the below bit, so that the target/result list in the chat card displays the token thumbnails correctly?
continue;
} else {
console.log(`Sleep Results => Target: ${target.name} | HP: ${targetHpValue} | HP Pool: ${remainingSleepHp - targetHpValue} | Status: Missed`);
slept_target.push(`<div class="midi-qol-flex-container"><div>misses</div><div class="midi-qol-target-npc midi-qol-target-name" id="${find_target.id}"> ${find_target.name}</div><div><img src="${get_target.document.texture.src}" width="30" height="30" style="border:0px"></div></div>`);
I have an old (I assume) Sleep spell script and you can see the issue on the first screenshot. As per Bugbear's advice from Feb that I found here somewhere, I tried changing <img src="${find_target.data.img}" to <img src="${get_target.document.texture.src}", but I believe that simply breaks the function altogether, as instead I get nothing (2nd screenshot). Any thoughts?
Im not sure, but I would try ${get_target.texture.src}
I'm afraid that doesn't work.
aren't they used in the create effect function?
You aren't using them in that function if they are needed
I thought the actoruuid was using actor my bad
wait a minute, the rest of that macro is using find_target not get_target does ${find_target.document.texture.src} work?
Yes!
Sorry, I'm completely unaware of how these things work, as of yet.
Thanks so much.
What's it do mechanically (don't just drop the whole description here)
IIRC, adv if the target current hp < max hp
ye, adv. vs creatures missing HP
First thought would be:
flags.midi-qol.advantage.attack.all >> Custom >> @target.attributes.hp.value < max
No, that's not correct.
So close! No need for @ there
That doesn't seem to work, though. I still get adv no matter the target HP.
;3;
HMM, does it still require a macro?
Thats because you shorthanded the max part: target.attributes.hp.value < target.attributes.hp.max
@modern badger If you are looking specific for Sahuagin, make that '.mwak' instead of '.all'
Editted, for future searches:
5e Sahuagin Blood Frenzy missing hp automation
flags.midi-qol.advantage.attack.mwak Custom target.attributes.hp.value < target.attributes.hp.max
thanks!
Does anyone if it is possible to make Midi simulate "stack" mechanics?
Example being: If you take X amount of damage, you gain half of that as stacks.
Example 2: You gain a stack upon being hit by this attack.
Oh and does anyone know how to set vulnerabilities through status effects using DAE + midi?
Another thing, but does anyone know how one automates on-turn/on-enter persistent AoE effects?
Need a custom macro for this
Assuming it's a temp vulnerability thing?
Look at the readme for the overtime effects part
AOE things you'll need another module in conjunction to an overtime effect (active auras, idk if babonus can do it)
Thanks for all the answers!
-
Care to elaborate on the custom macro thing here?
-
And yeah it is for a temp vulnerability thing.
-
Thakn you, I assume I can find the readme somewhere in MidiQOL's github?
I do have active auras enabled ftr.
-
That is not something you can do with just AEs (active effects). So you will need to create a custom macro (javascript (JS)) or have someone here make it for you
-
system.traits.dv.value | Add | pick one from the drop down -
Yeah, https://gitlab.com/tposney/midi-qol/-/blob/v10/README.md (ctrl f for
turn=startand it'll take you right there)
What's the OT you wanna make?
I'll let you try and make it first but I'll make it myself too to help if/when you get stuck
Well, the main one I'd like to make is just a simple 1d8, 10ft aura, on-turn/enter.
I could definitely make an attempt on making automation for some of the other OT effects but I think they'd be far too complicated to make so I'll simply apply those manually.
Do you have Active Auras?
I do.
Also this Aura, is it something homebrew or actual spell (just so I can read it)
Good. Keep in mind this is a combat thing only and idk how it'll handle it outside combat so personally don't bother there
So I guess some context should be given.
Whenever I make boss fights I do one of two things, I either create something from scratch (this takes a lot of time and can get very frustrating for me), or I take a Raid Boss from an MMO and translate it to D&D.
One of my most common MMOs that I steal from are WoW and FFXIV, as they have the best documentation on them that I know of.
In this case the overtime effect is from pillars that the boss summons at one point that appears after a status has expired.
Initially I wanted to make an effect macro to automate this but remembered my troubles in the past trying to make a Death Ward effect that expires upon hitting 0 hit points.
I do have everything already written down, it is not a pure stat block as I did all my work on Foundry specifically.
Got it
So basically an aura that does 1d8 at the end of a turn (I say end cause if it's start and they enter the aura during their turn, they will not be dealt that damage)
What kind of damage
Fire damage specifically.
What happens if they save?
No damage or half
Also does that mean they are now immune to said aura damage?
No saving throw.
Just this damage upon fulfilling the conditions for being inflicted it. (That being inside of the aura)
Oh better question, is there even a save
Beat me to it
What is the name of this damage that you want to see in the chat?
Just "Overboiling"
No name will pop up something like DamageOvertime
Cool
Everything look fine (this is just my notes, not finished)
1d8 fire, turn end, on the boss, no save, label Overboiling
Oh, and 10ft aura
1d8 fire, turn end, on the pillars*, no save, label Overboiling, 10ft aura.
On the pillars?
Oh and 1 last thing. Is the aura always active or something you activate
Yeah, uh, so certain mechanics will spawn "pillars", these are the source of this aura.
Only the boss is capable of destroying these "pillars", these pillars spawn a "pool" that deals heightened damage upon death.
And is there a duration
Always active.
So no duration, got it
Aye. ๐๐ป
I'll start making it so give me a few to make sure everything works fine
Keep in mind, you will need an actor for the pillars and them to be in combat for it to work
Oh okay!
Well yeah, I know that, haha. ^^
Last things, are you using Token Magic and want an animation when they enter the aura (as another visual note of being in the aura)?
Also, do you want an icon like this when in the aura or no
I am using Token Magic, an icon can be left out if an animation is playing instead.
Highly appreciated! ๐๐ป
That's fine yeah.
- Create a passive AE on the Pillars actor (you can give the Effect Label a name like Fire Aura just for your internal reference)
- Create 2 Keys. 1 is
macro.tokenMagic | custom | fire(you can change it to be anything else but it's a fire aura so why not) - Other key is
flags.midi-qol.OverTime | Override | the stuff below
damageRoll=1d8,
damageType=fire,
label=Overboiling```
4. Auras tab, copy the picture (a grid needs to be on the scene)
These 2 in the AE can be changed to whatever you want
Or just leave them as default
Alright, thanks a bunch! Finished setting it up based on your instructions.
"Tale of the Avenger. For 1 minute, any creature that hits the target with a melee attack takes force damage equal to a roll of your Bardic Inspiration die."
Is there a way to make this happen with a custom effect and midi? I'm not sure whether there's some kind of flag for dealing damage to targets who attack the actor. It doesn't necessarily have to be able to pull the bard's inspo die, I'm happy to enter/change that manually
It deals X damage to creatures that hit the target
(With a melee attack specifically)
macro territory honestly
I gotcha
Hello everyone! I'm starting with automated combat and need some help. I want to change the way Exhaustion Works with MIDI + Combat Utility Belt + DAE. The idea is to make every level of exhaustion substract -1 to Attack Rolls, Ability Checks and Saving Throws. Since I don't find a flag for that on MIDI, what would should I type on "Attribute Key" field?
That would just be the core attributes
Not a flag
For example: system.abilities.cha.value
Is there a sheet that includes all of these? I found one for Midi, but nothing for core stuff.
Tyvm
@woeful topaz For your blood hunter Crimson Rite question, there's a few people who've made the features already. I recall Crymic has Crimson Rite somewhere on his Patreon and Chris' also have some Blood Hunter features available in his module https://foundryvtt.com/packages/chris-premades, I know Hybrid Transformation and Crimson Rite is in there somewhere.
@queen raptor I noticed the chat in #macro-polo and for what it's worth, I am 99.9% sure Chris did not intent to lead you over there, I believe they just directly answered the question "is this possible with a custom effect and midi". :p It is macro territory, but as you've noticed, still also Midi territory. Can you share how your world is setup in terms of automation? How much are you looking to get this feature automated?
So, I already have a way (with a rolltable and world items) to have the bard roll on the spirit table, grab the item to add to his sheet, and then fire it at somebody - the item then destroys itself on use. I can make an active effect on the item I made for this Tale that lasts for 60 seconds, but I'm not sure how to write a macro that checks for that active effect and then applies the damage to people that hit the affected actor with a melee attack.
Roger, tposney (dev of midi-qol may only good things come their way) actually has a sample item with something like this called Retribution and that seems to work. Can you do me a favor and test if that'd work with your setup? It should be in MidiQOL Sample Items, just drag it onto a test actor and try to attack them. If that works for you, then we can tinker it to fit your ability
Oho, I didn't realize there was a sample item for this
It's a rare one but also utilizes a bit of macroing, but if this works, we should be able to make yours work as well, it'll just change how we go about it
Looks like it works. The Hill Giant has Retribution, Sam hits the Hill Giant, the Hill Giant does damage back. (Don't ask me where the hill giant got 1500hp)
Great! For some reason, most of my intellect just seeped out somewhere, so we'll do a dirty version and then I'll come back with a better version later ๐ Do you keep a copy of this item somewhere for reuse? Like a compendium or the sidebar? The one the bard consumes to cast this
I don't keep it in a compendium (I'm betting doing so would be more efficient wrt data, though?). I keep the bard's spirit items in the sidebar. When the bard rolls Tales From Beyond, he can drag the item from chat to his sheet to get a temporary item to roll it.
It's definitely better data-wise to keep it in a compendium. You should still be able to drag from the compendium onto the rolltable if you want to change that in the future, but for now, we'll just use the sidebar item. Create a script macro and fill it with this, where you change the damage roll to your Bard's bardic scale and the damage type to fit whichever it was;
const actor = args[0].options?.actor;
const token = args[0].options?.token;
const target = fromUuidSync(args[0].tokenUuid);
if (!actor || !token || !target ) return;
if (args[0].item.system.actionType === "mwak" || args[0].item.system.actionType === "msak"){
const damageRoll = await new Roll("1d8").roll({async: true}); // Change the roll to your Bard's scale
await new MidiQOL.DamageOnlyWorkflow(actor, token, damageRoll.total, "force", [target], damageRoll, {itemCardId: "new", itemData: game.items.getName("Tale of the Avenger")}); // Change "force" to whatever your damage type is, remember the " around the damage type
};
whoops, forgot to actually edit the item name in >_> get this one
Once you've made the macro, edit the item and on the effect that it applies to its' target, create a line with
flags.midi-qol.onUseMacroName | CUSTOM | WriteWhatYouNamedTheMacroHere, isDamaged
I just realized I assumed it was on hit, but you mentioned attack. Do they need to get hurt or just get swung at?
They need to be hit, specifically with a melee attack
Right, we need to edit the macro a little bit afterwards to filter for that
Force damage is already correct, die is changed to the bard's d8, effect added
Yush, give it a shot then, this should work like the Retribution sample item and just return damage to whoever deals damage to the effect's owner/the target of the bard's tale
I'm digging out the "melee attack" filter in the meanwhile
Yup, looks like that works.
Bard used his Tale on Sam, the Hill Giant hit Sam, Sam did 1d8 of Force damage to the Hill Giant.
Good stuff, I found what we need to filter on but it's not doing what I want, bear with me here
No rush, I appreciate your time and effort.
There, edited the original macro, give it a shot. We just enclosed all the damage dealing in an if checking for the item that attacked us' action type. You said melee attack, so I assumed both melee weapon attack and spell attack was ok.
fack, 2 sec
No worries lol
There ๐ Re-copy, re-paste and try again
Perfect!
Haven't tested the spell attacks part, but the Giant takes damage when he hits with his club, but not with his rock (as expected).
Just confirmed for spell attacks
Many thanks, Krig
๐ No problem. I know it can be improved so might have a look later, for now, remember to edit the damage if the bard levels ๐
Yeah he's gonna upgrade his die next level so I'm gonna have to go through and redo a lot of d8's lmao >.>
I know I can do the scaling for the effects that the bard is rolling himself, but for the Tales where he grants it to other people I had to manually do a d8 because I didn't know how to pass the bard's scaling dice to other people
Yeah, when the effect is on someone else, you lose a lot of info of the "caster". I can think of a few ways that it can be done though, I'll have a peek later when brain is less lukewarm
No worries, thank you again for your assistance.
If you do end up revisiting Spirit Tales, the only other thing I'm missing is the part of Tale of the Phantom where the recipient's next hit causes fear on the target - I can make the recipient invisible and give them extra damage for a single strike, but the Frightened transfer is beyond me.
Right now my janky solution is, like with some other Tales, giving the recipient a one-use item that lets them cause the Frightened condition on a target.