kevinhaube / ttrpg Goto Github PK
View Code? Open in Web Editor NEWAn extendable tabletop rpg engine for node projects. Currently in-development.
An extendable tabletop rpg engine for node projects. Currently in-development.
As a user, I need to be able to use an equipped item, and have both its cost
and buff
s take effect on their respective targets.
All these types are under src/core/models/itemModels.ts
debuff
, user when used/buff
)No D&D game is complete without weapons for combat! Implement BuilderWithMiddleware
to create a weapon building class.
range
, actions
, damage
, rating
A wearable item may have buffs/debuffs or effects that apply to the Character. A builder with middleware should be provided for users of the engine to create wearable items.
const wearableBuilder = new WearableBuilder();
wearableBuilder.addName("Sample Wearable");
// and additional methods and members custom to Wearable
const myWearable = wearableBuilder.build();
A character object should maintain a state of currency
As a player upgrades their items, a log of previous versions should track the change over time for historical reporting.
count
) when an items attributes receive any updateAs someone using the ttrpg package, I expect to be provided the types and functions to generate a character.
I should be given both the raw tools to spin my own character creation, and a premade builder with a generic process.
The main functionality desired by the front-end client for a beta release is the ability to create characters, view character sheet information, and track changing values in-game.
The sheet will be generative, taking properties from a given character and populating as much of the mod-based values (i.e. skills, saving rolls, ...) as possible. Anything requiring a stored state should belong to the Character
itself to cut down on database requirements for applications.
A snapshot of the sheet can be saved at any time for any kind of implementation: backup, sharing, etc.
Character values can be managed from the character sheet; values like level
, hp
, and other in-game stats that may change.
Inventory equip/store values can be managed from the character sheet.
Inventory (all) equipped items' actions the sheet's actions
values.
Characer
A trinket item has no inherent use, only value. A builder with middleware should be provided for users of the engine to create trinket items. This extension of Item
should mean that the protected
methods of Item
are inaccessible to TrinketItems
const trinketBuilder = new TrinketBuilder();
trinketBuilder.addName("Sample Wearable");
// and additional methods and members custom to Wearable
const myTrinket = trinketBuilder.build();
Because I was merely putzing around when I made the current Character models, I did not know I wanted them to be generic. Now I do. I need to fix them.
characterModels.ts
As of now, an error looks like this:
// set in BuilderWithMiddleware.validate
{
message: "Wow, you really messed up",
args: ["badInput"],
attr: "fieldYouTriedToPutItIn"
}
but we want single-argument arrays for args
to appear as only a single string:
{
message: "Wow, you really messed up",
args: "badInput",
attr: "fieldYouTriedToPutItIn"
}
A character object should maintain a state of health information for the character.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.