void FlightPathMovementGenerator::Finalize(Player & player) {
    player.ClearUnitState(UNIT_STAT_IN_FLIGHT);

    float x = 0;
    float y = 0;
    float z = 0;
    i_destinationHolder.GetLocationNow(player.GetBaseMap(), x, y, z);
    player.SetPosition(x, y, z, player.GetOrientation());
}
void ConfusedMovementGenerator<Player>::Finalize (Player &unit)
{
    unit.RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED);
    unit.ClearUnitState(UNIT_STAT_CONFUSED | UNIT_STAT_CONFUSED_MOVE);
}