Class MapleSurvival
java.lang.Object
server.events.MapleEvent
server.events.MapleSurvival
- Direct Known Subclasses:
MapleOla
生存挑戰(Survival / Ola Ola)小遊戲事件的基底實作,繼承自
MapleEvent。
本類別提供計時型生存賽的核心邏輯,並由 MapleOla 繼承以加入隨機傳送門機制:
startEvent()啟動time(預設 360 秒)倒數,以olaSchedule在時限到時將所有玩家傳回原地圖,並廣播「勿落下」提示。onMapLoad(MapleCharacter)對新進入者同步顯示剩餘倒數時鐘封包(CField.getClock(int))。finished(MapleCharacter)在玩家到達終點地圖時呼叫,發放MapleEvent.givePrize(MapleCharacter)獎勵並完成成就 25。resetSchedule()取消並清除olaSchedule,由reset()/unreset()呼叫; 入口傳送門join00在 reset 時關閉、unreset 時開啟。
對應 MapleEventType.Survival 的地圖(809040000–809040100);
計時任務由 server.Timer.autoEventTimer 排程。
-
Field Summary
FieldsFields inherited from class MapleEvent
channel, isRunning, playerCount, type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfinished(MapleCharacter chr) longgetTime()longbooleanvoidonMapLoad(MapleCharacter chr) voidreset()voidvoidvoidunreset()Methods inherited from class MapleEvent
broadcast, getChannelServer, getMap, getType, givePrize, incrementPlayerCount, isRunning, mapLoad, onStartEvent, scheduleEvent, setEvent, warpBack
-
Field Details
-
time
protected long time -
timeStarted
protected long timeStarted -
olaSchedule
-
-
Constructor Details
-
MapleSurvival
-
-
Method Details
-
finished
- Specified by:
finishedin classMapleEvent
-
onMapLoad
- Overrides:
onMapLoadin classMapleEvent
-
startEvent
public void startEvent()- Specified by:
startEventin classMapleEvent
-
isTimerStarted
public boolean isTimerStarted() -
getTime
public long getTime() -
resetSchedule
public void resetSchedule() -
reset
public void reset()- Overrides:
resetin classMapleEvent
-
unreset
public void unreset()- Overrides:
unresetin classMapleEvent
-
getTimeLeft
public long getTimeLeft()
-