List<GameChange> shotChanges = shotResults.getChanges();
List<GameChange> receiveChanges = damageManager.damage(target, damage);
List<GameChange> timeChanges = computeTimeChanges(attacker, time);
if (attacker instanceof Unit) {
UnitShot unitShot = new UnitShot(attacker.getID(), shotChanges,
damage, target.getPosition(),
damageManager, receiveChanges,
timeChanges);
unitShot.execute();
} else {
assert false : "Not yet implemented!";
}
}