Class MapleQuest

java.lang.Object
server.quest.MapleQuest
All Implemented Interfaces:
Serializable

public class MapleQuest extends Object implements Serializable
任務系統的核心資料模型,代表一個完整的楓之谷任務定義(接取條件、完成條件與獎勵動作)。

啟動時由 initQuests() 從 MySQL 批次載入所有任務後快取於靜態 quests Map; 外部透過 getInstance(int) 以任務 ID 取得對應實例。每個任務持有:

  • MapleQuestRequirement 列表(接取前置條件 startReqs、完成前置條件 completeReqs)。
  • MapleQuestAction 列表(接取獎勵 startActs、完成獎勵 completeActs)。
  • 自動接取/自動完成/可重複等旗標,以及組隊任務排行資訊 partyQuestInfo

start(MapleCharacter, int)complete(MapleCharacter, int) 分別驗證條件後執行對應動作,並更新角色的 MapleQuestStatus;完成有腳本 (customend) 的任務時轉交 NPCScriptManager 執行 JS 腳本。

See Also: