add game_skill_ids for befoulment modifiers
This commit is contained in:
parent
5fd2f5758d
commit
02ca7905d3
3 changed files with 54 additions and 15 deletions
|
|
@ -32,14 +32,15 @@ class SeedWeaponStatModifiers < ActiveRecord::Migration[8.0]
|
|||
]
|
||||
|
||||
befoulments = [
|
||||
{ slug: 'befoul_atk_down', name_en: 'ATK Down', name_jp: '攻撃力DOWN', category: 'befoulment', stat: 'atk', polarity: -1, suffix: '%', base_min: -12, base_max: -6, game_skill_id: nil },
|
||||
# Befoulments - game_skill_ids from game data (2873-2881, 2876 doesn't exist)
|
||||
{ slug: 'befoul_atk_down', name_en: 'ATK Down', name_jp: '攻撃力DOWN', category: 'befoulment', stat: 'atk', polarity: -1, suffix: '%', base_min: -12, base_max: -6, game_skill_id: 2873 },
|
||||
{ slug: 'befoul_ability_dmg_down', name_en: 'Ability DMG Down', name_jp: 'アビリティダメージDOWN', category: 'befoulment', stat: 'ability_dmg', polarity: -1, suffix: '%', base_min: -50, base_max: -50, game_skill_id: 2874 },
|
||||
{ slug: 'befoul_ca_dmg_down', name_en: 'CA DMG Down', name_jp: '奥義ダメージDOWN', category: 'befoulment', stat: 'ca_dmg', polarity: -1, suffix: '%', base_min: -38, base_max: -26, game_skill_id: 2875 },
|
||||
{ slug: 'befoul_da_ta_down', name_en: 'DA/TA Down', name_jp: '連撃率DOWN', category: 'befoulment', stat: 'da_ta', polarity: -1, suffix: '%', base_min: -22, base_max: -19, game_skill_id: 2877 },
|
||||
{ slug: 'befoul_debuff_down', name_en: 'Debuff Success Down', name_jp: '弱体成功率DOWN', category: 'befoulment', stat: 'debuff_success', polarity: -1, suffix: '%', base_min: -16, base_max: -6, game_skill_id: 2878 },
|
||||
{ slug: 'befoul_hp_down', name_en: 'Max HP Down', name_jp: '最大HP減少', category: 'befoulment', stat: 'hp', polarity: -1, suffix: '%', base_min: -50, base_max: -26, game_skill_id: 2879 },
|
||||
{ slug: 'befoul_def_down', name_en: 'DEF Down', name_jp: '防御力DOWN', category: 'befoulment', stat: 'def', polarity: -1, suffix: '%', base_min: -25, base_max: -21, game_skill_id: 2880 },
|
||||
{ slug: 'befoul_da_ta_down', name_en: 'DA/TA Down', name_jp: '連撃率DOWN', category: 'befoulment', stat: 'da_ta', polarity: -1, suffix: '%', base_min: -22, base_max: -19, game_skill_id: nil },
|
||||
{ slug: 'befoul_ca_dmg_down', name_en: 'CA DMG Down', name_jp: '奥義ダメージDOWN', category: 'befoulment', stat: 'ca_dmg', polarity: -1, suffix: '%', base_min: -38, base_max: -26, game_skill_id: nil },
|
||||
{ slug: 'befoul_dot', name_en: 'Damage Over Time', name_jp: '毎ターンダメージ', category: 'befoulment', stat: 'dot', polarity: -1, suffix: '%', base_min: 6, base_max: 16, game_skill_id: nil },
|
||||
{ slug: 'befoul_hp_down', name_en: 'Max HP Down', name_jp: '最大HP減少', category: 'befoulment', stat: 'hp', polarity: -1, suffix: '%', base_min: -50, base_max: -26, game_skill_id: nil },
|
||||
{ slug: 'befoul_debuff_down', name_en: 'Debuff Success Down', name_jp: '弱体成功率DOWN', category: 'befoulment', stat: 'debuff_success', polarity: -1, suffix: '%', base_min: -16, base_max: -6, game_skill_id: nil },
|
||||
{ slug: 'befoul_ability_dmg_down', name_en: 'Ability DMG Down', name_jp: 'アビリティダメージDOWN', category: 'befoulment', stat: 'ability_dmg', polarity: -1, suffix: '%', base_min: -50, base_max: -50, game_skill_id: nil }
|
||||
{ slug: 'befoul_dot', name_en: 'Damage Over Time', name_jp: '毎ターンダメージ', category: 'befoulment', stat: 'dot', polarity: -1, suffix: '%', base_min: 6, base_max: 16, game_skill_id: 2881 }
|
||||
]
|
||||
|
||||
now = Time.current
|
||||
|
|
|
|||
38
db/data/20251230000003_add_befoulment_game_skill_ids.rb
Normal file
38
db/data/20251230000003_add_befoulment_game_skill_ids.rb
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddBefoulmentGameSkillIds < ActiveRecord::Migration[8.0]
|
||||
# Befoulment game_skill_id mapping from game data:
|
||||
# 2873: ex_skill_atk_down | ATK Lowered
|
||||
# 2874: ex_skill_ab_atk_down | Skill DMG Lowered
|
||||
# 2875: ex_skill_sp_atk_down | C.A. DMG Lowered
|
||||
# 2876: (doesn't exist)
|
||||
# 2877: ex_skill_ta_down | Multiattack Rate Lowered
|
||||
# 2878: ex_skill_ailment_enhance_down | Debuff Success Rate Lowered
|
||||
# 2879: ex_skill_hp_down | HP Cut
|
||||
# 2880: ex_skill_def_down | Def Lowered (already mapped)
|
||||
# 2881: ex_skill_turn_damage | Turn DMG
|
||||
|
||||
BEFOULMENT_GAME_SKILL_IDS = {
|
||||
'befoul_atk_down' => 2873,
|
||||
'befoul_ability_dmg_down' => 2874,
|
||||
'befoul_ca_dmg_down' => 2875,
|
||||
'befoul_da_ta_down' => 2877,
|
||||
'befoul_debuff_down' => 2878,
|
||||
'befoul_hp_down' => 2879,
|
||||
'befoul_def_down' => 2880, # Already set, but include for completeness
|
||||
'befoul_dot' => 2881
|
||||
}.freeze
|
||||
|
||||
def up
|
||||
BEFOULMENT_GAME_SKILL_IDS.each do |slug, game_skill_id|
|
||||
WeaponStatModifier.where(slug: slug).update_all(game_skill_id: game_skill_id)
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
# Clear game_skill_ids for befoulments (except def_down which was already set)
|
||||
BEFOULMENT_GAME_SKILL_IDS.except('befoul_def_down').each_key do |slug|
|
||||
WeaponStatModifier.where(slug: slug).update_all(game_skill_id: nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -36,15 +36,15 @@ ax_skills = [
|
|||
]
|
||||
|
||||
befoulments = [
|
||||
# Befoulments - game_skill_ids will be populated as we discover them
|
||||
{ slug: 'befoul_atk_down', name_en: 'ATK Down', name_jp: '攻撃力DOWN', category: 'befoulment', stat: 'atk', polarity: -1, suffix: '%', base_min: -12, base_max: -6, game_skill_id: nil },
|
||||
# Befoulments - game_skill_ids from game data (2873-2881, 2876 doesn't exist)
|
||||
{ slug: 'befoul_atk_down', name_en: 'ATK Down', name_jp: '攻撃力DOWN', category: 'befoulment', stat: 'atk', polarity: -1, suffix: '%', base_min: -12, base_max: -6, game_skill_id: 2873 },
|
||||
{ slug: 'befoul_ability_dmg_down', name_en: 'Ability DMG Down', name_jp: 'アビリティダメージDOWN', category: 'befoulment', stat: 'ability_dmg', polarity: -1, suffix: '%', base_min: -50, base_max: -50, game_skill_id: 2874 },
|
||||
{ slug: 'befoul_ca_dmg_down', name_en: 'CA DMG Down', name_jp: '奥義ダメージDOWN', category: 'befoulment', stat: 'ca_dmg', polarity: -1, suffix: '%', base_min: -38, base_max: -26, game_skill_id: 2875 },
|
||||
{ slug: 'befoul_da_ta_down', name_en: 'DA/TA Down', name_jp: '連撃率DOWN', category: 'befoulment', stat: 'da_ta', polarity: -1, suffix: '%', base_min: -22, base_max: -19, game_skill_id: 2877 },
|
||||
{ slug: 'befoul_debuff_down', name_en: 'Debuff Success Down', name_jp: '弱体成功率DOWN', category: 'befoulment', stat: 'debuff_success', polarity: -1, suffix: '%', base_min: -16, base_max: -6, game_skill_id: 2878 },
|
||||
{ slug: 'befoul_hp_down', name_en: 'Max HP Down', name_jp: '最大HP減少', category: 'befoulment', stat: 'hp', polarity: -1, suffix: '%', base_min: -50, base_max: -26, game_skill_id: 2879 },
|
||||
{ slug: 'befoul_def_down', name_en: 'DEF Down', name_jp: '防御力DOWN', category: 'befoulment', stat: 'def', polarity: -1, suffix: '%', base_min: -25, base_max: -21, game_skill_id: 2880 },
|
||||
{ slug: 'befoul_da_ta_down', name_en: 'DA/TA Down', name_jp: '連撃率DOWN', category: 'befoulment', stat: 'da_ta', polarity: -1, suffix: '%', base_min: -22, base_max: -19, game_skill_id: nil },
|
||||
{ slug: 'befoul_ca_dmg_down', name_en: 'CA DMG Down', name_jp: '奥義ダメージDOWN', category: 'befoulment', stat: 'ca_dmg', polarity: -1, suffix: '%', base_min: -38, base_max: -26, game_skill_id: nil },
|
||||
{ slug: 'befoul_dot', name_en: 'Damage Over Time', name_jp: '毎ターンダメージ', category: 'befoulment', stat: 'dot', polarity: -1, suffix: '%', base_min: 6, base_max: 16, game_skill_id: nil },
|
||||
{ slug: 'befoul_hp_down', name_en: 'Max HP Down', name_jp: '最大HP減少', category: 'befoulment', stat: 'hp', polarity: -1, suffix: '%', base_min: -50, base_max: -26, game_skill_id: nil },
|
||||
{ slug: 'befoul_debuff_down', name_en: 'Debuff Success Down', name_jp: '弱体成功率DOWN', category: 'befoulment', stat: 'debuff_success', polarity: -1, suffix: '%', base_min: -16, base_max: -6, game_skill_id: nil },
|
||||
{ slug: 'befoul_ability_dmg_down', name_en: 'Ability DMG Down', name_jp: 'アビリティダメージDOWN', category: 'befoulment', stat: 'ability_dmg', polarity: -1, suffix: '%', base_min: -50, base_max: -50, game_skill_id: nil }
|
||||
{ slug: 'befoul_dot', name_en: 'Damage Over Time', name_jp: '毎ターンダメージ', category: 'befoulment', stat: 'dot', polarity: -1, suffix: '%', base_min: 6, base_max: 16, game_skill_id: 2881 }
|
||||
]
|
||||
|
||||
(ax_skills + befoulments).each do |attrs|
|
||||
|
|
|
|||
Loading…
Reference in a new issue