feat(RWE): the redesign non-price half - read signals, arcade toggle, spine difficulty - #36
Open
TheCodingDad-TisonK wants to merge 1 commit into
Open
feat(RWE): the redesign non-price half - read signals, arcade toggle, spine difficulty#36TheCodingDad-TisonK wants to merge 1 commit into
TheCodingDad-TisonK wants to merge 1 commit into
Conversation
Keep the role, delegate the mechanism (build brief 2026-07-16): - CUT 13 arcade edges (time warps, reputation writes, cash trickles, magic fuel, free upgrades/cleaning, steering pull, slippery roads, fuel discount). No more timeScale, repPoints or per-60-second money trickles behind the read-signal events. - World/sim events become PULL read-signals announced by RWE; the owning sim systems (SoilFertilizer / CropDisease / DairyCore) apply their own model. Manager read surface completed: getActiveEvent, isEventActive, getProgress, getRemainingTime, getIntensity (nil when nothing is active). - Arcade physics behind the opt-in RandomWorldEvents.arcadePhysics toggle (default OFF, admin SettingsHub key): the four retained physics events only enter the trigger pool when ON, and the Vehicle.addDamageAmount patch scales only the player's own vehicle. - Difficulty rides the Option-Scaling Spine: vendored the pure OptionScalingResolver; the World-events dial scales frequency and base intensity, the Economy dial is exposed via getDifficulty(). Absent spine or dial off = neutral = the mod's own settings. - Event catalog 53 -> 40. Help text and the new arcadePhysics strings updated in 26 languages. Bench added at tools/test/rwe-redesign-bench.mjs (16 checks). The price half (MarketDynamics price modifiers) and the money half (onDayChange settlement via TaxMod) stay gated by design; their existing mechanisms are preserved untouched.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The RandomWorldEvents redesign, non-price half.
The 13 arcade events from the brief's CUT LIST are removed (no more timeScale writes, no repPoints writes, no cash trickles for the read-signal events). The world/sim events become read-signal announcements, with the yield flags leaving the price patch. The read surface is completed (getActiveEvent, isEventActive, getProgress, getRemainingTime, getIntensity). The arcade physics toggle defaults OFF (the retained physics events only enter the trigger pool when ON, and the damage patch only scales the player's own vehicle). Difficulty rides the vendored Option-Scaling resolver (World-events dial to frequency and base intensity). The catalog goes 53 to 40 events, with new help strings in 26 languages.
The price and money halves stay gated as the follow-up (the price patch is retained for the keep-to-MarketDynamics events; the instant addMoney events are left). Note: registerPriceModifier appears built on development, so that dependency should be re-verified before the price half.
Verified: 16 bench checks (rwe-redesign-bench.mjs) plus the syntax gate clean. Built and deployed as 2.2.0.0. Not yet observed in a running game.