Realistic Crop Pests 1.0.0.13
Author: Sherman

FEATURES
- Standalone FS25 pest simulation with optional automatic RWSM region/weather reading.
- Region + crop + temperature + moisture + degree-day driven insect pressure.
- Sparse local infestation hotspots with adaptive radii, persistent savegame data and no full-map per-frame scan.
- Crop-rotation pressure and species-specific tillage reduction.
- Yield reduction only at harvested crop additions.
- Toggleable on-foot pest HUD (default Shift+P), showing crop, region, stage, local pressure, yield loss and best matching treatment.
- Existing base-game and many mod sprayers that accept herbicide/liquid fertilizer are patched to accept RCP products.
- RCP spray passes do NOT remove weeds or add fertilizer.

REAL TRADE NAMES INCLUDED (German/EU gameplay set)
CORAGEN, Nexsuba, MOSPILAN SG, Teppeki, Carnadine, Carnadine 200, Karate Zeon, Decis forte.
The target-pest mapping follows current manufacturer/registration information used during development. The 1000 L IBCs contain READY-MIXED SPRAY LIQUID, not concentrate. Shop prices are derived from current German net-market prices for the commercial concentrate and a reference ready-mix concentration based on the strongest represented arable use and the minimum permitted water volume for that use. Water cost is treated as negligible; no fictional gameplay surcharge is added. Product effects and residual times remain gameplay abstractions and are NOT real application instructions.

REALISTIC SPRAYER CONSUMPTION
- RCP ready-mix products now drain by actual travelled area: L/ha remains constant when driving speed changes.
- Reference carrier rates: CORAGEN maize 300 L/ha (potato 400), Nexsuba maize 300 L/ha (potato 200), MOSPILAN SG 200 L/ha (Colorado potato beetle 300), Teppeki 200 L/ha, Carnadine 200 L/ha, Carnadine 200 200 L/ha, Karate Zeon 200 L/ha and Decis forte 200 L/ha.
- 1000 L therefore covers 5.0 ha at 200 L/ha, 3.33 ha at 300 L/ha, or 2.5 ha at 400 L/ha before section-control savings.
- With Precision Farming 3.0, RCP reads the active nozzle/section fraction. PWM/section control therefore reduces total tank consumption only where nozzles/sections are actually off; the treated area keeps its full reference L/ha.
- Without Precision Farming, manually reduced variable working width is also respected.
- These values model carrier-liquid consumption in FS25 and are not real-world pesticide use instructions.

REGIONAL MODEL
Pests are enabled by the weather region. Germany/EU is the first detailed pesticide-product library. Global pest biogeography is already represented for selected major pests; product libraries can be expanded per country without changing RWSM.

PERFORMANCE
Pest development and new infestation seeding are processed on the GIANTS day-change/growth-period event. Tillage, spraying and harvesting react only to actual work areas. Local hotspots are capped at 14 per field to avoid uncontrolled savegame/runtime growth; no pest field scanner runs every frame.

MULTIPLAYER
This first test build is single-player only. Multiplayer is intentionally disabled until explicit network synchronization is implemented.


Version 1.0.0.3: switched shop IBCs to the uploaded melasse/additive tank base model, generated DDS store images, and made all products visible under consumables / IBC categories.


Version 1.0.0.4
- Pest pressure is now field-wide instead of local 18 m hotspots.
- Existing crop damage is persistent after treatment; spraying reduces active pressure/future damage only.
- RCP spray usage/effects are independent from Precision Farming PWM, spot spraying and automatic nozzle shutdown.
- Compact RCP HUD is shown automatically on fields in vehicles and on foot, directly below the weather HUD.
- A short Insect damage line is appended to the standard field info when the GIANTS FieldInfoDisplay custom-row API is available.
- Full 1000 L IBC mass corrected to about 1.06 t and fill mass is not double-counted.
- IBC decal artwork scaled down to fit the physical label plate.

Version 1.0.0.5: replaced the IBC label DDS files with the user-supplied original product logos and resized/recentered them to fit the melasse IBC plate more cleanly. Store DDS images were refreshed to match.

Version 1.0.0.6: increased all IBC front-logo sizes significantly and recentered them on the melasse IBC plate; kept the 1000 l gebrauchsfertig text unchanged.

Version 1.0.0.7: replaced the top text on all IBC front labels with the manufacturer name instead of generic insecticide/product text; kept 1000 l gebrauchsfertig unchanged.

Version 1.0.0.8: HUD/field detection rebuilt with multiple FS25 field lookup fallbacks; HUD no longer silently disappears on maps without getFieldAtWorldPosition. Field-info bridge now retries until PlayerHUDUpdater is available, matching the reliable RWSM/VMT registration timing. Existing shop/IBC/sprayer behavior unchanged.
- Mospilan 20 SG and Teppeki front decals realigned to the original Hansa-Melasse UV band: manufacturer above, product logo vertically centered, and "1000 l gebrauchsfertig" directly below.

Version 1.0.0.9: exact GIANTS-Editor label mesh transform (-0.006/-1.467/0; scale 1.748/2.381/1.011) applied to all eight IBCs. Pest HUD rebuilt using native game-info scaling, right-side anchoring, on-foot-only display and a persistent Shift+P toggle. Field info now uses the proven PlayerHUDUpdater.fieldAddFarmland box:addLine path.

1.0.0.12 LOCAL HOTSPOTS
Pest pressure is spatial. A field contains only a small number of persistent circular infestation zones (max. 14), not a full density map. Spraying and tillage affect a hotspot only when the GIANTS WorkArea intersects it. Combine yield loss prefers the cutter WorkArea and is sampled across that area. This keeps the model local while avoiding a permanent field/density-map scanner.

1.0.0.13 SPARSE WORLD CHUNKS
- Added a runtime-only 64 m world chunk index for local pest hotspots.
- The chunk grid follows the GIANTS terrain/density-map principle: world coordinates resolve to a small cell set, then only local data is evaluated.
- Pest state is NOT stored in the chunks and no extra density map is created; chunks are rebuilt from authoritative hotspot data after loading.
- Spraying, cultivating, ploughing, mulching, HUD point queries and cutter yield sampling now query only touched chunks before exact hotspot geometry checks.
- Hotspots overlapping chunk borders are registered in every touched chunk, so no edge hits are lost.
- Growing hotspot radii reindex only that hotspot during the daily event; deleted hotspots are removed immediately.
- Empty chunks return immediately without FieldManager fallback scans.
- Legacy field-wide reservoirs are migrated into local zones on load where the field can be resolved.


1.0.0.14 architecture: server-authoritative MP sync, numeric sparse 64 m chunk broad phase, event-maintained candidate fields, and exact GIANTS WorkArea section geometry. The former pest map page was removed in 1.0.0.33 to avoid an unnecessary global map draw hook.
