Class MapleSquad

java.lang.Object
server.MapleSquad

public class MapleSquad extends Object
遠征隊(Boss Squad)的執行時狀態管理器,支援多人 Boss 挑戰的報名與排隊系統。

一個 MapleSquad 實例對應一次特定頻道上的遠征隊,持有:

  • 隊長(MapleCharacter 弱參照)與成員/封禁成員的有序名稱映射;
  • MapleSquad.MapleSquadType 列舉,定義支援的 Boss 類型(扎昆、角頭龍、粉豆、CWKPQ 等) 及各頻道的排隊佇列;
  • 到期時間與 Timer.EtcTimer 排程移除任務(scheduleRemoval());
  • 狀態機:0=未活躍、1=招募中、2=進行中。
遠征隊由 ChannelServerMapleSquad.MapleSquadType 為鍵管理; copy() 在現任遠征隊結束後自動從佇列升任下一組隊長並廣播通知。
  • Constructor Details

  • Method Details

    • copy

      public void copy()
    • getBeginMap

      public MapleMap getBeginMap()
    • clear

      public void clear()
    • getChar

      public MapleCharacter getChar(String name)
    • getTimeLeft

      public long getTimeLeft()
    • scheduleRemoval

      public void scheduleRemoval()
    • getLeaderName

      public String getLeaderName()
    • getAllNextPlayer

      public List<Pair<String,Long>> getAllNextPlayer()
    • getNextPlayer

      public String getNextPlayer()
    • setNextPlayer

      public void setNextPlayer(String i)
    • getLeader

      public MapleCharacter getLeader()
    • containsMember

      public boolean containsMember(MapleCharacter member)
    • getMembers

      public List<String> getMembers()
    • getBannedMembers

      public List<String> getBannedMembers()
    • getSquadSize

      public int getSquadSize()
    • isBanned

      public boolean isBanned(MapleCharacter member)
    • addMember

      public int addMember(MapleCharacter member, boolean join)
    • acceptMember

      public void acceptMember(int pos)
    • reAddMember

      public void reAddMember(MapleCharacter chr)
    • removeMember

      public void removeMember(MapleCharacter chr)
    • removeMember

      public void removeMember(String chr)
    • banMember

      public void banMember(int pos)
    • setStatus

      public void setStatus(byte status)
    • getStatus

      public int getStatus()
    • getBannedMemberSize

      public int getBannedMemberSize()
    • getSquadMemberString

      public String getSquadMemberString(byte type)
    • getType

      public final MapleSquad.MapleSquadType getType()
    • getJobs

      public final Map<String,Integer> getJobs()