From 25c499ae942086b460b886e3d79dc5a55e5f1214 Mon Sep 17 00:00:00 2001 From: David Gay Date: Thu, 6 May 2021 09:42:43 -0400 Subject: Implement drop table scaling --- app/controllers/game_controller.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'app/controllers') diff --git a/app/controllers/game_controller.rb b/app/controllers/game_controller.rb index 4e55924..d69645f 100644 --- a/app/controllers/game_controller.rb +++ b/app/controllers/game_controller.rb @@ -13,7 +13,15 @@ class GameController < ApplicationController result[:table].sort_by { |_, v| -v[:score] }.each do |item_gid, item_data| quantity = item_data[:quantity] || 1 - if table_roll >= item_data[:score] + + score = item_data[:score] + if result[:table_scaling] + result[:table_scaling][:skills]&.each do |skill_gid, scale_value| + score = score**(1 + (scale_value * current_char.skill_level(skill_gid))) + end + end + + if table_roll >= score item = Item.find_by_gid(item_gid) xp_awards = {} if item.whatnot && item.whatnot.key?(:xp_value) -- cgit v1.2.3