Browse Source

BETA: Upon clan removal cancel any active clan hall bids.
* Reported by: valdaron

Rumen Nikiforov 12 years ago
parent
commit
b2ce4afc42

+ 13 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ClanTable.java

@@ -30,6 +30,7 @@ import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.communitybbs.Manager.ForumsBBSManager;
 import com.l2jserver.gameserver.communitybbs.Manager.ForumsBBSManager;
 import com.l2jserver.gameserver.idfactory.IdFactory;
 import com.l2jserver.gameserver.idfactory.IdFactory;
+import com.l2jserver.gameserver.instancemanager.AuctionManager;
 import com.l2jserver.gameserver.instancemanager.CHSiegeManager;
 import com.l2jserver.gameserver.instancemanager.CHSiegeManager;
 import com.l2jserver.gameserver.instancemanager.FortManager;
 import com.l2jserver.gameserver.instancemanager.FortManager;
 import com.l2jserver.gameserver.instancemanager.FortSiegeManager;
 import com.l2jserver.gameserver.instancemanager.FortSiegeManager;
@@ -37,6 +38,7 @@ import com.l2jserver.gameserver.instancemanager.SiegeManager;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2ClanMember;
 import com.l2jserver.gameserver.model.L2ClanMember;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.entity.Auction;
 import com.l2jserver.gameserver.model.entity.Fort;
 import com.l2jserver.gameserver.model.entity.Fort;
 import com.l2jserver.gameserver.model.entity.FortSiege;
 import com.l2jserver.gameserver.model.entity.FortSiege;
 import com.l2jserver.gameserver.model.entity.Siege;
 import com.l2jserver.gameserver.model.entity.Siege;
@@ -231,6 +233,7 @@ public class ClanTable
 				siege.removeSiegeClan(clan);
 				siege.removeSiegeClan(clan);
 			}
 			}
 		}
 		}
+		
 		int fortId = clan.getFortId();
 		int fortId = clan.getFortId();
 		if (fortId == 0)
 		if (fortId == 0)
 		{
 		{
@@ -239,6 +242,7 @@ public class ClanTable
 				siege.removeSiegeClan(clan);
 				siege.removeSiegeClan(clan);
 			}
 			}
 		}
 		}
+		
 		int hallId = clan.getHideoutId();
 		int hallId = clan.getHideoutId();
 		if (hallId == 0)
 		if (hallId == 0)
 		{
 		{
@@ -248,6 +252,12 @@ public class ClanTable
 			}
 			}
 		}
 		}
 		
 		
+		Auction auction = AuctionManager.getInstance().getAuction(clan.getAuctionBiddedAt());
+		if (auction != null)
+		{
+			auction.cancelBid(clan.getClanId());
+		}
+		
 		L2ClanMember leaderMember = clan.getLeader();
 		L2ClanMember leaderMember = clan.getLeader();
 		if (leaderMember == null)
 		if (leaderMember == null)
 		{
 		{
@@ -306,6 +316,7 @@ public class ClanTable
 				statement.execute();
 				statement.execute();
 				statement.close();
 				statement.close();
 			}
 			}
+			
 			if (fortId != 0)
 			if (fortId != 0)
 			{
 			{
 				Fort fort = FortManager.getInstance().getFortById(fortId);
 				Fort fort = FortManager.getInstance().getFortById(fortId);
@@ -318,6 +329,7 @@ public class ClanTable
 					}
 					}
 				}
 				}
 			}
 			}
+			
 			if (hallId != 0)
 			if (hallId != 0)
 			{
 			{
 				SiegableHall hall = CHSiegeManager.getInstance().getSiegableHall(hallId);
 				SiegableHall hall = CHSiegeManager.getInstance().getSiegableHall(hallId);
@@ -326,6 +338,7 @@ public class ClanTable
 					hall.free();
 					hall.free();
 				}
 				}
 			}
 			}
+			
 			if (Config.DEBUG)
 			if (Config.DEBUG)
 			{
 			{
 				_log.fine("clan removed in db: " + clanId);
 				_log.fine("clan removed in db: " + clanId);