Giter Site home page Giter Site logo

simrep's Introduction

CircleCI Code Climate Test Coverage


###A unified system for managing players, characters, and story assets in SimTerra.

SimRep is intended to model and automate actions that take place behind-the-scenes including:

  • learning skills
  • tracking event attendance
  • purchasing equipment
  • spending time units

This project is fueled by buzzwords, duct tape, and hype.

simrep's People

Contributors

metricmike avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

gulbrandr

simrep's Issues

Deaths are loosely scoped to events

Right now they're based on weekend which is a pure date. This wasn't an issue with a single-chapter game, but the logic needs to be reviewed to ensure that it's compatible with multiple chapters.

Holurheim Starting XP?

I am not 100% about new characters. I believe they start counting at 71 xp, but they should start at 31 and have 40 added afterwards.

Waivers Upload

Allow SimRep to maintain liability waivers

  • Create folder in Google Drive
  • Add Refile (or whatever)
  • Add html to #users/edit

A LOT of associations are duplicated

Example:

Joel Adams contributed 3 times to the Bastion Embassy Project
Character.find(60).projects has 3 Bastion Embassy Projects, even though they all point to the same record.

Facebook / Email mismatches

User is created manually with an email from waivers.
User creates an account with Facebook with a different email.
User cannot see their character!

Sort "table_for" in AA through associations

The following code should allow you to sort by character name when you click on a 'Character Name'.

image

ActiveAdmin.register Event do
  controller do
    def scoped_collection
      super.includes :characters, :character_events
    end
  end

  sidebar "Attending Characters", only: :show do
    table_for event.character_events.order(params[:order].to_s.gsub(/(.*)(_)(.*)/, '\1 \3')), sortable: true do
      column(:character, sortable: 'characters.name') { |t| Character.find(t.character_id).name }
      column :paid
      column :cleaned
    end
  end
end

Instead, AA throws a fit:

ActiveRecord::StatementInvalid - PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "character"
LINE 1: ...HERE "character_events"."event_id" = $1  ORDER BY character....
                                                              ^
: SELECT "character_events".* FROM "character_events" WHERE "character_events"."event_id" = $1  ORDER BY character.name desc:

The character_events table has a character attribute, but the events table has a characters attribute. This is probably where the join table is getting mixed up.

Partial NPC Payments

Current workflow expects the following:

Character conducts an NPC Shift - opens and closes themselves.
Character allocates time as necessary.
Staff verifies accurate time, or adjusts as necessary.
Sunday of event, staff awards attendance.


character_event#pay_for_npcing will issue payment for total amounts. It assumes that no more NPCs will occur during that event.

Should have a partial system so payments can happen immediately, or some payments can be issued on Sunday and some can be issued on, say, Tuesday after reaching out to PC in order to complete records.

Reorganize Character[Attribute] and [Attribute] tables for better consistency

Atrius and Charis both buy the 'Added Perks' skill.
Atrius re-buys it.

There are now two rows in the Skills table that read:

id Source Name Cost
1 General Added Perks 1
2 General Added Perks 2

Atrius has a CharacterSkill that points to the row1, Charis points to the row2.

This gets worse:
Sophie buys 'Added Perks' (she now has a CharacterSkill that points to row1).
Atrius re-buys 'Added Perks'. row1 now has a cost of 2.
Sophie has 2 Added Perks even though she didn't re-buy and now her skill total is all messed up.


The [Attribute] tables should be a canonical reference, with an additional boolean for re-buyable.
CharacterSkill should have character-specific modifications (cost modifier, times rebought).

PDFs should not callback event attendance

Chroma zeroed out her paid and cleaned for January when she printed the Wednesday after.
Copper added himself to January when he printed the week before March (extra TU he shouldn't have).

Chapter Scoping

Simrep's Back Office/Admin doesn't QUITE scope everything on chapter, because most models are already linked to a scoped model.

For example, Projects are linked to a leader_id/character. A character has a chapter. But when ActiveAdmin loads up, it's Projects Page doesn't check for chapter associations.

A possible solution is adding a default scope to ActiveAdmin. At the time of this writing I haven't yet, but expect to implement something similar for User view.

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.