Giter VIP home page Giter VIP logo

rpg-web-character-creator's Introduction

Genesys Emporium

Current Production Build

The Genesys Emporium

Community

Support/Unbound Legends Discord
Genesys Community Discord

Misc

Genesys was created by Fantasy Flight Games, Genesys.

Genesys Emporium was originally created by SkyJedi. Go check him out, he's an awesome guy who has made many major contributions to the Genesys community.

Building & Running

  • create a firebase project with authentication (google) and firestore, configure firestore permissions with rules from firestore.rules

  • create packages/emporium/.env

NX_apiKey=<API_KEY>>
NX_authDomain=<PROJECT_ID>.firebaseapp.com
NX_databaseURL=https://<PROJECT_ID>.firebaseio.com
NX_projectId=<PROJECT_ID>
NX_storageBucket=<PROJECT_ID>.appspot.com
NX_messagingSenderId=SENDER_ID

install and run

npm install
npm run start

If you get an error message like Error: Cannot find module '@nrwl/workspace/src/utilities/output' go to node_modules/@nrwl/workspace/src and create a symlink utilities->utils

rpg-web-character-creator's People

Contributors

dependabot[bot] avatar funkymonkeymonk avatar koljatm avatar shanek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rpg-web-character-creator's Issues

Add support for weapon and armor traits for Keyforge

In Keyforge there aren't actually specific weapons, rather there's generic bases with base stats and traits you can stack on top of them.

Emporium currently supports Craftsmanship, which is similar to traits, but different and varied enough that I don't feel comfortable tacking them on to Craftsmanship. Would be cool to support traits, at least if using Keyforge.

Custom Data > `Archetypes` Losing their info when you select Edit to change settings in them.

Describe the bug Custom Data > Archetypes Losing their info when you select Edit to change settings in them.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://genesysemporium.com/ as [email protected]
  2. Click on Custom Data > Archetypes select edit for Intellectual
  3. Remove any setting in my case a custom setting was showing there that shouldn't be showing
  4. It cleared out all the Starting Characteristic Bonuses, skills, etc
  5. Seems to happen on several different ones.
  6. Expected behavior Should be able to access and modify Settings for an Archetypes without losing their default setup

Screenshots
archetypes

Desktop:

  • OS: HIgh Sierra 10.13.6
  • Browser Chrome Version 71.0.3578.98 (Official Build) (64-bit)

Custom Data > `Settings` is greyed out to me unable to reference at all

Describe the bug
Custom Data > Settings is greyed out to me unable to reference at all.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://genesysemporium.com/ as [email protected]
  2. Click on Custom Data > Settings is greyed out to me unable to reference at all

Expected behavior
Should be able to access and modify Settings.

Screenshots
settings

Desktop (please complete the following information):

  • OS: HIgh Sierra 10.13.6
  • Browser Chrome Version 71.0.3578.98 (Official Build) (64-bit)

Add support for animal companions/drones

It would be great if you could have an inventory of animals, drones, or any other adversary/character that are owned by your character. Each entry would require basically the same information as is in a typical stat block in the adversaries section i.e. characteristics, skills, health and defenses, talents, abilities, and (maybe) equipment.

warn user when buying Talent that adds Skill to Career skill-list when ranks of skill already purchased

Is your feature request related to a problem? Please describe.
Since purchasing a skill before or after a Talent that changes the costs of the skill, there are problems with the accounting of the XP costs.

The first is when you increase one or more ranks before the Talent is bought. Assuming you do this during character creation, as opposed to post-creation advancement, the skill ranks costs more than they should.

The second is when you have bought the Talent first, buy ranks in the new Career skill, decide to clear the Talent, and then decide to decrease the ranks. The now non-career skills now give back more XP than was spent to buy them.

Describe the solution you'd like
If skill ranks are purchased for a skill that becomes a career skill with the purchase of a talent, the user should be warned about the cost issue, and possibly given the option to adjust those pre-talent purchases before the talent purchase takes effect.

If a Talent adding a career skill is removed, the user should be warned about any ranks in any now non-career skill, and how the costs will be wrong.

Describe alternatives you've considered
The only currently available option is to know that you have to do everything in the right order.

Additional context
Without separately tracking skill rank purchases made as career versus non-career, there really isn't any way of correctly tracking XP costs as changes are made. #17
Without a change from creation to an "advancement mode," you can't track when new skills ranks or talents shouldn't generate a warning. #16

"Reduce Strain" is applied even when it equals "No" (Gear Modifier)

Bug report

One of my players was playing around with cybernetics, and we noticed that choosing No for Reduce Strain in a piece of Gear does nothing.

Actual Result: the strain modifier is applied even when No is selected.

Expected result: the strain modifier should not be applied when No is selected.

Test data

  • Name: Cybernetic Arm, Mod V
  • Encumbrance: 0
  • Price: 10000
  • Description: Arm replacement; +1 Brawn
  • Setting: All
  • Modifier: Yes
  • Attribute: Brawn
  • Reduce Strain: No
  • Special Qualities:

Exported data:

[
    {
        "customData": {
            "customGear": {
                "cyberneticArmModV": {
                    "description": "Arm replacement; +1 Brawn\n",
                    "encumbrance": 0,
                    "modifier": { "Brawn": 1 },
                    "name": "Cybernetic Arm, Mod V",
                    "price": 10000,
                    "qualities": {},
                    "setting": ["All"]
                }
            }
        }
    }
]

Images

Piece of Gear

image

Not carried

image

Carried

image


Thanks for taking the time to build this tool!

add mechanism to switch from initial character creation to spending earned experience

Is your feature request related to a problem? Please describe.
Characteristics can be modified at any time.

Describe the solution you'd like
When I am done with the initial creation of a character, I should be able to toggle a setting that changes from creation mode to advancement mode.
In advancement mode, characteristics, archetype, and career, should all be locked.

Describe alternatives you've considered
"Just remember not to change things that aren't supposed to be changed."

Additional context
Add any other context or screenshots about the feature request here.

Allow custom talents to have multiple modifiers

Custom talents should support multiple modifiers. For example, a talent should be able to add a skill as a career skill and also give a free rank (or other modifier) in that skill. Currently, custom talents can have just one type of modifier (though they can add multiple skills as career).

prerequisite talents should be required

Describe the bug
prerequisite talents should be required

To Reproduce
Steps to reproduce the behavior:

  1. Create a new character.
  2. Add two Tier 1 talents. Do not chose Defensive Sysops as one of them.
  3. Click on the now available Tier 2 talent.
  4. Select Defensive Sysops (Improved) from list. Enter to add it.

Expected behavior
Prerequisites should be required.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows
  • Browser: Chrome
  • Version : 71

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Defensive Sysops is just an example. The others talents I spot checked, like Parry (Improved), don't require prerequisites either.

average humans can select career skills as their archetype bonus skills

Describe the bug
average humans can select career skills as their archetype bonus skills without some kind of error message being given

To Reproduce
Steps to reproduce the behavior:

  1. Select the Archetype, Select Average human. Pick Brawl and Coercion as the 2 skills.
  2. Select the Career. Select Warrior.
  3. Scroll down to Skills.
  4. See error in that the bonus skill ranks are in Career skills.

Expected behavior
At a minimum, the Average Human Skill selection text should note that they are required to be non-career skills as per the rules.
Better would be if a warning message came up upon selecting a Career with conflicting career skills to the selected Average Human bonus skills, and the Archetype choice on the main screen was marked with some sort of error tag.
Best would probably be something like getting a warning on selecting a conflicting Career, having the choice of changing the Career or changing the skills, and if the user chooses to keep the Career, switch to showing the Archetype menu, set to Average Human with the previously selected skills cleared.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chrome
  • Version 71

Smartphone (please complete the following information):

  • Device: Pixel 2
  • OS: Android 9
  • Browser Stock Chrome
  • Version 71

Additional context
Add any other context about the problem here.

Gear modifiers for attributes are not applying

Describe the bug
When you create a piece of gear that should modify Soak, Wound threshold or Strain threshold and you equip it, the modifier does not apply.

To Reproduce

  1. Create a piece of gear
    image
  2. Equip it image
  3. (unequiped) image

Expected behavior
The modifier should apply.

Bioroid talent not supported

image

Bioroid's inorganic talent is not supported.
To repeat the issue, create a new character, select the bioroid species, and add a cybernetic enhancement to the character's gear. The strain threshold will go down by one, in direct conflict with the Inorganic talent's rule.

Add support for icebreaker and ice inventory

Having another tab or tabs in the equipment section that's dedicated to ice and icebreakers that you have would be useful. Currently, this has to be recorded by hand in the notes section. Each row would need the same data as in the relevant tables of 3-4 or 3-5.

[Enhancement] Ranked talents should only show up in higher tiers if bought at lower tiers

Currently, all talents less than or equal the current tier are showing up when you go to select a talent.
We should filter this down to only show talents available for the current tier, taking into account ranked talents that you bought at previous tiers.

For example:
Grit shouldn't show up when you go to buy Tier 2 unless you've bought it at Tier 1 already. Similarly, it shouldn't show up in Tier 3 unless you've bought it in Tier 2. Etc.

Non-ranked talents should never show up in tiers higher than the current tier.

This will greatly reduce the clutter of going to buy a talent and more accurately reflect your choices.

Grit talent not increasing strain threshold

Describe the bug
Taking the Grit talent does not increase the strain threshold.

To Reproduce
Steps to reproduce the behavior:

  1. Create New character. Scroll down to Talents section.
  2. Click on a new talent box. Select Grit
  3. Scroll up to Attributes section
  4. See that the Strain Threshold hasn't changed.

Expected behavior
Taking the Grit talent should increase the strain threshold by one.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows
  • Browser: Chrome
  • Version: 71

Smartphone (please complete the following information):

  • Device: Pixel 2
  • OS: Android 9
  • Browser: stock
  • Version: 71

Additional context
Selecting an Archetype isn't needed and makes no difference that I've seen.
Selecting Toughened does increase the woundThreshold.
Creating a custom talent that increases the strainThreshold does increase the strainThreshold when taken.

Inorganic is duplicated under talents for bioroids

Describe the bug
If you create a character with the "Bioroid" Archetype, the talent "Inorganic" appears multiple times.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new character
  2. Leave the setting on "All"
  3. Select "Bioroid" Archetype
  4. Realize already that something is wrong.
    image
  5. Scroll down and confirm that something is definitely wrong:
    image

Expected behavior
Inorganic should only appear once.

Desktop (please complete the following information):
Windows 10, Chrome

Additional context
I've looked at the code myself here on github, and I'm wondering if the fact that the data is duplicated is the problem:

https://github.com/SkyJedi/RPG-Web-Character-Creator/blob/7f91378dda749125b30664616d9e2338a9e2f0b0/src/data/archetypes/CRB.json#L223-L237
https://github.com/SkyJedi/RPG-Web-Character-Creator/blob/fc84a52466e52d46f8443719b7884c5ae702e397/src/data/archetypes/SOTB.json#L26-L39

The encumbrance is displayed inverted and could be confusing.

Description

The encumbrance is displayed inverted and could be confusing.

It is displayed in the max/current format. Ex.: 6/5 where 5 is the character current encumbrance level and 6 his maximum.

Expectation

I was more expecting a current/max display. Ex.: 5/6 would mean that the character has 5 encumbrance due to gear out of a maximum of 6.

Additional notes

I was wondering if you had any reason to display the encumbrance this way.

If you are interested in flipping it from max/current to current/max, I don't mind making the change and creating a PR to help you out.

Set selected character as default on subsequent load

When loading the emporium, it would be nice if the last character that was being edited were loaded upon logging into the site on a subsequent visit.

Example: I have three characters

Bob
Garblaxas the Magnificent
Hank

I am editing Garblaxas the Magnificent and log out to go outside to play with my friends. Mom calls me in for dinner and after eating, cleaning the table, and washing under my fingernails, mom lets me get a few moments of screen time, so I go to log back on the emporium and - hey preseto - Garblaxas the Magnificent pops up by default in all of his magnificence.

Thanks!

Cannot set strain threshold modifier on gear

Describe the bug
Strain threshold modifier is ignored on gear.

To Reproduce
Steps to reproduce the behavior:

  1. Create custom gear with Modifier: yes, Attribute: Strain Threshold, Modifier Value: 1
  2. Add gear to character

Expected behavior
Strain threshold increased.

Additional context
I suspect it gets clobbered here: https://github.com/SkyJedi/RPG-Web-Character-Creator/blob/32881473fd5f9a83abbd5ff49c134b07ca8647b1/src/components/CustomData/CustomEquipment.js#L64

"Career Skills" modifier is broken

Describe the bug
Cannot create custom gear with career skills modifier.

To Reproduce
Steps to reproduce the behavior:

  1. Custom Data > Gear
  2. Modifier = Yes
  3. Attribute = Career Skills

Crash Log

TypeError: l.includes is not a function
    at CustomEquipment.js:202
    at Array.filter (<anonymous>)
    at t.a.buildField (CustomEquipment.js:202)
    at CustomEquipment.js:244
    at Array.map (<anonymous>)
    at t.value (CustomEquipment.js:244)
    at uo (react-dom.production.min.js:3447)
    at so (react-dom.production.min.js:3438)
    at ho (react-dom.production.min.js:3617)
    at Yo (react-dom.production.min.js:4685)

distinguish between skill ranks bought as career skills and ranks bought as non-career skills

Is your feature request related to a problem? Please describe.
The current code base doesn't accurately distinguish between ranks bought as non-career levels and ranks bought as career levels.

As an example of an issue this can create:

  1. Buy two ranks of the Verse skill. 5 +5 and 10 +5 = 25 XP spent
  2. Now buy the tier two Bard talent. Verse is now a career skill.
  3. Decide to drop a rank of the verse skill. Get back 10 XP instead of 15.
  4. 5 XP have disappeared.

Describe the solution you'd like
The system should distinguish between ranks bought when skills are career and non-career skills.

Describe alternatives you've considered
The only way to get the XP back is to start over.
The only way to avoid the issue is to plan out everything ahead of any actual selections being made which negates most of the utility of a character creator.

Additional context
It would probably also be worth distinguishing between career, non-career, and archetype granted skill ranks.
This would in be at least somewhat connected to issue #16

Convert to nx project

We plan to convert this project to an nx project for future easier development and access to tooling. This will be a decent sized undertaking, but should pay off in the long run.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.