* Add migrations * Add weapon key 4 column * Update schema.rb * Add transcendence date to weapon * Rename summon XLB to match weapon * Update blueprints * Update search * Accept weapon transcendence step * Update XLB to transcendence for summons * Add logic for transcending weapons * Add transcendence step to weapon blueprint
50 lines
1.1 KiB
Ruby
50 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Api
|
|
module V1
|
|
class WeaponBlueprint < ApiBlueprint
|
|
field :name do |w|
|
|
{
|
|
en: w.name_en,
|
|
ja: w.name_jp
|
|
}
|
|
end
|
|
|
|
fields :granblue_id, :element, :proficiency,
|
|
:max_level, :max_skill_level, :max_awakening_level, :limit, :rarity,
|
|
:series, :ax, :ax_type
|
|
|
|
field :uncap do |w|
|
|
{
|
|
flb: w.flb,
|
|
ulb: w.ulb,
|
|
transcendence: w.transcendence
|
|
}
|
|
end
|
|
|
|
field :hp do |w|
|
|
{
|
|
min_hp: w.min_hp,
|
|
max_hp: w.max_hp,
|
|
max_hp_flb: w.max_hp_flb,
|
|
max_hp_ulb: w.max_hp_ulb
|
|
}
|
|
end
|
|
|
|
field :atk do |w|
|
|
{
|
|
min_atk: w.min_atk,
|
|
max_atk: w.max_atk,
|
|
max_atk_flb: w.max_atk_flb,
|
|
max_atk_ulb: w.max_atk_ulb
|
|
}
|
|
end
|
|
|
|
field :awakenings, if: ->(_fn, obj, _opt) { obj.awakenings.length.positive? } do |w|
|
|
w.awakenings.map do |a|
|
|
AwakeningBlueprint.render_as_hash(a)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|