Class MaplePortal
java.lang.Object
server.MaplePortal
地圖傳送門的資料模型與玩家進入邏輯。
每個 MaplePortal 實例代表一個地圖上的傳送門,持有名稱、座標、目標地圖 ID、
目標傳送門名稱及可選的腳本名稱。傳送門類型分為普通地圖傳送門(MAP_PORTAL = 2)
與神秘之門(DOOR_PORTAL = 6)。
enterPortal(MapleClient) 執行進入邏輯:
- 距離檢查——若玩家過遠且非 GM,則記錄
CheatingOffense.USING_FARAWAY_PORTAL作弊行為; - 若傳送門有腳本,交由
PortalScriptManager執行 JS 腳本; - 否則直接呼叫
MapleCharacter.changeMapPortal(MapleMap, MaplePortal)轉移至目標地圖。
MapleMap 並透過 MapleMap.getPortal(String) 查詢。-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidfinal intgetId()final StringgetName()booleanfinal Pointfinal Stringfinal Stringfinal intfinal intgetType()final voidsetId(int id) final voidvoidsetPortalState(boolean ps) final voidsetPosition(Point position) final voidsetScriptName(String scriptName) final voidfinal voidsetTargetMapId(int targetmapid)
-
Field Details
-
MAP_PORTAL
public static final int MAP_PORTAL- See Also:
-
DOOR_PORTAL
public static final int DOOR_PORTAL- See Also:
-
-
Constructor Details
-
MaplePortal
public MaplePortal(int type)
-
-
Method Details
-
getId
public final int getId() -
setId
public final void setId(int id) -
getName
-
getPosition
-
getTarget
-
getTargetMapId
public final int getTargetMapId() -
getType
public final int getType() -
getScriptName
-
setName
-
setPosition
-
setTarget
-
setTargetMapId
public final void setTargetMapId(int targetmapid) -
setScriptName
-
enterPortal
-
getPortalState
public boolean getPortalState() -
setPortalState
public void setPortalState(boolean ps)
-