Package server.maps


package server.maps
地圖與地圖物件子系統:地圖實體、地圖上的各式物件,及其載入與管理。

核心為地圖實體 MapleMap,由 MapleMapFactorywz/ 資料載入並快取;地圖內所有可見元素皆繼承自抽象基底 MapleMapObject, 其類別由列舉 MapleMapObjectType 標示,包含怪物、NPC、掉落物 MapleMapItem、反應爐 MapleReactor、傳送門 MapleDoor、召喚獸 MapleSummon、煙霧 MapleMist 等。地形碰撞由 MapleFoothold / MapleFootholdTree 提供。

反應爐的靜態資料(MapleReactorStats)由 MapleReactorFactoryReactor.wz 解析快取;地圖入場腳本則由 MapScriptMethods 驅動。

MapleMap 屬高風險 God class,P5 重構以「協作者(collaborator)」模式將其三大子系統 外科式拆出,並由 MapleMap 保留簽名相同的一行委派,使 ~700 個 Java 呼叫端與 ~2,700 支腳本 完全不受影響:反應爐生命週期與查詢移入 MapReactorManager、怪物生成移入 MapleMonsterSpawnManager、怪物擊殺與掉落表移入 MapleMonsterKillManager