Skip to content

Extensible Quest Requirement Object Format (EQROF)

Tong Mu edited this page Jul 20, 2016 · 3 revisions
// 一个任务的条件
REQUIREMENTS := [ ACTION_BLOCK ]    // 可能有多个子条件

ACTION_BLOCK := {
  pre: [ PRE_ACTION ],          // 准备的条件,如在第几队,带什么船,带什么装备
  trigger: [ TRIGGER_ACTION ],  // 做的事,比如在某图打到S,拆什么装备
  post: [ POST_ACTION ],        // 之后的事,比如消耗什么物品
  condition: [ CONDITION ],     // 全局要求,比如限一日内完成
}

PRE_ACTION := {
  type: 'fleet',
  fleetId: 1 | .. | 4,
  ships: [ PRE_ACTION_SHIP ],
  size: NUM_LIMIT,
} | {
  type: 'or',
  terms: [ PRE_ACTION ],
}

PRE_ACTION_SHIP := {
  id: INT,
  category: [ INT ],
  flagship: BOOL,
  equips: [ PRE_ACTION_EQUIPS ]
}

PRE_ACTION_EQUIPS := {
  id: INT,
  skill: INT,
  amount: INT,
}

TRIGGER_ACTION := {
  type: 'sortie',
  map: '1-1' | ...,
  boss: BOOL,
  times: INT,
  clear: BOOL,                  // 可以任意加要求,比如1-6用clear
} | {
  type: 'scrap',
  equips: [ PRE_ACTION_EQUIPS ]
  batch: BOOL
} 

POST_ACTION := {
  'consume': 
}

NUM_LIMIT := {
  ge: INT,
  le: INT,
  eq: INT,
} | INT,