※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

パイロットリストを作成する


指定のソートキーによってソートされたパイロットのリストを作成するサブルーチンです。

複数のキーによる複合ソートが可能で、「回避 + 運動性」の場合は「(回避 運動性)」(SRCリスト形式)と引数に指定します。

MakePilotList:
  // ソートキーのデータを取得する
  Local _pilot _lnum i _templist _skey
  ForEach _pilot In パイロット一覧(レベル)
    // 味方以外はスキップ
    If (Party(_pilot) != "味方") Then
      Skip
    EndIf

    _templist[_pilot] = 0  // 初期化

    _lnum = LLength(Args(1))
    For i = 1 to _lnum
      _skey =  LIndex(Args(1), i)  // ソートキーを取得
      Switch _skey
      Case "レベル" "SP" "格闘" "射撃" "命中" "回避" "技量" "反応" "気力"
        Incr _templist[_pilot] Info("パイロット", _pilot, _skey)
      Case "切り払い" "迎撃"
        Incr _templist[_pilot] Info("パイロット", _pilot, "特殊能力レベル", _skey)
      EndSw
    Next
  Next

  // リストをソート
  If (InStr(Args(1), "名称") != 0) Then  // 名称ソートの場合
    Sort _templist "文字"
  Else  // 名称によるソートでない場合
    Sort _templist "降順"
  EndIf

  // ソート結果からパイロットリストを作成
  Local _lnum
  ForEach _pilot In _templist
    _lnum = Count(PilotList) + 1
    PilotList[_lnum] = _pilot
  Next
Return