Index: D:/workspace/GameServer/java/net/sf/l2j/gameserver/model/entity/Siege.java
===================================================================
--- D:/workspace/GameServer/java/net/sf/l2j/gameserver/model/entity/Siege.java (revision 233)
+++ D:/workspace/GameServer/java/net/sf/l2j/gameserver/model/entity/Siege.java (working copy)
@@ -292,6 +292,7 @@
}
else if (getDefenderClans().size() > 0) // If defender does exist (Pc vs Pc)
{
+ /*
if (_IsNormalSide)
_IsNormalSide = false; // Atk is now def
else
@@ -303,6 +304,21 @@
removeFlags(); // Removes all flags
getCastle().removeUpgrade(); // Remove all castle upgrade
getCastle().spawnDoor(true); // Respawn door to castle but make them weaker (50% hp)
+ */
+ int ownerId = getCastle().getOwnerId();
+
+ getAttackerClans().addAll(_Defender_Clans);
+ getDefenderClans().clear();
+ getAttackerClans().remove(ownerId);
+ //getDefenderClans().
+ addDefender(ownerId);
+
+ // should be teleported to flag ?
+ //teleportPlayer(Siege.TeleportWhoType.Attacker, MapRegionTable.TeleportWhereType.Town); // Teleport to the second closest town
+ //teleportPlayer(Siege.TeleportWhoType.Spectator, MapRegionTable.TeleportWhereType.Town); // Teleport to the second closest town
+
+ getCastle().removeUpgrade(); // Remove all castle upgrade
+ getCastle().spawnDoor(true); // Respawn door to castle but make them weaker (50% hp)
}
}
}
@@ -1103,8 +1119,7 @@
public final List<L2SiegeClan> getAttackerClans()
{
- if (_IsNormalSide) return _Attacker_Clans;
- return _Defender_Clans;
+ return _Attacker_Clans;
}
public final int getAttackerRespawnDelay() { return (SiegeManager.getInstance().getAttackerRespawnDelay()); }
@@ -1130,8 +1145,7 @@
public final List<L2SiegeClan> getDefenderClans()
{
- if (_IsNormalSide) return _Defender_Clans;
- return _Attacker_Clans;
+ return _Defender_Clans;
}
public final L2SiegeClan getDefenderWaitingClan(L2Clan clan)