*/
    public void csKill(ChangeSet cs) {
        setDead(true);
        cs.addPartial(See.all(), this, "dead");
        cs.addDead(this);

        // Clean up missions and remove tension/alarm/stance.
        for (Player other : getGame().getPlayers()) {
            if (other == this) continue;
            if (isEuropean() && other.isIndian()) {
                for (IndianSettlement s : other.getIndianSettlements()) {
                    Unit unit = s.getMissionary();
                    if (unit != null
                        && ((ServerPlayer) unit.getOwner()) == this) {
                        csKillMissionary(s, cs);
                    }
                    s.removeAlarm(this);
                }
                other.removeTension(this);
            }
            other.setStance(this, null);
        }

        // Remove settlements.  Update formerly owned tiles.
        List<Settlement> settlements = getSettlements();
        while (!settlements.isEmpty()) {
            Settlement settlement = settlements.remove(0);
            cs.addDispose(See.perhaps().always(this),
                settlement.getTile(), settlement);
        }

        // Clean up remaining tile ownerships
        for (Tile tile : getGame().getMap().getAllTiles()) {
            if (tile.getOwner() == this) {
                tile.changeOwnership(null, null);
                cs.add(See.perhaps().always(this), tile);
            }
        }

        // Remove units
        List<Unit> units = getUnits();
        while (!units.isEmpty()) {
            Unit unit = units.remove(0);
            if (unit.getLocation() instanceof Tile) {
                cs.add(See.perhaps().always(this), unit.getTile());
            }
            cs.addDispose(See.perhaps().always(this),
                unit.getLocation(), unit);
        }
    }