-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disallow firing staff who are currently fixing or inspecting rides #20260
Conversation
Would it be easy / feasible to disable the fire button in the interface as well, depending on the staff/mechanic status? |
An issue then would be that if someone initiated the fire button before entering it will still have the pop-up so you could still actually get rid of them. Tho greying out the bin might be a clean extra. |
Yes, I realised the game action would still need to perform the check. Greying out the button is just for UX purposes. |
Not a bad idea, however might be best to separate the UI change from this logical change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just have two suggestions for the string literals.
(And the changelog/network version of course but those are already labelled as to do's)
I also added the disabling of the fire button in the window in a separate commit. |
c7b33f4
to
634d2d5
Compare
Tested and all good, unfortunately people who ended up in this situation have to use cheats to make the ride work again, I don't want to make any assumptions during import about a complicated state especially when staff is the one where the sub state drives the repair/inspection state, I rather not make any assumptions, its even possible that a new mechanic has been hired meanwhile who has the same id as the one who previously was on the ride, so from here on its impossible to get into this dilema. |
- Feature: [#15660] Ability to show window buttons on the left. - Feature: [#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [#20119, #20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [#20393, #20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. - Change: [#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios. - Change: [#20110] Fix a few RCT1 build height parity discrepancies. - Change: [#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP. - Fix: [#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience. - Fix: [#9534] Screams no longer cut-off on steep diagonal drops. - Fix: [#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches. - Fix: [#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards. - Fix: [#19735] Server unable to advertise to master server after a connection loss. - Fix: [#19822] Tile inspector does not deep copy banners. - Fix: [#19823] Parkobj: disallow overriding objects of different object types. - Fix: [#19878] Unresearched scenery can be placed via prebuilt rides. - Fix: [#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16. - Fix: [#20089] Potential crash when a window is closed from another window. - Fix: [#20103] [Plugin] Crash when custom plugin actions fail due to immutable state. - Fix: [#20111] All coaster types can access the new diagonal slope pieces. - Fix: [#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round. - Fix: [#20260] Ride locks up when inspecting/fixing staff member is fired. - Fix: [#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked. - Fix: [#20310] Map animations are not created on the title screen. - Fix: [#20342] Large Half Loop (left) now only appears once in the special elements dropdown. - Fix: [#20361] Crash when using random map generation. - Fix: [#20364] Adding too much money with cheats causes an overflow. - Fix: [#20365] Money cheat input does not support negative values. - Fix: [#20389] Reversed vehicles are now correctly banked on diagonal slopes. - Fix: [#20413] Crash when attempting to navigate an empty console history. - Fix: [#20417] Plugin/custom windows are missing the left border in the title bar. - Fix: [#20429] Error window tooltip not closing after 8 seconds. - Fix: [#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named. - Fix: [#20484] Console caret not properly updated when using command history. - Fix: [#20496] Ride rating requirements for compact inverted coasters is no longer relaxed. - Fix: [#20543] Crash using show segments height from debug paint options. - Fix: [#20607] Infinite loop when renaming rides with default names longer than 32 bytes. - Fix: [#20642] Track list is sometimes empty due to uninitialized data for the filter string. - Fix: [#20659] Phantom rides remain when closing construction window while paused. - Fix: [#20672] Maze ghost elements incorrectly displayed. - Fix: [#20684] Footpath additions getting removed by Miniature railway ghost elements. - Fix: [#20693] Incorrect information shown when hovering over station when another station before it was removed. - Fix: [#20739] Build version info on title screen leaving stray pixels when the camera is moved.
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left. - Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. - Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios. - Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies. - Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP. - Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience. - Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops. - Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches. - Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards. - Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss. - Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners. - Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types. - Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides. - Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16. - Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window. - Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state. - Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces. - Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round. - Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired. - Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked. - Fix: [OpenRCT2#20310] Map animations are not created on the title screen. - Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown. - Fix: [OpenRCT2#20361] Crash when using random map generation. - Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow. - Fix: [OpenRCT2#20365] Money cheat input does not support negative values. - Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes. - Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history. - Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar. - Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds. - Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named. - Fix: [OpenRCT2#20484] Console caret not properly updated when using command history. - Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed. - Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options. - Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes. - Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string. - Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused. - Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed. - Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements. - Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed. - Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left. - Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. - Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios. - Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies. - Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP. - Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience. - Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops. - Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches. - Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards. - Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss. - Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners. - Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types. - Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides. - Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16. - Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window. - Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state. - Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces. - Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round. - Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired. - Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked. - Fix: [OpenRCT2#20310] Map animations are not created on the title screen. - Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown. - Fix: [OpenRCT2#20361] Crash when using random map generation. - Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow. - Fix: [OpenRCT2#20365] Money cheat input does not support negative values. - Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes. - Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history. - Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar. - Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds. - Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named. - Fix: [OpenRCT2#20484] Console caret not properly updated when using command history. - Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed. - Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options. - Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes. - Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string. - Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused. - Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed. - Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements. - Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed. - Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left. - Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. - Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios. - Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies. - Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP. - Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience. - Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops. - Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches. - Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards. - Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss. - Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners. - Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types. - Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides. - Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16. - Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window. - Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state. - Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces. - Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round. - Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired. - Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked. - Fix: [OpenRCT2#20310] Map animations are not created on the title screen. - Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown. - Fix: [OpenRCT2#20361] Crash when using random map generation. - Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow. - Fix: [OpenRCT2#20365] Money cheat input does not support negative values. - Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes. - Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history. - Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar. - Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds. - Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named. - Fix: [OpenRCT2#20484] Console caret not properly updated when using command history. - Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed. - Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options. - Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes. - Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string. - Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused. - Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed. - Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements. - Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed. - Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
- Feature: [OpenRCT2#15660] Ability to show window buttons on the left. - Feature: [OpenRCT2#20680] New title sequences (https://github.com/OpenRCT2/title-sequences/releases/tag/v0.4.6). - Feature: [OpenMusic#41] Official Title Theme by Allister Brimble. - Improved: [OpenRCT2#20119, OpenRCT2#20243] Add new colour presets to several roller coasters (using the new colours). - Improved: [OpenRCT2#20393, OpenRCT2#20410] Add Cyrillic characters Ґґ, Ѕѕ, Єє, Іі, Її, and Јј to the sprite font. - Change: [OpenRCT2#19785] OpenMusic is now selected by default when opening SC4/SC6 - or creating new - scenarios. - Change: [OpenRCT2#20110] Fix a few RCT1 build height parity discrepancies. - Change: [OpenRCT2#20550] Change SEK conversion rate from 1 GBP to 0.1 GBP. - Fix: [OpenRCT2#6152] Camera and UI are no longer locked at 40 Hz, providing a smoother experience. - Fix: [OpenRCT2#9534] Screams no longer cut-off on steep diagonal drops. - Fix: [OpenRCT2#17666] Using the mountain tool near the edge of the map with clearance checks disabled causes visual glitches. - Fix: [OpenRCT2#19450] The correct element is now auto-suggested when building a Medium Half Loop backwards. - Fix: [OpenRCT2#19735] Server unable to advertise to master server after a connection loss. - Fix: [OpenRCT2#19822] Tile inspector does not deep copy banners. - Fix: [OpenRCT2#19823] Parkobj: disallow overriding objects of different object types. - Fix: [OpenRCT2#19878] Unresearched scenery can be placed via prebuilt rides. - Fix: [OpenRCT2#20083] Cannot use terrain surfaces with ID > 32 and terrain edges with ID > 16. - Fix: [OpenRCT2#20089] Potential crash when a window is closed from another window. - Fix: [OpenRCT2#20103] [Plugin] Crash when custom plugin actions fail due to immutable state. - Fix: [OpenRCT2#20111] All coaster types can access the new diagonal slope pieces. - Fix: [OpenRCT2#20155] Fairground organ style 2 shows up as regular music, rather than for the merry-go-round. - Fix: [OpenRCT2#20260] Ride locks up when inspecting/fixing staff member is fired. - Fix: [OpenRCT2#20262] Title screen music missing when “random” title music is selected and RCT1 is no longer linked. - Fix: [OpenRCT2#20310] Map animations are not created on the title screen. - Fix: [OpenRCT2#20342] Large Half Loop (left) now only appears once in the special elements dropdown. - Fix: [OpenRCT2#20361] Crash when using random map generation. - Fix: [OpenRCT2#20364] Adding too much money with cheats causes an overflow. - Fix: [OpenRCT2#20365] Money cheat input does not support negative values. - Fix: [OpenRCT2#20389] Reversed vehicles are now correctly banked on diagonal slopes. - Fix: [OpenRCT2#20413] Crash when attempting to navigate an empty console history. - Fix: [OpenRCT2#20417] Plugin/custom windows are missing the left border in the title bar. - Fix: [OpenRCT2#20429] Error window tooltip not closing after 8 seconds. - Fix: [OpenRCT2#20456] Downward large half loops on flying coasters (fly-to-lie) are now correctly named. - Fix: [OpenRCT2#20484] Console caret not properly updated when using command history. - Fix: [OpenRCT2#20496] Ride rating requirements for compact inverted coasters is no longer relaxed. - Fix: [OpenRCT2#20543] Crash using show segments height from debug paint options. - Fix: [OpenRCT2#20607] Infinite loop when renaming rides with default names longer than 32 bytes. - Fix: [OpenRCT2#20642] Track list is sometimes empty due to uninitialized data for the filter string. - Fix: [OpenRCT2#20659] Phantom rides remain when closing construction window while paused. - Fix: [OpenRCT2#20672] Maze ghost elements incorrectly displayed. - Fix: [OpenRCT2#20684] Footpath additions getting removed by Miniature railway ghost elements. - Fix: [OpenRCT2#20693] Incorrect information shown when hovering over station when another station before it was removed. - Fix: [OpenRCT2#20739] Build version info on title screen leaving stray pixels when the camera is moved.
This may lock up the ride when staff is fired at the right time, since staff manipulates the state of the ride status there is no work-around without enabling exploits that people can use to immediately fix rides by sending mechanics in and then immediately fire them. I think this solution is the right way to solve the problem without adding any complex extra logic on top of.
Here is a park where I isolated the problem:
0_Everything_Park_Unfixable_ride.zip
With this PR when you try to fire mechanics that are either inspecting or fixing the ride you'll get an error as shown below:
Also in order to reproduce this you have to fire the mechanic at the right time, ActionFrame has to be 0x28 in order for this bug to trigger, that's where it sets the new mechanic status on the ride and would set it to completed in another sub state.