0x004BA873 esi : vehBogie
| 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 | } |
no test coverage detected