Skip to content
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

Add cheat to disable ride value ageing #5196

Merged
merged 3 commits into from
Jun 7, 2017

Conversation

jeremyherbert
Copy link
Contributor

This pull request adds a cheat which disables the ride aging mechanic for ride the ride "value" only. Rides will still become more unreliable over time.

It's something I always wished was not in the game, but I realise that it was an intentional game mechanic, so I implemented this as a cheat.

I've tested it on mac as far as compilation and running. I'm not sure of the best way to actually test that it is working at runtime. Any suggestions ? Is there a way to read the actual value of the ride somewhere?

Related to:
#3812
#3473
https://openrct2.org/forums/topic/1074-guest-eventually-stop-riding/

@jeremyherbert
Copy link
Contributor Author

Well I just tested this by playing through a scenario, and it appears to work. No guests (that I could see) ever said that a ride was too expensive even after 3 years.

@janisozaur janisozaur added the network version Network version needs updating - double check before merging! label Feb 9, 2017
Copy link
Contributor

@wolfreak99 wolfreak99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a few comments, and I haven't tested this myself, but it looks pretty straightforward.
I honestly have thought of something like this myself, especially since there is a 'disable ride breakdowns' cheat, so thanks for this!

@@ -4321,6 +4321,8 @@ STR_6009 :{SMALLFONT}{BLACK}Select cut height
STR_6010 :{COMMA2DP32}m
STR_6011 :{COMMA1DP16}ft
STR_6012 :{COMMA1DP16}
STR_6013 :Rides don't decrease in value over time
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be something like "Disable ride aging"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with that is that this cheat doesn't prevent a ride from getting older, it prevents it from depreciating.

I'd change it to Prevent rides from losing value.

@@ -4321,6 +4321,8 @@ STR_6009 :{SMALLFONT}{BLACK}Select cut height
STR_6010 :{COMMA2DP32}m
STR_6011 :{COMMA1DP16}ft
STR_6012 :{COMMA1DP16}
STR_6013 :Rides don't decrease in value over time
STR_6014 :{SMALLFONT}{BLACK}The value of a ride won't decrease over time, so guests will not suddenly think that a ride is too expensive.
Copy link
Contributor

@wolfreak99 wolfreak99 Feb 11, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I think this should be reworded to something else. The words "suddenly" and "too expensive" give a feel that age mechanic is being described as if it was is bad or poorly done.

Maybe switch it to something such as "Rides will not age over time and stay 'new', preventing thoughts such as high price" ?

(I would prefer to see what others think of this, though, as it could just be me.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will keep the value of every ride from decreasing over time, so guests are always prepared to pay the price from when it was brand-new.

@@ -621,21 +622,25 @@ static void ride_ratings_calculate_value(rct_ride *ride)

sint32 monthsOld = gDateMonthsElapsed - ride->build_date;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move this right below if (!gCheatsDisableRideValueAging) { since it's only used when the cheat is not active.

}
if (!gCheatsDisableRideValueAging) {
// New ride reward
if (monthsOld <= 12) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is not really what your PR is about but could we refactor the whole of this into some sort of table so that you look up the amount to add to value then look up the multiplier.

@jeremyherbert
Copy link
Contributor Author

@wolfreak99 - Thanks for reviewing the changes. I agree that the wording could be improved; I really didn't spend much time coming up with the text. I prefer your wording instead.

@duncanspumpkin - I'm happy to do a little refactor for this.

I unfortunately won't be able to get to this until this weekend though.

@Gymnasiast
Copy link
Member

Could you look at this again?

@@ -147,6 +147,7 @@ enum WINDOW_CHEATS_WIDGET_IDX {
WIDX_DISABLE_TRAIN_LENGTH_LIMITS,
WIDX_ENABLE_CHAIN_LIFT_ON_ALL_TRACK,
WIDX_ENABLE_ARBITRARY_RIDE_TYPE_CHANGES,
WIDX_DISABLE_RIDE_VALUE_AGING
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor nitpick: missing comma

@IntelOrca IntelOrca changed the title add cheat to disable ride value aging Add cheat to disable ride value ageing Jun 7, 2017
@IntelOrca IntelOrca force-pushed the develop branch 2 times, most recently from d90c58c to cef5b90 Compare June 7, 2017 20:52
@IntelOrca IntelOrca merged commit 37dac30 into OpenRCT2:develop Jun 7, 2017
janisozaur added a commit that referenced this pull request Jul 12, 2017
- Feature: [#1399 (partial), #5177] Add window that displays any missing/corrupt objects when loading a park
- Feature: [#5056] Add cheat to own all land.
- Feature: [#5133] Add option to display guest expenditure (as seen in RCTC).
- Feature: [#5196] Add cheat to disable ride ageing.
- Feature: [#5504] Group vehicles into ride groups
- Feature: [#5576] Add a persistent 'display real names of guests' setting.
- Feature: [#5611] Add support for Android
- Feature: [#5706] Add support for OpenBSD
- Feature: OpenRCT2 now starts up on the display it was last shown on.
- Feature: Park entrance fee can now be set to amounts up to £200.
- Improved: Construction rights can now be placed on park entrances.
- Improved: Mouse can now be dragged to select scenery when saving track designs
- Fix: [#259] Money making glitch involving swamps (original bug)
- Fix: [#441] Construction rights over entrance path erased (original bug)
- Fix: [#578] Ride ghosts show up in ride list during construction (original bug)
- Fix: [#597] 'Finish 5 roller coasters' goal not properly checked (original bug)
- Fix: [#667] Incorrect banner limit calculation (original bug)
- Fix: [#739] Crocodile Ride (Log Flume) never allows more than five boats (original bug)
- Fix: [#837] Can't move windows on title screen to where the toolbar would be (original bug)
- Fix: [#1705] Time Twister's Medieval entrance has incorrect scrolling (original bug)
- Fix: [#3178, #5456] Paths with non-ASCII characters not handled properly on macOS.
- Fix: [#3346] Crash when extra long train breaks down at the back
- Fix: [#3479] Building in pause mode creates too many floating numbers, crashing the game
- Fix: [#3565] Multiplayer server crash
- Fix: [#3681] Steel Twister rollercoaster always shows all track designs
- Fix: [#3846, #5749] Crash when testing coaster with a diagonal lift in block brake mode
- Fix: [#4054] Sorting rides by track type: Misleading research messages
- Fix: [#4055] Sort rides by track type: Sorting rule is not really clear (inconsistent?)
- Fix: [#4512] Invisible map edge tiles corrupted
- Fix: [#5009] Ride rating calculations can overflow
- Fix: [#5253] RCT1 park value conversion factor too high
- Fix: [#5400] New Ride window does not focus properly on newly invented ride.
- Fix: [#5489] Sprite index crash for car view on car ride.
- Fix: [#5730] Unable to uncheck 'No money' in the Scenario Editor.
- Fix: [#5750] Game freezes when ride queue linked list is corrupted.
- Fix: [#5819] Vertical multi-dimension coaster tunnels drawn incorrectly
- Fix: Non-invented vehicles can be used via track designs in select-by-track-type mode.
- Fix: Track components added by OpenRCT2 are now usable in older scenarios.
- Technical: [#5047] Add ride ratings tests
- Technical: [#5458] Begin offering headless build with reduced compile- and run-time dependencies
- Technical: [#5755] Title sequence wait periods use milliseconds
- Technical: Fix many desync sources
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
network version Network version needs updating - double check before merging!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants