* Small Rails 7 configuration changes (#72)
* Remove log call
* Show EMP skills for Row 5 classes
Row 4 EMP skills were not showing up, so you couldn't set Rage IV on Viking, for example
* Allow adding EMP skills from prior rows to team
We let you search but didn't fix the server-side validation check for skills
* Add `granblue_id` column to WeaponKeys table
This should have a `NOT NULL` constraint, but due to existing data it is nullable until we can update all environments with values.
* Add granblue_id to WeaponKeyBlueprint
* Rename ml to master level
* Add Ultimate Mastery
* Migrate database
* Migrate database
* Small Rails 7 configuration changes (#72)
* Remove log call
* Show EMP skills for Row 5 classes
Row 4 EMP skills were not showing up, so you couldn't set Rage IV on Viking, for example
* Allow adding EMP skills from prior rows to team
We let you search but didn't fix the server-side validation check for skills
* Add `granblue_id` column to WeaponKeys table
This should have a `NOT NULL` constraint, but due to existing data it is nullable until we can update all environments with values.
* Add granblue_id to WeaponKeyBlueprint
* Migrate database
* Ensure transcendence is possible on that character
* Ensure transcendence_step is in bounds
* Ensure Over Mastery Attack is a valid value
* Ensure Over Mastery HP is a valid value
* Ensure Over Mastery Attack is 2x Over Mastery HP
* Ensure Awakening level is in bounds
ConflictBlueprint uses `options` to display arbitrary values, but I think those are only available behind conditional statements. This adds those statements and checks if the key that will be used exists on the hash.
ConflictBlueprint was also inheriting from ApiBlueprint which requires a real object (with an ID), so instead we inherit from Blueprinter::Base
* Refactored and tried to simplify methods in PartiesController
* Implemented new error render methods in ApiController
* Removed parties/[weapons, summons, characters] routes