hensei-api/app/blueprints/api/v1/grid_weapon_blueprint.rb
Justin Edmund 9cf8626752
Add support for weapon transcendence (#142)
* 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
2024-01-15 14:05:17 -08:00

52 lines
1.4 KiB
Ruby

# frozen_string_literal: true
module Api
module V1
class GridWeaponBlueprint < ApiBlueprint
view :uncap do
association :party, blueprint: PartyBlueprint, view: :minimal
fields :position, :uncap_level
end
view :nested do
fields :mainhand, :position, :uncap_level, :transcendence_step, :element
association :weapon, name: :object, blueprint: WeaponBlueprint
association :weapon_keys,
blueprint: WeaponKeyBlueprint,
if: lambda { |_field_name, w, _options|
[2, 3, 17, 24, 34].include?(w.weapon.series)
}
field :ax, if: ->(_field_name, w, _options) { w.weapon.ax } do |w|
[
{
modifier: w.ax_modifier1,
strength: w.ax_strength1
},
{
modifier: w.ax_modifier2,
strength: w.ax_strength2
}
]
end
end
field :awakening, if: ->(_field_name, w, _options) { w.awakening_id } do |w|
{
type: AwakeningBlueprint.render_as_hash(w.awakening),
level: w.awakening_level
}
end
view :full do
include_view :nested
association :party, blueprint: PartyBlueprint, view: :minimal
end
view :destroyed do
fields :mainhand, :position, :created_at, :updated_at
end
end
end
end