HuntersKeepers
HuntersKeepers copied to clipboard
Populate rules for the Spell-Slinger
Describe the Feature
The Spell-Slinger Playbook exists, but there are no moves, improvements, nor gear populated. This makes it rather hard to play as the Spell-Slinger. We have seedfiles in HK that will load data into the database upon deployment and creation. These files should be idempotent and would help us load rules governing the spell-slinger into the database.
Describe the Solution
Solution
Add the Spell-Slinger improvements, moves, and gear to db/seeds/playbooks/spell_slinger.seeds
.
utilize an example from the Chosen seedfile.
The Spell-Slinger Rules can be found at https://www.evilhat.com/home/wp-content/uploads/2019/03/Monster-of-the-Week-Revised-Playbooks.pdf
The seedfile will be automatically run in production upon merging. You can test it locally by running bundle exec rake db:seed:playbooks:spell_slinger
.
Moves
If the move is rollable and has a result, the type is Moves::Rollable
and the results are broken between six_and_under
, seven_to_nine
, and ten_plus
. Don't forget to add the rating for the roll!
If the move is flavor text, modifies a roll, or does not result in a roll, the type is Moves::Descriptive
.
Gear
Gear has 6 attributes: name, description, harm, armor, playbook_id, and tag_list. The playbook_id should always be @spell_slinger.id
. name
is the name of the weapon, description
is optional. If playbook_id is included in the find_or_create_by, then it does not need to be in the hash of attributes. tag_list
should be an array of strings. The easiest way to supply that is the following syntax: %w[close reload small]
Improvements
Several different types of Improvements need to be loaded. Here is a series of examples of how to translate common improvements to a model.
Description | Type | Attributes | Notes |
---|---|---|---|
Get +1 Sharp, max +3 | Improvements::RatingBoost | stat_limit: 3, rating: :sharp |
|
Get +1 Tough, max +2 | Improvements::RatingBoost | stat_limit: 2, rating: :tough |
|
Take another Spell-Slinger move | Improvements::PlaybookMove | stat_limit: 0 | If there is more than 1 Take another playbook move, add a stat_limit with a negative number. This will make unique PlaybookMove s, so they aren't overwritten or deduped. |
Take another Spell-Slinger move | Improvements::PlaybookMove | stat_limit: -1 | |
Gain an ally: one of your old crew. | NOT IMPLEMENTED See #94 | ||
Recover a stash of money from the old days, enough to live without care... for a year or two. | NOT IMPLEMENTED | ||
Take a move from another playbook | Improvements::AnotherMove | stat_limit: 0 | See Improvements::PlaybookMove for notes on uniqueness |
Take a move from another playbook | Improvements::AnotherMove | stat_limit: 0 |
Advanced Improvements
All advanced improvements have the attribute advanced: true
, so they can't be added until you have 5 improvements.
Description | Type | Attributes | Notes |
---|---|---|---|
Get +1 to any rating, max +3. | Improvements::RatingBoost | stat_limit: 3 | If rating is not specified, the player is prompted to select a rating |
Change this hunter to a new type | Improvements::ChangePlaybook | ||
Create a second hunter to play as well as this one. | NOT IMPLEMENTED see #100 | ||
Mark two of the basic moves as advanced. | Improvements::AdvancedMove | ||
Mark another two of the basic moves as advanced. | Improvements::AdvancedMove | No uniqueness problem, there's a different description | |
Retire this hunter to safety. | Not Implemented See #101 | ||
Erase one used luck mark from your playbook. | Improvements::GainLuck |