diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/character.rb | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/app/models/character.rb b/app/models/character.rb index c973d7d..9eb34cf 100644 --- a/app/models/character.rb +++ b/app/models/character.rb @@ -128,12 +128,14 @@ class Character < ApplicationRecord duration - (Time.now - self.activity_started_at) end - def can_do_activity?(activity) + def can_do_activity?(activity, ignore_cost: false) return false unless activity.innate? || self.learned_activities.exists?(activity: activity) - activity.whatnot[:cost]&.each do |cost| - case cost[:type] - when "item" - return false unless self.has_item?(cost[:gid], cost[:quantity]) + unless ignore_cost + activity.whatnot[:cost]&.each do |cost| + case cost[:type] + when "item" + return false unless self.has_item?(cost[:gid], cost[:quantity]) + end end end activity.whatnot[:requirements]&.each do |requirement| |