v2.0.0.4 — Full event effect subsystems
·
113 commits
to master
since this release
What's new
This release implements the full event effect delivery layer — the major missing piece since the initial rewrite. Events now produce real, observable gameplay changes beyond just showing a notification.
Price effects (via EconomyManager hook)
A new utils/EffectHooks.lua module patches EconomyManager.getPricePerLiter at load time. The following events now affect actual sell prices whenever you sell crops, livestock products, or goods:
| Event | Effect |
|---|---|
| Market Boom | +10–35% sell price |
| Market Crash | −10–35% sell price |
| Price Fixing | fixed sell price multiplier |
| Export Opportunity | +25–40% sell price |
| Economic Crisis | sell price penalty |
| Crop Yield Bonus/Penalty | ±5–25% sell price |
| Harvest Bonus/Penalty | ±10–30% sell price |
| Field Sale Bonus/Penalty | ±5–25% sell price |
| Bonus Trade Prices | +10–30% sell price |
| Festival | +5–20% sell price |
| Bird Flock / Rabbit Infestation | sell price penalty |
| Bee Swarm | sell price bonus |
Durability effects (via Vehicle hook)
Vehicle.addDamageAmount is patched to scale incoming damage during active events:
- Equipment Durability Boost — reduces damage rate
- Equipment Durability Drop — increases damage rate
Ongoing per-minute cash effects (tick handlers)
Four tick handlers now fire every 60 in-game seconds to deliver cash:
- Economic discounts (seed, fertilizer, fuel, equipment) → €/min savings
- Economic crisis → loan penalty deducted per minute
- Money Bonus / Malus → direct €/min injection or deduction
- Festival → periodic income bonus
- Field fertilizer/seed events → savings/cost proxy per minute
- Wildlife animal product events → cash scaled by number of husbandries
- XP events → farm reputation points adjusted per minute
Other fixes
- All formerly boolean
EVENT_STATEflags converted to numeric values so they work as multipliers - Festival event was a stub — now sets both a market price bonus and a periodic income bonus
- Event selection now uses weighted random (weight=1 default, infrastructure ready for tuning)
- All per-minute tick timestamps cleared on event end to prevent cross-event bleed
Installation
Drop FS25_RandomWorldEvents.zip into your mods folder as-is — do not unzip.