JPokemonService started #31
Genericizing Services

TrainerState knows what and where to append data in the response
PlayerService cleaned up some through generalization
Services consistently take JSONObject request, not any special
signature, and client must cope
Services consistently throw ServiceException, and client must cope
Fixed typo causing #29
Bugfix

WildPokemon used to have stuff in the database. Whenever it was called
for an area, it found data. When I cleared out this antiquated data, the
SQL query found nothing (duh), and proceeded to return null, causing NPE
*Database change coming soon
Minor improvement

Nothing major, just looks cleaner
DB changes from last commit (?)
I'm tired, leave me alone
Implement #32

ActionSet have field option to describe the choice, if applicable
ActionSet tests a player for validity before execute()ing
NPCActionInfo renamed to NPCActionMapping
NPCActionSetInfo stores the ActionSet option choice name thing
Table "npcactionsetinfo" added to mirror NPCActionSetInfo
NPC returns JSON containing valid options for the player
NPC looks up action set based on option choice
NPCFactory puts the option field on each ActionSet whilst building them
OverworldView.NPCButton asks for an option choice, if applicable
JPokemonService getOption added
MapService looks up actionset in npc by option choice
Actions to affect items and events added and implemented
Requirements cleaned up
Mom will give you a potion if you haven't gotten one from her yet
NPC mapping stuff

NPCs are now intended to be completely unique by ID
NPCs now have different ActionSets based on what Area they are in
This NPCActionSetInfo mapping with area replaces NPCMap
Pallet Town added to database
Prof Oak added to Pallet Town to tell you it isn't safe to venture off
ActionType.TRANSPORT

Prof Oak in Pallet Town will transport you to Oak's Lab
Prof Oak in Oak's Lab is the same Prof Oak in Pallet Town!
When in his lab, Oak will offer you starter Pokemon
Fix #33
RequirementType.POKEDEX

New requirement type tests pokedex count
NPCButtons are no longer focusable (bugfix, sort of)
NPCButton will not do anything if no options are available
Pokedex is OK with loading no useful data from XML
Launcher no longer muffles useful exceptions
Prof Oak will only stop and give you a pokemon if your pokedex count is
< 1
running late

ain't nobody got time for commit messages
can do stuff with moving around with borders stub
I'm sleepy

TrainerState has bug fix thing
PlayerService has bug fix things
MapService lets you move areas
other shit that i did too
New Player stuff #36

PlayerFactory throws exceptions before creating Players
PlayerFactory can create a new Player
PlayerService has a hook to create a new Player
PlayButton will call out to PlayerService to start a new game if load
fails
JPokemonMenu will not highlight menu entries if there are no entries to
highlight
Client code independence, wild Pokemon generation

GameWindow reference removed from Player!
Players add messages to queue instead of immediate alerts
PlayerService returns ID of new player
PlayButton starts the GameWindow before closing launcher
GameWindow does a pull when it is created
Battle sets trainer state on start()
"grass.png" added to let client generate wild pokemon battle
MapService has hook for generating grass pokemon
Areas tell the client if they have wild pokemon
OverworldView will show grass button if there is grass
BattleView bugfix: pokemon show their moves
JPokemonDialog changes due to JSON structural design
Pokemon.db "Route-1" added, where a Pikachu will appear
Battle Swap Menu

Battle Swap Menu unbroken
Refactoring JPokemonDialogs only used by Battles into BattleView
Original Trainer

Pokemon know their OriginalTrainer name
Pokemon know if they are with their OriginalTrainer
Save file updated to reflect structure change
Reward compensates OT/notOT Pokemon

Added 2 constants to control OT/notOT buff/nerf
Battle Items, JPokemonDialog refactor

Player adds it's Bag to JSON when in Battle state
Bag sends a more readable JSON
Items don't send type because it's redundant, and also not value
Items are shown based on their picture
ImageService finds items using the correct path
PlayerService no longer sends "player" with basic info
GameWindow no longer tries to read "player" basic info
BattleView holds all of its related JOptionPane helper methods
DialogCancelException was refactored out
Updating SQLiteORM version.
Removing manual loading of OneToMany, letting ORM do it now.
Refactoring JPokemonConstants to be a class vs an interface.
Refactoring usage of JPokemonConstants to static access instead of implementing.
Fixing problems with missing SQLiteORM dependencies.