| Beschreibung | Fixes a bug in FS25_Liquid_Lime (v1.3.0.0) where the Precision Farming
compatibility layer can get permanently stuck thinking a sprayer still contains
Liquid Lime after the fill type has been switched to herbicide, liquid fertilizer,
or another spray type. Symptoms: the sprayer stops spraying after the switch, and
unloading the tank still discharges Liquid Lime instead of the newly loaded product.
Root cause: LiquidLime:applyPrecisionFarmingLimeMapping() can throw mid-way through
applying its temporary patches (global FillType.LIME / SprayType.LIME remap and an
instance-level getFillUnitFillType override). Because the state table used to undo
those patches is created inside that function, an exception there causes the state
(and therefore the ability to roll back) to be lost, leaving the patched values stuck.
This mod does two things at loadMap:
1. Wraps the detection function so the sprayer's REAL current tank content always
wins over any stale "last valid fill type" Precision Farming state.
2. Wraps the patch-application step in pcall so a thrown error can never again leave
the global FillType.LIME / SprayType.LIME remap or the instance override stuck.
Load this alongside FS25_Liquid_Lime. Load order does not matter - it waits for
LiquidLime to be available before patching. |