MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / RoadVehIsCrashed

Function RoadVehIsCrashed

src/roadveh_cmd.cpp:524–538  ·  view source on GitHub ↗

* Road vehicle chain has crashed. * @param v First roadvehicle. * @return whether the chain still exists. */

Source from the content-addressed store, hash-verified

522 * @return whether the chain still exists.
523 */
524static bool RoadVehIsCrashed(RoadVehicle *v)
525{
526 v->crashed_ctr++;
527 if (v->crashed_ctr == 2) {
528 CreateEffectVehicleRel(v, 4, 4, 8, EV_EXPLOSION_LARGE);
529 } else if (v->crashed_ctr <= 45) {
530 if ((v->tick_counter & 7) == 0) RoadVehSetRandomDirection(v);
531 } else if (v->crashed_ctr >= 2220 && !(v->tick_counter & 0x1F)) {
532 bool ret = v->Next() != nullptr;
533 DeleteLastRoadVeh(v);
534 return ret;
535 }
536
537 return true;
538}
539
540uint RoadVehicle::Crash(bool flooded)
541{

Callers 1

RoadVehControllerFunction · 0.85

Calls 4

CreateEffectVehicleRelFunction · 0.85
DeleteLastRoadVehFunction · 0.85
NextMethod · 0.45

Tested by

no test coverage detected