MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / sub_4BA873

Function sub_4BA873

src/OpenLoco/src/Vehicles/VehicleBogie.cpp:482–497  ·  view source on GitHub ↗

0x004BA873 esi : vehBogie

Source from the content-addressed store, hash-verified

480 // 0x004BA873
481 // esi : vehBogie
482 void sub_4BA873(VehicleBogie& vehBogie)
483 {
484 vehBogie.timeoutToBreakdown = 0xFFFF;
485 if (vehBogie.reliability != 0)
486 {
487 int32_t reliabilityFactor = vehBogie.reliability / 256;
488 reliabilityFactor *= reliabilityFactor;
489 reliabilityFactor /= 16;
490
491 auto& prng = gPrng1();
492 int32_t randVal = (prng.randNext(65535) * (reliabilityFactor / 2)) / 65536;
493 reliabilityFactor -= reliabilityFactor / 4;
494 reliabilityFactor += randVal;
495 vehBogie.timeoutToBreakdown = static_cast<uint16_t>(std::max(4, reliabilityFactor));
496 }
497 }
498}

Callers 2

updateDailyMethod · 0.85
createFirstBogieFunction · 0.85

Calls 1

randNextMethod · 0.45

Tested by

no test coverage detected