/** * Method changeOwner. * * @param clan Clan */ @Override public void changeOwner(Clan clan) { if (clan != null) { if (clan.getHasFortress() != 0) { Fortress oldFortress = ResidenceHolder.getInstance().getResidence(Fortress.class, clan.getHasFortress()); if (oldFortress != null) { oldFortress.changeOwner(null); } } if (clan.getCastle() != 0) { Castle oldCastle = ResidenceHolder.getInstance().getResidence(Castle.class, clan.getCastle()); if (oldCastle != null) { oldCastle.changeOwner(null); } } } if ((getOwnerId() > 0) && ((clan == null) || (clan.getClanId() != getOwnerId()))) { removeSkills(); Clan oldOwner = getOwner(); if (oldOwner != null) { oldOwner.setHasFortress(0); } cancelCycleTask(); clearFacility(); } if (clan != null) { clan.setHasFortress(getId()); } updateOwnerInDB(clan); rewardSkills(); setFortState(NOT_DECIDED, 0); setJdbcState(JdbcEntityState.UPDATED); update(); }