summaryrefslogtreecommitdiff
path: root/app/lib
diff options
context:
space:
mode:
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/activity_processor.rb28
1 files changed, 21 insertions, 7 deletions
diff --git a/app/lib/activity_processor.rb b/app/lib/activity_processor.rb
index 9b03f55..e211db4 100644
--- a/app/lib/activity_processor.rb
+++ b/app/lib/activity_processor.rb
@@ -115,6 +115,24 @@ class ActivityProcessor
end
end
+ # Note: This will result in equipment being checked for breakage twice (after combat, and now) if it provides the
+ # `beastslay_speed` stat. At the time of this writing, that stat doesn't exist.
+ # But just something to keep in mind.
+ # Note: This will result in equipment being checked twice if it provides two speed stats.
+ # Fine for now since no equipment gives two skill speed stats, but may want to refine in the future.
+ if @activity.whatnot[:requirements].any?
+ required_skill_gids = @activity.whatnot[:requirements].select { |r| r[:type] == "skill" }.map { |r| r[:gid] }.uniq
+ required_skill_gids.each do |required_skill_gid|
+ skill = Skill.find_by_gid(required_skill_gid)
+ @character.do_skill_based_equipment_break_checks(skill).each do |broken_item|
+ @results.push({ type: "warning", message: "Your #{broken_item.name} was damaged beyond repair!" })
+ end
+ @character.do_skill_based_item_infix_break_checks(skill).each do |broken_item|
+ @results.push({ type: "warning", message: "Your #{broken_item.name} omen faded away." })
+ end
+ end
+ end
+
if @character.activity && @character.queued_actions
if @character.queued_actions > 0
@character.queued_actions -= 1
@@ -282,7 +300,9 @@ class ActivityProcessor
end
if char_hp < 1 || mon_hp < 1
- break_check
+ @character.do_equipment_break_checks.each do |broken_item|
+ @results.push({ type: "warning", message: "Your #{broken_item.name} was damaged beyond repair!" })
+ end
if monster_spawn
hp_lost = monster_spawn.remaining_hp - mon_hp
@@ -325,10 +345,4 @@ class ActivityProcessor
end
end
end
-
- def break_check
- @character.do_equipment_break_checks.each do |broken_item|
- @results.push({ type: "warning", message: "Your #{broken_item.name} was damaged beyond repair!" })
- end
- end
end