PDA

View Full Version : [extension] Core Expanded: Steroids for your Homebrew Ruleset



Alanrockid
June 1st, 2026, 01:41
Core Expanded v1.0.0 for Fantasy Grounds CoreRPG

Core Expanded is an extension for the Fantasy Grounds CoreRPG ruleset. It expands the generic CoreRPG sheet into a more automation-friendly toolkit for custom systems, homebrew games, and campaigns that need configurable attributes, rolls, effects, resources, and Combat Tracker integration without building a full ruleset.

ATTENTION: This extension is intended for use only with the vanilla CORE RPG ruleset. Rulesets based on CORE RPG are NOT supported.

LINK TO THE EXTENSION IN FORGE (https://forge.fantasygrounds.com/shop/items/3140/view)

TUTORIALS

Part 1: Attribute creation, Roll Types, Success Criteria, Dynamic Attributes and Customization. (https://www.youtube.com/watch?v=Xlx_58QwlHU)



Main Features


Expanded attribute system

Numeric attributes.
Current/Max attributes, useful for HP, stamina, mana, ammunition, and similar resources.
Checkbox attributes.
Dotted attributes.
Text attributes.
Attribute categories with visual customization.
Show/hide zero values.
Allow/block negative values per field.
Optional underlines and numeric ordering display.


Dynamic values and formulas

Attributes can calculate their value from other attributes.
Supports formulas using operators such as +, -, *, /, ^.
Supports functions such as sqrt, root, pow, abs, min, and max.
Supports custom numeric values inside formulas.
Includes circular dependency protection.
Can use simple aliases created in the Master Control Panel definitions.


Attribute rolls

Attributes can have configurable roll behavior.
Supports self checks.
Supports checks against target attributes.
Supports value-only rolls.
Supports damage and healing value rolls.
Supports multiple dice handling.
Global options allow configuring default success method, default threshold, and how multiple dice are resolved.


Ability system

You can add rolls to abilities.
Abilities can contain multiple rolls.
Ability rolls can be checks or value rolls.
Roll chains can continue based on success, failure or always conditions.
Useful for attacks that roll a check first and damage only on success.
Supports dynamic values inside abilities and ability rolls.


Character and NPC templates

Save character sheet templates.
Apply templates to new sheets.
NPC template support.
Dynamic links are rewritten when templates are copied to a new actor.
Dynamic values are recalculated after template application.


Locks and permissions

Lock individual character sheets.
Lock or unlock all sheets.
Host can grant full control over a sheet.
Several editing actions respect lock/full-control state.


Combat Tracker integration

Add selected attributes to the Combat Tracker.
Synchronize attribute labels, types, and values between sheet and CT.
Current/Max, checkbox, and dotted attributes preserve their relevant fields in the CT.
Roll Initiative button.
Apply CT templates to new CT entries.
Optional hiding of hostile attributes.
Targeting helpers such as target allies, target non-allies, and clear targets.


Item and Inventory effects

Items can have effects that auto-apply while equipped.
Weight Limit field in inventory.
Weight limit field can be a dynamic value defined by the user.


Master Control Panel

Adds a sidebar Master Control Panel.
Allows global effects that are always on while active.
Supports scopes such as all PCs, PCs in CT, NPC's in CT, and everyone in CT.
Supports resolve timing at actor start, actor end, round start, and round end.


Reusable definitions

Definitions can be used as reusable conditions.
Definitions can be used as effect macros. EX: You could simplify the effect [REPEAT; HP: 1d6 damage] to a short name like 'Burn'.
Definitions can be used as attribute aliases. Ex.: You could add a short name like HP to Hit Points to make writing effects easier.
Short names are supported.
Definitions are case-insensitive and include recursive loop protection.


Custom effect engine

Effects can run on character sheets, NPCs, CT entries, item effects, and MCP effects.
Supports semicolon-separated effect components.
Supports targeting tags such as [SELF] and [TARGET].
Supports timing tags such as [RESOLVE STARTSELF], [RESOLVE ENDSELF], [RESOLVE STARTTARGET], and [RESOLVE ENDTARGET].
Supports expenditure tags for normal effects: [ACTION], [ROLL], and [SINGLE].
Supports conditionals: IF, IFT, ELSEIF, ELSEIFT, ELSE, and AND.
Supports checks and internal rolls: CHECK, CHECKONCE, and ROLL.
Supports modifiers such as MODCHECK.
Supports PERMA, INSTANT, REPEAT, and LATEREPEAT.
Supports attribute changes, set values, deltas, percentages, dice, formulas, current/max targeting, damage, and healing.
Supports status tags through STATUS.
Supports combat helpers: DAMAGEBONUS, DAMAGEREDUCE, SHIELD, and REFLECT.
Supports rerolls through REROLL.
Supports usage limits such as ONCEPERTURN and COOLDOWN.
Supports save/removal logic through SAVECONDITION.


Runtime condition flags

HASTARGET
TARGETCOUNT
ROLLED
ROLLED(Attribute)
ROLLSUCCESS
ROLLFAIL
ROLLTYPE
SOURCEHAS(Status)
TARGETHAS(Status)
ISPC
ISNPC
ISALLY
ISENEMY
HASMOVED


Slash command help
There are a lot more effects than the ones listed here, so you can always use the console commands to check available effects, conditions, and tags.


/ce effects lists the effect syntax quick reference.
/ce <topic> shows detailed help for specific syntax topics.
Examples: /ce perma, /ce tags, /ce definitions, /ce conditionflags.





Example Uses


Defense = Dexterity + Armor + Shield


IF: Hit Points <= 50%; Strength: +2


REPEAT; Hit Points: 1d4 damage


CHECKONCE: Dexterity -2; INSTANT; ELSE; Hit Points: -1d4 damage


DAMAGEBONUS: +3


REFLECT: 25%



Compatibility Disclaimer

This extension was made to be used with the base CoreRPG ruleset. It does not guarantee compatibility with other rulesets or with other extensions, especially extensions that modify the same character sheet, Combat Tracker, effect handling, item handling, or roll-processing systems.

Also, this is a huge extension with so many features that I had to run literally hundreds of tests until I was happy with the results; but because there are so many different possible scenarios, it's perfectly possible that something has slipped my attention and found it's way into the initial release, so, minor bugs might happen (hopefully not).



If you have any questions or suggestions, please leave your message here.

https://i.imgur.com/5yKPA3vm.png (https://i.imgur.com/5yKPA3v.png) https://i.imgur.com/vmZH9xQm.png (https://i.imgur.com/vmZH9xQ.png) https://i.imgur.com/11qdNZsm.png (https://i.imgur.com/11qdNZs.png) https://i.imgur.com/7g3423Qm.png (https://i.imgur.com/7g3423Q.png)

https://i.imgur.com/lbs6D4gm.png (https://i.imgur.com/lbs6D4g.png) https://i.imgur.com/lylswFNm.png (https://i.imgur.com/lylswFN.png) https://i.imgur.com/Q5ezXOCm.png (https://i.imgur.com/Q5ezXOC.png) https://i.imgur.com/9XOPrNim.png (https://i.imgur.com/9XOPrNi.png)

https://i.imgur.com/kC4SrdFm.png (https://i.imgur.com/kC4SrdF.png) https://i.imgur.com/3XbhVLGm.png (https://i.imgur.com/3XbhVLG.png) https://i.imgur.com/hDRL8avm.png (https://i.imgur.com/hDRL8av.png) https://i.imgur.com/coke1uCm.png (https://i.imgur.com/coke1uC.png)

https://i.imgur.com/nYnikQKm.png (https://i.imgur.com/nYnikQK.png) https://i.imgur.com/a7N88wFm.png (https://i.imgur.com/a7N88wF.png) https://i.imgur.com/mT6uXJim.png (https://i.imgur.com/mT6uXJi.png) https://i.imgur.com/7iGMe4rm.png (https://i.imgur.com/7iGMe4r.png)

madman
June 1st, 2026, 01:56
Looks Amazing. Can't wait to play with it..

Madman..

claedawg
June 1st, 2026, 21:03
I'm not getting any of those right click options you have showing. I can only see ways to enter effects or plain text. Dice configurations only show the result of what ever dice formula you enter, not the result of the dice being rolled. I'm not seeing any of the options you listed under Expanded attribute system.

I'm probably doing something wrong, or completely misunderstanding what this extension is supposed to do.

Alanrockid
June 1st, 2026, 21:09
I'm not getting any of those right click options you have showing. I can only see ways to enter effects or plain text. Dice configurations only show the result of what ever dice formula you enter, not the result of the dice being rolled. I'm not seeing any of the options you listed under Expanded attribute system.

I'm recording a video right now to better illustrate how to do things in this extension. But for now, just make sure to test it with no other extensions and with CoreRPG vanilla ruleset to make sure is not an issue of conflict with another extension.

Alanrockid
June 1st, 2026, 22:21
https://www.youtube.com/watch?v=Xlx_58QwlHU

This should cover the basics of attribute creation, dynamic values, appearance customization and roll types.

claedawg
June 1st, 2026, 23:40
Thank you!

claedawg
June 2nd, 2026, 18:27
Do you have a recommendation on how to set up an attack that targets the armor and any remaining damage then converts to the target wearing the armor?

claedawg
June 2nd, 2026, 22:10
Is there a way to make an ability roll result be the value of an ability; or set up opposed roll mechanics?

claedawg
June 2nd, 2026, 22:28
How are you defining Multidice handling? I'm not seeing a difference in the way it rolls for any type of rolls. It just rolls what ever dice you enter and adds the number in the field as a modifier.

I was expecting it roll each die (the number of dice based on the number field) individually with a separate results for each.

That being said, there is no way to set success ranges for that type of roll (only choices are >, =>, <= and <. Multidice handling should have success ranges based on the number rolled. Example: if using d6 sets: usually a 6 (or 5-6, with a 6 sometimes giving a critical result) is a success and anything lower is a failure (with a 1 sometimes being a critical fail).

Alanrockid
June 2nd, 2026, 23:43
Do you have a recommendation on how to set up an attack that targets the armor and any remaining damage then converts to the target wearing the armor?

I'm working on new formulas for target attributes, like TARGET(Armor), which should be ideal for this case. However, in the current build, you can simply add a permanent effect to the character, such as SHIELD: Armor (or whatever your defense/armor attribute is called). Then, instead of rolling an attack, you just roll the damage directly. It will have the same effect, since any damage lower than the armor value will be nullified.


How are you defining Multidice handling? I'm not seeing a difference in the way it rolls for any type of rolls. It just rolls what ever dice you enter and adds the number in the field as a modifier.

I was expecting it roll each die (the number of dice based on the number field) individually with a separate results for each.

That being said, there is no way to set success ranges for that type of roll (only choices are >, =>, <= and <. Multidice handling should have success ranges based on the number rolled. Example: if using d6 sets: usually a 6 (or 5-6, with a 6 sometimes giving a critical result) is a success and anything lower is a failure (with a 1 sometimes being a critical fail).

First, please be aware that the multidice handling option in the Fantasy Grounds settings applies only to loose dice — the ones you drag and drop directly from the desktop, instead of rolling from an attribute. If you want to handle multidice rolls from an attribute, you need to right-click the roll icon on that attribute and select the desired multidice handling method.

Right now, if you select Individual Results, it will compare each rolled die against the attribute value. So, if you want something like the Storyteller System attributes, where Dexterity 3 means you roll 3 dice, you should instead drag 3d10 to the attribute. Then, the actual numeric value will work as the DC for each die.

I'm also working on new variables ROLLVALUE and DICEVALUE that should be useful to create effects like you said, where a 1 is always a failure and a 6 is a critical success. I think an effect to force a check success or failure could be useful as well, so I'll include this in my todo list for the next release.


Is there a way to make an ability roll result be the value of an ability; or set up opposed roll mechanics?

Could you explain this one a little further?

claedawg
June 3rd, 2026, 01:14
Thanks for getting back with that info.

Is there a way to make an ability roll result be the value of an ability; or set up opposed roll mechanics?

Basically, I'm looking to see if there is a way to automate opposed roll checks.

Example:
PC1 attacks Defender
PC1 rolls for attack and Defender rolls for defense (replacing the static AC typically used).
It can also be used for opposed Ability/Skill checks and basically replacing 5E style saving throws.

claedawg
June 4th, 2026, 09:42
I'm really liking the Dotted Attributes.

Couple of requests, allow the removal of marked dots when holding SHIFT, ALT or CTRL instead of just being able to cycle through them in one direction.

I tested with an item and if that item has an effect that names the Dotted Attribute and +# it does mark the Dots for that Attribute, as expected. (I've not tried with negative modifiers yet).
If the number of Dots is less than the effect it ignores the "extra" even after you add more Dots. Not sure if you can code it so that it will update correctly when adding new Dots.

Alanrockid
June 4th, 2026, 15:23
Good insights!

Dotted attributes will receive some improvements, such as value adjustment using CTRL + mouse wheel, support for dynamic values, and new buttons to add/remove 5 dots at once instead of just one.

For modifiers that exceed the dot limits, I'll probably use the same mechanic already used in ability rolls, where you have checkboxes for “Bypass max limit”.

I'm finishing the implementation phase of the new build right now, but I still need to run some extensive tests to make sure everything is working properly and that the new mechanics did not interfere with the existing ones.

Lots of exciting new features are coming soon!

claedawg
June 4th, 2026, 21:07
Good insights!

Dotted attributes will receive some improvements, such as value adjustment using CTRL + mouse wheel, support for dynamic values, and new buttons to add/remove 5 dots at once instead of just one.

For modifiers that exceed the dot limits, I'll probably use the same mechanic already used in ability rolls, where you have checkboxes for “Bypass max limit”.

Awesome!!!

One other thing I noticed is that the Checkbox Attribute boxes and checked indicator are not visible when the Attribute Color is set to Dark.

Alanrockid
June 5th, 2026, 04:39
This is what is ready and being tested at the moment for the next release.

Core Expanded 1.1.0 Preview

New Effect Tools

-Added ROLLVALUE, storing the final total of the latest roll.
-Added DICEVALUE, storing the natural value of the latest die rolled.
-Added TARGET(Attribute), allowing effects and dynamic values to reference the current target’s attributes.
-Added FORCESUCCESS and FORCEFAIL.
-Added AGAINST for resisted checks, such as CHECK: Attack AGAINST: Armor.
-Added DC for difficulty checks, such as CHECK: Attack DC: TARGET(Armor).
-DC supports optional criteria: lt, le, gt, and ge.

Expanded Attribute Rolls

-ROLL can now use attribute names directly.
-Attribute rolls can combine attribute values and assigned dice.
-Dotted attributes can now support dice-based rolling, including dice pool style behavior.

Custom Attribute Effects

-Attributes can now have their own custom effect line.
-Custom attribute effects can run automatically when the attribute is rolled.
-Custom effects can be toggled on or off per attribute.
-Supported on numeric and dotted attributes.

Targeted Automation

-Effects can now read and modify target attributes using TARGET(Attribute).
-Target-aware formulas can be used in dynamic values and roll effects.
-Multiple targets are resolved independently, while dynamic previews use the first target for display.

Dotted Attribute Improvements

-Added dice and roll controls for dotted attributes.
-Added context menu options to add or remove 5 dots at once.
-Added CTRL + mouse wheel support to increase or decrease dotted values.
-Added “Bypass maximum value” support so effects can temporarily expand a dotted attribute’s maximum.

UI Improvements

-Improved attribute theme coloring across labels, numeric fields, dice fields, roll controls, and checkboxes.
-Added tintable checkbox assets for better visibility on dark attribute themes.
-Improved dotted attribute layout when dice are assigned.
-Documentation

-Updated /ce effects helper text.
-Added helper entries for the new 1.1.0 effect tools.
-Revised helper descriptions to better explain where effects should be placed and how placement affects behavior.

Technical

-Reorganized effect handling into smaller modules to avoid Fantasy Grounds script buffer/local variable limits.

claedawg
June 5th, 2026, 18:59
Awesome all around!

One other thing I would like request is the addition of a second Main tab on the Character Sheet. I have 22 active Attribute sections right now.

The first 12 are use for current play character info.

The last 10 are for Skill Ranks (by Skill Category) and a complimentary section to each Skill Category for non-trained ranks from items and such (using the equipped effect from the item usually).

I would like to move those last 10 to a separate tab for a cleaner look. It is also causing just a wee bit of stagger when adjusting the size of the Character Sheet, lol.

Alanrockid
June 15th, 2026, 07:12
Core Expanded v1.1.0

This release expands the custom effect engine and attribute automation system.

New Features



Added ROLLVALUE and DICEVALUE runtime values.



Added TARGET(Attribute) for reading target attributes in effects and dynamic values.
Added FORCESUCCESS and FORCEFAIL.
ROLL: can now reference attributes directly, including assigned dice.
Added CHECK: Attribute DC: ... for difficulty-based checks.
Added CHECK: Attribute AGAINST: ... for resisted rolls.
Dynamic, numeric, current/max, bonus, and dotted attributes can now use custom attribute effects.
Dotted attributes now support assigned dice and dice-pool style rolls.
Dotted attributes support Ctrl + mouse wheel value adjustment.
Dotted attribute menus now include +5 / -5 dot shortcuts.
Added “Bypass maximum value” for dotted attributes.
Updated /ce effects helper text with the new syntax and clearer usage notes.



Improvements / Bugfixes Since 1.0



MODCHECK now applies correctly to checks triggered from effects.
Attribute checks triggered by effects now better respect attribute values, assigned dice, and template fallback dice.
Target attribute resolution now works more consistently with Combat Tracker actors.
Themed attribute controls now better match selected attribute colors.
Reduced console warning spam from dotted attribute roll/dice controls.



Known Issue



Toggling an effect directly from the Combat Tracker 'isactive' control may cause extra rolls in some multi-target target-dependent check effects.

claedawg
June 15th, 2026, 19:27
Nice! Can't wait to take a drive.

Alanrockid
June 28th, 2026, 17:12
Core Expanded v1.2.0

New Feature

You can now add new tabs to the sheet. To prevent abuse, each tab is limited to a maximum of two copies. The supported tabs are Main and Abilities. Templates also save and load the additional tabs.


Known Issues



Toggling an effect directly through the Combat Tracker's 'isactive' control may cause extra rolls for some multi-target, target-dependent check effects.

claedawg
June 29th, 2026, 05:10
you can now add new tabs to the sheet. To prevent abuse, each tab is limited to a maximum of two copies. The supported tabs are main and abilities. Templates also save and load the additional tabs.

awesome!!!