diff options
Diffstat (limited to 'app/controllers/game_controller.rb')
-rw-r--r-- | app/controllers/game_controller.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/controllers/game_controller.rb b/app/controllers/game_controller.rb index 2de342a..04d743c 100644 --- a/app/controllers/game_controller.rb +++ b/app/controllers/game_controller.rb @@ -129,6 +129,15 @@ class GameController < ApplicationController .find_or_initialize_by(hearth_amenity: HearthAmenity.find_by_gid(result[:gid])) bhi.update(level: result[:level]) @results.push({ type: type, hearth_amenity: bhi.hearth_amenity }) + when "hearth_planting" + unless current_char.hearth.available_planting_spots > 0 + @results.replace([{ type: "error", message: "You're out of space to plant seeds." }]) + current_char.stop_activity + return + end + item = Item.find_by_gid(result[:gid]) + hp = current_char.hearth.hearth_plantings.create(item: item) + @results.push({ type: type, hearth_planting: hp }) when "activity" next if rand > (result[:chance] || 1) table_roll = rand @@ -174,6 +183,9 @@ class GameController < ApplicationController rescue ItemQuantityError current_char.stop_activity @results.replace([{ type: "error", message: "You don't have enough items to complete this activity." }]) + rescue HearthPlantingError + current_char.stop_activity + @results.replace([{ type: "error", message: "You don't have that crop planted." }]) rescue TooManyWoundsError current_char.stop_activity @results.replace([{ type: "error", |