#Custom System Builder

1 messages ยท Page 56 of 1

storm stream
#

i'm getting these

#

thing is when i expand them the detail doesn't seem helpful

formal goblet
#

Navigate to the console-tab. That's the only one

storm stream
#

unless I am looking in the wrong place

formal goblet
#

You do

storm stream
sinful spade
#

I think I found a bug in CSB sorting for item filters

formal goblet
sinful spade
#

the columns contain ${item.ComponentKey}$ logic and nothing else, should be 1 1, 1 2, 1 3, 1 4...

storm stream
formal goblet
storm stream
#

I will!

#

Now I can only be back on this tonight coz work.

#

Thank yiu!

oblique spear
#

Can the hidden attributes be sorted? If so, I can't found an option to do it. And if not, will sorting be added in the future?

oblique spear
sinful spade
#

Weird question but has anyone figured out integration with random roll tables within an item?

#

It'd be cool to display the contents and animation within a sheet im building.

formal goblet
#

I haven't even worked with Foundrys roll tables, so I'm out

sinful spade
#

I'm thinking I can make a pseduo table in the item with a bunch of checkboxes outcome1 outcome2 set to invisible, and check them based on a roll formula...
setPropertyInEntity('self', '${concat('outcome', '${roll}$')}$ 1)

but that'd be a lot of data-entry work compared to importing a json, especially since all backgrounds come from one template.

sinful spade
# sinful spade

also martin, i dont know if you saw this -- but sorting in an item displayer doesnt seem to work.

formal goblet
#

You could test if it is fixed in the beta-build to make sure

sinful spade
#

im on 4.4.2 - just made backups and will try updating

#

latest stable build... i guess i'll try the beta.

#

unless i am using it wrong, it is not fixed as of 4.5.0-rc2

formal goblet
#

K, time for rev 3 ๐Ÿ˜…

sinful spade
#

just verified it wasn't my css formatting since i broke it into a flex-row display rather than the usual column

formal goblet
#

We don't do logic with CSS besides some classes

sinful spade
#

yep, im saying i just did another item container without the formatting

#

it's also not working

#

wanted to verify it wasn't me chaning the display logic

#

^^ kinda a cool effect, need to do a few things to it to make it complete but really happy with these upgrades to the character creator

storm stream
#

found a show console sidebar button

plush maple
#

was finally able to make the different types of items do different things. Which leaves me room to fix the script without it becoming messy! Only thing to do now is find a way to add the click option to the class tag I have.

plush maple
#

This code ${setPropertyInEntity('item', 'isEquipped', "item.isEquipped ? false : true")}$ is what I needed to activate the checkbox within the item. But now I need to add this same code (or something simular) to only the items that are equippable, such as weapons and armor. Not everything else.

However, if I put it in the Label roll message then the whole row becomes clickable. That is the trouble shooting I've found out so far. So my next goal is trying to avoid that specific thing. I am just trouble shooting but, I think the only way to have this work is to apply a HTML <script> in the Label text part. ๐Ÿค” Sense the <i class="fa-regular fa-shield"</i> is already there. Unless different code types can be put into one label area.
But yeah! That is what I am tackling next. ๐Ÿ˜ I have a rough code but I won't show anything till I have something a little fleshed out. Thank you guys agian for all the help so far! Learning has been a blast! ๐Ÿคฉ

steep solar
#

Hey Hey,

Anyone tried making custom module for Daggerheart?

#

I am asking before making one myself if there is none ^^

#

(since my coding is poor and I know that my version will be quite basic)

undone smelt
steep solar
#

Ow well, I will need to make some half-baked character sheets then myself

coral nova
#

hello everyone! just joined the cord, i was wondering if anyone ever tried making a card based game in the csb system? I searched a bit and i was wondering if there was a way to implement card values in formulas, like lets say add a dex attribute to a drawn card?

formal goblet
coral nova
cerulean adder
sinful spade
supple sequoia
#

hello, i would like some help on this line of code i made ${floor(ref('Body') * (1/8))}$}$
the code works just fine, the thing i cant figure out is most of the time when i use this the result would be 0. so i would like to change it so when the result is less than 0 it will instead get 1 as the result

supple sequoia
#

i was trying to do some wierd fallback stuff then just decided to ask here lmao

manic crypt
worn shard
#

Hey just bought Foundry and was trying to find this in the systems to install, couldn't find it. And it's not in the add-ons either.

Am I missing something or is it removed?

#

I see it listed on the site still so I figure it's still there.

manic crypt
worn shard
#

Probably....Having just bought and downloaded.

Is there any roadmap/plan for updating to 13 or should I go ahead and install 12 if I'm wanting to work with CSB?

manic crypt
#

Its going to be a bit. LinkedFluuuush, the author, wants to get over a major api hurdle before going to v13.

worn shard
#

alright. I'll see where it's at when I'm ready to see if I can port this RPG system over to Foundry.

#

Thanks for the info! o7

manic crypt
#

No problem.

candid badger
#

Is there a way for an item to check a box off on the actor when it is added...and if so, how?

I tried the item modifier, but I am not sure what to put in the value formula to make it check the box on the actor off.

formal goblet
tranquil flame
#

I'm on Foundry v11 with CSB 3.0.0 and tabs for tabbed panels appear on the left. How do I fix this?

formal goblet
round shard
#

Hi, I'm not so good at scripts. Maybe someone can help. I want to set up a two-handed sword so that when dealing damage to an enemy. I was given temporary hp equal to the additional fire damage of this sword.

storm stream
#

hey @formal goblet , sorry to bother I haven't had time to carry on because of the job, could you (or anyone else abvailable) help me locate where in the console I find the information i need to fix the errors in this?

#

this is the current state of the formula I am trying to fix ${agilityTotal + 7 + (fallback(find('items', 'itemMod', 'itemAbility', 'physicalarmour'), 0))}$

#

this is the look of my console

#

holy s

#

i updated the sheet with the console open and this appeared

#

what am I looking for

#

it seems find(...) is the issue

#

if i replace find() for lookup(), it works kinda?

#

but if there is no entry assigned as armour, then it returns bothing

#

look at the lil dude running icon

#

${agilityTotal + 7 + (fallback(lookup('items', 'itemMod', 'itemAbility', 'physicalArmour'), 0))}$

#
  'items',
  'itemMod', 
  'itemAbility', 
  'physicalArmour'
)```
#

i don't get it

formal goblet
storm stream
#

4.4.2

#

i think the order is reversed?

#

table, column, value to filter, value to use if filter is true

#

'items', 'itemAbility', 'physicalArmour', 'itemMod' ?

formal goblet
#

No it's not

storm stream
#

i don't understand the instructions in the wiki, it's a bit over my head

#

we are not using filterColumn, right?

formal goblet
#

You are. You have to specify a column and a value you want to filter by

storm stream
#

in that case, ain't i missing a string?

#

because if so there sould be 5 items no?

formal goblet
#

You can take a look at lookup() in the Wiki

#

They behave the same with the input parameters. They only return different things

storm stream
#

ok, let me see

#

oh ok

#

so i am telling the funtion to return the value of the column bonus when the value of the column ability is equal to armour

#

value: the result of the column itemMod
filter: the word 'physicalArmour' in the column item itemAbility

#

therefore: 'items', 'itemMod', 'itemAbility', 'physicalArmour'

#

right, so i know that ยดfind('items', 'itemMod', 'itemAbility', 'physicalArmour')ยด is supposewd to be correct

formal goblet
# storm stream

Can you expand items in there, so I can see what it contains?

storm stream
#

sure!

formal goblet
storm stream
#

current formula: ${agilityTotal + 7 + (fallback(find('items', 'itemMod', 'itemAbility', 'physicalArmour'), 0 ))}$

formal goblet
storm stream
#

done

#

still error

formal goblet
#

Show the props again

storm stream
#

yes! I was getting them ๐Ÿ™‚

formal goblet
#

Show the Dynamic Table of the Template

storm stream
#

the one labeled items

#

on the right

formal goblet
#

You sure you reloaded the sheet?

storm stream
#

the sheet named test, yes

#

i'll reload everything hang on

#

refreshed foundry, reopened the template, reopened the test sheet, hit reload

formal goblet
#

Rename the table and reload the sheet

#

And then show the props

storm stream
#

ok

formal goblet
storm stream
#

table renamed

#

and i did not update the formula

#

looks like that

#

ill get the console in a sec

#

should i update the formula too?

#

with the new table name

#

as is just new table name, formula not updated

formal goblet
storm stream
#

you are right!

#

thats odd

#

should appear as "stuff"

formal goblet
#

Can you show the header of the Actor Sheet?

storm stream
#

header?

formal goblet
#

Nvm, I already see it

storm stream
#

look

formal goblet
# storm stream

Is that an old entry of the command or did you execute it again after the reload?

storm stream
storm stream
#

i mean

#

wait

#

no

#

not after the renam

#

no errors now

#

and it's doing the math

#

so, once i renamed the table to stuff, updated the formula in the label, it worked

#

i don't lnow what is up

#

out of curiosity, i renamed it back to items and all and it also works correctly

#

i don't understand what i was doing wrong

formal goblet
# storm stream

Look at the first entry of the Table. That was causing the issue

#

The rename made sure, that the whole Table is cleared in the props

storm stream
#

i see!

#

dang

#

i am sorry for all the trouble

#

i did learn something new though

#

since i could have multiple armour entries, i would like to add them together instead of picking just the first

formal goblet
storm stream
#

understood!

#

thank you, i was wondering which one would replace find looking at the wiki

#

so sum(lookup()) ?

#

done!

#

thank you!

#

this template is now ready for a spin

#

i very much appreciate your support

gusty agate
#

Hello! I'm preparing for a new campaign, and I'm thinking about creating my own system. Since I'm not much of a programmer (but willing to learn), CSB seems like a good option for my needs - it certainly looks easier than creating my own system in Foundry or even creating an application in Unity/Godot/etc.

However, I have a couple of questions that I couldn't find answers to in the wiki or outdated YouTube videos. What are the limitations? Looking at the system, I can definitely see that I can create a character sheet with stats, skills, and even, probably, an inventory. And, it seems, probably a library of various items (weapons, armor, equipment, implants) - correct me if I'm wrong. But I'm interested in automation (at least through macros):

  1. Can the system, upon pressing a button (or macro), make an attack roll, take into account the effects on the attacker and his target, and apply damage if successful? Preferably, using a relatively complex damage formula that takes into account the damage type and armor type, armor class and armor penetration (for example, even if it hits, armor penetration 3 will not damage armor class 4)?

  2. Does the system support Automated Animations? Is it possible, given the presence of different firing modes (single, burst, full auto), to pass different attack names for different animations to Automated Animations? I assume yes, since most likely different firing modes will require different buttons for attack, but I still decided to clarify.

  3. It seems that in CSB you can create effects, and assuming full "customization", which comes from the idea itself - these effects can affect stats. Is there support for Monk's Active Tile Triggers to issue these effects to characters?

formal goblet
# gusty agate Hello! I'm preparing for a new campaign, and I'm thinking about creating my own ...
  1. The calculation can be done without issues. The only issue you have at this point is, that players are not allowed to change the stats of other Actors they don't own. So the update must go through a GM. This restriction cannot be lifted by systems or modules, but there's a workaround if you utilize sockets: https://foundryvtt.wiki/en/development/api/sockets
  2. See it for yourself: #1037072885044477962 message
  3. I haven't used the module, but I'd say yes
brisk bay
#

Will a system made with CSB work in version 13 of foundry? or will i have to wait for an update?

brisk bay
#

ok, thank you, is there somewhere to keep track of when a v13 update will come out?

formal goblet
#

Not really tbf, but we release beta-versions when we're close to

brisk bay
#

Ok! keep it up

gusty agate
fickle linden
#

When using a button to automatically roll, is it possible for the button to use conditional statements to automatically apply modifiers?

#

i.e. if you have a checkbox for a +10 bonus applied, it will automatically add 10 to the roll

fickle linden
#

that and can it compare the result to a pre-existing value on the sheet to determine its success?

formal goblet
fickle linden
#

so I would just write the entire thing out in the message?

#

including all the if statements?

formal goblet
#

Yeah

#

The Label Roll Message is responsible for getting all values it needs

fickle linden
#

Awesome. TY

worn shard
#

2 questions...regarding me looking at porting EABA over for anyone who may be familiar with the system....

1 - can foundry/CSB handle "declaring initiative" via user input? EABA you declare between 0 and an agility score for initiative.

2 - Can healthbars have dual color? The system uses lethal and non lethal hits in a checkbox format. I want to say 100% health it'd be green, take non lethal the green goes down but you have "grey health" but lethal would bring Grey health down and leave it empty. In system non-lethal is marked as "/" and lethal as 'X' and you overwrite non lethal first.

Sorry if any of that's confusing.

vale ridge
#

I'm trying to figure out why /sheetroll isn't working for a roll listed on my character sheet, I've tried to resolve it myself, but I fear I might be stupid. I'm trying to get it to roll 'Power' and I'm not sure what I'm doing wrong

#

My assumption is that I need to set Power as an attribute or something, but I'm not sure how

crimson aspen
# worn shard 2 questions...regarding me looking at porting EABA over for anyone who may be fa...
  1. Foundry in General Uses a Formula which might or might not use Dice-Rolls. Meaning you could have a input field inside your charakter sheet, where players put a value thats used for initiative later. CSB does support max inputs based on set parameters like your Agility. So totally possible.

  2. As far as I know, that is possible when using css with Java script. I am not really sure if you can solve this with just csb though. Maybe Martin can answer that in more detail. In programming easy, but not sure about csb.

formal goblet
formal goblet
worn shard
#

Ty guys!

vale ridge
vale ridge
#

That link helped, thank you

grizzled axle
#

Hi, does anyone know how to make the rolls from a Label Roll Message display the same as a roll would in chat if you were to input the command there? I have the 2 messages back to back, and I'd prefer to have the sort that is on the bottom

sinful spade
grizzled axle
#

Ohhh gotcha, thanks!

#

And I can just throw the CSS in the dialogue box?

#

Or well, Label Roll Message?

sinful spade
#

Yes,
Instead of calling a class there use the style tag to code inline.

#

Classes are useable across labels though, and if you want that style you'll be using it each label.

mint plaza
#

${Critical_Success:='<td style="color:green;">Critical Success</td>'}$

can someone help me?
why does this not work?

#

i want a variable to be colored by html and am setting it like this

formal goblet
mint plaza
#

ok now the calculation works but it seems it doesn't add any color

#

coloring the whole formula with html outside of a ${}$ formula delimiter does color it but seems very inflexible

warm quartz
#

But this makes a very long formula.

#

First part - asking the player to enter a modifier, setting all the variables and rolling a d100:
${#?{modifier:'Bonus/Malus'[number]|0}}$
${#Roll:=[1d100]}$
${#Skill:=item.CFI_CS_SkillValue+modifier}$

${#Failure:='<td style="color:orange">Failure</td>'}$
${#Fumble:='<td style="color:red">FUMBLE</td>'}$
${#Critical:='<td style="color:green">CRITICAL</td>'}$
${#Success:='<td style="color:blue">Success</td>'}$

${#SkillVE:=round(Skill2)}$
${#FumbleVE:=SkillVE > 100 ? 99 : 100}$
${#SkillE:=round(Skill
1.5)}$
${#FumbleE:=SkillE > 100 ? 99 : 100}$
${#FumbleS:=Skill > 100 ? 99 : 100}$
${#SkillHa:=round(Skill0.66)}$
${#FumbleHa:=SkillHa > 100 ? 99 : 100}$
${#SkillF:=round(Skill
0.5)}$
${#FumbleF:=SkillF > 100 ? 99 : 100}$
${#SkillHe:=round(Skill*0.2)}$
${#FumbleHe:=SkillHe > 100 ? 99 : 100}$

#

Second part - Displaying the result with a nice table :
Rolling ${!item.name}$ at ${!modifier>=0 ? '+' : ''}$${!modifier}$
<table>
<caption>Result</caption>
<thead>
<tr>
<th>Difficulty</th>
<th>Roll</th>
<th>Skill</th>
<th>Result</th>
</tr>
</thead>
<tr>
<th>Very Easy</th>
<th>${!Roll}$</th>
<th>${!SkillVE}$</th>
<th>
${!Roll <= round(SkillVE/10) ? Critical : Roll <= max(min(SkillVE, 95), 5) ? Success : Roll <= FumbleVE ? Failure : Fumble}$
</th>
</tr>
<tr>
<th>Easy</th>
<th>${!Roll}$</th>
<th>${!SkillE}$</th>
<th>
${!Roll <= round(SkillE/10) ? Critical : Roll <= max(min(SkillE, 95), 5) ? Success : Roll <= FumbleE ? Failure : Fumble}$
</th>
</tr>
<tr>
<th>Standard</th>
<th>${!Roll}$</th>
<th>${!Skill}$</th>
<th>
${!Roll <= Skill/10 ? Critical : Roll <= max(min(Skill, 95), 5) ? Success : Roll <= FumbleS ? Failure : Fumble}$
</th>
</tr>
<tr>
<th>Hard</th>
<th>${!Roll}$</th>
<th>${!SkillHa}$</th>
<th>
${!Roll <= round(SkillHa/10) ? Critical : Roll <= max(min(SkillHa, 95), 5) ? Success : Roll <= FumbleHa ? Failure : Fumble}$
</th>
</tr>
<tr>
<th>Formidable</th>
<th>${!Roll}$</th>
<th>${!SkillF}$</th>
<th>
${!Roll <= round(SkillF/10) ? Critical : Roll <= max(min(SkillF, 95), 5) ? Success : Roll <= FumbleF ? Failure : Fumble}$
</th>
</tr>
<tr>
<th>Herculean</th>
<th>${!Roll}$</th>
<th>${!SkillHe}$</th>
<th>
${!Roll <= round(SkillHe/10) ? Critical : Roll <= max(min(SkillHe, 95), 5) ? Success : Roll <= FumbleHe ? Failure : Fumble}$
</th>
</tr>
</table>

warm quartz
#

Hope you can adapt it to your needs.

mint plaza
#

๐Ÿ‘

tropic kernel
gray sage
#

Hey all,
Does anyone know if there is any plan for a V13 update?

Thx

oblique spear
coral nova
vapid olive
#

Heyyy~ Got it working, wanted to give my thanks by posting my solution!! :D Following this logic it was everything i needed to connect variables from my label to my macro.. I'll post some personal things that might help others that might have had the same issue. Its basic stuff, but who knows it might help someone?

%{
return await (await fromUuid('Compendium.world.macros.Macro.KQACm2khWDuEWzks')).execute({
entity: entity.entity,
Strength: ${str_text}$,
Modifier: ${strm_text}$,
LABLE: "Strength",
});
}%

IMPORTANT its the actor, dont do entity.entity.actor, entity.entity is already the actor data,

LABLE is just a string that appears at the end of the macro, shows what the roll is for. Ex, a skill check or a weapon roll..its for later applications!

Variables Strength, Modifier, and Label, can be referenced directly in a macro once connected. EX ' const fixedSuccesses = Modifier; '

Make sure that the code is wrapped properly, otherwise, wont work.

#

Discord did some weird formatting stuff

manic crypt
oblique willow
#

I don't know if it matters, but I have a lot more actors lately that take multiple loops to compute?

fringe silo
#

can we upgrae to v13 foundry and still have csb work

manic crypt
#

Linked posted about the milestones yesterday, its moving along but its not there yet.

brittle moth
#

I mean, I didn't test it really, so you can try by editing the system.json file in your system folder, and setting the max version to 13
But I don't know if it's going to work, and I won't be able to help should any issue arise ๐Ÿ™‚

brittle moth
#

The end of the beta ?

**Beta version 4.5.0-rc3 is now available, with the following change from 4.5.0-rc2 (#1037072885044477962 message) : **

Fixes

  • [#454] Fixed Active Effect formula resolving by adding all relevant properties to the scope (see documentation)
  • Added default icon to new Active Effects

Please refer to the Beta Wiki for instructions on new features : https://gitlab.com/custom-system-builder/custom-system-builder/-/wikis/beta/home
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 want to switch an existing world to the beta version, you can follow this guide : https://gitlab.com/custom-system-builder/custom-system-builder/-/wikis/Guides/Switch-to-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

And, even though I relinked it just above, I'll relink it there, because... it seems like the place : v13 is coming, here is the Roadmap up to it !
https://gitlab.com/custom-system-builder/custom-system-builder/-/blob/develop/ROADMAP.md?ref_type=heads

Enjoy !

sinful spade
#

Thanks link!

static cargo
#

Thank you @brittle moth for mentioning that v13 is coming.

tulip obsidian
#

Hi, can someone help me with item containers? I am trying to make so that they just stay at the container that i put them on (right now they go to every container that they can possible show to) ((Context: Trying to make a system that has talents for every level))

manic crypt
tulip obsidian
#

Thks guys

tulip obsidian
#

I guess a can make a container to put all features that they gain, and make them put the level that they obtained (so that i could filter it after)

silver lake
#

To target a number field key in an Item from a module (griddy in this case), how does that look like?
Stuff like item.key or attribute.key, or @props.key
I currently have it as item.system.props.Quantity and it doesn't work. (Quantity is the key)

formal goblet
silver lake
#

It's looking to establish what the quantity value of an item is so it can stack it in the inventory

#

Also, maybe the problem is that I don't know how to stack items in CSB in general, now that I think about it?
Like, every time I drag the same item onto a player's sheet, or they pick it up, it creates a new iteration of that item in the inventory rather than stacking it

formal goblet
silver lake
formal goblet
silver lake
#

system.props.Quantity, then? I'll try!

silver lake
#

Was working so I took a minute

#

So

#

This didn't work, what if the entry point is the item, then?

silver lake
#

That one doesn't work either though.

#

I'll try some more

silver lake
#

No luck

fickle linden
#

Can I nest if statements?

#

and what would the syntax for that look like

silver lake
#

Where in the System data quantity is stored. (the double clicking thing, and ctrl thing doesn't work sadly)
So I guess that means the entry point is System?

silver lake
#

I mean, not in formulas, right?

fickle linden
#

Yeah

#

You can at least check if something is true or not

#

Might be I'm talking about formulas, but it's how I'm checking if a player is trained in a skill that requires training to roll without penalty

#

the chat message dispensed by the roll button checks if a checkbox is true or not and rolls differently based on that

silver lake
#

bad at programming in general

fickle linden
#

Oh, that's just general programming lingo

silver lake
#

yup

fickle linden
#

To "nest" a statement means to put a check inside a check

#

(pseudocode for ease of explaination)
if trained = true:
roll without penalty
if + 10 = true:
roll with +10 bonus
roll with penalty

#

Checks for one, if one is true, it checks for the next thing

formal goblet
fickle linden
#

if the first thing isn't true, it won't check for the other

formal goblet
#

You basically use the ternary operator like in JS

silver lake
#

How do you simply stack items in CSB? like, no griddy involved

#

Is it possible?

formal goblet
silver lake
silver lake
#

Alright, that must be why then. Thank you Martin!

cerulean adder
#

I'm trying to automate character creation and I wanted to see if I can add Race/Class to an item container. Is there any way to reference the values within an item container outside of the actual item container?

cerulean adder
#

I've used lookup before for dynamic tables but I'm not 100% how to get data out of an item.

For example i have an item container called "race". Inside it I have the item "Wookie" added to it. Inside the item Wookie I have the stats and I'm trying to target "Int" which should give me a value of 16.

I know inside I can just do item.Int and it would give it to me but I'm trying to target it outside of the item container. I'm trying the lookup() command and I'm not really getting anything

formal goblet
copper knoll
#

Anyone know a quick way to set up an inventory tab with CSB?

lone patrol
#

Hey! just wanted to ask if we could get an extra setting under sheet display for Minimum Width & Height, so that you can allow resizing of a sheet, but not beyond a certain minimum (to prevent it getting messy) :)

#

and another small request - icons in Tabbed Panel headers would be awesome :D

crystal finch
#

Is there a way to make a certain component key universal? So that every formula can identify and use it across templates, even if not in close proximity of it?

sinful spade
# copper knoll Anyone know a quick way to set up an inventory tab with CSB?

Just set up an item displayer that filters by the items that you want to be visable. That's the bare minimum.

if you want it to be a tab as you indicated, use a tabbed pannel to set up the different options you want to tab through, including inventory, and set your item displayer inside the inventory tab

#

Is there a specific feature you meant to ask about instead?

sinful spade
sinful spade
#

you can still add text before or after it

sinful spade
crystal finch
#

Honestly, I don't know a lick of coding, so I don't know what a world script is

#

I've been fumbling my way through this system and somehow been working things out haha

sinful spade
#

dont ask me how to make one ๐Ÿคฃ couldnt tell you, i'm just confident that's the correct answer as well... assigning a constant variable so that it's accessable from anywhere in the world, then calling it using JS since it's out of CSB scope

#

but can i ask, why? there may be a better workflow if i understood what you're doing

crystal finch
#

I have something called a Base Attack Bonus, which is determined by certain stats and would be identified in the character sheet. It's added to damage rolls, but rolling damage is in the actual item itself and not on the character sheet, so adding the Base Attack Bonus doesn't work since it isn't identified in the item.

#

So I was thinking that if there was a way to attach a component key to the identified number of the Base Attack Bonus (and make it universally identified), then I could just add the variable to the formula of each item and make the number be added automatically.

sinful spade
crystal finch
#

Yeah, it's like this. In an ideal world, the button at the bottom would roll the damage with the ATK bonus, but I don't believe the formula would be able to identify a variable outside of the template, unless I'm wrong.

sinful spade
#

i mean.. the item is always inside the actor's character sheet right?

crystal finch
#

I mean... I guess? Outside of just being in the item list.

sinful spade
#

${fetchFromActor('attached', 'baseAttackBonus')}$?

crystal finch
#

THAT'S A FORMULA???

sinful spade
#

if it's not attached, then you can also use 'targeted' or 'selected' but that can be a bit of a pain

crystal finch
#

What indicates that something is attached? The inventory is built with Item Displayers

sinful spade
#

it's attached if it's inside the charactersheet

#

targeted would be like im using my sword ON you

#

same with selected really, as far as i understand one just uses foundryvvt targeting one is just left clicking

#

so my sword is attached to me, but targets or selects you

#

there's also
fetchFromUUID, if you're always using it to target something specific.

#

havent found a usecase for that yet, but i'm sure it'll eventually come up.

#

item that can weaken a specific boss maybe?

crystal finch
#

There are plenty of actions that I'm fine with doing manually, I just thought my players would get frustrated with adding their ATK bonus to their damage rolls for every attack they did.

#

This is what my current formula looks like, really basic.
How would fetching the variable work in this case?

#

For the sake of the hypothetical, the ATK bonus number can just be identified as ATK_Bonus

sinful spade
#

btw, fetchFromActor('attached'...
is being replaced with fetchFromParent(...)

#

just a heads up

crystal finch
#

In an update, or just in the actual formula?

sinful spade
#

i think both options are valid now, but the actor attached one will stop working in the next few updates

#

i mean... is the +100 your attack bonus?

#

also 1d120?

#

120 sided dice? ๐Ÿคฃ

crystal finch
#

The ATK bonus would be in their character sheet, determined by their stats

#

Yeah, this game system has some pretty big numbers lol

sinful spade
#

any reason you're saving roll as a variable?

#

${roll:=...
means you can call
${roll}$
to get that value later in the same label roll message

crystal finch
#

no clue, i just stole the formula from one of the example templates

#

when i said i have no coding experience, i mean absolutely NONE haha

sinful spade
#

Lol. fair enough, if you dont need to call it later dont save it.

#

${[1d20]+fetchFromParent('attackbonus')}$

#

should work

#

just replace attackbonus with the component key of whatever

crystal finch
#

Alright, I'll give it a shot
I appreciate the help!

#

But, quick question: The parent in this case is already identified as the character sheet, right? Since the item is attached to it?

sinful spade
#

yep

#

the parent of the sword is the one who weilds it ๐Ÿ˜„

#

else they be selected or targeted

#

if i drop it, it's parentless ๐Ÿ˜ฑ

broken pumice
#

Poor orphan sword ๐Ÿ˜ญ

sinful spade
#

The blacksmith didn't hammer all the kinks out tbh, it realllly likes feet.

#

I've made a random roll table of items (events) that can occur as a result of doing a downtime activity to progress your background level...

I made a button that rolls that table from within the background's item...
Is there a way I can get the event that occured and add it as a subitem to the item that rolled within the actor?

practical example using 5e terms,

I have the clan crafter background flavored as a smith, i spend a week in town and decide to do a downtime action to try and make some extra coin, so I roll on a custom table of possible outcomes (since i'm not just specifically trying to make an item), and lets say the event I get is 'learned a new technique' and grants 5xp...

In CSB terms, I want the 'learning' event to be added to my clan crafter background boosting that background's (item's) XP...

I have the items setup but... ๐Ÿค” cant figure out how place the event inside the background

broken pumice
#

So each Event would be a new Item added on the Background ? Or are you ok with directely changing stat on the Bacround ?

#

You could use rolltable. Make 1 per background. Since rolltable can containe Items you can then drag the result directly either on the Background or directely on the Actor.

sinful spade
#

well some events are non repeatable, so i think having them as unique items would be best, plus i dont want to hard code them for scalability...

some of the events will directly modify the character... so the smith may gain +5 strength,

#

which would, i suppose, be a hidden attribute in the smith background.

sinful spade
#

I was rather hoping to avoid that haha... auto import the result to the item that rolled it basically

#

already plan to have... 4 tables per background ๐Ÿ’€ actually

broken pumice
#

Depending o the number of Event they could alrwady be on the Background but hidden and a roll activate 1 or the other.

sinful spade
#

tbf each one gets smaller as you go...
tier 0, 1, 2, and 3 events.
0 is the largest, but as you level up new options get to be avaiable with a weighted backslide...
tier 2 smith event may be 60% to roll on tier 1... etc

#

40% to actually get a tier 2 specifc result

#

maybe only 5-10 'items' lol

#

the item format also means i can re-use them in different backgrounds ... the 'get mugged' event may be universal as an example

broken pumice
#

(It has nothing to do with the technical side, but this sounds very fun ! )

sinful spade
#

thanks, the initial tables i ran on paper were over 100 items ๐Ÿ’€

#

per level 0 table i mean

#

some odd 24 backgrounds

broken pumice
#

๐Ÿ˜… yhea I see why you want to be able to re-use Items !

sinful spade
#

it's all good, i just can take the original tables and convert them to jsons and import to foundry ^^
thankfully outside of character creation they're not used terribly often, and 90% of them are extremely simple...
+5 gold, +1 strength, -1 reputation tier with X npc

broken pumice
#

Ok so from what I read most of the modifications are done to the character directly.
The +1 strength can be handle withban Item Modifer, but I am not sure the the +5 gold should... because it simply adding some gold and not really a modification that comes from an Item...
Maybe you should make a difference between your repeatable event and your unique ones ?
You might be able to roll a dice then add a switchCase on the resultut of the dice to then execute the right entry from an other table ? ๐Ÿค”

sinful spade
#

i figured that'd be handled by marking non-repeatable items as unique which should just throw an error if it tries to be added again, no?

#

as for gold, which i agree to an extent, since you can't have multiple input fields for numberfields that all reference eachother, it would be kind of difficult to not have it automated, else you'd have to remember how much gold you've earned during character creation then manually add it... Unless i created a second 'label' that modifies and you can manually enter that value starting into your gold input

#

I did consider the switch-case, but that leaves no scalability (adding more events later) and cross-background events such as getting mugged lol.

broken pumice
#

Set PopertyInEntity can modify inputfield, iirc

#

Only item modifiers can only change label

broken pumice
#

Something like [1d:count(lookup(table)):]

sinful spade
#

i guess i could add all items that can occur as an event per each background even before the occur, then use a checkbox as a toggle to indicate whether or not the event has happened and if the stats should be added

#

this also allows for the use of css to grey out the ones you havent gotten, or even simply changing their names to ???...

#

use a random roll button and switchcase to manually change which one is 'toggled on'

broken pumice
#

This works too. I I haven't looked too much into them but Conditional Modifiers might help you for this case.

sinful spade
#

yeah i've used them a few times.

#

i just havent done it on such a large scale

#

the switchcase will also be.. funky... to implement

#

manually coding it to change the item.Occured for each outcome... ๐Ÿ’€

broken pumice
sinful spade
#

then the tier functionality of
'is this a tier 1 event, then roll again'

broken pumice
#

Oh nut you can get rid of the switch case actually

#

Simply add a hidden column that is the number of the event, then when your roll your die. Get the number and lookup on your table filtering by this number.

sinful spade
#

Ah... crap... i just realized a flaw in my system ๐Ÿ’€ ... multi-backgrounds of the same category...
clan crafter smith and clan crafter tailor....
i need to sort that ๐Ÿคฃ

sinful spade
broken pumice
broken pumice
sinful spade
#

ah that would make the column, it's not a default property tho

#

anyway

#

roll 1d100
setPropertyInEntity(find('eventsTable1', 'item.eventOccur', 'index', ==, 'roll)', 1)

#

that should work

broken pumice
#

Yeah, I think it should ! The nice thing is that since the table is the same for each background, you can even have event that unlock new row in the table for progression by toggeling the visibility

sinful spade
#

yeah i was just considering tabbed pannels!

#

in fact... that may be how I handle multi-backgrounds...
though it's not like a dynamic table where i can just... do the thing. ๐Ÿคฃ

broken pumice
#

Yes tabbed panels for the multi background sounds good ! Might depends on the number a character can get but if it's 1, 2 or even 3 it sounds reasonable

sinful spade
#

well, i use unranked, bronze, silver, and gold, as distinctions of progression to simplify things.

#

If the players aim was to hit gold, it'd take in game years, so hitting more than 2 would be astounding

#

and 2 within different categories is no problem, i just never considered someone doing 2 trades for example, smith and leather worker for example... could make saddles.

#

2 golds = 1 gold saddlemaker but...
implementing that into the pannels will be... interesting. ๐Ÿคฃ

#

if someone wanted 3 bronze ๐Ÿค” or 5 unranked for some weird reason... idk how to account for it

#

no accounting for the 'my character is a polymath!'

broken pumice
#

That's were you put limitations in the rules ^^" no more than X backgrounds because it takes to much time to learn and practice !

sinful spade
#

duplicating the 'background' would be the easiest solution and just renaming it on a per character sheet basis until it hit the point you could merge them into one and rename one and delete the other boosting the XP....

broken pumice
#

Or you could have a specific background that is "polymath"

#

With different stuff from other backgrounds.

sinful spade
#

well, i have 24 backgrounds for a reason

#

they're categories

#

i expect players to pick 1-2 they really want to hammer in on, but they're all displayed

broken pumice
#

I have to go. I really hope you can find a way to implement all of this! Please show your result on this channel when you manage to do it. I am curious to see what the end result will look like !

lone patrol
sinful spade
sinful spade
#

but anyway, css you should be able to use the content: tag

#
MDN Web Docs

The content CSS property replaces content with a generated value. It can be used to define what is rendered inside an element or pseudo-element. For elements, the content property specifies whether the element renders normally (normal or none) or is replaced with an image (and associated "alt" text). For pseudo-elements and margin boxes, content...

sinful spade
#

don't meet prerequisits: grey & locked.
unlocked but lvl 0 = grey, but name is shown
untrained but have experience= no border but color.
bronze tier = bronze border, and so on.

#

im still in the works of redoing it to make it function with item containers rather than panels ๐Ÿคฃ
but that's the final 'look', again barring any changes due to repeat offenders

broken pumice
#

Ok, that looks amazing !

sinful spade
#

this is the last step of the character creator and once it's done, my entire sheet is 'done'.

lone patrol
broken pumice
sinful spade
#

replaced the checkbox with a skull ๐Ÿ’€ !

sinful spade
#

once im done building it in CSB i plan to recode it in JS (still learning and boy that's a nightmare) as a standalone system for distribution and download

lone patrol
broken pumice
sinful spade
#

best of luck to you!

lone patrol
#

ignore the choppyness when things update, thats just the lighting effects causing problems lol

sinful spade
#

im using csb for a proof of concept and playtest arena since everything is easily modular and modifyable before i hardcode..
running into thinkings like 'multiclassing' backgrounds just now is gonna save me pain later.

#

i'd say the CSB version will be done in the next 3 months or so (especially since i stoped over styling everything, and am focusing on pure production)

#

you can see the less-style focus pretty dramatically ๐Ÿคฃ but i need to get to playtesting before commiting things to hard code

lone patrol
#

While CSB rocks for prototyping i have a deep loathing of JS, so for now, I'm sticking with a CSB solution lol

sinful spade
lone patrol
#

honestly, if i publish, I'm just gonna upload the world file lol

sinful spade
#

fair 'nuff ๐Ÿคฃ
idk what licensing issues that'll have lol

#

but i also plan for non tech users who just want to get into a game

#

downloading csb, uploading templates... ๐Ÿ˜…

lone patrol
#

if im not including copyrighted media and its a free download, none afaik

sinful spade
#

no copyright materials, no plans to sell anything, etc etc

lone patrol
#

providing a world with preloaded sheets and a compendium of items with default icons is easy enough

#

and just, chuck it as a free download irrespective of owning the game

sleek vigil
#

I'm struggling to work out how to import a CSB template into my CSB game hosted on the Forge - help!

formal goblet
sinful spade
#

Martin, maybe this isn't the way to do it i want to use the 'setPropertyInEntity' function to change a value of a subitem

#

Any suggestions? ๐Ÿ˜…

formal goblet
sinful spade
#

is it possible to do with the item name? i'm working with a item displayer currently

#
${roll:=[1d${max(lookup('eventDisplayer0', 'indexVal'))}$]}$
${setPropertyInEntity('self', '${find('eventDispalyer0', 'item.name', 'sameRow('indexVal')', ${roll}$', '==')}$', 1)}$
#

roll a dice based on the # of items,
get the value on that line...

#

wait uuid is a call within item displayers natively, right?

formal goblet
#

Every Item Displayer contains a UUID-column, so you could do a find() with the name

sinful spade
#

huzzah

#

let me see if i can get that working, thanks!

sinful spade
#

set values works, but samerow does not work within it.

<br>
${setValues(find('eventDisplayer0', 'uuid', 'indexVal', roll, '=='), 'Occured', 'true')}$```

๐Ÿ™‚ this is the working version.
Thanks!
#

Thanks link!

#

Not sure if you knew about it yet btw, but item dispalyer sorting does not work ๐Ÿ˜ฆ

brittle moth
#

**Beta version 4.5.0-rc4 is now available, with the following change from 4.5.0-r3 (#1037072885044477962 message) : **

Fixes

  • Fixed active effect creation error

Please refer to the Beta Wiki for instructions on new features : https://gitlab.com/custom-system-builder/custom-system-builder/-/wikis/beta/home
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 want to switch an existing world to the beta version, you can follow this guide : https://gitlab.com/custom-system-builder/custom-system-builder/-/wikis/Guides/Switch-to-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

Reminder : v13 is coming, here is the Roadmap up to it !
https://gitlab.com/custom-system-builder/custom-system-builder/-/blob/develop/ROADMAP.md?ref_type=heads

Enjoy !

brittle moth
sinful spade
#

despite having the background key set as the sorted value, it only displayes based on when the item was added

#

'brawler' should be 2nd, according to its key.

#

ccBackgroundKey is a column based on ${item.BackgroundKey}$ and does populate the correct number when not hidden, unhiding the column does not allow sorting

#

and a new item displayer setup the same way without the css changes does not sort either

#

it's possible i'm doing something wrong if it works on your end but ๐Ÿ˜ฉ if that's the case i cant find it

#

unhidden screenshot:

brittle moth
#

Indeed, I don't use auto sorting. I'll look into it

sinful spade
#

thank you!

brittle moth
#

After a quick test, it does sort but uses item keys rather than column keys
So it should sort using "BackgroundKey" rather than "ccBackgroundKey"

It's not correct, so I will fix this, but if you want a quick temp fix

sinful spade
#

This works, awesome!

#

thanks link ^^

cerulean adder
#

Is there a way to figure out what is causing the "Some props were not computed" message in the inspector?

It's going through these every single time a change is made and it's slowing down the world

cerulean adder
#

I'm either blind or Idk what that means. I don't see scope-object

formal goblet
#

There's usually an object called scope which contains all properties

#

Btw, how come that you have a property called armorInventory.ac? We don't have a Component, which would have such a structure.

cerulean adder
#

I actually don't know. I'm trying to figure it out but I haven't named anything with that name that I'm aware of.

sinful spade
#

Has anyone figured out how to get a parent's UUID from a label in an item?

#

I want to get the UUID of the actor holding an item from the item, so i can pass it down to a subitem using fetchFromParent.

formal goblet
sinful spade
#

fetchFromParent('uuid') was throwing an error, but didnt have anything in console to help me debug, so i didnt assume that was valid

#

does top: true, make it where i can place that directly in the subitem to get the main actor UUID?

formal goblet
#

uuid is a standard property beginning from v 4.5

formal goblet
sinful spade
#

ope sorry that was an artifact

#

outputs blank

formal goblet
#

Which version are you on?

sinful spade
#

console reads: Custom System Builder | Some props were not computed.

#

4.4.2

#

last stable build

formal goblet
#

uuid is standard beginning from 4.5

sinful spade
#

... crap ๐Ÿ’€ so beta only?

formal goblet
#

Create a hidden prop uuid: %{return entity.entity.uuid;}%

sinful spade
#

that outputs the parent item as well, not just the actor, no?

#

i'm planning to use the resulting uuid in formulas to adjust stats of the parent actor from the sub-subitem ๐Ÿคฃ

formal goblet
#

You want the UUID of the Actor, so you have to create the prop there

sinful spade
#

havent used a hidden prop yet...
Can i call them like component keys?

formal goblet
#

Yeah

#

Behave like Label text

sinful spade
#

so within item 1, pUUID = fetchFromParent('uuid')
then in item 2 fetchFromParent('pUUID')

formal goblet
#

Is Item 1 the child of Item 2, which is the child of the Actor?

sinful spade
#

actor -> 1 -> 2

#

but yes it ended up working ^^

formal goblet
#

Then skip Item 1

sinful spade
#

that no longer works

#

it has to go level by level it seems

formal goblet
#

Not with the top-option

#

It literally skips the whole chain and goes to the root

sinful spade
#

had a typo

#

that did work

#

thanks again ^^ that'll work

formal goblet
#

Don't manipulate UUIDs. They only work as a whole

sinful spade
#

yeah i saw on the wiki your examples included the actor prefix as well

formal goblet
#

They are unique for every Document. There are no duplicates

sinful spade
#

^^ had to double chekc real quick

#

right,
I wanted events to impact the actor they're parent item is contained within, and since they'll all be in every actor -- this seemed to be the way

#

helps me avoid massive switchboards too

sinful spade
#

hmm...
${fetchFromUuid('${actorUUID}$', "lookupRef('attributeTable', 'attributeBaseBonuses', 'attributeName', 'Physical')")}$
as a modifier isn't adding anything to the user's physical score

#

nor are there any errors to help me out here.

#

removing the ${ }$ around actorUUID results in

formal goblet
sinful spade
#

yes

formal goblet
#

This will modify the value of the direct parent of that entity

sinful spade
#

even though we're using the UUID to bypass the middle item?

formal goblet
#

Yes

sinful spade
#

... crap.

formal goblet
#

Resolve the formula and you'll understand why that can't work (maybe)

sinful spade
#

am i stuck building a series of modifiers in the middle item that reference the subitems?

#

like put it in a label?

formal goblet
#

Yep

sinful spade
#

yes, i'm stuck making a bunch of references in the middle item?

#

or yes, put it in a label ๐Ÿคฃ

normal ore
# brittle moth **Beta version 4.5.0-rc4 is now available, with the following change from 4.5.0-...

Hello, I have a question:
From what I understand, there will come a time when item modifications will be removed and replaced with active effects, right? My question is: how would an active effect allocated to an item modify an actor? Because today, I simply make the actor modifications within the item modifiers, correct? A practical example: let's say I have an item that increases a character's HP by 10%. I would create an active effect within an item, but how would I modify the actor/character?

broken pumice
#

The same way that you are using Item Modifiers. You place the Active Effect on the Item. Active Effect have a section to add changes that works like Item modifiers used to. You specify the key to be changed, the operator and you can input a formula for the value you want to change it by.

#

By default, formulas from the Active Effect have access to the Item they are on. To acces the properties of the Actor they will be transferred to you need to prefix with target.
So for your example this would look like this

Key : hp_max
Operator : +
Formula : ${ floor(target.hp_max /10)}$
normal ore
# broken pumice The same way that you are using Item Modifiers. You place the Active Effect on t...

So you're saying that if I have an HP_max key both on my item and on my actor, and the Active Effect is attached to the item (not the actor), then when I specify the HP_max key in the Active Effect settings, the effect will modify the actorโ€™s key and not the itemโ€™s โ€” is that correct?

Sorry for insisting, but I really need to understand this concept clearly in order to make the right changes!

fickle linden
#

Can you make a rollable label that has a text field?

#

To use D&D 5e terminology, a skill you could rename?

warm quartz
#

Same with dynamic tables, players can change values that are not labels'

#

And you can have a label roll that displays an item/skill name.

#

In an item displayer, ${item.name}$ will give you the name.

fickle linden
broken pumice
#

The Actor will inherit the Effect from the Item.
Well, actually it's a setting on the Active Effect that is called "Apply Effect to Parent". (Just a checkbox)

broken pumice
trim ice
#

Im trying to translate a niche system into foundry and just wanted to know if the switchCase function can accept a range of values? and if so what the formatting is
A stat scales at certain levels and i dont want to have to write a case for every level

trim ice
#

Is there a better way to incorporate that kind of scaling or will i have to manually input the number for each level

formal goblet
trim ice
#

Im trying to set up item modifiers so that when it is equipped it raises a stat by a certain amount
But im struggling to figure out how i can get it to properly update the sheet

#

As soon as an item using that template is added to the sheet, the ATK key is NaN

formal goblet
#

You should put that into a formula ${}$, otherwise it's just plain text

trim ice
#

So it should look like this then?

#

Aha perfect that worked thanks

trim ice
#

Then how would i make it so the amount of dice rolled depends on a certain stat for an item
Like if youre level 1 using it, roll 1 die, level 2, 2 die, etc
IK you have to use the fetchFromActor but when using that in a roll format it doesnt work on its own

#

current formula

#

Nevermind if figured it out
Forgot the : : around the x and some formatting issues

faint wharf
cerulean adder
#

Anyone know where to put the css file? I used the module but I'm having trouble targeting the item box background. I'm able to modify it in the inspector but I'm hitting my head againts the wall

plush maple
#

Just realized that my favor/hinder dice are not adding to my d20 rolls. Currently this is the code I have.
<section class='secret'> ${!mod:=[:dice_Mod:d6]}$ </section> rolls for Crafting <br> ${#craftVal:= [1d20] + mod}$ ${craftVal >= craftDC ? 'Pass' : 'Fail...' }$ ${!craftVal - mod == 20 ? 'CRIT!' : '' }$

#

it is showing the D20 roll but not the d6 so I am thining about recoding it to show both dice numbers. ๐Ÿค”

cerulean adder
#

I think the ! Before mod makes it not show the roll? Something like that

formal goblet
#

I have a feeling something is coming...

brittle moth
#

Effects are here !

#package-releases message

**Version 4.5.0 is now generally available, with the following changes : **

Known issues

  • Some russian translations are missing, they will be added very quickly !
  • Active Effects are applied after every computation is made. Therefore, Formulas using values modified by an active effect will not have the active effect modifications on computation.

Deprecation

  • Deprecated Item modifiers and Status Effect modifiers in favour of Active Effects, to be removed in CSB 6.0.0 - Foundry 14

Features

  • Added possibility to use formulas in the classes-field of every Component (conditional formatting)
  • Added img, uuid and id to the standard-properties of every entity
  • Added variable this for self-references
  • Added russian translation (thanks to ะ”ั€ัƒะผะฐะฝะธะฝ ะ”ั€ะธะฝ (Drumanin Drin))
  • [#446] Added indentation and removed Template History for Template Exports
  • Added progress bar for Template reloads
  • Added more Template reload options (e.g. Tokens in Scenes)
  • Added a checkbox to activate / deactivate Active Effects from a Character Sheet
  • Added Custom Active Effects feature (Documentation : https://gitlab.com/custom-system-builder/custom-system-builder/-/wikis/stable/en/Guides/Active-Effects):
    • Added buttons on active effects to manage a predefined list of Active Effects
    • Added a Dropdown in the Active Effect Container to optionally select a predefined Active Effect to add
    • Added full integration of now-recommended module DFreds Convenient Effects
    • Added full integration of now-recommended module Status Counter
    • Items can now be modified by an Active Effect
    • Added Active, Origin and Description columns to Active Effect Container
    • Added Status Effect Customization
  • Added button to open Documentation in Settings Tab
#

Fixes

  • Fixed an issue with sub templates and user input template not saving correctly
  • Changed requirements for module Chat Commander, making it optional
  • [#439] Fixed Rich Text Area left alignment
  • [#448] Fixed Number Field wrongly triggering relative modification when its value is a negative number
  • Fixed an issue with Item Displayer auto-sorting not using column keys to sort items. Both column key and item key work when Auto-sorting

If you encounter any issue with this new version, please post an issue on Gitlab : https://gitlab.com/custom-system-builder/custom-system-builder/-/issues/new

Enjoy !

dense pine
#

This link -> Page does not exist

brittle moth
dense pine
# brittle moth Fixed, thank you for the heads-up ๐Ÿ™‚

Played around with Active Effects and noticed a strange behaviour: Please see the screenshot: I added +1 to a skill "Ausweichen Mod" with an item modifier and afterwards with an effect. The I calculate the Sum of Base Value of this Skill (11) + Bonus Value (12) + Mod (1).
In the first screenshot it adds up correctly to 24. The mod (1) comes from an item modifier. Second screen shows the same with an active effects. The +1 Mod is shown correctly but ignored when i add all values to a sum. Its 23 instead of 24

#

Refreshing the sheet doesnt change anything

#

This is the formula of the Sum-Value

#

What is even more strange:
I have a second label that just references this Sum Label, in the upper right corner of the next Screenshot. This one is just ${AUSWEICHEN _sum}$

#

I added a new label just below and copied the Formula from the AUSWEICHEN_sum label instead of just referencing it, and now it shows the correct number (24)

#

Another question: Any idea why colored icons in status effects are not shown correctly in the upper left corner of the token?

brittle moth
brittle moth
brittle moth
#

Active effects are currently applied after everything is computed. So they cannot trigger cascade effects, i.e. their modifications are not taken into account in next computation.

In your case, the sum is computed before the active effect is applied to the mod, so the sum does not have the effect change...

I'll fix this ๐Ÿ™‚

lament acorn
#

Hello there!

I'm having trouble finding the csb in foundry 13 345 in the install system menu.

burnt cloak
#

I was about to ask the same question. Any guess as to how soon it will be available for v13?

sinful spade
#

Though, that's my guess and based on nothing but my own hallucinations

candid badger
#

I am using the following formula which is working fine:

${#?#{MeleeMod}}$
${#Roll:=[1d20]}$
${#Modifier:=meleebonus-meleepenalty}$
${#Attack:=item.weaponattack+totaloffense}$
${Roll+Attack+Modifier}$
${#Total:=Roll+Attack+Modifier}$
${#Defense:=fetchFromActor('target',"npcdefense")}$
${#Result:=Defense>Total ? 'Miss' : 'Hit'}$
${Result}$

However, I would like to add one more feature that runs this formula is item.weaponequip is checked off, and if not just outputs 'Your weapon is not equipped'

I have taken a couple of stabs at this on my own with no success. Any help from the collective brain trust here is appreciated.

normal ore
#

Hello, after the update, some formulas stopped working. I'm trying to understand why, but I haven't been able to figure it out. Can someone help me understand, for example, this error?

Note: The dynamic table is in the item, and both the table key and the fields are written exactly as shown in the formula. In fact, it was working before the update.

formal goblet
formal goblet
# normal ore

Take a look at the scope-Object in the warning and show the values of the Dynamic Table.

formal goblet
# normal ore This?

Add == as the 5th argument of find(). The value in the filter column and value you filter by are of different types (number vs. string).

normal ore
somber bay
past ivy
#

Hey, quick question, maybe I've missed it but did you change the Readme on the Gitlab page? It used to be my go-to source for looking up all the components and commands and now everything is gone

past ivy
#

thanks for the reply! is there a place where everything is on one site like it was before? because searching was very easy

brittle moth
#

No, it was split in smaller articles to make linking easier :/

past ivy
#

understandable, keep up the good work

fading turret
#

is there anywa to hide the label messages similar to ${#formula}$. I've been trying to do something similar to that but I'm struggling a bit. my formule is ${#pct:=lookup('atributos','porcentagem','atributo','forca')}$
${pct}$

brittle moth
#

#package-releases message

Fixes ๐Ÿ™‚

**Version 4.5.1 is now generally available, with the following changes : **

Fixes

  • Fixed Active Effect computation order
  • Fixed Active Effect application when key formula targets multiple fields (using lookupRef or array function)
  • Fixed Active Effect key computation not using the right trigger entity
  • Added Modifiers to Active Effects conversion
  • Added missing RU translations

If you encounter any issue with this new version, please post an issue on Gitlab : https://gitlab.com/custom-system-builder/custom-system-builder/-/issues/new

Enjoy !

spiral trench
#

Hey, I'm trying to do something I feel like should be pretty simple, but I don't know where to find the answer. I'm trying to make it so that when I enter a value in a sheet's number field, then a different number field also automatically updated to that number.

The closest thing I can do right now regarding that second field, is "set minimum/maximum" with regards to whatever value is entered in the first field, but that still requires you entering the 'wrong' number in that second field before it updates to the correct value.

I added an image for an example: When I enter a number for Population Total, the number for Food Assigned should automatically become that same number.

manic crypt
spiral trench
manic crypt
#

${pop_total}$ if they're always equal.

spiral trench
#

That worked, thanks! Still getting the hang of the syntax (like when colons : are used. Apparently not this time.)

manic crypt
spiral trench
#

Ah okay, that checks out then. Thanks again!

stone hare
#

Hey all! Noob here. I am trying to use Items to add some bonuses. But when I drag it into the inventory i am getting error from screenshot #1.

I am trying to add 1 to stat modifier screenshot #2. This Stat is controlling Dice Roll screenshot #3 by looking though the dynamic table in screenshot #4.

What is confusing me is that Item do add to those Modifiers but then the formula for calculating other stats and rolls get broken like Item is added on top of everything and then it cant look at the table to return the proper reference.

Does anyone know how to fix this?

rapid siren
#

Hi guys. I'm trying to reference a field on an item in my "Inventory_Equipped" Item Displayer. I want to grab a field on the item that is not in the Item Displayer. Item Displayer has the equipped label from the Wiki and filtering on this just isn't doing anything. Swapping true to false just lists all my Items
What I have: ${lookup('Inventory_Equipped','uuid',equipped, true)}$
I understand that this goes into the fetchFromUuid() afterwards to get the field I am looking for

formal goblet
formal goblet
formal goblet
stone hare
formal goblet
#

Mod vs. Dyna_Mod e.g.

stone hare
#

How do i fix it? Because if i Add 1 to "mod_pow_final" though something else than item, it works.

tardy warren
#

Hey yall, I was working on Custom System Builder and was wondering if there is a way to code in a sound bite whenever a you roll a 20 on a d20 (critical hit)? If so, do yall know how? Thank you

dusky mauve
#

Have a problem after migrate to CSB 4.5.1
I have use item modifier to add capacity and weight from item to the character
also modifier was use on class as class type or level

I have create effects with item weight and item capacity add such effects to the item template and reload the items - all calculations is ok. But TOKEN became unreadble.

Each succh effect place an icon on the token - even if i do not need it (capacity or weight)

vagrant hollow
dusky mauve
brittle moth
#

I'm talking about this =>

dusky mauve
brittle moth
dusky mauve
#

maybe direct creation effect in template instead of reuse will not create icon - checking

#

@brittle moth yes - problem not exist if using new active effect, so no reuse here (

brittle moth
brittle moth
dense pine
#

Really struggeling to get into this new effects thing. Feels complicated to use. Can anyone recommmend a tutorial vid that or something that explains the interface in more detail maybe.

brittle moth
dusky mauve
dense pine
#

Is it possible to create different active effect displayers for temporary effects and for passive effects?

#

Like a filter formula in an item displayer

brittle moth
dense pine
#

The Wiki says the Status Conditions Field is an important one. Played around with it but cant see any effect. Can anyone explain (for dummies) please what it does?

rapid siren
# formal goblet `lookup()` -> `find()` and you should quote `equipped`

quoting 'equipped' makes lookup() return nothing, even if it is true or false. I did verify that props has a field called "equipped" last night and one item is set to true and the other item is set to false
changing it to find() ends up showing as ERROR, but the console is empty and not showing an errors
(currently trying to get name so I am confident on what is being returned)

formal goblet
rapid siren
formal goblet
# rapid siren

These are the keys and values, which are available for you in find()

rapid siren
formal goblet
rapid siren
#

Thank you so much for the help

graceful mist
#

Is it me or isnt the adding working as it should.. I have added the item twice just to test to see what happens when you add more than one increase to a stat. If i add the 3rd it will say 444

Any tips?

graceful mist
formal goblet
graceful mist
formal goblet
# graceful mist

Well... The following is happening: base + modifier -> newValue, which translates to '' + 4 -> '4'. With the second modifier: '4' + 4 -> '44'. You have a perfectly valid string concatenation at this point

#

You probably want this behavior: 0 + 4 -> 4 and 4 + 4 -> 8

graceful mist
#

yes that was what i aimed for ๐Ÿ™‚

formal goblet
#

Well, '' + 4 -> '4' vs. 0 + 4 -> 4

graceful mist
#

ok, so standard value on the label 0? im a little lost here since the effects only works on labels and not on number fields etc.

formal goblet
#

Yep

graceful mist
#

ok thanks, ill try ๐Ÿ™‚

graceful mist
#

worked like a charm, thanks again ๐Ÿ™‚

brittle moth
regal panther
#

what would be a good way to toggle Active Effects gained from an item?
i have an equip/unequip checkbox on the item to be active and shown in the equipment tab and not only in the backpack. that should also trigger the active effects to be active. It practically works by setting the Effect Value: %{return ${isEquipped}$ ? 1 : 0;}%
but that seems like a fiddly workaround..
i tried the following but it only triggers the equip checkbox, not the Active Effects
${ setPropertyInEntity('self', 'isEquipped', isEquipped == false) setPropertyInEntity('self', lookup('Effect', 'Active'), isEquipped == false) }$
but that doesnt seem to work, i tried some other column names beside Active to find the checkboxes from the active effect displayer but had no luck to make it work - maybe something else entirely is wrong with my attempt there.
I took a look at Martins Macro for toggling, but i'm not yet sure how it would work for me and in its current state it only toggles a single effect as far as I understand. it feels weird to me with the creation and deletion of the effects or is this more for temporary conditions and not more lasting item buffs? isnt there a clean way to just toggle them on and off?

brittle moth
# regal panther what would be a good way to toggle Active Effects gained from an item? i have an...

I'd say the %{return ${isEquipped}$ ? 1 : 0;}% is the cleanest way to do it : that way you don't need to update multiple objects on equipping / unequipping an item
Active Effects cannot be toggled like items, at least not for now. If you really want to toggle the Active Effect, you need to do something like %{linkedEntity.effects.getName('YOUR_ACTIVE_EFFECT_NAME').update({disabled: linkedEntity.props.isEquipped == false});}%

regal panther
#

mhh okay, thank you for your help ๐Ÿ™‚

#

another i hope small question, is it normal that all of this stuff triggers in the console when i click a checkbox without any code/impact?
or did i fuck something up? it seems to compute the same 3 items multiple times on the testchar

#

this is just one checkbox click or could be dropdown menu or anything else

brittle moth
regal panther
#

okay, thank you and big thanks for building the system anyway!

dense pine
brittle moth
#

You could have a "Burning" active effect, and want to see it on the token to remind you each round, for example

sinful spade
# brittle moth You could have a "Burning" active effect, and want to see it on the token to rem...

Hey link, if it's not a bother I have a question about data in CSB.

Basically I want a way for items nested in other items to use their modifiers on the parent actor containing the item... containing the other item ๐Ÿคฃ

Think subclasses in a class. except more messy (there can be a lot of them and they can duplicate across various containing items).

I tried using setValues and using the actor UUID to make things work but no luck... I also think making the middle item template have a bunch of imports from the subitem will be a lot of messy data since they'll be checking if things exist, that wont often be there... e,g, most items wont have a strength mod.

any suggestions?

wraith plaza
#

Hello~ So far i'm really like building the system in foundry (I'm new at foundry!) and I'm trying to figure out how to do crit thats based off getting below a certain number with a players roll.
For example, roll a 1d100 get 27, then the crit check from the characters skill stat + equipment. and by getting 27 or lower, they crit.
I searched back in the chat and their seemed to be a buncha ways to do it and I took a look at the wiki but I couldn't figure it out, and I'm new at coding too ( I know I be doin a lot).

sinful spade
wraith plaza
formal goblet
wraith plaza
#

Oh, I just want it confirm the crit and then the damage is doubled. rn I just have the 1d100 roll and the character crit check roll separate and I wanted to combine them into one thing.

wraith plaza
#

Oh I think i got it into one thing ok enough lol ty for the insight

#

it aint cute, but it works for now. also how do I get rid of the dice at the bottom?

sinful spade
icy storm
#

I'm probably just an idiot but I'm trying to get values to display in a tooltip (I have the tool tip module) and it will supposedly call the value if you set it up right.
I'm trying to get to display the defense (which I conviently named Defense) when I hover but it isn't showing anything. I tried setting it to Defense, ${Defense}$, [;Defense:], and none of them worked.

#

I did find a formula where you can set up tool tips within CSB itself but I don't where I would put that formula. In the template box itself?

sinful spade
#

never used that module but csb supports tooltips by default?

icy storm
sinful spade
icy storm
#

Yes

sinful spade
icy storm
#

Yes

sinful spade
#

looks like this guy was using javascript selectors, not csb keys

icy storm
#

Well, it was a beautiful dream for 10 minutes.

sinful spade
sinful spade
sinful spade
#

should also be easy

lucid rapids
#

Anybody else run into issues with your formulas being slow to populate? Im pretty new at this and require feedback to my script, and as it is Ive spent a ton of time trying to fix something that wasnt broken, just because it wouldnt resolve. Im just creating a character template and adding two attributes together, my formatting has been correct on 5, but my last one will not resolve. Ive reloaded, updated, and burned incense... any help would be greatly appreciated

sinful spade
manic crypt
#

Tons of nested keys can be slow too, like ones that have four or five nested calculations can take a while to get everything populated.

lucid rapids
#

huh, dunno then...this is simply adding two keys together, sooooo...

manic crypt
#

How many passes does your sheet take whenever you refresh it?

lucid rapids
#

what do you mean by passes?

manic crypt
#

If you look at the console when you refresh the sheet, does it say something like "all props for ... resolved in x loops"

lucid rapids
#

1 loop

manic crypt
#

More relevant then, what do your calculations look like?

sinful spade
lucid rapids
sinful spade
#

both keys in the same sheet?

lucid rapids
#

yeppers

manic crypt
#

Could you show us exactly what youre doing? Like screenshots?

sinful spade
#

errors in console? ๐Ÿคฃ

lucid rapids
#

sure, gimme a sec

manic crypt
#

Ah.

#

You're using a number field, that doesn't work well. You should use a label to display anything that you don't want to type in

sinful spade
#

i love how you saw that instantly haha

#

i was staring at the cookies pannel like 'uh'

lucid rapids
#

cool, will give it a shot... appreciate the help

sinful spade
#

you're also placing your formula in the default value -- which only populates once (when the sheet is first made)

manic crypt
#

Yeah, that goes along with it, it's part of the reason it doesn't work well.

lucid rapids
#

gotcha, thanks will tackle that too

manic crypt
#

So if you set the wyle_base as a number field, and then wyle_mod as a different number field, then add them for wyle (set as a label component) it should all just happen right away.\

lucid rapids
#

which label field is best?

sinful spade
#

?

manic crypt
#

label text is what's displayed.

sinful spade
#

This tutorial covers the basics to intermediate functions of CSB without the use of JavaScript. We cover item / actor templates and sheets, as well as what most of the components do at their core.

We do not cover CSB provided functions, or advanced uses of components (aside from the label), which will be left for another tutorial if there's en...

โ–ถ Play video
manic crypt
#

Roll message is what you use if you want to click the label and have a roll sent to the sidebar.

lucid rapids
#

ok, got you, sorry had to grind gears there for a sec

manic crypt
#

You know, Scy, I should really do a second install so I can get back to some of my sheets. I had to go to v13 for another project, but I'm getting rusty here.

sinful spade
manic crypt
#

Hm. I do have a stack of laptops laying around. I could probably bash one of them into a dedicated server.

sinful spade
#

Well, it was for Sandbox when that was around, but the updates were always so slow (years) that i didnt want to wait when 5e was measured in months

manic crypt
#

Yeah, I tried Sandbox a bit. Not much easier to work with than SWB

sinful spade
#

lol fair enough, sandbox was great at a limited number of things but everything else was a slog.

#

but highly recommend a foundry nodeJS folder for CSB, it's fantastic

#

great version control actually

icy storm
#

and no need for hidden attributes because I tried it with a second value and it still worked.

sinful spade
#

perfect then!

subtle field
#

Hello, folks! I'm learning the ropes of CSB, and I'm wondering if there's a CSS-free way of adding images to templates (either inside a label component, or some other way).
I have a few use cases here: custom icons for statistics, large icons for items, a large portrait for a player's pet on its own tab.

#

I've been looking at the documentation and couldn't quite find anything that would answer this. Thanks in advance!

manic crypt
#

Some of your use-cases could be acheived with embedding images into rich text components, but as far as the icons for statistics go, CSS is probably the best answer.

subtle field
#

Oh, I didn't know you could embed images.

#

I'm fine with making some sacrifices.

manic crypt
#

They work just like journal entries, to some degree.

subtle field
#

I'll tinker with it and report back if I have any issues, then. Thanks a ton!

wraith plaza
#

ok i got the base attack thingy working and I spent some time trying to find how to make it look pretty..but looking up css to use to do that is my brain juices just leakin out my ears cause my searching skills are failing me... is there a base one I can go off of to start with?

#

like I want these to be separate in the roller and nice, but they just list out like a sentence lol:
Crit Check ${[1d20]+skillVal}$
Crit Range ${[1d100]}$
Weapon Attack ${[1d20]+strVal}$
Weapon Damage ${(strVal)+10}$

lilac panther
#

I need to count the number of maxed dice in a roll, when i don't know how much dice i will have.
Like i can have 5d6 and I need to count the number of NAT 6s in the roll. But it can be 3d6 or 8d6, based on mods.
I also want player to see what dice they did roll like normal.
Can i save individual dice in array when rolling?

lilac panther
#

Also, that's another problem, but can i filter fields in active effect displayer like in an item displayer?
(Because I don't see how) (And i don't see groups in active effects, so conditional modifiers list won't help)

manic crypt
manic crypt
lilac panther
#

(i need both from one roll)

manic crypt
#

umm.. hm. I think that might be handled more in the scripting side of things. The rolls are handled by Foundry, not by CSB, so it uses their commands.

lilac panther
#

Well, not all three at a time... Can i somehow imitate that roll panel with internal commands or css?

manic crypt
#

The problem isn't with CSB as much as it is with Foundry for that requirement. I think you'd be better off using what you showed there and just manually counting the max results, unless there's some kind of complicated calculation that needs to be done with it. The reason has to do with how Foundry looks at a kh (or any pool) roll, which is like this:

  terms: ["4d6", "3d8 - 1", "2d10 + 3"],
  modifiers: ["kh"]
});
pool.evaluate();```

while a regular roll of 7d4 (which outputs the normal total) would look like this:

`let die = new Die({faces: 4, number: 7}).evaluate();`

When it's rolling in a pool it doesn't keep the total of the entire roll; in your case the terms would be a string of d4s that are all compared with each other, and the highest values of them are kept, and summed because of the "kh" modifier. If it was a "cs>#" roll it wouldn't even total them, the output of the roll function would be just the count of the dice that succeeded or not; the results are re-cast as a true/false.

It would be *possible* to script in a change to the roller function but not simple.

Now that I sit and think about it though, those values on the chat card have to come from somewhere; @sinful spade has done some stuff with pulling them with css, let me paw through the history some and see what it looks like. Unfortunately I can't just pull up CSB and muck around with it at the moment.
lilac panther
manic crypt
#

I haven't had a chance to play with the new ones.

lilac panther
#

I don't know why, but multiplying and downgrading doesn't work.

manic crypt
#

show me what you mean?

lilac panther
#

sec, i'll arrange everything

#

Oh my god, i found the pattern with that problem.

manic crypt
#

Sometimes we are the rubber duck here ๐Ÿ™‚

lilac panther
#

Somehow "1.1" is a string and not a number

#

And it's crashing my multiplications

#

How is that even possible to fix

manic crypt
#

I'd go run some tests and find out where it's being input as a string.

#

Like does it start as a number, in a number field?

lilac panther
#

It's a hidden attribute "1.1" which i want to multiply by 5 with an effect

manic crypt
#

You can set up a testing field to do a command with the key, use typeOf(<yourkey>) to see if it's a number.

lilac panther
#

Why can't floats be numbers?! Why?!

subtle field
# subtle field Hello, folks! I'm learning the ropes of CSB, and I'm wondering if there's a CSS-...

Okay, update to what I'm doing, with new question: I have a preset list of ~80 items in my game rules, each with their own unique icon. I want to display the icon that matches the item in a label component on each of the item's item sheets.
I'm trying to figure out the best pattern for doing this - a list of hidden attributes in the item sheet's template, or maybe a separate sheet only visible to the GM, where the items can be tabled with their icons...? I'm not sure what's the best way to proceed here.

lilac panther
#

With a physical path to the icon?

subtle field
#

I think I can just use the css for it + the path to the icon, right?

#

(I was going to avoid CSS but it might have to be done after all)

manic crypt
#

I'm pretty sure he's off for the night, but he can certainly explain more about how he did it when you see him.

subtle field
#

sure, I'll ask! Tyty

lilac panther
subtle field
#

yeah, hidden attributes might be easier. I'll start messing with it in a bit

manic crypt
#

it doesn't even have to be hidden, it can be right on the main item sheet, just set to not visible to players; that makes it easier for you to work with it.

subtle field
#

oh, that makes a lot of sense, yeah!

lilac panther
#

Can you read the path to item's icon to put it into the attribute?

#

This thing

subtle field
#

I think if the path is its own field in a table, it shouldn't be much of an issue?

lilac panther
#

It isn't if you're not trying to read it

#

Don't mind me, i just hate mixing " and ', so i hated writing it. It's not that much of a problem.

#

This is how i've done reading from a table from another sheet. I'll just send it here, hepe it will be helpful to you and you won't spend 3 hours figuring out the problems.

${fetchFromUuid('${SizeConverterUUID}$', "find('Size', 'LiteralSize', 'Number', '${Size}$')")}$

subtle field
#

Ooh, I'll try it out later. Thanks!

subtle field
#

Is there a way to for players edit items directly from an item displayer component? My game's items are compact enough that all the info could be visible on the displayer, so theoretically players would never have to open the item's sheet.

warm quartz
subtle field
#

Ah, I was afraid that was the case. Well, I'll live with it.

formal goblet
wraith plaza
formal goblet
brittle moth
lilac panther
#

Bruh, turns out i already have done that

broken pumice
# lilac panther Bruh, turns out i already have done that

If it doesn't work I have a shitty workaround for you...
Get 2 hidden field, one for the integer part and one for the decimal part (in your example : both fiel would be 1), then when you need to use it query both of them, divide the decimal one by 10 and add them together. Messy, but should get the job done...

#

The Active Effect can then multiply both of those hidden fields

sinful spade
sinful spade
sinful spade
sinful spade
sinful spade
# brittle moth I guess the most efficient way would be to add the subclass directly to the acto...

Yeah I considered that, thanks for letting me know.

Sadly it's not truly a subclass, it was just easier to give you an idea that way. it's 'events' that occur per background, and there's 100+ per background, and 24 backgrounds (random roll table style), and I need to reference which background causes the event to occur...

I may have to change the rules to fit CSB better, or get really creative here

dense pine
wraith plaza
subtle field
subtle field
sinful spade
#

if that's the case, why use Img tags, and not just make an item with an image?

normal ore
#

Shouldn't this key be showing up? Is this a bug, or is it not supposed to appear?

sturdy mesa
#

Guys, I need some help. I had item modifiers on all my items, which would, for example, increase the value of variables like maxhp, maxmana, maxdexterity, among others. I updated to the new version of CSB and all of that disappeared, even though I clicked to migrate to this so-called "Active Effects". But inside the Active Effects, none of that shows up in the list, and Iโ€™m completely lost not knowing what to do.

As far as I know, Active Effects are active conditions on the token โ€” the ones you right-click to apply, like Frozen, Paralyzed, etc. How the hell am I supposed to convert that into something that increases max HP and so on? These were items from a skill tree that the player would learn and drag to their sheet โ€” for example, one item that increased max HP, another that increased max mana โ€” and now all of that is gone along with the Item Modifiers and I have no idea what to do.

There are probably a few messages or questions like this here in the chat, but I couldnโ€™t find them โ€” so could someone please give me a hand? :c

subtle field
sinful spade
#
    .inventory table tbody tr td span a img {
        max-width: 25.6px;
        max-height: 25.6px;
        border-radius: 20%;
    }```
Where inventory is the class i put on the item displayer
subtle field
#

I'll confess CSS flies over my head, so I can't quite read this, haha.

#

This looks pretty good, though!

sinful spade
#

selectors can be classes, ids, or HTML labels.

the follow basic structure.

div p {
would effect all html paragraphs (<p>) that are contained within a div.

#

think about it like navigating folders honestly.

in the case of what i sent...

.inventory table tbody tr td span a img

Are there any instances of the inventory class? do they contain a table....

the end result is
IF there's an image, that is under a link, in a span, in a cell of a row in a table's body in the table under then inventory class...

set it's maximum width to 25.6px...

#

.thing means the thing class
#thing means the thing ID
thing means the HTML label <thing> (doesn't exist)

subtle field
#

Hmmm I suppose it wouldn't hurt at all for me to learn this

sinful spade
#

both pretty much are basic English, no fuss.

#

javascript is the nasty one ๐Ÿ’€

subtle field
#

lmaooo

#

yeah I've tried some javascript in the past

#

it didn't go well

#

anyways, ty, I will actually look into CSS

sinful spade
#

^
i can't do javascript either.
html and css i picked up within like 2 weeks.

brittle moth
# sturdy mesa Guys, I need some help. I had item modifiers on all my items, which would, for e...

Hello ๐Ÿ™‚

**Quick answer: **
If you add an Active Effect Displayer component to your Template, you should be able to see the Active Effects on your Items & Actors. It works a bit like the Conditional Modifier Group component, but allows you to see every Active Effect defined / applied on your actors and items

Long anwser:
The Active Effects are togglable conditions on actors & items. What you are referring to are Status Effects (I know, confusing...), which can be quick-toggled on a token, but are applied as Active Effects on the actor represented by the token.

You can customize the Status Effects list with a button in the "Settings" tab, which allows you to :

  1. Limit and tailor the status effects list according to your system needs
  2. Decide which Active Effect is applied when toggling a Status Effect
sturdy mesa
broken pumice
brittle moth
small root
#

Hello there,
First time requesting an help on CSB here and I have to admit that I'm far from mastering Foundry and CSB so sorry in advance if my question are trivial... I'm currently on foundry's 12 version, build 343.

Since I updated CSB on 4.5.1 we only made one session and my players encounters 2 problems :

  • First one is when any player appli an effect to his token with the "assign status effect" menu on the token, an error message is displayed for every other players. On the image my player "Nep's" doesn't own the action "uX..." so it is normal that he don't have the permission but this is not Nep's who is modifying this actor

  • Second problem is a key binding one I thing so maybe not linked with CSB but the problem appears after the 4.5.1 update : they cannot update the character sheet with numerical values because it makes thir token move on the map. It seems that the fact to have the character sheet open don't prioritize the keyboard interaction over the token (moreover one of my player deleted his token 6 time due to that because he wanted to erase something on his sheet)

If any of you can help It would be nice ๐Ÿ™‚

#

I need to add some other info for the second problem : I don't have this problem on my side has a GM while using the app

small root
#

Another little problem but I may have fucked up the "configure status effects" is that the status "invisible" or "blind" no longer do the basic interaction with the token like it was the case before.
In 4.5.0 I reconfigure those effects to stick with our way to play and keep the id intact for the effect that were already available and it worked. But with 4.5.1 something changed and it no longer turn people invisible with the effect on the token or turn them reazlly blind

brittle moth
# small root Hello there, First time requesting an help on CSB here and I have to admit that ...

First issue : I'll look into it ๐Ÿ™‚
Second issue : are you sure their numlock is on ? I had the issue when editing fields with numlock off, which causes the arrow keys to fire instead of the numbers
Third issue : you can reset the status effects from the configuration. If you don't want to, for now, make sure there are status effects with the following ids :

blind
burrow
dead
fly
hover
invisible
small root
#

Thanks for the answer

For the second issue that was the first thing we verified because one of my player didn't have the problem be the 3 other did have it. We tried toi switch brother too but with no effect. I will try some more tests on my own

#

Those Ids were correct. I've just reset to default value the "configure status effects" menu but it still doesn't work

formal goblet
small root
formal goblet
small root
brittle moth
#

From what I see you are missing the "hover" status effect

#

By default, you should have 34 status effects configured

small root
lucid rapids
#

Morning gurus, Im hoping someone has some experience with using cards with csb. Im interested in being able to drag and drop a card into an inventory tab, and was wondering if someone has some best practices? Ive determined I can drag into a rich text field, but its kinda clunky and havent determined how to have it impart effects once there. Any pointers?

small root
#

Sorry I don't use card ๐Ÿ˜ฆ

small root
#

And I found the problem with the second issue : the module pop out was the culprit, didn't see it has been updated...

brittle moth
small root
#

Thanks for your work !

I never used modifiers (I think) before so I don't even know what they are useful for

subtle field
#

Alright, folks, I need some basic setup assistance for this fangame I'm making.
I have a list of moves that have text and a roll formula associated with them. I want players to be able to select moves with radial buttons from a list on the left panel to view the associated text + "roll move" button on the right panel (see the picture). What I'm struggling with is how to make a table for the data of each move, and how to reference the right values of the table on the move display area. Would anyone be able to please give me any pointers?

formal goblet
subtle field
#

each move has an extensive amount of text that I want to display as a label

#

(I'm not sure if that is what you're asking)

formal goblet
#

Not exactly, but it helps. What should happen when clicking on "MOVE"?

If you have text that is dependent on the selection, then you basically have 2 options here on how to achieve that:

  • You use the switchCase()-function in the Label itself. All text data must be stored in this Label
  • You use a Dynamic Table and put text into each Row. The Label uses the find()-function to find the selected entry and fetch the text from there. The text data is stored in the Dynamic Table.
subtle field
#

I think I can work better with a Dynamic Table. I trying to mess around with one earlier and got a bit confused on how I could fill it in on a template (if that's at all possible), though.

formal goblet
#

Yeah, you can also fill it in the Template. These rows will be created when an Actor loads that Template

#

If you have a lookup-table with no dynamic table in there at all, you could also create something like a global actor, which just stores this table and fetch from there. The advantage is, that you only have 1 source of truth instead of 1 table for each Actor.

subtle field
#

would you mind working me through setting up such a dynamic table? When I looked at the wiki page last night, it didn't exactly match what I was seeing in foundry.

formal goblet
subtle field
#

Something like this, then?

formal goblet
#

Yep

subtle field
#

Alright. If I try to add rows, though, they get filled with "Label" entries

formal goblet
#

Because Labels are not editable

subtle field
#

oh

#

oooh okay

#

okay, gotcha

#

so I'd use a text field or rich text area or whatever

#

to edit it within the template?

formal goblet
#

ye

subtle field
#

alright, that makes more sense

#

I've got it, now, ty

#

I'll fill this in and report back if I have any issues

#

thanks!

formal goblet
subtle field
#

just to confirm, are Rich Text Area table entries on Dynamic Tables supposed to look like text fields/whatever on Dynamic Tables when views on a template? (I'm using the Icon Only style and it shows as such on the actor sheet, but not on the actual template)

#

(In the example above, the rightmost column is set as a Rich Text Area with Icon Only style)

formal goblet
subtle field
#

that's good enough for me. Ty!

subtle field
#

Okay, I have the bare bones of what I need, but I'm struggling to figure out the find() function.
Let's say I want to write up the formula that uses find() to fetch the right table entry, based on the radial button selection.
The radial button group is moveselection, the value of all radial buttons is exactly the text on the movename column. How would the formula here be written?

stone hare
#

Hey! I updated to the newest version of the CSB and some formulas stopped working (giving me an error) it looks like trying to get the variable from the dynamic table is not working anymore.

${find('Attributes', 'Dice', 'Mod', mod_pow_final)}$

In this case I want to read from Attributes Dynamic table
Look at mod_pow_final which is number field
Apply that number to Mod
and Fetch the Dice

My system gets a lot of information from this dynamic table so i got a lot of errors because all calculations now are not working.

Can anyone help?

sinful spade
#

I dont even see mod_pow_final on that table

stone hare
#

mod_pow_final is not on the table, its a key that is label. And its calculation is coming from mod_pow which is a number box to which i add 1 if you choose the Power specialization.

manic crypt
#

You're returning a string in modpowfinal.

#

Id ditch those quotes around the spec bonus numbers.

sinful spade
nova schooner
#

Is there a way to bind a macro to a button on the character sheet? Like when you click the button, it starts the macro

sinful spade
#

in fact, absolitude, you may want an index value of numbers as a column that are the same as the numeric values of the radio buttons --> this saves some effort of comparing strings.

sinful spade
#

panzer may be able to tell you exactly how, i havent had to do that yet and uh that's not my area

nova schooner
sinful spade
subtle field
nova schooner
subtle field
#

also, is it just me or are radio button components broken? I can "save" their Group keys and the change seems to register in the template, but if I edit the component again, it shows the field as blank (I need to input the group key again)

sinful spade
subtle field
#

yaya no worries

#

I'll mess around with moveroll later

sinful spade
sinful spade
subtle field
#

can't quite record a video rn but:

  1. I open the first radio button component here
  2. input anything in the Group field, hit save
  3. open it again, the Group field is empty
sinful spade
subtle field
#

lemme take a look

manic crypt
sinful spade
subtle field
manic crypt
#

If it doesn't return something to the chat card it always shows up as error there, just silence it, or put in a return line in the macro.

sinful spade
#

gotcha,
again good to know lol.
I didnt want to ecourage them to follow my bad habit of just slapping ductape over errors' mouths until they stop appearing

sinful spade
subtle field
#

I think maybe those radio buttons are just broken for me

#

they're behaving very weirdly

subtle field
#

as in, they're all assigned the same group and

sinful spade
#

i wonder if it's having the text as the value honestly...

nova schooner
subtle field
#

I just changed the values to numbers, so no idea

subtle field
sinful spade
subtle field
#

yeah. with fresh buttons on the template, too

sinful spade
#

wait, do they all have the same key??

subtle field
#

not all the same component key, no

#

just the same group

#

let me try different component key

#

also nope. Tried "newkey" for the group, and nothing

manic crypt
#

Radio buttons have always been pretty problematic. I'd use a dropdown for the same purposes.

subtle field
#

yeah, I might try that

#

alright, so now I've got it all to work...except it's not displaying some results. I think it might have something to do with the rich text stuff?
It displays the first two moves on the list just fine (picture 2), but anything below that is blank (pic 3).

#

pic 1 is my setup

#

(this was also happening with radio buttons, for the record)

sinful spade
#

i'll be back in a bit ^^ trying to help someone in call rn

subtle field
#

no worries!

#

thanks for all the assistance

subtle field
small root
#

I have two more questions which are not problems ๐Ÿ™ƒ

  • Is there is a way to automate the reset to a certain value of a number field when a player finish his turn (click the arrow on combat encounters tab) ?

  • What is the purpose of the "configure hidden attributes" menu on templates sheet ?

formal goblet
subtle field
#

is there a way for me to set up the panels here so that 'movedisplay' takes up as much space as possible on the right, and the left section is condensed to only what the stuff in 'movelist' needs?

#

currently it's looking like this

formal goblet
subtle field
#

alas! I'll try to work out a layout that I like, haha

#

ty

small root
small root
#

Thanks, will try to do something with that

stone hare
#

I am making some hidden bonuses that i want to be activated when player select specific option e.g. select specialization Power from the drop-down menu and with it uncheck "Effect Suspended" Checkbox so it becomes active?

formal goblet
stone hare
stone hare
# formal goblet Moderate difficulty

I guess its easier if i make these Active Effects inside an Item and then just grant it to player when they make char. Can I bug you later when i get to that deep automatizations?

formal goblet
stone hare
#

@formal goblet I have copy/pasted active effects from actor template to items. Giving item to character works for simple calculations but not if i want to reference a number from character. ( guess item on character doesnt know to read character stat for calculation) or is it something else?

formal goblet
dense pine
#

I would like to create a magic spell as active effect. This spell gives to buffs: a bonus to STR +2 and a bonus to DEX which depends on how good the spell check was rolled. Lets say for example for each 2 points the roll was better than the spell ability it give +1 to DEX.