Index: java/net/sf/l2j/gameserver/model/PcInventory.java =================================================================== --- java/net/sf/l2j/gameserver/model/PcInventory.java (revision 1240) +++ java/net/sf/l2j/gameserver/model/PcInventory.java (working copy) @@ -468,7 +468,7 @@ * @param item : L2ItemInstance to be removed from inventory */ @Override - protected void removeItem(L2ItemInstance item) + public void removeItem(L2ItemInstance item) { // Removes any reference to the item from Shortcut bar getOwner().removeItemFromShortCut(item.getObjectId()); Index: java/net/sf/l2j/gameserver/instancemanager/CastleManager.java =================================================================== --- java/net/sf/l2j/gameserver/instancemanager/CastleManager.java (revision 1270) +++ java/net/sf/l2j/gameserver/instancemanager/CastleManager.java (working copy) @@ -23,10 +23,13 @@ import javolution.util.FastList; import net.sf.l2j.L2DatabaseFactory; +import net.sf.l2j.gameserver.SevenSigns; import net.sf.l2j.gameserver.model.L2Clan; +import net.sf.l2j.gameserver.model.L2ClanMember; +import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.L2Object; +import net.sf.l2j.gameserver.model.PcInventory; import net.sf.l2j.gameserver.model.entity.Castle; -import net.sf.l2j.gameserver.SevenSigns; public class CastleManager @@ -225,4 +228,18 @@ return 0; } + + public void removeCirclets(L2Clan clan) + { + for (L2ClanMember member : clan.getMembers()) + { + PcInventory inv = member.getPlayerInstance().getInventory(); + for (int circletId : _castleCirclets) + { + L2ItemInstance circlet = inv.getItemByItemId(circletId); + if (circlet != null) + inv.removeItem(circlet); + } + } + } } Index: java/net/sf/l2j/gameserver/model/entity/Castle.java =================================================================== --- java/net/sf/l2j/gameserver/model/entity/Castle.java (revision 1240) +++ java/net/sf/l2j/gameserver/model/entity/Castle.java (working copy) @@ -264,7 +264,7 @@ updateOwnerInDB(null); if (getSiege().getIsInProgress()) getSiege().midVictory(); - + CastleManager.getInstance().removeCirclets(clan); updateClansReputation(); } Index: java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java =================================================================== --- java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 1271) +++ java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (working copy) @@ -36,6 +36,7 @@ import net.sf.l2j.gameserver.communitybbs.Manager.RegionBBSManager; import net.sf.l2j.gameserver.datatables.MapRegionTable; import net.sf.l2j.gameserver.handler.AdminCommandHandler; +import net.sf.l2j.gameserver.instancemanager.CastleManager; import net.sf.l2j.gameserver.instancemanager.CoupleManager; import net.sf.l2j.gameserver.instancemanager.DimensionalRiftManager; import net.sf.l2j.gameserver.instancemanager.PetitionManager; @@ -310,6 +311,11 @@ activeChar.sendPacket(new SystemMessage(SystemMessageId.CLAN_MEMBERSHIP_TERMINATED)); } + if (activeChar.getClan().getHasCastle() == 0) + { + CastleManager.getInstance().removeCirclets(activeChar.getClan()); + } + if (activeChar.getClan() != null) { activeChar.sendPacket(new PledgeSkillList(activeChar.getClan()));