Package handling.channel.handler
此 package 是 ChannelServer 的封包分派終點。handling.MapleServerHandler
讀取 short opcode、比對 RecvPacketOpcode 列舉後,於其 handlePacket switch
將封包轉交至本 package 的對應 handler。每個 handler 多為靜態工具類,從 LittleEndianAccessor
解析欄位、操作 MapleCharacter 與 MapleMap 等領域物件,再以 tools.packet
下的 builder(CField、CWvsContext 等)組出回應封包廣播。
核心玩法處理器包含 PlayerHandler(移動/技能/傷害以外的玩家動作)、InventoryHandler(道具與裝備)、
MobHandler(怪物 AI 與技能)、NPCHandler(NPC 對話、商店、儲值倉,銜接 NPCScriptManager)、
PlayerInteractionHandler(交易、玩家商店、雇傭商人)。MovementParse 負責解析玩家/怪物/寵物/召喚獸的
移動指令,DamageParse 與 AttackInfo/AttackType 處理近戰/遠程/魔法攻擊與傷害計算。
其餘 handler 涵蓋聊天、組隊、公會、聯盟、家族、好友、寵物、召喚獸、能力值、使用者介面、快遞、怪物嘉年華、道具製作與
雇傭商人等子系統,分別對應 ChatHandler、PartyHandler、GuildHandler、AllianceHandler、
FamilyHandler、BuddyListHandler、PetHandler、SummonHandler、StatsHandling、
UserInterfaceHandler、DueyHandler、MonsterCarnivalHandler、ItemMakerHandler 與
HiredMerchantHandler。
-
ClassDescription聯盟(Guild Union)相關封包的頻道端處理器。單次攻擊動作的解析資料容器,由
DamageParse從收到的攻擊封包填入。攻擊類型的列舉,用於區分近戰、遠程、影分身遠程與鏡像近戰四種攻擊模式。公會布告欄(BBS)相關封包的頻道端處理器。好友清單(Buddy List)相關封包的頻道端處理器。遊戲內各種聊天頻道封包的頻道端處理器。玩家攻擊封包的「傷害計算與套用」核心,供PlayerHandler的各攻擊處理器呼叫。快遞系統(Duey)相關封包的頻道端處理器。家族(Family)系統相關封包的頻道端處理器。公會(Guild)相關封包的頻道端處理器。雇傭商人(Hired Merchant / 精靈商人)相關封包的頻道端處理器。處理頻道伺服器與現金商城/MTS 之間的跨伺服器轉移封包。頻道伺服器中「背包與道具操作」的封包處理器,由MapleServerHandler的封包分派表呼叫。處理玩家職業製作系統(Maker System)的封包,涵蓋採集、裝備製造、寶石合成及強化。頻道伺服器中「怪物行為與召喚獸/親密怪」的封包處理器,由MapleServerHandler的封包分派表呼叫。處理怪物嘉年華(Monster Carnival)PQ 的封包,管理 CP 消耗、怪物召喚與技能施放。移動封包的「位移序列解析與套用」工具,供處理玩家/怪物/寵物/召喚獸/龍移動的處理器共用。頻道伺服器中「NPC 互動、對話腳本與任務」的封包處理器,由MapleServerHandler的封包分派表呼叫。處理組隊、遠征隊(Expedition)及組隊搜尋相關封包的頻道端處理器。處理寵物相關封包,包含召喚、自動補血/補魔、自動技能、移動與撿物邏輯。頻道伺服器中「玩家自身動作」的封包處理器,由MapleServerHandler的封包分派表呼叫。處理玩家互動封包,統一管理交易、玩家商店、雇用商人與迷你遊戲的全部操作。處理玩家社交與查詢相關封包,涵蓋留言、聲望、角色查詢、攻擊報告及結婚系統。處理角色能力值分配封包,負責 AP 手動/自動分配及 SP 技能點加點邏輯。處理召喚物與龍相關封包,包含移動、攻擊、傷害回報及生命週期管理。處理使用者介面(UI)相關封包,包含天使之神召喚請求、遊戲內投票及船隻物件查詢。