PF2 Framework?

Show off your RPG maps, campaigns, and tokens. Share your gaming experiences and stories under General Discussion and save this forum for things you've created that may help others run their own games. Use the subforums when appropriate.

Moderators: dorpond, trevor, Azhrei, Gamerdude

Post Reply
SDShannonS
Giant
Posts: 242
Joined: Tue Sep 12, 2006 12:21 am
Location: San Diego, CA, US

PF2 Framework?

Post by SDShannonS »

Is anyone planning on developing a PF2 framework as the ruleset solidifies?
"You must be the change you wish to see in the world."
- Mahatma Gandhi

"You know what the chain of command is? It's the chain I go get and beat you with until you understand who's in ruttin' command here."
- Jayne

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: PF2 Framework?

Post by JamzTheMan »

I'm slowly working on one. I was going to start changing the current PF framework over but the more and more I thought about it the better I thought it would be to just start over from "scratch". So much has changed and there are a few pain points/laggy parts that need to be fixed I'm opting for a fresh start.

Also, the current one was 3.5/PF and that is def not needed. We play face to face so my framework will concentrate on that though (so not to many automated rolls). I'm starting with Initiative and HP only, the pure basics, and add things as we need them...


With that said, if anyone else is working on one or pieces, lets collaborate? At the very least if we all use the same core "properties" our macros should work across frameworks? (maybe)
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

Poe Black
Kobold
Posts: 4
Joined: Mon Oct 15, 2018 6:32 pm

Re: PF2 Framework?

Post by Poe Black »

I've been working on a Pathfinder 2E Framework that is very similar to Lindsay's framework.

So far the only thing it does is updates a few core properties and the user can roll saves.

I've been keeping documentation of it here

Dabrion
Kobold
Posts: 1
Joined: Sun Oct 28, 2018 1:53 am

Re: PF2 Framework?

Post by Dabrion »

Any movement on this? I am about to start my own work.

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: PF2 Framework?

Post by Elorebaen »

Great to hear the movement on a 2e framework! I'm not a coder, but I am an enthusiastic supporter :)

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: PF2 Framework?

Post by Elorebaen »

Just curious if you awesome coder folks had a working PF2e framework available? Thanks!

paulstrait
Dragon
Posts: 304
Joined: Mon Mar 23, 2009 4:48 pm

Re: PF2 Framework?

Post by paulstrait »

Has anyone made any progress on this? I am starting on it, taking an approach somewhat similar to my 5e framework. Would love to avoid reinventing the wheel.

RicoTheBold
Kobold
Posts: 21
Joined: Sun Sep 13, 2009 12:52 am

Re: PF2 Framework?

Post by RicoTheBold »

I posted this in the Discord on Friday, but it got buried pretty fast without any direct replies.
On the subject of frameworks built out of feature creep from tracking hit points ... My Pathfinder 2nd Edition efforts are rapidly sliding from "track conditions cosmetically" and "HP/dying and initiative management" to a more comprehensive tracking of skills/saves/AC to reduce my in-game GM overhead (targeting helping me make secret checks and remembering modifiers from variable conditions like frightened). I know Jamz had posted in a thread on the subject some time ago, and I'm vaguely concerned that mine might actually be among the more "mature" PF2 frameworks in progress and I should do some cleanup to try sharing it for others to use. It's right about the point where I've been making decisions about how to manage data on the tokens for calculations, so it's also at the point where an actual developer (or more experienced Maptool architect) could point out all the things I haven't foreseen or should change for better compatibility. Before I do a bunch of that cleanup, though, how far along is anyone else? Am I going to post something in a couple weeks just to have Jamz throw on something that's much further along?
At this point, I think I'm going to do the cleanup (for future me as much as anyone else) and post it. This will also include replacing some commercial art assets (like the Zelda heart container concept art I use for representing the Dying values), clearing out the many old versions of macros retained on my lib tokens in case one of my changes broke something and I need to go back and see the simpler version, and converting many macros to called versions on lib tokens instead of running directly from the campaign panel.

It's not going to compete in any beauty contests right now (although the conditions at least all have a consistent art feel due to my heavy use of game-icons.net content). It's functional, but heavily built on the basic maptool input/output options, not HTML/markdown/CSS/frames. I cannot stress enough that I am not a developer or website guy or anything else relevant beyond the general scripting-level skillset.

I'm definitely open to feedback and even direction/help on how things could be done better. I'd love for some of the philosophical goals to survive (hack-friendly for when you just need to change or add one small thing for your group, automation that doesn't explode with errors when you haven't done the like 10 things that the framework author expected you to have set up but all you want to do is use the HP tracking) even if people more talented than I build something more robust.

Below is an overview of where things sit now. I'll probably wrap up the current Condition calculation implementation and cleanup, and try to get it posted before my holiday PTO ends and I get busy with work. When I do post it, I'll probably also write a mini-manual/design diary that explains how things work and why they work that way. And also call out the things that are likely to change in a way that might break compatibility.

A bunch of detail is included because 1, I'll recycle it when I make the post, and 2, it gives people a better idea of whether this will actually be something they want to use or help build on.
Things I have working right now specific to Pathfinder 2:
* State Overlays
- All PF2 conditions as visual state icons, with some extra things that aren't formally conditions but are nice to track (like medicine immunity or a stance), and a macro that runs a report of all the conditions on a token and the rules text (from a table lookup).
- Dying/Wounded (displayed as images, handled as bars)
- Elevation states, in increments of 5, for changed elevations (a little cumbersome, and noisy, so I'll tweak this eventually) with cosmetic indicators for different types of movement (not currently integrated with the other movement conditions) - basically ripped straight from Jamz's NERPS framework with some slight art tweaks and PF2 movement types
* Conditions with numerical levels
- Other than Dying/Wounded, conditions are just states, but I've added multiple versions for different levels. They also use values stored on the token for calculations (see later discussion). I wish they were easier to tell apart when zoomed out, but I haven't found a better solution I like here. A relatively new addition that was added specifically to support those calculations.
* PF2 lighting rules (all set with grids)
- Distinct light colors for bright/dim lights
- Light sources from the core rule book and bestiary
- Darkness at the typical 1st and 4th (heightened) levels
- A bunch of "light", "like a torch", and "Darkness" at every spell level for counteracting purposes if people heighten spells to weird levels
- Generic colored auras of many sizes for determining if things are within range of emanations (didn't tie to specific spells so you can just pick a color and range; I use it to see if people are in range of bard compositions for instance)
* Initiative rolls
- Prompts for initiative for selected tokens, presented all on one pane, broken down into:
- Results from PC tokens (my players like to roll their own)
- bonuses for NPCs (once per token image, so it will only ask once for copies of tokens).
- Can use configured values as bonuses for NPCs, with options to use literally any skill if desired (but presets for perception and stealth)
- It takes the bonuses and rolls for NPCs uniquely, so the different copies of tokens will not all have the same initiative
* A "Next Initiative" macro
- Provides warning for upcoming turns
- Clears specific "action" states, like raised shields, cover, delay, or readied action/used reactions
- Calls for dying tests for dying NPCs
- Removes dead tokens from initiative
* Health, wounds, dying, etc.
- HP Bars
- I have HP bars that display HP/tempHP without taking up very much space, which I use for NPCs and PCs alike (I tend not to describe the health of monsters throughout battles, so I don't mind sharing it for NPCs). Because it's a "shared" bar approach, built from the tutorial on the fading arc bar, it doesn't play perfectly with "chunked" incremental HP settings.
- They could easily be swapped for other art assets, including the fading arc bar.
- I spent a few hours last week checking the colors in a color-blind testing website, and the green and red are basically identical for one kind of color blindness. I'll include alternate colors in the same style (just swapping green to blue works great there with everything else, but I made a bunch of other ones when I was designing them if someone wants to use them for a different framework).
- They actually have a bar designated for nonlethal as a different type of damage ('cause of the tutorial I was following back when using the playtest rules) but it's not needed in PF2 so I might remove it.
- One HP Δ macro, that does a bunch of stuff:
- Lets you enter a number of HP, then select lethal/nonlethal damage, healing, or adding temporary HP.
- Asks if the character is taking damage from a critical hit
- Reports the current HP value, if it's set, or allows you to change it on the spot
- Reports the current Temporary HP value, if it's set, or allows you to change it on the spot
- Reports the current Maximum HP value, if it's set, or allows you to change it on the spot
- It then takes those values and appropriately modifies the token, setting dying/wounded values according to the rules if the token is brought to 0 or healed from dying, or ignoring new temporary HP values that are less than the amount a token already has, etc.
- It also moves initiative for anything that's knocked out to just before the current turn (initative uses levels of precision to ensure this works - it's kind of ugly to see the values but the way the initative macros work this seemed the most reliable way)
- One Wounds/Dying Δ macro, which lets you directly set the current wounded/dying values, or the DyingMax value
- DyingMax is for stuff that should die at some value other than Dying 4 (e.g., set to 1 if you want to have something like undead/constructs or really unimportant monsters that should die instantly, set to 5 if it's a PC with Diehard)
- A Set HP macro that allows for bulk setting of HPMax and DyingMax values to lazily configure tokens quickly (allows you to set a bunch of token copies at once) - it could stand to be updated to prompt if you have mixed tokens selected rather than just error out
- A consistent HP bar/dying tracker update macro, which updates the display and will automatically kill things that should be dead
- Now actually takes into consideration if a token is Doomed, with a slight hack so that if you set things to die at Dying 1 anyway (i.e., unimportant things or undead/constructs), being Doomed doesn't kill them
- Will also un-kill things that aren't dead if you screwed up and went back with the wounds/dying macro to fix it by reducing the dying values
- A dying test macro, so NPCs can bleed out while players are discussing whether or not to stabilize them (also invoked automatically for NPCs by the next initiative macro, so they can bleed out mid-fight without slowing the game down)
- It makes it pretty easy to let unimportant NPCs go through the full dying rules, which probably leads to more NPCs captured alive for interrogation

* Critical Hit and Critical Failure decks
- Paizo's 2nd edition cards manually transcribed and set into random tables with simple macros to provide output
- Probably needs a pass to make sure it's compliant with the OGL license these use, so I'll leave the tables out until I've done that (I don't *think* there are any of the "Product Identity" proper nouns in the card text, but I haven't specifically checked)
- Also I guess I'll have to add the OGL text in the framework somewhere...joy
- And FYI, these add a lot of volatility - I tie them to the hero point mechanics for players to offset the "why do martials critically fail on natural ones but spells with saves can never hurt the caster because they don't make an attack roll?" problem
Things that I'm working on now:
* More complex character tracking with two new token types
- One for PCs or NPCs built from classes using the PC rules (calculating skills, HP, and whatnot through level and proficiency). Basically like my calculating PDFs, they provide an easy-to-update reference sheet that could interact with calculations in the future.
- One for NPCs built as statblocks (just enter the values from the statblock).
- Most variable/optional stuff is stored as JSON arrays full of JSON objects - each skill or save is an object in an appropriate array. Calculated totals (basically the final numbers you'd write on a physical character sheet for reference) are stored as generic properties, because it's more hack-friendly for users, and makes it easier to write macros that support the 3 token types (PC/class+levels, Statblock, and Basic token that probably just has HP). It turns out getting null pointers from JSON commands is lame.
- Buffs/debuffs from conditions. This...actually works right now, basically, as of last night. At least I wrote the recalc macro for the statblock token's skills, so the proof of concept works. Adding the condition adds a JSON object that can be referenced for calculations, and my first attempt worked pretty nicely. The biggest issue here is that the set of "scopes" doesn't scale well - it's easy to make a condition that affects all checks using the Strength modifier, but much harder to apply a penalty to just melee bludgeoning and slashing weapons. I'm not sure how other frameworks do it, so...super open to feedback here from people who have this whole data architecture thing down.

* Character sheets (or at least usable pop-up statsheets)
- I'm way less familiar with setting up good character sheets (or frames/HTML/CSS generally). The things like the condition report were a bit of learning about how Maptool handles frames/tables/formatted outputs, but it's something that feels like it needs more planning than I've really done on how the character info all fits together.
- In lieu of that, I have easily-accessed properties, with display versions that pop-up on hover. So, useful for quick reference on what a token's will save is, including (but not showing) the conditions modifying it.

* Group/Secret checks
- I have been using the secret check rules, and I've been rolling them manually. It's cumbersome to roll a bunch of perception or recall knowledge checks at once. This was a lot of the impetus to add these other details to the character sheets.
- Output is super ugly right now. I'm thinking of making this a nice frame or something. Might wait until the HTML5 support.
Things that I haven't really taken on but would kind of like:
* Tracking spells prepared/used/spell slots
- I have a player who's not always available, and so half the time I'm running his character and have no idea how many spells he cast last session
* Weapons/Attacks
- Generally I'm thinking something like my other approaches, i.e., an array of JSON objects in a predictable place and calculated/set properties (depending on token types) that reference them, but I've been focused on the things that literally every PC/NPC has, like skills and saves.
- Automated attack and damage rolls - I don't know how often I'd use them, but for big combats they'd likely make things faster.
* Afflictions
- Some automated affliction rolls would be nice - poisons and diseases can get into a lot of rolls if PCs decide to use them a bunch, but it otherwise doesn't come up that much.
* Timers for stuff (by round)
- Probably needed for afflictions
- Would be nice for states, too
* Resistances or immunities for damage calculations
- Way down the line. By the time this matters much you're probably already automatically applying damage from automated attack/damage rolls.
* Real character sheets
- Might wait for HTML5 since that just hit alpha, and/or solicit help here from someone who knows what they're doing and can get it functional faster with better consideration of future functionality
I also have liberally borrowed/stolen from other folks' work as I learned, and there's some stuff I use essentially untouched
* Wolph42's Bag of Tricks
* Some specific macros/approaches from JamzTheMan's old NERPS campaign file from pre-1.5 taught me a lot of stuff, and I like his simple method for doors, so I use that (but created a couple simple macros to open/close all doors on a map at once or to open/close a selected door instead of requiring a different token to be there)
* These things are usually on their own Lib tokens, because they're not PF2-specific, so you can take them or leave them. In the BoT case, it's really just the normal BoT and one separate token where I edited the handout macro because I got tired of changing the size every time. The other slight changes I made recently were actually merged into the newest version
* I was also inspired by that french Savage Worlds framework, which I tweaked for my own Savage Worlds campaign a few years ago. It's a good reminder that just tracking the very basics - alive/dead, how close to alive/dead - is already really useful. For a long time my PF2 playtest framework was entirely cosmetic. Then...HP and initiative. Or Initiative and HP, don't remember the order. I still use the Dead/Out art from this framework, because it's beautiful and distinct.
One other oddball thing that's not PF2 but works nicely with it
For tracking time (including 10 minute durations and 1 hour durations) and adding some consequences to sitting around and repeatedly using Treat Wounds in a dungeon, I've adapted a time/tension pool system, found here: https://theangrygm.com/tension-on-the-road/

Basically, I just implemented it (mechanically) exactly as described by that dude, but with 3 separate pools - one for 10 minute durations (if 6 go by, that's an hour and durations expire), one for chunks of a day (as described in that post, but I don't really use it), and one for within an encounter (I've only used it once). The per-hour one I think just works really well with PF2 effect durations, and adds some sense of urgency while exploring a hostile dungeon or cave or whatever.

It's simple, clean (adds a little frame so everyone can see and highlights the last-used pool), and easy to use. It's also entirely modular, on its own Lib token and everything.

Aswaarg
Kobold
Posts: 3
Joined: Tue Dec 31, 2019 6:29 am

Re: PF2 Framework?

Post by Aswaarg »

I am really interested in tyour Framework RicoTheBold. I´m new in maptool (and VTT in general) and I´m GM in P2e campaign.


Thanx in advance for the work.

RicoTheBold
Kobold
Posts: 21
Joined: Sun Sep 13, 2009 12:52 am

Re: PF2 Framework?

Post by RicoTheBold »

Okay, I went ahead and created a thread for mine with a preview version. I broke a few things that displayed rules text deliberately, but all the "basic" functionality I described should be 100% intact, as well as the fancier stuff to the extent that it exists. I ripped out the Bag of Tricks map from my campaign, so...it *might* have broken something, but I don't think any macros included in this file reference that library.

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: PF2 Framework?

Post by Elorebaen »

WOw! Somehow I missed this! Thank you so much for moving forward on this Rico :) Can you put a link to the thread you created?

Elorebaen
Dragon
Posts: 365
Joined: Sat Dec 22, 2007 5:37 pm

Re: PF2 Framework?

Post by Elorebaen »

I wonder if PF2e should have its own framework section. May be useful for all of those interested.

Post Reply

Return to “User Creations”