#Custom System Builder

1 messages · Page 7 of 1

shut harness
#

I’m using it in my mario game :)

cinder rock
#

Thank You!

somber bay
#

Does anyone have a macro I can add to a roll that can check or uncheck a box? I wanna be able to equip and unequip stuff without opening the item.

cinder rock
#

Honestly, there is a lot of Macros I'd like to make. Anyone got a good tutorial on making them?

cinder rock
#

ty

somber bay
#

One more question... I saw this on the roadmap... I do not expect it to be coming any time soon but... by chance is it?

#

#126 - Allow roll messages to edit values on the sheet

#

If @brittle moth says no that is cool, it means I keep trying to figure out macros

hazy saffron
#

I'm setting up a roll message to use a 'user input' in one area and then reference that key in another.

• Cost: 1+?{WillpowerSpent|2} Willpower

(Other display text)
Willpower spent ${WillpowerSpent}$

However, when I do this, the roll message shows as blank. When I edit the roll message I see all the text but when rendered in the item, it's blank. Anyone seen this?

#

Also I get an error on this: ${?{WillpowerSpent|2}+1}$

mint arch
#

Perhaps someone here can answer the question - as I am attempting my first build in Foundry and struggling hard. But I am using Custom System Builder, I hope you'll understand what I'm trying to do. Very simply, I'm trying to create a dynamic table so that I can re-use it to assert it as values in a custom character sheet drop down (20 rows) field. Problem: I don't know what constitutes as a "Dynamic Table". Docs and Google point me to rollable tables, which isn't helpful.

Can someone help me identify what kind of table I need to build here? I'm realizing vernacular matters.

mint arch
formal goblet
#

Whatever key you have used for your table and the column. Should be just the name of it without any additions.

mint arch
#

Nvm, I think I figured it out. It will only register dynamic tables in the same sheet. It won't register from other items/sheets.

formal goblet
#

Yeah

#

Cross-interactions between other sheets is limited

mint arch
#

Gotcha. i was testing making an item for it to reference, as I'm making 7 templates for different playable species.

#

Gotcha

#

Thank you for the clarification!

#

This helps a lot!

formal goblet
#

Why not just 1 template for all species? Are they that different?

mint arch
#

There probably is a better way, I'm just a newb and it's pretty in depth. My system uses a full range of dice, and stats can go up or down depending on what's happening so it makes rolling off of the character sheet itself pretty intensive.

#

So I just wanted a drop down that will help players keep track of base stats

#

Just with 17 dropdowns per template, I didn't want to generate a table line by line for each one.

#

With each playable species, there are buffs that players can choose from, and each species is different.

formal goblet
#

That´s probably something I´d make an Item Template for with Item Modifiers.

mint arch
#

May consider that. We'll have to see.

formal goblet
#

The player can drag the corresponding species into his sheet and the stat buffs will be applied automatically.

mint arch
#

I'll have to consider this.

#

Might be easier

carmine escarp
#

question for the fellas: i am about at the step where I just need to make a compendium. how would I go about doing that? should I make 1 of each item/monster/whatever I want and then click the compendium button or what?

runic condor
#

Im having trouble making a roll message. I just need a simple roll XD6 where X is the value of one of the components on the character sheet

#

Example ^^ When I click Fatigue I want it to roll 4D6

#

I cant figure out how to get it to use the component as a variable

carmine escarp
#

that seems like youll need a hidden label that concat's the values

#

or

#

hm

#

sorry im not very good at this

runic condor
#

I got it to reference the value with this: "@{selected|FatigueCurrent}d6 for Fatigue"

#

but it wont roll

carmine escarp
#

alright i can already tell youre ahead of me lol

#

ive got no hints or tips

runic condor
#

lol all good

carmine escarp
#

what i've done is hide labels that do Concat in a tab labelled "info" and pulled from there

#

because at a certain point shit stops working

#

so they concat keys for me

#

then i reference them elsewhere

#

still cant hide the tab though

umbral jackal
#

Is there a way to have an item check the key of its parent container? I have a system where Attributes and Defects can be applied to either characters or items, and choose which key value to change depending on that. If applied to a character, its point cost will be added to the character's spent points. If it's on an item, it will be added to the total points applied to the item, and half the total points will be added to the equipper's expenditures.

hazy saffron
#

Anyone else having trouble when using the user input ?{varName|value} and then referencing that key later like ${ varName}$ ? When I do it for a roll message/description, it clears all the text out in the display for some reason

scarlet skiff
umbral jackal
#

Additionally, is there a way to set the visibility formula in an Item Container label to check the value of a property in that item?

umbral jackal
#

Uh...uh-oh. I tried to make a label that was just a horizontal rule, and now, not only is there no horizontal rule, but I can't click on the label to open and edit or delete it...there's just a huge empty space now.

brittle moth
umbral jackal
#

Um...can Items not be equipped to other Items?

#

I'm trying to make it so that Attributes and Defects (which are classified as Items in CSB) can be attached to Items.

burnt ridge
umbral jackal
#

Ahh. I hope so, because I've kinda hit a wall with this system until then.

vagrant hollow
faint wharf
#

Hi! i was looking at pool results for 2.3 i seen - Item management [#155 - Conditional item & active effects modifiers] - Will it let us acces items like in dynamic table? i need this feature and hope it is just that. also any notion of when 2.3 will be up?

scarlet skiff
umbral jackal
somber bay
scarlet skiff
#

anyone know if you can update a sheet (similar like pressing the reload button by hand or the "reload all item sheets") with a script macro?
I found the solution. There is "item.reloadTemplate("ItemId") you can use to get the item loaded with the right Template

hazy saffron
#

Is anyone very familiar with the user input mechanism and then referencing the data elsewhere?

shut harness
hazy saffron
# shut harness ${appleCounter:=?{howManyApples} }$ Something like that

Interesting. That's different from what I saw in the GitHub docs, I saw ?{varName|default} and you could refer to the key later as ${varName }$. However, when I did that, it would clear out the message all together. In your example, can I use ${appleCounter}$ later to use the value entered?

hazy saffron
#

I did try the above in the description/chat message but it returned ERROR

hazy saffron
#

Oh I see the wiki shows a different format using a # before the input code! I’ll try that

formal goblet
hazy saffron
#

When I try to implement the above, whenever I include the reference ${ }$ the whole rich text area disappears

hazy saffron
#

@formal goblet Here is a snippet of code in my Rich Text Field/Roll Message in an Item. I am trying to have user input for "WillpowerSpent" and then display that later in the roll message. Then ${WillpowerSpent}$ formula causes the whole rich text field to go blank when it's saved.

• Cost: ${#?{WillpowerSpent|2} }$ Willpower

Bonuses at Rank ${rank}$:
  • Gain ${legend}$ Bonus Dice on the reroll per 1 Willpower spent ${WillpowerSpent}$

formal goblet
hazy saffron
#

The text of the rich text field is still there it's just not display on the item nor in the chat window when 'rolled'

formal goblet
#

Look for errors (red).

#

Post a screenshot if you see one.

#

Actually, also post a screenshot of the Label Roll Message

hazy saffron
#

There are no errors. There is a warning "Some props were not computed" but the item itself has a ton of hidden attributes representing actor attributes so it could be those

#

There is also a warning about the object itself.

#

Some cookies are misusing the recommended “SameSite“ attribute 3
Some props were not computed. item.js:207:21
Object { roll: "Roll ${dice_pool}$D+${succ_pool}$, Dif. ${dif}$", effect: "${recalculate(fetchFromDynamicTable('effects', 'effect_desc', 'effect_title', effect_select))}$", succ_pool: "${ref(concat(ability,'succ')) + roll_bonus_succ + ref(concat('m', concat(attribute, '_mod')))}$" }
item.js:208:21
WebGL warning: drawElementsInstanced: Using format enabled by implicitly enabled extension: EXT_float_blend. For maximal portability enable it explicitly.
Some cookies are misusing the recommended “SameSite“ attribute 3

#

The roll message says "undefined" at the point where the text would start

formal goblet
#

Check your formulas if they actually return a value. You can use the Label prefix or suffix for that. IMPORTANT: Only one formula at once for testing (everything inside ${}$ is considered a formula).

hazy saffron
#

So, without the added reference of ${WillpowerSpent}$ and only using the user input ?{WillpowerSpent|2}, when I do the roll, it asks for my input and then correctly displays what I enter in the roll message. Only when I include the later reference do things go 'blank' and not work

hazy saffron
mint arch
# vagrant hollow I think you just need a label with “label text” “Fatigue” and “label roll messag...

To piggy back off of that, is there any way that we can take the contents of a text field, and once parsed for content, use that syntax as a roll to chat? For my purposes, I want to take the text input for damage on a given weapon, and use that to roll from on the Weapon sheet (Yellow flow). In addition, I want to take that value, and turn it into an actionable item on the character sheet inventory tab and subsequent container I have made (Red Flow). Any thoughts how I can change it so that instead of ${[1d6]}$ as a static roll, it is a variable dependent on the input from the weapon sheet?

#

Changing it to ${[item.WpnDamage]}$ doesn't do anything in chat, so I'm guessing this isn't possible the way I've done it

#

So I'm wondering if any wizards can help me improvise a solution. Perhaps there's a better way to store the value, but it has to be variable as the damage will differ from item to item.

formal goblet
mint arch
#

Thank you! I'm so glad this was just user error. I was wracking my brain on this lol

mint arch
#

I've tried both. Neither seemed to work, but I'm sure it's possible and one of these is closer

#

The intent is "<Estoc> Damage: <Roll>"

#

Or perhaps there is a better way and I'm making this harder on myself.

#

Open to learn!

#

I see 4.4 but it confuses me slightly

formal goblet
#

${item.WpnName}$ Damage: ${[:item.WpnDamage:]}$

${}$ -> CSB-Formula
${[]}$ -> Foundry-Roll-Formula with CSB-functions and keys mixed in it

#

You only need the Foundry-Roll-Formula if dices are involved. Rest can be pure CSB-Formulas

mint arch
#

Got it. Worked like a charm. Thank you for teaching me. I'm such a newb at this.

mint arch
#

Doesn't show the content.

#

When i roll it from the character sheet *

formal goblet
#

Is WpnName a key you´ve created? If not, use item.name

mint arch
#

Yea, It's another text field.

mint arch
#

Thank you so much @formal goblet

gaunt bluff
#

Hi all, I have need to reference a value from one item to another item on the same actor (different tabs, different item containers). is there a way to do this? (one item container roll formula referencing a value from another item)?

keen sundial
#

I asked about the system in the wrong thread... Now I am in the right place. Hey people.

gaunt bluff
#

I decided to do a physical table with a mass bunch of labels to store the relevant data. I had to create a new variable to store the name for comparisons as item modifiers don't work with item name.
using the ref() to compare the name on the other item container, I am able to reference the data properly for the rolls.

umbral jackal
#

How do I access an actor's/item's name when, for example, posting to chat?

#

Figured it out for the item, but not for the actor name.

umbral jackal
#

Also, I need rolls to be able to be made normally (2d6), with a minor (3d6kh2) or major (4d6kh2) edge, or with a minor (3d6kl2) or major (4d6kl2) obstacle. How would I allow the player to choose one when making a roll?

mint arch
#

OK, next hurdle! I am attempting to use a dynamic table to generate a dropdown option for each of my main attributes and skills. What I would like to do, is that when the Attribute header (label) is clicked, it references the table, but a different column from the same row (record) that the selected value in the drop down is referencing in the table. See the example image, in case this needs context or I'm not explaining it well.

#

Does this makes sense what I'm trying to do? Which section of the guide might help answer this?

#

I saw a few potentials but am not sure which one or if someone has the quicker answer.

#

This was my latest flub:
Strength rolled at Level ${STR_Value}$ <br> ${[DjinnStatsTable(Levels=STR_Value).:LevelRoll:]}$

#

Was attempting to use 6.2 as a reference "<dynamicTableKey>(<filterColumn>=<filterValue>).<targetColumn>"

formal goblet
formal goblet
umbral jackal
#

Aww.

formal goblet
umbral jackal
#

... ... ... ... Why didn't I think of that?

formal goblet
#

Glad it's simple enough 😄

umbral jackal
#

Yeah. Thanks!

keen sundial
#

Hello. I´m trying to add a call to a rollable table in a character template, Depending on the name of the npc I create with the template it should roll on its respective rollable table when clicking on the button... but I can´t seem to make a value work as the rolltablename

#

${[#ref('npc_name')]}$... ${[#npc_name]}$... where npc_name is the key where I write the name of the npc, which is also the name of the respective rollable table... but nothing happens. If I write the rollable table name directly it works, but I want a template where I can plug the apropriate table to roll depending on the npc

#

any ideas?

formal goblet
# keen sundial any ideas?

You have to use colons if you´re using CSB-formula inside a Foundry-roll-formula. Try this: ${[#:ref('npc_name'):]}$

keen sundial
#

Thank you very much. It worked. Community is the best 🙂

craggy crest
#

I'm casting Resurrect Thread - as I try to figure out how to have, "Bless," or "Guidance" automatically apply their bonuses on rolls for dnd5e (edited to add specifics)

brave heart
#

Hello, I have drop-down list for attribute with dice types as labels (d4, d6, d8, etc.) and wish to create reference to this attribute. however when i refer to the stat i see key value instead of label value. How can I refer to label of drop-down list? I don't want to put die types as key because I plan to modify the referenced attribute by moving 1 step higher or lower (from d6 to d8 or d4) depending on situation, gear, etc. Is this even possible to reference the table behind drop-down?

umbral jackal
#

I see the Tooltip on Hover trick on the wiki, but I can't figure out where to put it to make it work. Are "dropdown" and "dropdown-content" not built-in classes?

formal goblet
thorny cobalt
#

i am trying to modify a label value using an item modifier. the label has it's own formula, but the final output is a number. whenever i add the item in question, the label switches to display "NaN". am i doing something wrong here?

thorny cobalt
#

yeah, i added them

carmine escarp
#

how do you fellas implement crits for your systems? what roll message code do you use to double the dice?

mint arch
#

Is there a way to add the sum of a field's values from a Container?

fierce harbor
cinder fox
#

How can I access an item image when using formula?

fierce harbor
cinder fox
#

I got undefined while doing that

fierce harbor
cinder fox
#

I want to display the image of an item in the chat as part of its roll message

fierce harbor
cinder fox
#

sure thanks! I

fierce harbor
# cinder fox sure thanks! I

I tried to append ${item.img}$ to my roll text(in a label inside the actor sheet) but did nor get the image. No error, though.

fierce harbor
# cinder fox sure thanks! I

I've checked API docs for v10 and there you have thumbnail accessor, but using item.thumbnail gets me nowhere.
I'll keep trying and let you know if a solution comes out of it. Sorry for now.

cinder fox
#

i think would have to check how the name is transferred to props and maybe do the same for images, but I am not sure which line of code that happens

fierce harbor
scarlet skiff
#

hey - anyone tinkered with item tooltips? i want to display item information (static or dynamic) in the tooltip of items. for a simple use case: is there a way to change the tooltip "Item" to something else like "This is the Item-Tooltip"

burnt ridge
brave heart
cinder fox
fierce harbor
fierce harbor
#

I'm attempting to build a skill list where each skill has a reference stat, a certain number of points assigned to it(with max depending on said stat) and a total(that depends on said stat). Tried with dynamic table, but sameRow() does not work in max formulas so I cannot get the correct reference to the appropriate stat.
Even with a simple table it is not possible to reference the needed stat.
I'm at a loss...
Any suggestion?

formal goblet
# fierce harbor I'm attempting to build a skill list where each skill has a reference stat, a ce...

https://gitlab.com/custom-system-builder/custom-system-builder/-/issues/201

But it should work with a simple Table, because the bug is only there with the sameRow()-function (normal Tables cannot use sameRow())

formal goblet
carmine escarp
#

its all good

#

i just tested some stuff and found that even the mostly blank sheets chug and lag. Even the item sheets do. I am coming to realize that I have no ability to make this the way I want it, and my hundreds of hours here have been wasted

thorny cobalt
formal goblet
thorny cobalt
#

this is the text for the label, if i delete the <> things, it works, displaying the modified number and doesn't display NaN as the output

formal goblet
thorny cobalt
#

ooooh, thank you so much!!

#

it works <3

umbral jackal
#

"attached" still doesn't seem to work in getPropertyDataFromActor.

formal goblet
umbral jackal
#

I get this when I use it in an item that's attached to a character.

#

getPropertyDataFromActor("attached", "stat_ACV"), for example, throws an error.

formal goblet
#

Seems like you're doing something with a matrix you're not supposed to. What exactly is "stat_ACV"?

umbral jackal
#

Attack Combat Value. It's the average of Body, Mind, and Soul, plus any Attributes that directly increase ACV.

formal goblet
#

What does ${typeOf(stat_ACV)}$ return, if you create this in your character sheet?

umbral jackal
#

One sec.

#

. . . String. No wonder.

#

I need to add ref('') to it.

formal goblet
#

Well, you can try, but I think it'll do the same.

umbral jackal
#

${typeOf(ref('stat_ACV'))}$ returned number.

formal goblet
#

Huh. Well. Atleast it works.

umbral jackal
#

Yet it still doesn't work in getPropertyDataFromActor().

formal goblet
#

Does the fallback-value work?

umbral jackal
#

The fallback value works, yeah.

#

Also, ${getPropertyDataFromActor("attached", "stat_ACV")}$ returns a completely blank value.

formal goblet
#

Is it used in a Dynamic Table?

umbral jackal
#

Nope, Item Container.

formal goblet
#

Huh?

umbral jackal
#

Or did you mean stat_ACV?

formal goblet
#

You don't need this function if you're using it in an Item Container. You have access for the actor properties anyway.

umbral jackal
#

...Wait...really?

formal goblet
#

Yeah

#

It's meant to be used for Items

#

Not Item Containers

umbral jackal
#

Oh, I know that. It's on the item itself, and the item is attached to the Item Container.

formal goblet
#

Items are attached to actors

umbral jackal
#

Well, it's in an Item Container that's on an Actor.

formal goblet
#

That's what you see, but internally the Item is only attached to an Actor.

umbral jackal
#

Okay, then it's on an Actor.

formal goblet
#

Item Containers are only displaying them

umbral jackal
#

Ahhh, okay.

#

So yeah, the Items are attached to the Actor.

formal goblet
#

Post a screenshot of the setup

umbral jackal
formal goblet
#

Can you try to use this function without any other additions (in a Label prefix for example)?

umbral jackal
#

All right.

#

Comes up blank.

formal goblet
#

Sigh... What about referencing a different key on the character sheet? Something simple like a number field?

umbral jackal
#

Still blank.

formal goblet
#

...

#

Are you updating the Item with every formula change?

umbral jackal
#

Yes.

formal goblet
#

Can you make a Test Template and an Item Test Template and see if it works there?

umbral jackal
#

Sure.

mint arch
umbral jackal
formal goblet
#

Does atleast "selected" work?

umbral jackal
#

That does.

formal goblet
#

Ok. I have no clue what is going wrong.

umbral jackal
#

Neither do I...all properties of "attached" are returning empty strings.

formal goblet
#

I just used it few hours ago without an issue...

#

Well, to be fair, I'm working on the dev-branch, not release-branch.

umbral jackal
#

That is a possible issue there.

formal goblet
#

But still... I tested it before it got even released so I still don't know where the issue lies.

umbral jackal
#

It's mind-boggling! Could it have something to do with the Item Containers having keys?

formal goblet
#

Nah. They are completely irrelevant.

umbral jackal
#

...No...I don't have keys on these containers.

#

This is giving me a headache...I don't know what's going wrong.

formal goblet
#

You can attach Items to Actors without a single Container.

umbral jackal
#

...You can?

formal goblet
#

Yeah. They will be invisible, but they will be there.

umbral jackal
#

Oh.

#

Then I don't know.

formal goblet
#

Same here. I'd need some in depth testing in a world, where it's not working.

umbral jackal
#

Yeah. :\

fierce harbor
umbral jackal
fierce harbor
fierce harbor
fierce harbor
mint arch
#

This might be hard to follow, but here it is in practice. @fierce harbor

#

How do you reference the name of an item in its own sheet? When I try the following, it doesn't work. The objective is for it to say "<item name> Damage: <WpnDamage (roll syntax)>".

When I try ${name}$ or ${item.name}$ it doesn't work. However, when I use item.name from a character sheet used in the exact same way it works.

#

The shortcut answer would be to create a new field called "WpnName" and reference that, but I don't want GMs playing my system to have to work too hard to create new items and weapons.

#

If I can use what's already in Foundry, I'd rather keep the UX intensity low.

fierce harbor
#

I'm experiencing a sort of bug, frequently I would say, where moving a component (say a label) inside a table or panel creates a panel null around that component and no matter what said panel stays where it first popped.
Thoughts?

mint arch
#

@fierce harbor I think I know what you're saying, but want to make sure I understand context.

fierce harbor
#

There you go

#

It happened in a table, not sure about panel.

EDIT: moving a grouped component to an empty row fixes the layout. Still I don't understand if this is a feature or an issue 🤷🏻‍♂️

#

And this happens when I try to move one of the grouped components oit of the group.

scarlet skiff
#

anyone using "Core Settings Expanded" with custom effects?
i wanted to add some custom effects but it overwrites other effects. e.g. when i create 1 effect the "dead" effect isn't there anymore.
i tried adding the "standard effects" first an additional time - but it reset again when i start the game again
in other words. i can create effects fine as long as i dont close foundry. when i close foundry other effects get replaced by the new ones i created.

shut harness
scarlet skiff
#

i'll try that - other thing i'm thinking is adding effects with a macro (if thats possible)

shut harness
scarlet skiff
#

to the list - to the player i already got that down 😅

#

but instead of adding 30 effects by hand maybe with a macro/api this could be done faster

shut harness
scarlet skiff
#

i'm debating if i try your approach of saving every effect new and then adding new ones
or if its easier to create a world script which loads on startup and replaces existing effects with new ones - so on every start you create the effects you need.
since effects are stored in an array you can just change that and thats it

zinc hound
#

Hi, is there a recommended way to equip one of the items applied to a sheet? IE, if I have weapon 1 and 2 and I'd like to only apply the bonus from Weapon 1 to my attack roll, what's the best way to do that?

formal goblet
scarlet skiff
scarlet skiff
#

I have a dropdown in the Item which is responsible for filtering the item in the right Container. Then you can use Formulars in the Item modifier to only apply If you "wear the item"
I Hope this makes sense? I can Post Pictures later If necessary

zinc hound
#

So it’s still a check box, effectively. You just have it displayed separately on the pc sheet

formal goblet
scarlet skiff
#

Yeah in the end yes. I think at the Moment there is No way to properly extract Data from different Item Containers so you have to Life with the workaround

#

Maybe you could find different solutions with Scripts and macros.
I'm delving a little in Item creation with macros. But in the end you are Limited by the Basic CSB functionality

fierce harbor
#

Why on Earth if I put in a DropDownList a formula as Default Value it gets stuck to a specific value, namely the first in the list?

formal goblet
fierce harbor
fierce harbor
#

If I'm not mistaken, somwhere in this thread it has been said that rolls can't modify sheet values...or can they?

formal goblet
velvet heron
#

Remind me again: How do we get a label roll message to perform a macro?

formal goblet
#

With the Advanced Macro Module and the command /amacro <macroName> <args>

fierce harbor
formal goblet
#

Well, it´s literally just that. But also nothing else

fierce harbor
formal goblet
#

Yeah, not without the module.

#

Except you create an HTML-Button and an own onClickEventListener, which calls a macro.

#

That should be possible

fierce harbor
velvet heron
#

Hrm, it appears what I wanted to do seems to be more complicated than I thought.

I have spells as Items. Each spell Item has a corresponding spell macro. I thought I could add a roll message in the template that could call the macro in the Item but it seems I can't do that directly. What would be a good way to implement this?

#

Unless there's a way to call the item name as a reference.

formal goblet
velvet heron
fierce harbor
fierce harbor
velvet heron
#

Thanks.

brave heart
#

Hi. I set the initiative formula and all is working fine. However I wonder if I can program initiative button on character sheet, linked with button on encounter.

velvet heron
#

In addition, when I put the string /amacro ${item.name}$ into the roll message field, it just returns the text string in the chat, it doesn't run as a macro.

somber jay
#

Sorry if this has been asked before - really loving how this system is built! Is there a way to use radio buttons?

vagrant hollow
# velvet heron But if each macro is different, how would that be possible in the template?

For this I am using rich-text-fields where every player can set their macro (I placed as default {{macro "PlayerMacro"}} ).
In the roll label a normal click throws’ the dice to see if the spell was successful, and if yes a shift-click activates the macro ${!sameRow('macro')}$
Because every player has a diverent amount of spells, i placed this in a dynamic tabel.

vagrant hollow
formal goblet
vagrant hollow
velvet heron
# vagrant hollow For this I am using rich-text-fields where every player can set their macro (I p...

Some of my players are older and, how to put this delicately... not the most technically savvy individuals. I have a player who needs to be constantly reminded what the command is to roll basic dice, as one example (so I made a macro for it).

So I want to make it as drop dead easy as possible so it's one less thing I have to do for them (and not repeat myself over and over). So if it's possible to avoid having them set their own macros or having to shift+click (guarantee they will forget to shift) , I will go for that. Want to cast a spell? click the Cast Spell button on your sheet.

vagrant hollow
velvet heron
#

Is there extra text I need to add to make it run as a macro instead of a text string?

vagrant hollow
velvet heron
fierce harbor
#

Working on inventory at the moment, using Item Containers to store items. Problem is that if I use additional filters to check if an item is equipped or not (every item has an EQP checkbox field and the container has a itemUse label set to ${item.EQP}$ to collect the checkbox state) it just does not work. The filter is set as itemUse IS true to check for equipped items and itemUse IS false for unequipped ones.
Any idea what I' m doing wrong?

formal goblet
formal goblet
fierce harbor
fierce harbor
formal goblet
fierce harbor
velvet heron
#

Looks like I was missing the !
This is what worked.
Update: The below worked for macros with only one word, but failed for any macro names with more than one word. Adding the double quotes solved that problem as well: /amacro "${!item.name}$"

#

Thanks for your input and all the help@formal goblet and @vagrant hollow !

formal goblet
fierce harbor
brave delta
#

I've finished my Sheet for Unknown Armies 3rd Edition. Is there a way to submit it to be included in the sheet archive?

mint arch
#

Plus it saves space!

fierce harbor
#

I'm attempting to set a roll message for weapons and came up with this:
${weqp1='true'?(wtp1='wMelee'?(watt1+bodyStr):(watt1+bodyAgi)):'Weapon not equipeed!'}$
but it does not check for weqp1 nor for wtp1.
I'm sure the formula is wrong but cannot seem to find why...or if it can work in the first place, as I do not remember if conditionals in FoundryVTT can do what I want them to...
Any hint?

barren kernel
#

Are there any good tutorials on this system? To get a DnD inspired homebrew up and running

shut harness
mint arch
#

Getting to the point where I'm finished my dev work on my system using Custom System Builder. I want to package everything I've done in to a single package for dissemination to my friends. I've seen export functions in both Foundry docs and CSB docs for macros and compendiums, but I've linked Foundry icons to custom items and done all sorts. I've also seen the adventure export function in the Foundry docs. Aside from literally copying the entire Foundry folder, is there a good way to do this?

barren kernel
fierce harbor
shut harness
lilac juniper
#

Hey there, quick question. My friend and I are trying to resolve this error that's coming up in this formula for a Roll. The error comes up when we try introducing the item.opp property into it. So this is the formula currently

#
<p><b>Cost:</b> ${!item.cost}$</p>
<p><b>Target:</b> ${!item.target}$</p>
<p><b>Duration:</b> ${!item.duration}$</p>
<hr>
${!item.description}$
<hr>

${#dice1:= equalText(string(item.rolled_atr1) ,'DEX') == true ? ref('dex_current') : 0}$
${#dice1:= equalText(string(item.rolled_atr1) ,'INS') == true and isZero(dice1) == true ? ref('ins_current') : dice1}$
${#dice1:= equalText(string(item.rolled_atr1) ,'MIG') == true and isZero(dice1) == true ? ref('mig_current') : dice1}$
${#dice1:= equalText(string(item.rolled_atr1) ,'WLP') == true and isZero(dice1) == true ? ref('wlp_current') : dice1}$

${#dice2:= equalText(string(item.rolled_atr2) ,'DEX') == true ? ref('dex_current') : 0}$ 
${#dice2:= equalText(string(item.rolled_atr2) ,'INS') == true and isZero(dice2) == true ? ref('ins_current') : dice2}$
${#dice2:= equalText(string(item.rolled_atr2) ,'MIG') == true and isZero(dice2) == true ? ref('mig_current') : dice2}$
${#dice2:= equalText(string(item.rolled_atr2) ,'WLP') == true and isZero(dice2) == true ? ref('wlp_current') : dice2}$

<p><b>${!string(item.rolled_atr1)}$</b> = 1d${!dice1}$ = ${D1:=[1d:dice1:]}$</p>

<p><b>${!string(item.rolled_atr2)}$</b> = 1d${!dice2}$ = ${D2:=[1d:dice2:]}$</p>

<p><b>Check:</b> ${!D1}$ + ${!D2}$ + ${item.check_bonus}$ = <b>${D1+D2+item.check_bonus}$</b> vs. MDEF</p>
 
<p><b>Damage:</b> HR + ${!item.damage_bonus}$  = <b>${max(D1, D2)+item.damage_bonus}$</b>  ${!item.type_damage}$</p>

${! largerEq(D1, 6) and D1 == D2 ? string('<p><b>CRITICAL SUCCESS! Gain an Opportunity</b></p>'): string('')}$

${!D1 == D2 and D1 == 1 ? string('<p><b>FUMBLE<b></p>'): string('')}$```
#

The error is happening when we try modifying the second to last line with the following

#

${! largerEq(D1, 6) and D1 == D2 ? string('<p><b>CRITICAL SUCCESS! Gain an Opportunity</b></p>' item.opp): string('')}$

#

(sorry if it's a little messy looking, essentially we're just trying to have it display the Opportunity text from the item when the Conditional statement detects a crit success)

formal goblet
lilac juniper
#

So is there a way we can display the item.opp inside this conditional statement? We've been trying out various syntax but so far nothing has worked. Does it just need to be outside the string?

formal goblet
#

It's like wanting to do 5 + 4 but you only tell 5 4

lilac juniper
#

Oh so we need a + then?

formal goblet
#

Use concat()

lilac juniper
#

Ah, okay, we'll try that

lilac juniper
mint arch
#

Is there a way to send the icon/image used in an item to chat? I can use item.name to post the name in the chat log, is there something like a item.image syntax?

scarlet skiff
#

Maybe there could be a way to create a world Script which listens to an Event to Output the Image into the Chat. But im not sure If there is a way to set Something Like this Up properly.

mint arch
#

Thank you @formal goblet and @scarlet skiff . I think I'd like to keep it as K.I.S.S. in principle as I can make it. This would be too much if it wasn't a clean-cut method.

#

I can do without. 🙂

mint arch
#

I hate SOLID. lol. When each letter is effectively a derivative of other acronyms I draw the line.

#

😂

opaque walrus
#

(Copied from #core-how-to ) Hey everyone! I'm new to Foundry and looking to do some basic customizing as I'm developing a new TTRPG.

In the generic blank actor sheet, there's Description, Items, and Attributes. I could write everything out in Description and use [[1d20+5]] commands for example as a placeholder character sheet, but I'm wondering if there are any easy hacks I can use with the Attributes page to self-reference the document. (So that an Awareness skill references the Awareness ability, for example).

I know I could do basically anything with HTML but am very rusty on it so want a quick "eh, that's fine" fix while I'm relearning HTML. Do you have any suggestions either directly or for a youtube channel to watch? TIA!

formal goblet
vagrant hollow
cinder fox
#

How can I use /sheetRoll with a roll label in an itemcontainer?

#

or is there anyway to trigger DiceSoNice when doing computablePhrase.parse?

fierce harbor
#

I'm trying to insert a reference to an actor stat in the description of an item, kind of you gain your Strength modifier as attack bonus. Using [[...]] syntax does not work, neither does ${}$. Am I attempting at something impossible or just doing it wrong?

cinder fox
#

Let me check my code later

fierce harbor
violet chasm
#

Hi everyone! I have little to no experience coding and i need some help with the following:

-I want to show a derived stat from the sum two attributes but I'm not sure how to make the result of the formula show up as text in the character sheet

fierce harbor
violet chasm
#

Thanks!

fierce harbor
scarlet skiff
#

you dont need to use attached you can choose any actor you want

fierce harbor
scarlet skiff
#

no problem - i remember some time ago someone was struggling with attached but for me it worked every time 🤷‍♂️

formal goblet
#

I was going insane finding the issue the guy had

brave heart
#

hi, can i edit tab's name/key in tabbed panel? i try to make some modifications, but it's never saved. Also is it possible to copy an element and paste it elsewhere?

formal goblet
cinder fox
formal goblet
fierce harbor
#

Thanks both @cinder fox and @formal goblet for further help. I'll have to test it as soon as I can get my hands on the system, I'll let you know then 😉

scarlet skiff
#

But might be better than redoing a fully built tab

pale tusk
#

Any idea why a roll message from an item container would refuse to display the item name?

formal goblet
pale tusk
#

Is there a smarter way to do that?

pale tusk
#

But this does display correctly on the item.

#

Just not when I reference item.title, weirdly.

fierce harbor
formal goblet
pale tusk
cunning meteor
#

How do I "Link Actor Data" within a Custom System Builder world?

#

Sorry, I mean "Assign Represented Actor"

#

OK - I think I've got it now. The "Assign Represented Actor" is only available on a clone of a Token. Within the Prototype Token only the "Link Actor Data" checkbox appears.

pale tusk
#

I'm still not clear on whether "item.name" should or should not work from the item container, and if it shouldn't, I'm wondering how to correctly reference the item's name.

formal goblet
pale tusk
#

Not sure why that wasn't working before, but now it is. Great! Thanks. 🙂

pale tusk
#

Any known issue with CSB that would cause it to refuse to drag actor tokens into the play space? For some reason (in a fairly new game I've made, haven't tested tokens before now) none of my actors will place tokens.

fierce harbor
pale tusk
#

Okay, oddly, if I make a totally blank actor, it will place the default mask token.

#

But it won't place any of the actors I've worked on.

fierce harbor
pale tusk
#

Well, that's both just bizarre and a very serious issue. Damn.

undone smelt
#

Check your console for errors when this happens.

pale tusk
#

There's an error, but it means nothing to me.

Uncaught (in promise) TypeError: setting getter-only property "actor"
[Detected 1 package: system:custom-system-builder]

undone smelt
#

Something either in the system or some script you've configured is accessing the actor data incorrectly.

pale tusk
#

Any idea how to figure out what could be causing that?

#

I'm not doing anything with scripts that I know of.

undone smelt
#

All I can suggest is to try to narrow it down to a specific source. Which actors, what's in common between them, does it happen on new ones with similar config, etc.

pale tusk
#

I have literally no idea. I've done nothing unusual.

#

The sheets are very simple.

#

Fresh actors don't do it. Clearly there must be an error in the base actor I was using (copying so I didn't have to do the initial setup on each actor over and over), but I have no idea what it could be.

fierce harbor
pale tusk
#

I'm completely stumped. I don't want to have to redo the actors I've been building, but I have no idea what the error even could be.

pale tusk
#

Seems like it must be coming from an item I've added, but that doesn't narrow it down much.

#

No, it's not. And it's not any of my modules, either.

fierce harbor
pale tusk
#

I think it's happening when I add skills. Weird.

fierce harbor
pale tusk
fierce harbor
pale tusk
fierce harbor
fierce harbor
pale tusk
fierce harbor
pale tusk
#

Wait...

#

There's a skill called..."actor." I am an idiot.

fierce harbor
fierce harbor
pale tusk
fierce harbor
pale tusk
native flame
#

is there any way to remove or reduce de actors name ?

fierce harbor
native flame
#

no

#

the size of the name container

native flame
fierce harbor
native flame
#

I want to plau 4AD, and i need 4 sheets open to play

#

so i need that extra room

fierce harbor
native flame
#

but i will try to use tabs and see

#

maybe it will work

fierce harbor
native flame
#

so i solved the problem by using sub templates. Works just fine to separate 4 sheets in the same big sheet.

brittle moth
#

Hello !
FYI : 2.2.5 hotfix just dropped. With it comes some bugfix and a basic automated testing system which I will improve over time to avoid regressions in the system when developing new features 🙂
#package-releases message

kind basin
#

How difficult would it be to make a macro for my players to increase or decrease a number value on their character sheet by 1 ?

native flame
#

is there anyway to go back to 2.2.4 ?

native flame
#

ty

formal goblet
#

@brittle moth what do you think about migrating the project from JS to TS? Would it be worth the effort for a bit more safety?

pale tusk
#

I'm also having difficulty getting templates to load correctly since updating.

#

As well as some odd errors when I try to open items

brittle moth
#

Like they say in Shakespeare's language... Bloody Hell, seem I forgot items in my tests...... ><

pale tusk
#

Could anyone point me to where to ask how to revert the system to the functioning version?

#

I'm not sure if this is useful information, but: when I copy an item, the copy cannot be opened. However, if I reload the game, then the copy can be opened again.

brittle moth
pale tusk
brittle moth
#

Version 2.2.6 has just been released,with the fix for items. Please tell me if you have any other issues

brittle moth
scarlet skiff
# kind basin How difficult would it be to make a macro for my players to increase or decrease...

a little shorter than @formal goblet link:

const actor = canvas.tokens.controlled[0].actor; // Or some other way how you get the actor you want to change
const yourProp = "system.props.YOUR-PROP-HERE"; // Change "YOUR-PROP-HERE" to the key you want to change
const updateValue = 1; // The value you want to update your prop with

async function updateActor(actor, yourProp, updateValue) {
await actor.update({ [yourProp]: updateValue});
};
updateActor(actor, yourProp, updateValue);

Hope i didn't put any typos in there 😄

winter folio
#

Hy i'm new,
I'm looking for a way to use /r directly from a sheet.
I don't want to have to click once in the character sheet and once in the chat to see the roll
I could use the Label roll message to do that but it wouldn't look as good

shut harness
winter folio
#

But i would like to have something like

somber bay
scarlet skiff
#

ah yeah you are right 😅
well adding the logic for increasing / decreasing is not hard - you should be able to figure that out
creating a dialog is not that difficult - here an example. of course you should think about defining variables in advance and not hardcoding the props like in the example here:

const actor = canvas.tokens.controlled[0].actor;

let d = new Dialog({
  title: "Get Property and User Input",
  content: `<p>The actor's Prop: ${actor.system.props.'PROP-HERE'}</p><p>Please input a number:</p><input id='user-input' type='number'/>`,
  buttons: {
    select: {
      icon: '<i class="fas fa-check"></i>',
      label: "Submit",
      callback: (html) => {
        let userInput = html.find('#user-input').val();
        if (userInput) {
          console.log(`The actor's Prop: ${actor.system.props.'PROP-HERE'}`);
          console.log(`User input: ${userInput}`);
        }
      }
    },
    cancel: {
      icon: '<i class="fas fa-times"></i>',
      label: "Cancel",
      callback: () => console.log("Dialog cancelled.")
    }
  },
  default: "cancel",
});
d.render(true);
brave trench
#

How can I set up macros that are unique to a selected token? Instead of having to open up individual sheets to make an attack for example, I'd like to be able to click a token then have him throw a punch attack, click another token and have him fire an pistol.

I've come from roll20 where this was built into the core system, actors had their own macros that you could enable as buttons on the playing table when you selected the token. Is this achievable?

scarlet skiff
#

would you like from the sheet or creating script macros?

brave trench
#

I'm not sure what you mean by from the sheet? I'm pretty new to all this. I can do the basics in foundry but once it gets to macros/scripts I get lost.

I don't want to have to open a sheet (if that is what you mean) as trying to manage different unique enemies, as a gm, gets very tedious having to open a sheet for each. Ultimately it would be great if selecting a token brought up a list of available attack/ability options. (this is how roll20 functioned, if you never used that) or if a single macro button could allow me to select which actor/ability/item was to be rolled for.

shut harness
scarlet skiff
#

yeah the key question was if you want to open a sheet.
all the things you described can be done with script macros.
For a very simple example this shows you a warning with the name of the actor of the token you are currently controlling.

const actor = canvas.tokens.controlled[0].actor;
ui.notifications.warn(`This is the Token of: ${actor.name}`);

Since this is Custom System Builder there are no "prebuild" macros for you since all keys are different for everyone.
So you have to program them yourself.

Label roll formulas won't help the GM i'm afraid since they are unique for every actor? Not sure about that - i don't use them.

brave trench
fierce harbor
scarlet skiff
fierce harbor
scarlet skiff
# brave trench Is there a script macros for dummies resource I can look into? like a compendiu...

well you can use all the basic stuff from foundry which exists for 5e or pathfinder but you have to watch out for the data paths. you have to change them to fit for your system/sheet/keys
other than that for very basic stuff you could try chatGPT - but results are very hit or miss
also chatGPT doesnt know the data structure of foundry v10 and especially CSB / your system so you have to tinker there too

#

i'm also not a programmer - i startet with foundry like a month ago and i'm slowly learning
a lot of trial and error - just start with something very simple and work your way up from there

#

macro-polo is a great channel to get help - but dont use it to review code which chatGPT produced - they don't like that 😉

shut harness
#

Don’t use it

scarlet skiff
#

Oh yeah failed to mention: only use GPT4.
3.5 its 9/10 Times Garage.
Bit nevertheless you could use it to explain Code for you

somber jay
#

question! i'm messing around with the item container and trying to use the ${item.itemtype}$ . does this only copy number values and not text values?

scarlet skiff
#

what is item.itemtype ? has your item a key "itemtype"? if yes what type of component is it?

somber jay
#

itemtype is just the component key for a text field

scarlet skiff
#

and it doesn't show the value of your text field? have you tried with something else e.g. a label if the syntax works properly?

somber jay
#

the only thing i tried was a number field and that one showed up fine

scarlet skiff
#

then i'm not sure if you need to add some special magic with additional formula input 🤷‍♂️ maybe martin knows more

formal goblet
somber jay
#

ah, i just deleted and recreated as a new key. looks like it works fine now. thanks @scarlet skiff!

kind basin
scarlet skiff
#

no problem - happy to help

somber jay
#

alrighty, been messing around with some syntax but no dice. essentially i'm trying to get a dropdown to record the label instead of the key on an item container. what code should i use for this?

scarlet skiff
# somber jay alrighty, been messing around with some syntax but no dice. essentially i'm tryi...

If i understand you right you got a dropdown in an item. Now you want to get the label value of the dropdown in the item container the item is in?
This is not possible - you can only get the key values.
There are from the top of my head two solutions:

  1. name your keys what you want in the item container to show up
  2. use a formular in the item container label field to change every key you get to the output you want e.g. ${item.prop=key1?"labeltext of key 1":item.prop=key2?"labeltext of key2":""}$
#

additionally you have to be careful about naming keys of dropdowns. if you want to use them in formulars i believe you should use integers - but might not be needed everywhere.
where i'm sure you need them as integer would be if you want to use the keys in the item modifiers and use formulars there - then you need the keys as integer

raven raven
#

Hi all

#

Two questions: is there any way to put number values into a dropdown menu instead of labels?

#

Will radio buttons be implemented?

formal goblet
formal goblet
quasi sonnet
#

how do I use "speed" to add a character an equal number of times to the initiative order?

raven raven
#

Solved it by using a dynamic table as the base of the dropdown

raven raven
#

Is there a youtube channel with more tutorials of custom system builder?

raven raven
#

thank you

formal goblet
raven raven
#

😦

formal goblet
raven raven
#

Is there any way to add a check box to an item container. What I try to achieve is this:

#

I use spells as items, and with this check box I can track wich spells are on cooldown.

#

this is in sandbox at the momet.

raven raven
formal goblet
formal goblet
raven raven
#

This is not optimal for me, because the player has to open the spell, just to realize that it is on cooldown. Also refreshing cooldowns is a nightmare, because you have to click eatch and every spell one by one and unchek the cooldown. Also i can not supervise it from the GM side.

quasi sonnet
raven raven
#

Question: is there any way to duplicate stuff? Like for example I need 3 tables, and I want them named table1, table2, table3, and all the settings should be the same, except their keys

#

could i just create the first and copy it 3 times and edit their keys later?

formal goblet
formal goblet
raven raven
formal goblet
quasi sonnet
#

Cant you do macros with countdown that toggles the checkbox?

quasi sonnet
#

And macros can be triggered from the sheet? for example when you push a "cast spell" button?

#

I am new to all this, so I dont know much 😄

formal goblet
quasi sonnet
#

Aha 🙂

raven raven
pale tusk
#

Curious: does anyone happen to know if there are any plans to at any point allow items to be exported from within an actor sheet so they can be copied onto other actors?

quasi sonnet
#

Cant it just be dragged?

potent fossil
#

Hello, does someone has a clue about why this is not working ? :

${ref(sameRow('coup')) == ' Essai' ? 2 : ref(sameRow('coup')) == ' Doublé' ? 4 : ref(sameRow('coup')) == ' Attaque Lourde' ? 5 : ref(sameRow('coup')) == ' Attaque Débilitante' ? 6 : ref(sameRow('coup')) == ' Fauchage' ? 7 : ref(sameRow('coup')) == ' Balayage' ? 8 : ref(sameRow('coup')) == ' Smash' ? 7 : ref(sameRow('coup')) == ' Crash' ? 8 : ref(sameRow('coup')) == ' Action Secondaire' ? 2 : ref(sameRow('coup')) == ' Utiliser un sort' ? 3 : ref(sameRow('coup')) == ' Rengainer / Dégainer' ? 4 : ref(sameRow('coup')) == ' Action Spéciale' ? 5 : 0;}$
#

it's supposed to take make a label take a value depending of a dropdown list in the coup Row of the same dynamic table

scarlet skiff
#

have to tested it with only one if its working so e.g. is ${ref(sameRow('coup')) == ' Essai' ? 2 : 0}$ working? is there a error or nothing or how do you see its not working?
also why is there a blank space before every word - is this intentional?

fierce harbor
#

Not sure, but I think there was an issue with sameRow(). Tried to use it, but did not work.

pale tusk
#

I'm having a similar issue where a checkbox in a dynamic table seemingly can't be referenced in conditionals.

potent fossil
#

I also suspect the sameRow() to be the origin of the problem

fierce harbor
pale tusk
#

I have an odd issue with item modifiers. If I set an item modifer, then have the actor sheet reflect that item modifier and pass it to another item, when I update the modifier on the first item, the value passed to the second item doesn't update until I refresh both the actor sheet and the second item sheet.

potent fossil
#

It's a dynamic table, not a item container though

formal goblet
potent fossil
dusky parrot
#

My character sheet I am working on has a side bar for character stats, with the main area occupied by a tabbed panel for everything else. Is there a way to restrict the width of the sidebar so when the window's size is changed, it does not become super huge?

Basically, is there a way to make the red measurement stay a certain width, say, 300 px, even when the window is resized?

fierce harbor
dusky parrot
#

I already am using some objects with set size to get them to appropriate dimensions when it is small, the problem is when the user makes the window wider, the left panel grows to fill up half the screen instead of making the main section larger

fierce harbor
floral crater
formal goblet
dusky parrot
#

ty

#

I'll give that a shot

copper iron
#

hi!! i posted this a minute ago in a different channel cause i couldn't find this one, but i'm looking for some help!! I'm super new to coding and stuff in general so a lot of the formula's are really going over my head and I don't really understand how to get things where I want them to be. What I want is basically if my players Roll 3d6, I want to grab one of the individual totals from that roll to log for use in a different roll. For example rolling a 3, 5 and 2, the player could pick any one of those totals and it would log that data for the other roll. If this doesn't make any sense I'm ok working directly with someone to figure it out.

shut harness
copper iron
#

hmm, realistically it would be a label button in the sheet that rolls the 3d6, then something that lets the player chose one of the 3 rolls to keep for a later 1d20+chosen number roll.

#

i'd also like to include a bonus modifier added to that roll pulled from a table on the sheet, but i'm not sure if that would make it more complicated

shut harness
copper iron
#

the 3d6 roll is meant to be the characters attributes. the system im planning to use runs on d6's for attributes and d20's for action roles. the point of manually picking them is for the player to decide which attribute they want to use at that time and the number gives them the bonus to the d20 roll

shut harness
#

Just telling ya' here and now you will have to code macros for this btw

copper iron
#

it would run for the whole campaign. the 3 d6's would mean a character has 3 stats. they use these stats to respond to different situations, kind of like skill checks in regular 5e. knowing which attribute to use for what situation is important is this system. also, using macros is fine. i was going to swap to macros if i couldn't get this to work at all

shut harness
copper iron
shut harness
#

@copper iron Oh wait. Completely forgot you can just do ?{<varName>} for selection variables

copper iron
#

Ooh, i think i missed that looking through the github

velvet heron
potent fossil
# formal goblet You should look at the answer above.

I changed my code to the following :
${equalText(ref(sameRow('coup')), ' Essai') ? 2 : equalText(ref(sameRow('coup')), ' Doublé') ? 4 : equalText(ref(sameRow('coup')), ' Attaque Lourde') ? 5 : equalText(ref(sameRow('coup')), ' Attaque Débilitante') ? 6 : equalText(ref(sameRow('coup')), ' Fauchage') ? 7 : equalText(ref(sameRow('coup')), ' Balayage') ? 8 : equalText(ref(sameRow('coup')), ' Smash') ? 7 : equalText(ref(sameRow('coup')), ' Crash') ? 8 : equalText(ref(sameRow('coup')), ' Action Secondaire') ? 2 : equalText(ref(sameRow('coup')), ' Utiliser un sort') ? 3 : equalText(ref(sameRow('coup')), ' Rengainer / Dégainer') ? 4 : equalText(ref(sameRow('coup')), ' Action Spéciale') ? 5 : 0}$
but this resulted in the sheets not even opening with the following error message. When I delete this code from the template though, the sheets open just fine.

#
undry.js:747 Error: An error occurred while rendering EquippableItemSheet 82. Uncomputable token fetchFromDynamicTable("combo", "manapool", "null", "null")
[Detected 1 package: system:custom-system-builder]
    at fetchFromDynamicTable (Formula.js:397:43)
    at math.js:26523:52
    at math.js:26516:66
    at math.js:25781:50
    at math.js:26516:66
    at Object.evaluate (math.js:24162:45)
    at r.evaluate (math.js:24139:55)
    at Formula.computeStatic (Formula.js:728:27)
    at Formula.compute (Formula.js:292:21)
    at ComputablePhrase.compute (ComputablePhrase.js:128:27)
    at async ComputablePhrase.computeMessage (ComputablePhrase.js:221:9)
    at async Label._getElement (Label.js:178:21)
onError @ foundry.js:747
🎁call_wrapped @ libWrapper-wrapper.js:507
🎁Hooks.onError#lib-wrapper @ listeners.js:138
🎁Hooks.onError#0 @ libWrapper-wrapper.js:187
(anonymous) @ foundry.js:5069
Promise.catch (async)
render @ foundry.js:5067
render @ foundry.js:6394
render @ equippable-item-sheet.js:83
_onClickDocumentName @ foundry.js:60848
🎁call_wrapped @ libWrapper-wrapper.js:507
checkClickDocumentName @ monks-active-tiles.js:2207
🎁call_wrapper @ libWrapper-wrapper.js:616
🎁SidebarDirectory.prototype._onClickDocumentName#0 @ libWrapper-wrapper.js:189
🎁call_wrapped @ libWrapper-wrapper.js:507
clickDocumentName @ monks-active-tiles.js:2155
🎁call_wrapper @ libWrapper-wrapper.js:616
🎁ItemDirectory.prototype._onClickDocumentName#0 @ libWrapper-wrapper.js:189
dispatch @ jquery.min.js:2
y.handle @ jquery.min.js:2
raven raven
#

Hi, I use a coustom dice, module. What should I cange in the module to make the parts that i have marked with red disapear, I dont want them visible:

#

but only when i use this module, because sometimes i still roll normal d6 too

brittle moth
formal goblet
scarlet skiff
granite apex
#

Is there a way to make a compound variable?

For example: player_(level)_(classnum) would end up being player_1_1 if level=1 and classnum=1

formal goblet
granite apex
#

Ok, so Discord doesn't like my underscore and just puts two '

formal goblet
#

Just encapsulate it with ` to indicate that it´s code.

#

Wrong char 😅

#

There we go

granite apex
#

Eyes are going after staring at the screen too long LOL

formal goblet
#

Well, it should produce to corresponding value. What is the key?

granite apex
#

player_m

#

so it should be
player_m = {concat('$pl_',player_level,'_',player_class,'_m')}$
where the variable I set as player_1_1_m = 6 for example

formal goblet
#

Remove string(player_level) and string(player_class) to see if you get a result. And then readd them one by one.

granite apex
#

It's giving me the pl_1_1_m as the value and not what I have set (elsewhere) as equaling 6

formal goblet
#

So you have under the key pl_1_1_m the value 6? Then surround it with ref() -> ${ref(player_m)}$

granite apex
#

In the component where the pl_1_1_m is set?

formal goblet
granite apex
#

Perfect!! Thank you

#

All this to reduce record keeping on the player side LOL

vagrant hollow
granite apex
#

Struggling with getting a variable from an attached actor. It's on an item attached to a player. The following just returns ERROR

${fetchFromActor('attached', 'Intelligence', 0)}$

formal goblet
lethal flax
#

so how do i make it that a tab in a tabbed panel is only visible if a checkbox is checked?

fierce harbor
lethal flax
fierce harbor
lethal flax
fierce harbor
granite apex
vestal vortex
#

don't know if someone asked this before but is there a way to make the system recognize when you get a number on the dice instead of the entire roll?

for example: i want to roll a number of d6 equal to my characters DEX mod and everytime a dice lands on a 6, it adds the dex mod as bonus damage, but it only recognizes it when the entire roll is a six (all dice + modifiers equaling 6).

formal goblet
grizzled moth
#

Hello there, new to foundry and the custom system builder. Trying to put together a game to playtest my RPG and I'm using custom system builder to create the sheet. Here's my current one that I whipped up in word as a mockup. I'm having trouble creating the skills table at the bottom and I'm wondering how it would be possible to do so. If anyone can provide advice or assistance it would be greatly appreciated.

#

and here's my current progress with CSB

formal goblet
grizzled moth
#

Additionally the other method I tried was simply creating nested tables as I did in my word mockup, however things quickly broke and I was unable to continue past the first row

formal goblet
formal goblet
grizzled moth
#

There we go, eventually when I get towards adding elements to the nested table the action will not complete, and If i attempt it again it errors and says row is not iterable

formal goblet
#

That´s... interesting.

grizzled moth
#

past those first two tables I can't fill any other tables

#

in any row

#

tested further, everything past the 1st column of nest tables says row not iterable

formal goblet
#

Can you send your export file?

#

I´m not able to reproduce it

grizzled moth
#

Yes gladly, how would I go about doing that? Thank you for your help btw I greatly appreciate it.

formal goblet
#

Just right-click the template in the Actors-Tab

grizzled moth
formal goblet
#

And you where unable to create, let´s say, 'Bushcraft' in the INT-column?

grizzled moth
#

Yep

formal goblet
#

Well...

grizzled moth
#

hmmm

formal goblet
#

Ok, to be fair, I´m running the beta-version, so there might already be a bugfix for this one

grizzled moth
#

Just restarted the foundry instance and I think I found whats causing the bug? Hold on let me reproduce it again

#

Yep okay, found it

#

If the first thing I put into the table is the checkbox in the bottom right corner, it breaks the tables and gives the error

#

hyper-specific bug lmao

formal goblet
#

Still not an issue for me

#

wtf

grizzled moth
#

I'm recreating it consistently

#

Every time I restart it clears, but if I enter a checkbox field into the bottom right hand corner of a table as the first thing in the table it breaks all my tables

#

😂

formal goblet
#

Can you show the console with F12?

grizzled moth
#

Before or after I break it?

formal goblet
#

Well, with the error message, so after the break

grizzled moth
#

ok

#

ok it's also not just the bottom right corner tested it again, inserting a checkbox as the first thing into a table is what does it

#

Seems to fuck up everything, tried to put a test text field onto the inventory page and it returned the same error

formal goblet
#

@brittle moth any ideas?

formal goblet
grizzled moth
#

I've recreated it a few times, it's avoidable, whenever I inset a checkbox as the first element in a table it breaks until i restart foundry, as long as I put something else in the table first it's fine

#

nested tables is working fine now as long as I avoid that

lethal flax
#

So, how do i make default value of a number field a certain value based off another number field, say Brawns x 4 or something?

formal goblet
grizzled moth
#

Is there a way to copy and paste elements? I'm having to re-create some smaller thing I made many times and it's killing my wrist

formal goblet
grizzled moth
formal goblet
#

Np. It was updated a few hours ago

grizzled moth
#

Oh nice, is there a link to it?

#

should pin it in the channel 😄

formal goblet
#

I don't have rights to pin simething 😅

grizzled moth
#

😭

formal goblet
#

And the least are looking at pins

#

Just go to the projects site and you'll see in the left Sidebar the Wiki

grizzled moth
#

thanks

formal goblet
somber bay
granite apex
#

Is there a way to use a chat message to add or remove from a number field (aka like using the + and - buttons) for a character sheet?

formal goblet
granite apex
#

yes, or to add to a roll mesage (damage)

formal goblet
#

Label Roll Messages don´t support this directly. You have to refer to macros.

granite apex
#

Ok

#

Would that be a standard Foundry question for the macro then?

formal goblet
#

Hmm. More of a mixture of what Foundry and CSB offer.

#

You can call it from the Label Roll Message with /amacro "macroName" (you need the "Advanced Macros"-module)

glossy hare
#

there is a way to ref the key of a dropdown list that is in an item? And the keys from the dropdownlist are a actor attributes.
I'm making a config tab inside an item.

mint arch
#

I had a neat idea to make an actor for chests. When players find them, the GM can reveal them to the players, and the players themselves can look inside to see the inventory items that are held. What I'd like to attempt to do is make a "Take" button that effectively labels what was taken, which player took it, and then delete it from the row.
The label is easy to do, and whoever clicks on it, the chat should log their name as part of the roll message. The part I need help with - is there a way to delete the row of the container from a button command?

undone smelt
scarlet skiff
granite apex
#

My newest hurdle is, can you do nested conditions, such as IF X and Y then do
for example
item.tag==1 ? player_tag==1 ? 2 : 0 : 0

#

And indeed you can! ${item.tag==1 ? (player_tag==1 ? 2 : 0) : 0}$

formal goblet
mint arch
#

If this is the case ^ , then I'm not sure that's intuitive to do it this way (thinking of GM UX).

formal goblet
mint arch
#

ahhh. ok. Thank you.

scarlet skiff
#

well you should try the item piles module. it pretty much does that what you want it to do? not sure if it works 100% with CSB - but you should try it 😉

mint arch
#

If I barely understand what's happening, there's no way someone who isn't a power user is going to know what to do.

#

lol

mint arch
#

Would someone provide me an example of using the following in a Label Roll Message, please?

#

I feel like I'm missing something super basic, and would probably just benefit in seeing a working example.

mint arch
mint arch
mint arch
#

Thank you.

oblique spear
#

Hello, i have a question on css customization.
I try to neutralize dropdown arrow.
I know that this code can run properly :
-webkit-appearance: none; -moz-appearance: none; appearance: none;
But into the CSB css there are this code who control the selection.
.custom-system-actor select { width: fill-available; width: -webkit-fill-available; width: -moz-available;i }
I tried to create a new css class but with no success on my dropdown.
.drop { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
There are a css specialist here ? Thx you 🙏

cinder rock
#

Outta curiosity, where is custom system builder at for compatibility with v11?

#

Too buggy to use until an update?

white pumice
#

I bought Foundry yesterday and was excited to see Custom System Builder, then updated to V11, and uh-oh! It looks like the developer is pretty darn active, though. I'm curious to know how soon compatibility with v11 is planned if it is.

pale tusk
#

I wonder, has anyone tried using Simple Calendar with CSB to track something like character birthdays or ages so they can display on the sheet somehow?

somber bay
somber bay
cinder rock
granite apex
#

Is there any possibility of setting table color and border to none without using a custom css stylesheet?

#

I literally just need one table to not have borders or shading LOL

brittle pond
#

Hey, quick question...

is there a way to make a hidden "database" with CSB?
i need to make a database with XP and coresponding level...
but i haven't found a way

bright glacier
#

Any news about the update to version 11?

formal goblet
dire socket
#

Hello, so I've updated to 2.2.6

#

And I couldn't help but notice that my main character sheet happens to be completely broken

#

hidden values are still present within it, but it also seems to affect the actual sheets that rely on this template, being blank.

#

nvm, seems like... renaming(???) the sheet brings it back

white pumice
formal goblet
granite apex
# dire socket

Yep, renaming it makes all the fields populate. I've also noticed that sometimes edits to the template require a full restart to take place. Could be that I have it open for too long (8 hours while I work remote and play around in my spare time for example)

dire socket
#

Oh I see, it also seems that restarting foundry causes it to have the same issue again, which is a tad inconvenient

dire socket
dire socket
#

Hmmm guess its not that then

somber bay
ivory dome
#

Hello, is anyone else having trouble creating sub-templates after updating to 2.2.6? Every time I try to add anything to a subtemplate, I get an undefined error. I think it is failing to read the key I'm entering for the component? This is what the console said:
foundry.js:747 TypeError: Failed data preparation for Item.vwTZVToqnUTLbx2T. Cannot read properties of undefined (reading 'key') at Function.fromJSON (systems/custom-syste…onents/Panel.js:153) at CustomItem.prepareDerivedData (systems/custom-syste…ocuments/item.js:65) at CustomItem.prepareData (foundry.js:13286) at CustomItem._safePrepareData (foundry.js:13264) at CustomItem._initialize (foundry.js:13089) at CustomItem.updateSource (commons.js:5586) at ClientDatabaseBackend._postUpdateDocumentCallbacks (foundry.js:12831) at ClientDatabaseBackend._handleUpdateDocuments (foundry.js:12765) at ClientDatabaseBackend._updateDocuments (foundry.js:12639) at async Function.updateDocuments (commons.js:6153) onError @ foundry.js:747 foundry.js:5099 Foundry VTT | Rendering Dialog foundry.js:59187 TypeError: Cannot read properties of undefined (reading 'map') at CustomItem.getKeys (systems/custom-syste…cuments/item.js:296) at Object.callback (systems/custom-syste…te-functions.js:202) at Dialog.submit (foundry.js:56403) at Dialog._onClickButton (foundry.js:56332) at HTMLButtonElement.dispatch (jquery.min.js:2) at HTMLButtonElement.y.handle (jquery.min.js:2) foundry.js:56407 Uncaught Error: TypeError: Cannot read properties of undefined (reading 'map') at Dialog.submit (foundry.js:56407) at Dialog._onClickButton (foundry.js:56332) at HTMLButtonElement.dispatch (jquery.min.js:2) at HTMLButtonElement.y.handle (jquery.min.js:2)

vagrant hollow
# somber bay Cant update until Cyberpunk Red updates so that 'buys you time' 😆

The foundry license allows you several installations, but only one active game per time.
So at the moment I have: one v9 backup of old settings, one v10 actual gaming, one v11 testing the new possibilities, one v10 on usb stick for programming and testing new ideas.
But I am a self hoster and switching between the installations is a bit annoying.

somber bay
#

Yeah I can tell it is not very DRM protected and you do not need to log in to use it which is a relief since I tend to hack and mess with things (I mean here I am in Custom System Builder lol) so I like knowing I will not somehow lose access.

somber bay
#

I love that CSB let me turn my friends draconian RPG into something fast to play

#

one click for hit roll, check if critical, damage (x2 if critical), damage type (in the weapon) and location.

brittle moth
# bright glacier Any news about the update to version 11?

As @formal goblet said, we are currently working on a release with many features, I planned to tackle v11 right after 🙂
It should not be too hard, as the Foundry devs tried to minimize the impact on system and module developments 🙂
I try not to update the system too soon, as I can't maintain two versions at the same time 🙂

brittle moth
brittle moth
#

Seems like I spoke too soon...
I found the solution for your issue, but my current beta system prevents me from doing a hotfix...
Seems like I'm gonna need some time to rethink the beta system ><

brittle moth
ivory dome
#

Thanks so much, at the very least, I now know I didn't break anything!

brittle moth
#

no, my fault entirely ^^

ivory dome
#

Now I'm dealign with the same "blank sheets on refresh" issue Tito brought up. Renaming the sheet does bring everything back. Here is what the console is saying:
Uncaught TypeError: Cannot read properties of undefined (reading 'getAllKeys') at CustomActor.getKeys (actor.js:549) at CustomActor.reloadTemplate (actor.js:576) at HTMLAnchorElement.<anonymous> (character-sheet.js:80) at HTMLAnchorElement.dispatch (jquery.min.js:2) at HTMLAnchorElement.y.handle (jquery.min.js:2) getKeys @ actor.js:549 reloadTemplate @ actor.js:576 (anonymous) @ character-sheet.js:80 dispatch @ jquery.min.js:2 y.handle @ jquery.min.js:2 item.js:64 DERIVED ITEM DATA item.js:202 {message: 'Computed props for gun - 6 / 3', computedProps: {…}, leftToCompute: {…}} item.js:202 {message: 'Computed props for gun - 3 / 0', computedProps: {…}, leftToCompute: {…}} item.js:64 DERIVED ITEM DATA item.js:202 {message: 'Computed props for gun - 6 / 3', computedProps: {…}, leftToCompute: {…}} item.js:202 {message: 'Computed props for gun - 3 / 0', computedProps: {…}, leftToCompute: {…}} actor.js:224 {message: 'Computed props for Test - 54 / 9', computedProps: {…}, leftToCompute: {…}} actor.js:224 {message: 'Computed props for Test - 8 / 1', computedProps: {…}, leftToCompute: {…}} actor.js:224 {message: 'Computed props for Test - 1 / 0', computedProps: {…}, leftToCompute: {…}} foundry.js:5099 Foundry VTT | Rendering TemplateSheet foundry.js:6887 Foundry VTT | Retrieved and compiled template systems/custom-system-builder/templates/actor/actor-_template-sheet.html 

noble tendon
#

Hi, i found a problem in rolls.
I am using

${arma1_name}$  contra ${getPropertyDataFromActor('target', 'nombre')}$```
Modificadores only admit one modifier, when i use 2 o mre modifiers, for example +30-10-40, say error.
How the player can input multiply modifiers in a roll?
brittle moth
brittle moth
noble tendon
#

Is there anyway to may the input and the roll later?

brittle moth
#

absolutely, the inputs & rolls should be in the same message, but not necessarily in the same Formula.
You could do something like :

${#Modificadores:=?{Mod1}+?{Mod2}+?{Mod3}}$
Realiza un ataque ${[1d100x>=90+:arma1_ataque:]+Modificadores}$ usando su
${arma1_name}$  contra ${getPropertyDataFromActor('target', 'nombre')}$
#

**Beta version 2.3.0-rc3 is now available, with the following changes : **

Features

  • [#200] Added item template modifiers
  • [#126] Added ability to edit properties from Formulas
  • [#153] Added ability to apply modifiers to Dynamic Table Fields

Known issues

  • Undo / Redo button functionality has been improved, rendering the first implementation incompatible. Any undo/redo history you may have is not to be used after updating beta. You can clean it by executing the following code in your javascript console :
    game.actors.forEach((actor) => {if(actor.isTemplate){actor.setFlag('custom-system-builder', 'templateHistory', []);actor.setFlag('custom-system-builder', 'templateHistoryRedo', []);}});
  • Undo / Redo is not available for items yet. It will be added in the following beta release, and of course before the main version release

Please refer to the README BETA for instructions on new features : https://gitlab.com/custom-system-builder/custom-system-builder/-/blob/develop/README_BETA.md
FYI, Manifest URL for the beta version is https://gitlab.com/api/v4/projects/31995966/jobs/artifacts/beta/raw/out/system.json?job=build-beta

If you encounter any issues with the beta version, please open issues on gitlab and specify you are using the Beta in the issue title !
https://gitlab.com/custom-system-builder/custom-system-builder/-/issues/new

ivory dome
winter folio
#

Hi,
Is there a way to change the color of a roll depending on the result ?
I have tried the following roll message but without success

<div style="text-align:center";>
<h2>Custom Roll</h2>
<table>
<tr>
<th>${Roll:=[1d20]}$ + ${VitaliteCurrentValue}$</th>
</tr>
<tr>
<th style="font-size:medium; color:${Roll==20 ? 'green': 'black'}$"> ${Roll + VitaliteCurrentValue}$</th>
</tr>
</div>
formal goblet
# winter folio Hi, Is there a way to change the color of a roll depending on the result ? I ha...

That´s what I did:

<table>
<tr>
<th>Rolling for (whatever)</th>
</tr>
<tr>
<td>Rolls</td>
<td>${roll_1:= [1d6]}$ ${roll_2:= [1d6]}$ <span style="color: red">${roll_3:= [1d6]}$</span></td>
</tr>
<tr>
<td>Total</td>
<td>${roll_1 + roll_2 + roll_3}$</td>
</tr>
<tr>
<td>Stunt-Points</td>
<td><strong>${(roll_1 == roll_2 and roll_2 == roll_3) ? roll_3 * 2 : (roll_1 == roll_2 or roll_2 == roll_3 or roll_1 == roll_3) ? roll_3 : 0}$</strong></td>
</tr>
</table>
winter folio
#

Is it possible to link a token from a scene with it's sheet from the actor tab ?
So by decreasing the hp from the token it is also decrease on the sheet from the actor tab
Like with the pf2e system

undone smelt
#

That's what Link Actor Data does (in the actor's Prototype Token config).

pearl tree
#

what is the @ for an ability score's modifier?

formal goblet
potent fossil
#

Do we know when CSB should be expected to work with Foundry11?

lethal flax
#

so how long til this updates for v11?

severe patio
#

is there any way to make it show text like "1=pass,0=fail" and make it look nice like normal roll?

raven tree
#

Hi I am trying to do two things - one I want to return 6s and 1s from a result (I assume I need to create an array and then count both sixes and ones - I tried assigning a value to a roll e.g. ${roll:=[((:Strength_Score:+:Callesthenics_Score:+:Wounds_Score:+:RollModifier_Score:)D6])}$ then ${(roll)cs=3}$ but I assume it only persists the total value of the result (so say 14 as opposed to (1,3,6,4) anyone have any ideas how I work this? sorry not a function or script person

#

My second question is there anyway to give Players control of a re-roll so they can trigger a re-roll of all dice not showing a 1 or a 6 (all good if no

formal goblet
severe patio
#

Thank you, second one is that, how to make proficiency box, like

for example, if we check this box, the rolling would use "stat1+#" but if not it would be "stat1"

formal goblet
raven tree
#

No worries - was a dream of madness

#

Players will be able to see the dice and make use of them so all good

#

PS Its a nice system - I have set up a playable interface in about 8 hours (noting I had to teach myself a fair amount of formula work in the process)

formal goblet
severe patio
#

thank you

tranquil hollow
#

CSB is great, was very happy to find it, thank you for all of your hard work

#

However I do have some questions

#

I'm trying to figure out the section for item containers- I see templates listed in the screenshot in the guide for item container filters, but don't see any in mine, and I'm unsure how to make my own templates

severe patio
#

Any chance we can do "If" command in VTT? like for example,

=IF(P11<(10), "3",IF(P11<(14), "4" ))
P11 being key P11

tranquil hollow
#

thanks!

#

I don't know how i missed that section

formal goblet
# severe patio Any chance we can do "If" command in VTT? like for example, =IF(P11<(10), "3",...

The conditional (ternary) operator is the only JavaScript operator that takes three operands:
a condition followed by a question mark (?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy.
This operator is frequently used as an alternative to an ...

tranquil hollow
#

So to really get a solid understanding of building a sheet, I wanted to take a look at what a full template would look like from a system I know (for example, linkedflush's WFRP4e sheets) and look at the different roll formulas, etc

#

so, I imported those .json and, while it imported, when i open up the templates they're blank

severe patio
tranquil hollow
#

wait, just had to reload it

#

never mind

formal goblet
severe patio
severe patio
formal goblet
#

Check my example

severe patio
severe patio
#

If I want ### to have small number field, what do I add?

this code provide here only make the input field auto size and it's annoying <input type="number" id="status-men-input" value="${[(:status_men:)]}$" onchange="calculateResult()">

#

or like, are there any way to make it sit on same line

tranquil hollow
#

What would be the best way to approximate something like this? I essentially want five columns, with a text field at the top, and then rows that can be added individually to each column without them being added to the others

Would it be something like

5 column Table with text fields
And then one dynamic table per main table column?

fierce harbor
tranquil hollow
#

I figured it out

fierce harbor
tranquil hollow
#

If you put a dynamic table in each column, it allows adding a single entry into that column

#

this system builder is extremely helpful, i'm very happy i found it

#

results in

dire socket
#

Is there a way to remove this awkward box?

#

For images on labels of course.

tranquil hollow
#

Stupid question: I have a number field that needs to be centered... what's a good way to do that?

fierce harbor
dire socket
#

Figured :playdead:

#

Guess I'll look into myself when I get the chance

fierce harbor
tranquil hollow
#

Yeah, and I chose "center" and it didn't work :/

fierce harbor
tranquil hollow
#

No, it's the label of the box

#

....

#

lol

#

I put in a capital C instead of a lowercase c

#

lmao

#

thanks anyways

fierce harbor
somber bay
#

How do I edit properties from a formula in the beta? I do not see it in the beta readme or addressed in the recent chat @brittle moth I really wanna test this

tranquil hollow
#

What's the best way you guys have found to learn javascript formulas? I have little knowledge of coding.

brittle moth
# tranquil hollow What's the best way you guys have found to learn javascript formulas? I have lit...

This system does not use javascript directly, it uses its own "language" for the formulas 🙂
You can enter simple math equations as formulas (1+2, str*4)
You can also use a series of mathematical functions described here : https://mathjs.org/docs/reference/functions.html

Here is a presentation of the full syntax : https://mathjs.org/docs/expressions/syntax.html

tranquil hollow
#

Thank you! And thank you for putting this together, it's really cool and I've found it extremely useful

#

Now I don't have to use roll20 🙏

somber bay
#

one more thing I keep seeing blank templates in the beta even when I make a 'a whole new world' any idea how to troubleshoot this?

somber bay
#

Gonna go do something else but could not do any testing

#

In beta 2.3.0 rc3

  1. I cannot make character templates work no matter what I do
  2. Item templates do not show the Item Template Modifiers as a button (which I would assume it would be like regular items)
  3. I created an item that would attempt to modify it's user and I would get a mistake

Formula.js:851 TypeError: formula.replaceAll is not a function
at setPropertyInEntity (Formula.js:580:39)
at math.js:26531:54
at Object.evaluate (math.js:24162:45)
at r.evaluate (math.js:24139:55)
at Formula.computeStatic (Formula.js:839:27)
at Formula.compute (Formula.js:294:21)
at ComputablePhrase.compute (ComputablePhrase.js:130:27)
at HTMLAnchorElement.<anonymous> (Label.js:254:39)
at HTMLAnchorElement.dispatch (jquery.min.js:2:43064)
at y.handle (jquery.min.js:2:41048)
{formula: "setPropertyInEntity('attatched', 'life', 20)", props: {…}}

#

Is it possible the beta does not contain the updates?

formal goblet
formal goblet
somber bay
#

Ok I created a world that is 100% clean beta

#

and I get this creating an item template
commons.js:6407 Uncaught (in promise) Error: Flag scope "custom-system-builder" is not valid or not currently active
at CustomItem.setFlag (commons.js:6407:44)
at CustomItem._onCreate (item.js:35:22)
at ClientDatabaseBackend.callback (foundry.js:12612:11)
at foundry.js:12562:43
at Array.map (<anonymous>)
at ClientDatabaseBackend._handleCreateDocuments (foundry.js:12562:33)
at ClientDatabaseBackend._createDocuments (foundry.js:12468:17)
at async CustomItem.createDocuments (commons.js:6110:23)
at async CustomItem.create (commons.js:6233:23)

#

(it is an empty world nothing dropped in it, no modules, just got that creating my first template to test)

formal goblet
somber bay
#

So I think it just does not like being called custom-system-builder-beta

#

I backed up my custom system builder, made a copy without the beta... and that is where it checks and finds the things it wants and all the new features show up (character template is still brokenish)

#

Like internally I think it follows a custom-system-builder folder structure for everything instead of -beta which is the installed one

#

(I'm not good at computers so this is speculation)

formal goblet
#

ok, I don´t get the issue with the up-to-date-branch, so it´s really something with the 'beta'-thing.

somber bay
#

If it is a hint some of the errors point at the undo - redo like it's looking for a history that does not exist as it would be without the BETA

#

I got it to work by copying it to a folder without the beta and removing the beta from the ID in the main json and then creating a new world... my template got no errors and has the + to add stuff gonna test the rest

formal goblet
somber bay
#

OH ANOTHER THING... for some reason the formula HAS to be in " " the way it is written so that it can strip the " " otherwise you get a mistake

#

I'm not a coder but this is the segment that kept giving me errors
setPropertyInEntity: (entityName, propertyName, formula, fallbackValue = null) => {
formula = formula.replaceAll('"', ' ');
formula = '${' + formula + '}$';

#

and it finally worked when I changed setPropertyInEntity('self', 'HP', 20) to setPropertyInEntity('self', 'HP', "20") so it could happily replace the " and do it's thing

#

I think because it is expecting a string and the 20 is a number or something I'm not that savvy

#

with this figured out I'm gonna donate when I can OMG @formal goblet and at @brittle moth this is such a game changer!

#

I'm now clicking to heal, clicking to reduce quanity, gonna try clicking to unequip and adding 'mana usage' to a spell after I do the dishes and clean the kitchen

somber bay
#

Clickable equip unequip

brittle moth
#

Hello @somber bay !
Thank you for your support and for this bug report 🙂
It will be fixed for the next beta release 🙂
Your implementation of item-changing labels is nice, I must say ^^

faint wharf
#

guys i see in changelog 2.3 but i can only update to 2.2.7 why?

brittle moth
#

@faint wharf 2.3 is in beta for the moment, not available in the main release channel 🙂

#

I will indicate that in the CHANGELOG 🙂

faint wharf
oblique spear
#

Hello @somber bay .
Your clickable equip unequip demonstration is very nice and probably useful !
It will be nice to integrate your example with fews explanations in Tips and tricks on the CSB gitlab wiki 🙂

prisma orchid
#

Hey there! It's me again 🙂 Maybe i'm just too dense, maybe it can't be done. Is there a way to display the token image of a targeted token on a sheet somehow?

somber bay
potent fossil
#

is '/amacro' not working anymore for someone else ?

minor atlas
#

Hello guys, some1 knows a way to use the module "Item Piles" in CSB? Or at least where the itens are in the system, the full link, like the atributes "actor.system.attributeBar.etc"

formal goblet
granite apex
#

The following image is 3 item containers, each column is Smaller and Right Align, but it all seems to depend on the name size of the item. Am I missing something, or can I have it set to where the two colums on the right are always in the same position? I realize the one with the trash icon won't be.

No need, I resolved it using a different style and format

pale tusk
#

Has anyone found a fix for the issue where keys' default states don't work until you physically click the input? (For instance, a checkbox defaults to a blank, not a false; a number input defaults to a null value that throws errors, not the default value you enter, until you click the field to make the sheet recognize it. This means, in effect, having to click into every input field at least once before the sheet will recognize the content of the field.)

crimson sapphire
#

hi, how do I use custom css?

#

i've created a custom css file with a single class with color: red; and them assigned the class to the template, but the sheets dont change :(

olive shard
#

Is there any way to get data from an Item Container. Like let's say I have an item table for item that represents classes and each item tracks how many class levels someone has in that class. I want to be able to calculate the total number of class levels.
The other way I see for that is using a dynamic table which would be fine, except I want a link to that item, so I can repurpose it. How can I get a link to an item in the item directory like the first row of an Item Container as an entry in a dynamic table(I know that that one in particular links to the copy on the actor of that item, but there has to be a way to get a link to an item from the item directory, right?)?
I tried using a rich text field, droping an item inside of that, which generates that nice string, but when I save it does not become a link.

granite apex
olive shard
dire socket
#

So apparently hiding tabbed panels seems to break the sheet.

#

I'm not entirely sure what is happening, but it only seems to work sometimes on some sheets, but currently the issue makes it impossible to open older sheets and make new sheets that use the template with the hidden formula.

dusk surge
#

Is there a way I can ajutomate Custom System Builder to roll 316 style initiative?

In 316, you have a scolre called NFA.
To determine initiative, you roll 1d10 and that number is your initiative. Unless it is over your NFA, then your initiative is 0.

static lotus
#

Is there an example of someone using the getPropertyDataFrom Actor function? I'm trying to use the "attached" reference to look up a property in an item's attached actor and I can't seem to make it work. The statement reads:
${getPropertyDataFromActor("selected", "diceMod")}$

granite apex
#

Anyone know what the variable is for an item name? I tried name, itemname, item.name (though this should only work in containers) and no luck

vagrant hollow
tranquil hollow
#

Is there support for v11 yet?

tranquil hollow
#

thanks

#

guess i'll hold off

severe patio
#

Are there any way to copy table and paste it for the next one?

fierce harbor
severe patio
severe patio
#

is there a way to get "Total load" and "Max equip load" to show up as number for the "Load%" to work? I tried component key and when I put up component key the whole sheet doesn't even work

#

I mean I can do this, but I have if else encumbered ready to go, and I don't want to put that whole Load code < 20 =something

severe patio
formal goblet
#

You shouldn´t use colons : if you´re not using rolls.

severe patio
#

work now, thank youi

#

another one, how do we use it if return value is text?
I got it, just dumbo and forget to add ""

forest echo
#

[Custom System Builder Question] I'm working on creating a sword world 2.5 character sheet using custom system builder to make the sheets. (i've got cursory programming knowledge but not enough to build an entire system from scratch) Does anyone know how to jury rig check boxes into a type of radio button set that won't allow other boxes in the set to be checked?

where the check boxes marked Scout Ranger and Special are listed are the checkboxes I'm trying to get modified so that only one can be selected at a time.

formal goblet
#

But we have dropdowns 🙃

forest echo
#

Thanks still having trouble with drop downs

forest echo
#

so question how do i reference something off a dropdown then?

#

for say a conditional

fierce harbor
formal goblet
dusk surge
#

Is there a way I can automate Custom System Builder to roll 316-style initiative?

In 316, you have a score called NFA.
To determine initiative, you roll 1d10 and that number is your initiative. Unless it is over your NFA, then your initiative is 0.

fierce harbor
dusk surge
#

Thanks, does the ${}$ formation support "if" statements? I am not much of a coder and am trying to figure out the best way to do this...

wild salmon
#

Ok, I've got antoher question. I'm trying to make items that modify my attributes, which I have in a blank label. A sword is supposed to give +1 ATK. I have a label keyed ATK but the sword isn't adding anything went dropped on the sheet

dusk surge
formal goblet
# dusk surge Cool! Also, what is a ternary operator?

The conditional (ternary) operator is the only JavaScript operator that takes three operands:
a condition followed by a question mark (?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy.
This operator is frequently used as an alternative to an ...

dusk surge
#

Is there a way to do a Label Roll Message for a pool of dice that doesn't sum them, but returns them as individual die results?

fierce harbor
wild salmon
#

I'm certainly not ready to try and tackle macros just yet, and this is not the only item that is going to modify a stat. But inside of an item container, I can't seem to be to add a checkbox to make it "equip"...hmm

#

to back up, I'm trying to use the box "configure item modifiers" to modify the ATK score by +1 with the Sword. Is that not the place to do that?

fierce harbor
brittle moth
# wild salmon Ok, I've got antoher question. I'm trying to make items that modify my attribute...

You need to add a modifier to the item, configured like so :

  • Key : ATK
  • Operator : +
  • Formula : either 1 (direct value) or ${ATK_MOD}$ (to use an ATK_MOD field in the weapon)

Be careful though, items are copied when added to a character. Modifying the original item after adding it to a charater will not change the item on the character, you either have to delete and re-add it or modify it directly on the character 🙂

fierce harbor
brittle moth
wild salmon
fierce harbor
brittle moth
wild salmon
#

When I put it in as "0" that did not work.

When I just put it in as ${0}$ worked like a charm.

brittle moth
brittle moth
fierce harbor
brittle moth
wild salmon
wild salmon
#

Things are working as intended for now. Next problem is figuring out how to deal with changing levels, if I'm using class as a templated item. Since values really can't change once you bring them to an actor sheet, I'm afraid leveling up will be grabbing the new level in the class to add to your sheet to get a additive effect.

brittle moth
fierce harbor
#

I solved that avoiding automatic changes at level-up 😬
What I'm battling with is macros for hp/mana/etc. changes...but I'll eventually be victorious 😅

wild salmon
wild salmon
potent fossil
#

Sorry to ask again 😅 but I'm wondering if "/amacro" is working for anybody ? It suddenly stopped working for me

prisma orchid
dusk surge
#

I put this:
${Roll := [1d10] ; Roll > ?{ FAorNFA | 2 } ? 0 : Roll}$
in the Initiative Formula.
It prompted for the number, then gave me an error:

Foundry VTT | Unregistered callback for renderDialog hook foundry.js:661:13
Rolling [1d10] Formula.js:268:21
Computing 1d10 ComputablePhrase.js:113:17
Computing ${${Roll= 9 ; Roll > FAorNFA ? 0 : Roll}$ Formula.js:323:17
Object { formula: "${Roll= 9 ; Roll > FAorNFA ? 0 : Roll", scope: {…} }
Formula.js:707:17
SyntaxError: Unexpected operator { (char 2)
he http://71.56.198.126:8080/systems/custom-system-builder/lib/math.js:27329
H http://71.56.198.126:8080/systems/custom-system-builder/lib/math.js:26915
string http://71.56.198.126:8080/systems/custom-system-builder/lib/math.js:26735
e http://71.56.198.126:8080/systems/custom-system-builder/lib/math.js:6729
computeStatic http://71.56.198.126:8080/systems/custom-system-builder/module/formulas/Formula.js:727
compute http://71.56.198.126:8080/systems/custom-system-builder/module/formulas/Formula.js:292
Formula.js:740:25
Foundry VTT | Retrieved and compiled template systems/custom-system-builder/templates/chat/chat-roll.html foundry.js:6887:17
Model Validation Errors
[Combatant.initiative]: must be a finite number foundry.js:59187:78
Error: Combatant [SabtetMKqJttYjNQ] Model Validation Errors
[Combatant.initiative]: must be a finite number
[No packages detected]
ModelValidationError http://71.56.198.126:8080/scripts/commons.js:5116
_validateType http://71.56.198.126:8080/scripts/commons.js:4098
validate http://71.56.198.126:8080/scripts/commons.js:3824
validate http://71.56.198.126:8080/scripts/commons.js:5492
_preUpdateDocumentArray http://71.56.198.126:8080/scripts/foundry.js:12717
_updateEmbeddedDocuments http://71.56.198.126:8080/scripts/foundry.js:12661
update http://71.56.198.126:8080/scripts/commons.js:6795
foundry.js:747:30

What did I do wrong?

brittle moth
#

You should not use ${}$ in the initiative formula
Your formula should be directly Roll := [1d10] ; Roll > ?{ FAorNFA | 2 } ? 0 : Roll

#

Besides, i'm not really sure if variables work in the Initiative formula... I might have to test this out

dusk surge
#

Judging from the output, the Roll variable seems to be working, but maybe not the user prompt?

formal goblet
dusk surge
#

If I am reading the log correctly,
?{ FAorNFA | 2 }
seems to always return 2, regardless of what I inout at the prompt.

#

I am new, so I might not be reading it correctly.

formal goblet
dusk surge
#

Oh, OK, I wasn't sure how to compare the roll and return the roll in the same ternary...

formal goblet
granite apex
#

Is there a way to roll Xd6 and both total the results and check it for 1's? For example, can you recall the roll result?

#

I recently discovered how to do a user imput for the X in the roll, so that's all good

granite apex
dusk surge
#

Can I use a Key in the Initiative Formula and if so, does it require a ::?

formal goblet
dusk surge
#

Ah, OK, thanks!

granite apex
#

Here's a head scratcher... I like the way the text looks in the block for dice rolls, so I am trying to get it to use a variable called special_message set on the same sheet. I have tried the following (among other varrients) to no avail. Thoughts?

${special_message}$
${'special_message'}$
${concat(string('),string(special_message),string('))}$

granite apex
static lotus
#

I'm wondering if I've gone about this the wrong way, but I'm trying to figure out how to create a roll button on an item that can be modified by a value in the item's parent character sheet. Essentially, the item is a power that the character rolls, but there might be modifiers to that roll that are captured in a field in the character sheet. Is this something I'd do with getPersonalDataFromActor or should I try another approach?

vagrant hollow
oblique willow
#

I've made my own D&D4e spinoff system, and I've gotten most details down pretty well. However, I can't seem to find a way to let the user add a modifier / select from a dropdown?

On roll20 you'd do a simple [1d20 + ?{Modifier?|0}]
Which would prompt the user to to input a modifier, where the default value is 0

oblique willow
#

Hm, but that doesn't work in chat macros right? I find the roll messages to be cumbersome to make, especially when you need hundreds of them

formal goblet
severe patio
#

how to set up HP/ MP and all those bar properly into the token?

formal goblet
tranquil hollow
#

So I'm working on the same thing

#

I put in a test default max value for HP (999, in this case), but apparently that's universal for every token sharing that template. So if max HP changes from character to character, how can I do that?

scarlet skiff
#

Try unlinking the token

tranquil hollow
#

Wasn't linked to begin with :/

#

So different question: trying to roll initiative. I want to set up a specific formula and need help writing the right one. Specifically, I want to find some way so specific dice results are parsed different.

Essentially:
[numberfield1] times [d6 {0,0,0,1,1,2}] + [numberfield2] is what I want to accomplish, where 1-3 on the d6 count as "0", 4 and 5 on the d6 count as "one", and 6 counts as "2"

For example,

Numberfield 1 = 4, number field 2 = 1
(4*d6)+1, where the results of the 4d6 are 2 (0) 4 (1) 5 (1) 6 (2), giving me a total number of 5

Is this possible?

formal goblet
tranquil hollow
#

Ah

formal goblet
tranquil hollow
#

Thanks. It's actually something I copped from Cubicle 7's wrath and glory, and mooman was able to implement that successfully

#

But maybe he had to format it specially for that.

fierce harbor
tranquil hollow
#

hmm

fierce harbor
tranquil hollow
#

thanks!

fierce harbor
tranquil hollow
formal goblet
fierce harbor
#

Would it work adding the number of successes, success being a 6?

EDIT: I now see it would not work, as you need 4,5,6 as successes.

tranquil hollow
#

Would it be possible to reference a script macro?

somber bay
#

On updating fields within a roll (beta) is there the ability to delete an item or is it something we could get? I do not wanna add it to requests unless there is a good reason to.