Package client
package client
用戶端連線與角色領域核心:玩家工作階段、角色實體、技能系統與各式遊戲列舉。
MapleClient 是單一連線的中樞,封裝工作階段/帳號狀態、登入狀態機,以及每連線快取的腳本引擎;
收發封包的 AES-OFB 金鑰與帳號驗證亦由此維護,登入加密則交由 LoginCrypto 與 LoginCryptoLegacy。
MapleCharacter 是全庫最大的玩家實體中心類別;P5 重構將其多個子系統外科式拆出為協作者
CharacterLogManager、CharacterCooldownDiseaseManager、CharacterPetManager、
CharacterQuestManager、CharacterSocialManager、CharacterStatsManager 與
CharacterAnticheatManager,本體保留簽名相同的一行委派以維持呼叫端不變。
技能系統以 Skill 為資料模型、SkillFactory 為載入與查詢入口;遊戲規則列舉包含
MapleJob、MapleStat、MapleBuffStat 與 MapleDisease 等。背包/裝備/寵物
模型置於子套件 client.inventory,狀態效果置於 client.status,作弊偵測置於 client.anticheat,
指令處理置於 client.messages。
-
ClassDescription角色好友清單的記憶體模型,負責管理好友集合與資料庫持久化。好友清單中單筆好友記錄的資料容器。帳號「角色卡(character card)」單張卡片的資料模型:記錄被登錄角色的 id、職業與等級。角色「防作弊/檢舉(anticheat / report)」子系統的協作者,由 P5 God class 拆分自
MapleCharacter。角色「技能冷卻(cooldown)與異常狀態(disease/debuff)」子系統的協作者,由 P5 God class 拆分自MapleCharacter。角色各種「*log」資料表的查詢/寫入協作者,由 P5 God class 拆分自MapleCharacter。角色名稱、資料庫 ID 與好友群組的輕量值容器。角色「寵物(pet)」子系統的協作者,由 P5 God class 拆分自MapleCharacter。角色「任務(quest)」子系統的協作者(核心任務 + 組隊任務 party quest),由 P5 God class 拆分自MapleCharacter。角色「社交(social)」子系統的協作者,由 P5 God class 拆分自MapleCharacter。角色「能力進程(stats progression)」子系統的協作者,由 P5 God class 拆分自MapleCharacter。角色「內在能力」(Inner Ability)的轉換邏輯服務類別,實作為單例。一次內在能力抽選結果的不可變值容器。登入驗證所需的密碼雜湊與輔助加密工具類別。Provides cryptographic functions for password hashing.楓之谷 v149 用戶端 buff 狀態的位元旗標列舉,對應封包中的 8 組int遮罩欄位。單一 buff 效果的執行期狀態值容器。玩家角色實體,全庫最大的中央領域類別。武陵道場的挑戰模式列舉。送出聲望(fame/人氣)結果狀態。角色管理的靜態工具類別,提供名稱驗證、資料庫查詢與帳號輔助功能。單一玩家連線的會話、帳號狀態與登入狀態機。角色名稱與編號的不可變配對。單一技能冷卻計時的資料容器。楓之谷 v149 怪物技能施加的負面狀態(debuff/疾病)列舉。單一負面狀態(疾病/debuff)執行期計時的資料容器。楓之谷 v149 所有職業的列舉定義,每個常數對應一個職業代碼(jobid)。角色鍵盤配置的記憶體模型與資料庫持久化。單一任務在角色身上的執行狀態快照。角色屬性欄位的旗標枚舉,對應封包中的位元遮罩值。角色單一特性(魅力、洞察力、意志力、工藝、感知、魅惑)的經驗值與等級模型。角色怪物圖鑑的記憶體模型、套組分數計算與資料庫持久化。角色召喚的怪物夥伴(Familiar)地圖物件。玩家連線階段的偽亂數串流,實作楓之谷客戶端的CRand32三狀態線性回饋移位算法。角色戰鬥數值的計算核心,彙整裝備、技能、buff、套組、角色卡與內在能力後的最終屬性快照。猜拳小遊戲(Rock-Paper-Scissors)的伺服器端會話狀態機。單一技能的不可變定義物件,包含所有等級的效果資料與元屬性。角色習得技能的單筆記錄,儲存目前等級、主等級、到期時間與來源道具 ID。全伺服器共用的技能資料靜態工廠,於啟動時從 WZ 檔載入並快取所有技能定義。角色技能巨集(Skill Macro)的單筆設定資料。召喚技能攻擊參數的輕量資料持有類別。