Process element for changeable weapons
This commit is contained in:
parent
5b8fcdcfba
commit
ed66784c1b
1 changed files with 16 additions and 3 deletions
|
|
@ -139,6 +139,15 @@ module Processors
|
||||||
1040208200 1040214000 1040021100 1040417200 1040012600 1040317500 1040402900].freeze
|
1040208200 1040214000 1040021100 1040417200 1040012600 1040317500 1040402900].freeze
|
||||||
ELEMENTAL_WEAPON_MAPPING_INT = ELEMENTAL_WEAPON_MAPPING.map(&:to_i).sort.freeze
|
ELEMENTAL_WEAPON_MAPPING_INT = ELEMENTAL_WEAPON_MAPPING.map(&:to_i).sort.freeze
|
||||||
|
|
||||||
|
ELEMENT_MAPPING = {
|
||||||
|
0 => nil,
|
||||||
|
1 => 4, # Wind -> Earth
|
||||||
|
2 => 2, # Fire -> Fire
|
||||||
|
3 => 3, # Water -> Water
|
||||||
|
4 => 1, # Earth -> Wind
|
||||||
|
5 => 6, # Dark -> Light
|
||||||
|
6 => 5 # Light -> Dark
|
||||||
|
}.freeze
|
||||||
##
|
##
|
||||||
# Initializes a new WeaponProcessor.
|
# Initializes a new WeaponProcessor.
|
||||||
#
|
#
|
||||||
|
|
@ -201,15 +210,19 @@ module Processors
|
||||||
uncap_level = raw_weapon.dig('param', 'uncap').to_i
|
uncap_level = raw_weapon.dig('param', 'uncap').to_i
|
||||||
level = raw_weapon.dig('param', 'level').to_i
|
level = raw_weapon.dig('param', 'level').to_i
|
||||||
transcendence_step = level_to_transcendence(level)
|
transcendence_step = level_to_transcendence(level)
|
||||||
element = raw_weapon.dig('param', 'element') || raw_weapon.dig('master', 'attribute')
|
|
||||||
series = raw_weapon.dig('master', 'series_id')
|
series = raw_weapon.dig('master', 'series_id')
|
||||||
|
|
||||||
weapon_id = raw_weapon.dig('master', 'id')
|
weapon_id = raw_weapon.dig('master', 'id')
|
||||||
|
|
||||||
processed_weapon_id = if Weapon.element_changeable?(series)
|
processed_weapon_id = if Weapon.element_changeable?(series)
|
||||||
process_elemental_weapon(weapon_id)
|
process_elemental_weapon(weapon_id)
|
||||||
else
|
else
|
||||||
weapon_id
|
weapon_id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
processed_element = if Weapon.element_changeable?(series)
|
||||||
|
ELEMENT_MAPPING[raw_weapon.dig('master', 'attribute')]
|
||||||
|
end
|
||||||
|
|
||||||
weapon = Weapon.find_by(granblue_id: processed_weapon_id)
|
weapon = Weapon.find_by(granblue_id: processed_weapon_id)
|
||||||
|
|
||||||
unless weapon
|
unless weapon
|
||||||
|
|
@ -224,7 +237,7 @@ module Processors
|
||||||
mainhand: mainhand,
|
mainhand: mainhand,
|
||||||
uncap_level: uncap_level,
|
uncap_level: uncap_level,
|
||||||
transcendence_step: transcendence_step,
|
transcendence_step: transcendence_step,
|
||||||
element: element
|
element: processed_element
|
||||||
)
|
)
|
||||||
|
|
||||||
arousal_data = raw_weapon.dig('param', 'arousal')
|
arousal_data = raw_weapon.dig('param', 'arousal')
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue