Class MapleGuild

java.lang.Object
handling.world.guild.MapleGuild
All Implemented Interfaces:
Serializable

public class MapleGuild extends Object implements Serializable
公會的核心記憶體模型,負責成員管理、公會技能、BBS 討論串及資料庫持久化。

guildscharacters 資料表載入公會完整狀態,維護一份 CopyOnWriteArrayListMapleGuildCharacter 成員清單, 以及公會技能(Map<Integer, MapleGuildSkill>)與 BBS 討論串(Map<Integer, MapleBBSThread>)。

ReentrantReadWriteLock 保護成員清單的並發存取; 由 GuildLoad 在啟動時並行建構,並由 World.Guild 以公會 ID 為鍵快取。

See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • isProper

      public boolean isProper()
    • loadAll

      public static final void loadAll()
    • loadAll

      public static final void loadAll(Object toNotify)
    • writeToDB

      public final void writeToDB(boolean bDisband)
    • getId

      public final int getId()
    • getLeaderId

      public final int getLeaderId()
    • getLeader

      public final MapleCharacter getLeader(MapleClient c)
    • getGP

      public final int getGP()
    • getLogo

      public final int getLogo()
    • setLogo

      public final void setLogo(int l)
    • getLogoColor

      public final int getLogoColor()
    • setLogoColor

      public final void setLogoColor(int c)
    • getLogoBG

      public final int getLogoBG()
    • setLogoBG

      public final void setLogoBG(int bg)
    • getLogoBGColor

      public final int getLogoBGColor()
    • setLogoBGColor

      public final void setLogoBGColor(int c)
    • getNotice

      public final String getNotice()
    • getName

      public final String getName()
    • getCapacity

      public final int getCapacity()
    • getSignature

      public final int getSignature()
    • broadcast

      public final void broadcast(byte[] packet)
    • broadcast

      public final void broadcast(byte[] packet, int exception)
    • broadcast

      public final void broadcast(byte[] packet, int exceptionId, handling.world.guild.MapleGuild.BCOp bcop)
    • setOnline

      public final void setOnline(int cid, boolean online, int channel)
    • guildChat

      public final void guildChat(String name, int cid, String msg)
    • allianceChat

      public final void allianceChat(String name, int cid, String msg)
    • getRankTitle

      public final String getRankTitle(int rank)
    • getAllianceId

      public int getAllianceId()
    • getInvitedId

      public int getInvitedId()
    • setInvitedId

      public void setInvitedId(int iid)
    • setAllianceId

      public void setAllianceId(int a)
    • createGuild

      public static final int createGuild(int leaderId, String name)
    • addGuildMember

      public final int addGuildMember(MapleGuildCharacter mgc)
    • addGuildMember

      public final int addGuildMember(MapleGuildCharacter mgc, boolean show)
    • leaveGuild

      public final void leaveGuild(MapleGuildCharacter mgc)
    • expelMember

      public final void expelMember(MapleGuildCharacter initiator, String name, int cid)
    • changeARank

      public final void changeARank()
    • changeARank

      public final void changeARank(boolean leader)
    • changeARank

      public final void changeARank(int newRank)
    • changeARank

      public final boolean changeARank(int cid, int newRank)
    • changeGuildLeader

      public final void changeGuildLeader(int cid)
    • changeRank

      public final boolean changeRank(int cid, int newRank)
    • setGuildNotice

      public final void setGuildNotice(String notice)
    • memberLevelJobUpdate

      public final void memberLevelJobUpdate(MapleGuildCharacter mgc)
    • changeRankTitle

      public final void changeRankTitle(String[] ranks)
    • disbandGuild

      public final void disbandGuild()
    • setGuildEmblem

      public final void setGuildEmblem(short bg, byte bgcolor, short logo, byte logocolor)
    • getMGC

      public final MapleGuildCharacter getMGC(int cid)
    • increaseCapacity

      public final boolean increaseCapacity(boolean trueMax)
    • gainGP

      public final void gainGP(int amount)
    • gainGP

      public final void gainGP(int amount, boolean broadcast)
    • gainGP

      public final void gainGP(int amount, boolean broadcast, int cid)
    • getSkills

      public Collection<MapleGuildSkill> getSkills()
    • getSkillLevel

      public int getSkillLevel(int sid)
    • activateSkill

      public boolean activateSkill(int skill, String name)
    • purchaseSkill

      public boolean purchaseSkill(int skill, String name, int cid)
    • getLevel

      public int getLevel()
    • calculateLevel

      public final int calculateLevel()
    • addMemberData

      public final void addMemberData(MaplePacketLittleEndianWriter mplew)
    • sendInvite

      public static final MapleGuildResponse sendInvite(MapleClient c, String targetName)
    • getMembers

      public Collection<MapleGuildCharacter> getMembers()
    • isInit

      public final boolean isInit()
    • getBBS

      public final List<MapleBBSThread> getBBS()
    • addBBSThread

      public final int addBBSThread(String title, String text, int icon, boolean bNotice, int posterID)
    • editBBSThread

      public final void editBBSThread(int localthreadid, String title, String text, int icon, int posterID, int guildRank)
    • deleteBBSThread

      public final void deleteBBSThread(int localthreadid, int posterID, int guildRank)
    • addBBSReply

      public final void addBBSReply(int localthreadid, String text, int posterID)
    • deleteBBSReply

      public final void deleteBBSReply(int localthreadid, int replyid, int posterID, int guildRank)
    • hasSkill

      public boolean hasSkill(int id)
    • setOfflineGuildStatus

      public static void setOfflineGuildStatus(int guildid, byte guildrank, int contribution, byte alliancerank, int cid)