diff options
Diffstat (limited to 'src/effectvehicle.cpp')
-rw-r--r-- | src/effectvehicle.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/effectvehicle.cpp b/src/effectvehicle.cpp index 62337993c..e4371cf45 100644 --- a/src/effectvehicle.cpp +++ b/src/effectvehicle.cpp @@ -609,22 +609,23 @@ static EffectTickProc * const _effect_tick_procs[] = { Vehicle *CreateEffectVehicle(int x, int y, int z, EffectVehicleType type) { + if (!Vehicle::CanAllocateItem()) return NULL; + Vehicle *v = new EffectVehicle(); - if (v != NULL) { - v->subtype = type; - v->x_pos = x; - v->y_pos = y; - v->z_pos = z; - v->tile = 0; - v->UpdateDeltaXY(INVALID_DIR); - v->vehstatus = VS_UNCLICKABLE; + v->subtype = type; + v->x_pos = x; + v->y_pos = y; + v->z_pos = z; + v->tile = 0; + v->UpdateDeltaXY(INVALID_DIR); + v->vehstatus = VS_UNCLICKABLE; - _effect_init_procs[type](v); + _effect_init_procs[type](v); + + VehiclePositionChanged(v); + BeginVehicleMove(v); + EndVehicleMove(v); - VehiclePositionChanged(v); - BeginVehicleMove(v); - EndVehicleMove(v); - } return v; } |