2月 122015
 
Pocket

以下のAPIが使用される。

  • 改修工廠画面を開く
    • /kcsapi/api_req_kousyou/remodel_slotlist
  • 改修装備を選択
    • /kcsapi/api_req_kousyou/remodel_slotlist_detail
  • 改修開始
    • /kcsapi/api_req_kousyou/remodel_slot


remodel_slotlist

改修工廠画面を開く

api_data
  • 3件固定の配列
  • 順番に、上段、中段、下段のレシピデータ
レシピデータ
property description
api_id レシピID。1桁目が上段、中段、下段を示すように見えるが、特にそこで判断している事は無さそう。
api_req_bauxite 必要ボーキサイト量
api_req_buildkit 必要開発資材数
api_req_bull 必要弾薬量
api_req_fuel 必要燃料量
api_req_remodelkit 必要ネジ数
api_req_slot_id 消費装備マスタID
api_req_slot_num 消費装備数
api_req_steel 必要鋼材量
api_slot_id 改修元装備マスタID


remodel_slotlist_detail

改修装備を選択

Request
property description
api_slot_id 改修元装備メンバID
api_id レシピID
Response

property description
api_certain_buildkit 確実化時の必要開発資材数
api_certain_remodelkit 確実化時の必要ネジ資材数
api_change_flag 装備更新フラグ。1の場合装備更新となる。
api_req_buildkit 必要開発資材数
api_req_remodelkit 必要ネジ数
api_req_slot_id 消費装備マスタID
api_req_slot_num 消費装備数


remodel_slot

改修開始

Request
property description
api_slot_id 改修元装備メンバID
api_certain_flag 改修確実化フラグ。1の場合確実化。
api_id レシピID
Response
成功時 失敗時 装備更新時
property description
api_after_material 改修実施後資源。順番に、燃料、弾薬、鋼材、ボーキ、バーナー、バケツ、開発資材、改修資材。
api_after_slot 改修後の、改修元装備データ。失敗時には存在しない。
api_id 改修元装備メンバID。装備更新後も変更されない。
api_level ★数。0~10。
api_locked 装備ロックフラグ。1の場合ロック。
api_slotitem_id 改修元装備マスタID
api_remodel_flag 改修成否フラグ。1の場合成功。
api_remodel_id 改修前後の装備マスタID。1つ目が改修。2つ目が改修。装備更新時以外は同じIDが返る。
api_use_slot_id 消費装備メンバIDの配列。
api_voice_id 改修時に再生される二番艦のボイスID。どのキャラかは艦隊データから取得される。


おまけ

改修工廠で装備更新すると、改装画面の装備一覧でソート順がおかしくなる問題があるので原因を調べた。

装備一覧のソート方法
  1. start2のstypeのequip_typeから装備可能なタイプ一覧を取得
    • ビスマルクの魚雷(type5)と51cm砲(type38)はここでハードコーディング
  2. タイプ一覧をArray.sort()でNumericソート
  3. get_member/unsetslotのslottype + typeIDな一覧を取得(中身は謎の順番)
  4. concatして終わり
原因

装備更新すると、装備IDはそのままで別の装備に変更されるが、unsetslotの更新は行われない。
そのため、更新前のソート場所に居座ったままとなってしまう。

この問題を修正するためには、今のロジックのままだとremodel_slot時にunsetslot情報を更新する必要がある。

51cm砲が一覧の末尾にくる問題

試製51cm連装砲は、ソートアルゴリズム上ではtype38(大口径主砲(Ⅱ))として扱われているため、タイプIDソートにより末尾となる。

ただしstart2のmst_slotitem上ではtype3(大口径主砲)が設定されており、どちらが正しいのかは謎。

 Leave a Reply