public boolean canBePillaged(Unit attacker) {
        return !hasStockade()
            && attacker.hasAbility("model.ability.pillageUnprotectedColony")
            && !(getBurnableBuildingList().isEmpty()
                 && getShipList().isEmpty()
                 && (getLootableGoodsList().isEmpty()
                     || !attacker.getType().canCarryGoods()
                     || !attacker.hasSpaceLeft())
                 && !canBePlundered());
    }