summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-05-26 21:59:47 -0400
committerDavid Gay <david@davidgay.org>2021-05-26 21:59:47 -0400
commitb923b0febd35ba1b635dde02a7f97428367f7831 (patch)
tree9446f9c5d06ee98af08463ac78a838311f62ca73 /app/models
parent6ad1800081d8bbbf9375dc9744f7f35357c19d68 (diff)
Implement activity speed increases from HAs, add lab 2, and tweak some construct costs
Diffstat (limited to 'app/models')
-rw-r--r--app/models/character.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/models/character.rb b/app/models/character.rb
index 073a986..c973d7d 100644
--- a/app/models/character.rb
+++ b/app/models/character.rb
@@ -118,6 +118,8 @@ class Character < ApplicationRecord
case scaling_entry[:type]
when "skill"
duration -= self.skill_level(scaling_entry[:gid]) * scaling_entry[:scale_value]
+ when "stat"
+ duration -= self.total_stat_change(scaling_entry[:gid]) * scaling_entry[:scale_value]
else
raise "Invalid scaling type." # TODO: Improve this
end
@@ -181,7 +183,7 @@ class Character < ApplicationRecord
end
def total_stat_change(stat)
- effects.filter_map { |e| e[:modifier] if e[:type] == "stat_change" }.sum
+ effects.filter_map { |e| e[:modifier] if e[:type] == "stat_change" && e[:stat] == stat }.sum
end
def can_fight?