Use of `partial_range` will trap invalid counts, but will throw an exception and terminate the program. Change the logic to log a diagnostic and clamp the count to the maximum legal value, so that users can play the level. The level may still be impossible to complete, if the triggers within the valid range do not open an exit door. However, level authors always have the ability to get that wrong, so the logic with recovery is better than the logic without it. Also, add a new diagnostic for invalid side in a control center trigger, and a new diagnostic for invalid segment in a control center trigger. For the latter, add a special case to reduce the severity when playing `Descent 2: Vertigo`, since there is a known bad trigger in a Vertigo level, and users cannot fix it. |
||
---|---|---|
.. | ||
2d | ||
3d | ||
arch | ||
editor | ||
main | ||
misc |