lib/smite/god_stats.rb in smite_ruby-1.4.5 vs lib/smite/god_stats.rb in smite_ruby-1.4.6

- old
+ new

@@ -4,11 +4,11 @@ def initialize(god_name, data, params = { level: 1 }) super(data) @name = god_name @items = params[:items] || [] - @level = (params[:level].to_i - 1) % 20 + @level = [[(params[:level].to_i - 1), 19].min, 0].max end def at_level(new_level) GodStats.new(name, @data, { level: new_level, items: items }) end @@ -16,81 +16,90 @@ def with_items(new_items) GodStats.new(name, @data, { level: level, items: new_items }) end def movement_speed - from_items = item_bonus[:movement_speed] + from_items = bonus_from_items[:movement_speed] base = data['movement_speed'] + scaling = movement_speed_per_level * level - from_items + base + from_items + base + scaling end def health - from_items = item_bonus[:health] + from_items = bonus_from_items[:health] base = data['health'] scaling = health_per_level * level from_items + base + scaling end def mana - from_items = item_bonus[:mana] + from_items = bonus_from_items[:mana] base = data['mana'] scaling = mana_per_level * level from_items + base + scaling end def mp5 - from_items = item_bonus[:mp5] + from_items = bonus_from_items[:mp5] base = data['mp5'] scaling = (mp5_per_level * level.to_f).to_i from_items + base + scaling end def hp5 - from_items = item_bonus[:hp5] + from_items = bonus_from_items[:hp5] base = data['hp5'] scaling = (hp5_per_level * level.to_f).to_i from_items + base + scaling end def attack_speed - from_items = item_bonus[:attack_speed] + from_items = bonus_from_items[:attack_speed] base = data['attack_speed'] scaling = (attack_speed_per_level * level.to_f).to_i from_items + base + scaling end - def magic_power - from_items = item_bonus[:magic_power] - base = data['magic_power'] - scaling = magic_power_per_level * level + def magical_power + from_items = bonus_from_items[:magical_power] + base = data['magical_power'] + scaling = magical_power_per_level * level from_items + base + scaling end def magic_protection - from_items = item_bonus[:magic_protection] + from_items = bonus_from_items[:magic_protection] base = data['magic_protection'] scaling = (magic_protection_per_level * level.to_f).to_i from_items + base + scaling end + def physical_power + from_items = bonus_from_items[:physical_power] + base = data['physical_power'] + scaling = physical_power_per_level * level + + from_items + base + scaling + end + def physical_protection - from_items = item_bonus[:physical_protection] + from_items = bonus_from_items[:physical_protection] base = data['physical_protection'] scaling = (physical_protection_per_level * level.to_f).to_i from_items + base + scaling end - def item_bonus + def bonus_from_items return @item_bonus unless @item_bonus.nil? @item_bonus = default_bonus items.map(&:effects).flatten.select do |effect| next unless attributes.include?(effect.attribute) @@ -112,8 +121,12 @@ private def default_bonus @default_bonus ||= attributes.each_with_object({}) { |attr, hash| hash[attr.to_sym] = 0 } + end + + def movement_speed_per_level + 0 end end end \ No newline at end of file