GithubHelp home page GithubHelp logo

ninjawithkillmoon / gloomhaven-thearcanelibrary Goto Github PK

View Code? Open in Web Editor NEW
36.0 15.0 16.0 5.78 MB

The Arcane Library - a Gloomhaven campaign tracker

Home Page: https://ninjawithkillmoon.github.io/

HTML 0.64% JavaScript 97.17% CSS 2.19%

gloomhaven-thearcanelibrary's Issues

Update monster health tracker status effect toggles

The status effect toggles could go from unselected -> blue -> red -> unselected when pressed to denote nothing -> add -> remove -> nothing.

This will work better with a more standard use case of attacking a set of monsters and adding one or more effects to them without removing any.

Monster Health - Hide top of page config buttons while in "All Active" mode.

On screens with less space, it would be beneficial for all of these buttons & bars at the top to be hidden, as none of these have a use when you're in the "All Active" mode. This would include the Level & Chars bars, as well as all the buttons related to adding monsters. This could all be collapsed into an expandable Configuration section with a "Show/Hide Config" button at the top.

Scenario - Auto Unlock Campaign Scenarios

When marking a campaign scenario as Successfully Complete, it should be possible for the newly unlocked scenarios to be automatically shown as Unlocked. There are also scenarios which will become blocked as scenarios are completed, which could be auto updated in the same way. This type of behavior has automatically been implemented in an excel spreadsheet at the following link if that helps.

https://boardgamegeek.com/filepage/146143/gloomhaven-scenario-excel-flowchart-spoiler-free

This is also a visual non-interactive chart for reference.
https://boardgamegeek.com/filepage/143772/scenario-flowchart

Add monster status tokens to monster health tracker

  • to decrease the need to rely on the square monster stat cards, we can track all status tokens applied to a monster in the monster health tracker
  • token display needs to fit on all screen sizes
  • possibly we can display the current statuses on the monster's button (to the right of the text)
  • a button to add monster status tokens could be shown either to the right of the health bar, or alongside the Kill Monster button?
  • the button can open a popup, allowing user to select and deselect monster status tokens for this monster

Add Support for multiple Parties

I am running a 3 Parties Campaign right now and cannot currently track them with this (else awesome) Page.

What I would like to have is that I can add multiple Parties with different Achievements and in the screens where it matters can switch between the Parties so I can see unlocked Scenarios for the different Parties (Party A has unlocked Scenario 2 and can play it while Party B hasn't)

Cards Added to Common Decks

To assist players in running multiple campaigns in a single box, we can track the status of all of the decks of cards. Including:

  • tracking removed city/road events
  • tracking added city/road events
  • tracking random items/item designs received from treasure chests
  • tracking classes unlocked
  • possibly others...

Add Solo Scenarios

  • add to treasure list
  • add to scenario page
  • add to monster health tracker

Sanctuary Donation Tracking

Tracker for donation tracking. Needs to hide extra section until threshold is reached to open envelope.

Should probably function same as the prosperity tracker.

Unable to build; index.css missing

I’m working on building the app. Like I said, I haven’t worked in React before, but so far it looks pretty straightforward from what I can tell. Here’s what I’ve done:

  • Installed git & the GitHub desktop.
  • Installed NodeJS
  • Installed various NodeJS modules from the NodeJS command prompt (including running npm install in my F:\Projects\gloomhaven-thearcanelibrary folder.
  • Installed Webstorm and setup Git, GitHub and NodeJS.

Now I’m trying to build the app and run it on http://localhost:3000. When I run npm start, I am getting errors. The meat of the output appears to be here:

"C:\Program Files\JetBrains\WebStorm 2017.1.3\bin\runnerw.exe" "E:\Program Files\nodejs\node.exe" "E:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" run start --scripts-prepend-node-path=auto

[email protected] start F:\Projects\gloomhaven-thearcanelibrary
npm-run-all -p watch-css start-js

[email protected] start-js F:\Projects\gloomhaven-thearcanelibrary
react-scripts start

[email protected] watch-css F:\Projects\gloomhaven-thearcanelibrary
npm run build-css && node-sass src/ -o src/ --watch --recursive

[email protected] build-css F:\Projects\gloomhaven-thearcanelibrary
node-sass src/ -o src/

Starting the development server...

Rendering Complete, saving .css file...
Wrote CSS to F:\Projects\gloomhaven-thearcanelibrary\src\App.css
Rendering Complete, saving .css file...
Wrote CSS to F:\Projects\gloomhaven-thearcanelibrary\src\stylesheets\main.css
Wrote 2 CSS files to F:\Projects\gloomhaven-thearcanelibrary\src
Failed to compile.

Error in ./src/index.js
Module not found: ./index.css in F:\Projects\gloomhaven-thearcanelibrary\src

I don’t see index.css in the repo, and it is definitely referenced in index.js. It appears that react builds .css files from .scss files (like App.scss), but there is no index.scss file that would be used to create index.css.

Do you think I’m missing a file, or is there some other key setup factor I missed?

Refactor MonsterHealth.js

Who's in charge here? Who thought that a 1000+ line, sprawling monstrosity of a file was readable or maintainable? They should be fired. Oh wait, that's me.

This file is now a mess - split it up into different components like what React is actually for, and learn how to share/send state between components properly.

Prosperity summary log

Prosperity can come from a variety of sources- donations, city/road events, scenarios, character retirement. It would be great if there was a summary at the bottom of the Prosperity page that would summarize the amount of Prosperity gained as a result of these different sources and perhaps a log of when things changed. Right now, donating will auto-increment Prosperity. Once Character integration works and you can retire characters, it could do the same thing. Being able to see this information in one location (and perhaps when that condition triggered the effect) could be useful to both recount your characters' adventures as well as have a log of what changed (when and why, too).

Cannot load same game file twice in a row

  • load saved game
  • make changes
  • without reloading page, load exact same game file again => it does not load

This is because the onChange event of FileInputReader in Header.js is not firing. Probably because the file input value hasn't changed.

Monster health progress bar CSS suggestions

Hi all,

First of all, my GH group loves this project—awesome work. I'm sure (I hope) you hear this all the time, but can you ever really hear it enough? 😉

I have a suggestion for some improved CSS styling of the health progress bars in the monsterHealth utility. This would beef up the progress bars so they're the same size as the buttons, and enhance the size and legibility of the HP numbers (but not too much, so they still fit nicely when the value is 1).

See the example screenshot below, followed by the edits to the code.

screen shot 2018-01-08

.monster-heath-monsters-container .progress {
    margin-top: 0px;  /* was 7px */
}

.progress {
    height: 44px;  /* was 20px */
}

.progress-bar {
    font-size: 18px;  /* was 12px */
    line-height: 40px;  /* was 20px */
    font-weight: bold;  /* added this */
}

Since the progress bars are (arguably) the most important part of the utility, I thought these tweaks would be helpful. Just the 2¢ of a visual design guy; take it or leave it. 😄

Improve Monster Health Tracker Usability

  • add warning to Reset button to prompt users before resetting - one misclick can currently destroy all data mid-game
  • remove reliance on standard JavaScript alerts (both for above new feature and for the confirmation on the kill monster button) - standard alerts are not always mobile friendly (?) and can be ignored by a user's web browser
  • fix appearance of the "All Active" button once a user starts entering a scenario number but before they tap the "Reset" button
  • add some way of tracking whether a particular monster is a summon or not, for the purposes of tracking whether it drops loot when killed or not (this is particularly important for monsters that can be summoned in large numbers, like Oozes or Living Bones)

Integration with Google Drive

The Dropbox integration is great. If there was an easy way to integrate this with Google Drive, too, that would be very useful.

Track Unlockables from End of Rulebook

There are a bunch of unlockable items (envelopes etc) listed near the back of the rulebook. We can track the unlocking of these like we currently track achievements.

Consider including monster card tracking

Ey there!

I love this app, and was thinking of trying to bring a monster card tracker as well (so it can be used at the same time as monster health). I was thinking if there is any way to bring https://github.com/johreh/gloomycompanion into this app. I have no knowledge of React (and very little expertise on JS, my 9to5 requires Cpp instead); but with some help, I don't mind trying to port it.

Would you be interested? The goal is having something neat and complete before wave 2 arrives :)

Characters Page

  • track multiple characters, including adding and deleting (?)
  • include everything from the physical character sheets
  • include enhanced ability cards?

Save Files to Cloud

Store save games somewhere online. Needs to have appropriate authentication and authorization framework.

Should probably store games as JSON objects in some kind of NoSQL database? Not really important though, as long as it works.

We should still keep the manual save ("export") method currently in use to allow players to play more offline.

Better status effect application and removal

  • add button on status effect popup to remove all status effects
  • add button on status effect popup to trigger a heal (removing the appropriate status effects only)
  • add a row of status effect toggle buttons underneath the monsters: when any of these are toggled on, pressing the monster button (on the All Active page) will toggle the selected status effects for this monster

For example:

  1. toggle on stun and disarm
  2. press Living Bones 1 => this monster is now stunned and disarmed
  3. press Living Bones 4 => this monster is now stunned and disarmed
  4. press Living Corpse 3 => this monnster's stun and disarm previously applied are removed

Change default Dropbox save location

Change the directory structure and name to something more obviously about Gloomhaven save games. Users can manually choose their location but having a more obvious default would be helpful.

Monster Health Tracker - Monster Level Not Set By Scenario Level

It seems to me that the only reason you would be given the option to choose the scenario level at the top of the Monster Health utility page, is so that the monster's levels would be matched to the scenario level. This is not the case though, and monster levels must be set manually on a monster-by-monster basis when adding them. Even though a party may want to adjust the difficulty from there, it should still set the selected scenario level as an auto-baseline for each monster that you add.

Undo

A button that allows a user to return to a previous state. This could be either:

  • just on the monster health tracker (where it is probably most important)
  • site-wide

To keep it simple (and to keep save file sizes to a minimum) this probably does not need to persist if the user loads the page again?

I'm thinking just storing the entire save file in memory whenever a user makes a change. Each one of these is about 10KB, so storing the last 100 changes is only 1MB of memory.

The challenge is the idea of a "change". Every single tap of a button that removes 1 health from a monster, for example, is changing the save game state. Could this be run on a timer? Every 5 seconds we check for a change. If the game state has changed, generate a new restore point in memory. The undo button could then just restore the most recent one.

Accomodating non-boss special monsters in the monster utility

Problem

Several scenarios have "boss" monsters that are just regular monsters with other attributes (increased health, shield, etc.). For example, see scenarios number 67 or 87.

Right now, there isn't a way to accommodate these types of monsters (that I know of). I propose the following solution below.

Solutions

When you click on the monster level button today, it cycles from 0 through 7. There could be one more option after 7 called "Other" or "Special" that then allows you to customize the amount of health assigned to that monster. Maybe you would see a prompt or you could type into the HP field to change it to a specific value.

In an ideal world the scenario data would also provide this info, perhaps as a separate monster type, but this functionality should exist for things other than just the built-in scenarios so if you play custom ones or future released ones it could support that, too.

For now, we'll likely track the boss monsters separately from the app, but maybe a bit more flexibility could be added to work with these situations.

Fix File Export on Some Browsers

The file export functionality is some kind of third party code - consider finding something better for getting user to download a file. Perhaps removing dependence on third party code entirely?

Please update version at thearcane.li

Hi,

First thing first: really great app!

I've just discovered that scenario 34 requirements are not correct, then found that latest commit (from 2018) has fixed this.
Apparently code on-line was not updated.

The public webapp http://thearcane.li/ is broken

I really like The Arcane Library, but yesterday when I tried to go to the webapp to update our campaign info with a donation to the sanctuary, I got a DNS error when trying to reach the URL.

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.