update weapon processor to use weapon_series
This commit is contained in:
parent
bd5f1b0240
commit
20ea6e4fd8
1 changed files with 12 additions and 2 deletions
|
|
@ -280,7 +280,7 @@ module Processors
|
||||||
# @param skill_ids [Array<String>] an array of key identifiers.
|
# @param skill_ids [Array<String>] an array of key identifiers.
|
||||||
# @return [void]
|
# @return [void]
|
||||||
def process_weapon_keys(grid_weapon, skill_ids)
|
def process_weapon_keys(grid_weapon, skill_ids)
|
||||||
series = grid_weapon.weapon.series.to_i
|
weapon_series = grid_weapon.weapon.weapon_series
|
||||||
|
|
||||||
skill_ids.each_with_index do |skill_id, idx|
|
skill_ids.each_with_index do |skill_id, idx|
|
||||||
# Go to the next iteration unless the key under which `skill_id` exists
|
# Go to the next iteration unless the key under which `skill_id` exists
|
||||||
|
|
@ -289,7 +289,17 @@ module Processors
|
||||||
|
|
||||||
# Fetch the key from the mapping_pair and find the weapon key based on the weapon series
|
# Fetch the key from the mapping_pair and find the weapon key based on the weapon series
|
||||||
mapping_value = mapping_pair.first
|
mapping_value = mapping_pair.first
|
||||||
candidate = WeaponKey.where('granblue_id = ? AND ? = ANY(series)', mapping_value, series).first
|
|
||||||
|
# Find weapon key using the new weapon_series relationship
|
||||||
|
candidate = if weapon_series.present?
|
||||||
|
WeaponKey.joins(:weapon_series)
|
||||||
|
.where(granblue_id: mapping_value, weapon_series: { id: weapon_series.id })
|
||||||
|
.first
|
||||||
|
else
|
||||||
|
# Fallback to legacy series lookup for backwards compatibility
|
||||||
|
series = grid_weapon.weapon.series.to_i
|
||||||
|
WeaponKey.where('granblue_id = ? AND ? = ANY(series)', mapping_value, series).first
|
||||||
|
end
|
||||||
|
|
||||||
if candidate
|
if candidate
|
||||||
grid_weapon["weapon_key#{idx + 1}_id"] = candidate.id
|
grid_weapon["weapon_key#{idx + 1}_id"] = candidate.id
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue