Arcanis: The World of Shattered Empires
The Roleplaying Game
by Pedro Barrenechea, Henry Lopez, and Eric Wiener
www.paradigmconcepts.com/

The current core book that this application is base can be purchased here:

http://www.amazon.com/Arcanis-World-Shattered-Empires-PCI1600/dp/193137449X/ref=sr_1_1?ie=UTF8&qid=1334840678&sr=8-1

The Arcanis Character Sheet is a Node.js project.
The goal for using Node.js to allow for easier set up, but setting up a persistant store that does not require the storing of data in the code repositortity so I can take advantage of free hosting is not that simple.

To install Node.js follow the instrunction on http://nodejs.org/

To install the dependencies:

npm install

The presistant store I have chosen is Redis.

To install Redis follow the instrunctions on http://redis.io/topics/quickstart

to start the server

$ node ./app

to view the results

http://localhost:3000

This application user google OAuth2 to authenticate the user.

Once the application is registered with google the key and secret need to be set up as environment vars

GOOGLE_OAuth_Client_ID
GOOGLE_OAuth_Client_Secret

to send coments please email Edward Grant at themasternone@gmail.com with the subject "Character Sheet"

Static Data
	choice type -> ['Specfic', 'Group', 'Choice']
	tallent requirement type -> ['Attribute', 'Archetype', 'Background', 'Race', 'Religion', 'Skill', 'Talent', 'Limited', 'Military']
	tallent benifit type -> ['Skill Rank', 'Conditional Skill Bonus', 'Choose a Spell', 'Specfic Spell', 'Specfic']


Maintainablility issue:
	The CRUD code for skillGroup and talentGroup are identicle except for varaible names. Need to find a way to combine these.


TODO:
User
	Authentication - Done - Google Oauth2
	Sessions - DONE
	Saving the user - Done
	CRUD
	Defining Roles
		Assigining the user roles - In my local instance I have just manualy adjusted this but an admin interface is nessacary for a final product.
Create all the data input forms
	attribute
		abbreviation, name
			index  - DONE
			show   - DONE
			new    - DONE
			create - DONE
			edit   - DONE
			update - DONE
			destroy
		score, cost, die, passive
			index  - DONE
			show   - DONE
			new    - DONE
			create - DONE
			edit   - DONE
			update - DONE
			destroy
	archetype
	background
	race
	religion
	region
	skill
		index  - DONE
		show   - DONE
		new    - DONE
		create - DONE
		edit   - DONE
		update - DONE
		destroy
	skill group
		index  - DONE
		show   - DONE
		new    - DONE
		create - DONE
		edit   - DONE
		update - DONE
		destroy
	manuever
		weapon tricks
		martial techniques
	spell tradition
	tallent
		index
		show 
		new
			Name
			Tallent Group
			conditional benifit
			perminant benifit
		create
		edit
		update
		destroy
	tallent group
		index  - DONE
		show   - DONE
		new    - DONE
		create - DONE
		edit   - DONE
		update - DONE
		destroy
	equipment
		when selecting gear apply quality adjustment to gear stats
	equipment quality
Create all the methods to save the data in a redis Data Store
	The JSONRedis.toJSON function can pull the data from the Redis data store.

Create a wizard to manage character
	Envision you character
		This where one would write a paragraph or two on who there character is.
	Define attributes
		Display form for attributes - 
		Add functionality to display the amount spent on attributes
	Select Archetype
		Record default options
		Choose options that must be chosen now.
	Select Race
		Record default options
		Choose options that must be chosen now.
		Indicate defered items that need to be choosen later
	Select Nation and Region
		Choose two skill from your nation/region.
		Choose languages based on passive logic from race and nation/region.
	Select Background
		Record default opptions
		Choose options that must be choosen now.
		Record gear gaind from background.
		Record starting coin.
	Spend additional skill ranks.
		
	Choose a flaw
		Indicate defered items that need to be choosen later
	Select Tallents
		Choose two tallents pluse any defered.
	Purchase additional gear.
Dispaly completed character