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 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 getDefenderClans() { - if (_IsNormalSide) return _Defender_Clans; - return _Attacker_Clans; + return _Defender_Clans; } public final L2SiegeClan getDefenderWaitingClan(L2Clan clan)