WORK FOR YOUR NEIGHBORS - Oaca Robert
0.4.5.0 - MENIU ESC + SARCINI PRIN MECANISMELE NATIVE FS25
Single player PC/Mac; beta, necesitand confirmare in joc.

INSTALARE
Inchide jocul. Inlocuieste vechiul ZIP din mods cu FS25_WorkForYourNeighbors.zip.
Pastreaza o singura versiune; nu dezarhiva. Imaginea modului este neschimbata.
Vechile fisiere workForYourNeighbors.xml din variantele 0.1/0.2 nu sunt citite de
noua implementare. Noile sarcini sunt salvate in missions.xml, prin joc.

FOLOSIRE
ESC -> fila Work for Your Neighbors.
Sageti selector: alege tipul de lucrare. Lista se filtreaza automat.
Click pe parcela -> Start. Foloseste utilajele si consumabilele proprii.
Sarcina apare in lista filtrata cu procentul de progres si este administrata
si de sistemul normal de contracte. Cerintele native de livrare raman valabile.
Selecteaza sarcina -> Decline pentru anulare. Nu primesti bani la anulare.
La 100% -> selecteaza sarcina -> Collect your money. Plata este manuala,
exact o data. Sarcinile finalizate raman rezervate pana la colectare.
Limita contractelor si termenul-limita sunt cele normale ale jocului.

FILTRARE
Se exclud parcelele proprii, cele cu contracte normale disponibile/acceptate si
lucrarile nepotrivite starii citite din teren. Sarcinile proprii deja acceptate
raman vizibile in filtrul lor, pentru anulare/colectare.
Aratul/discuitul/semanatul nu se ofera peste o cultura vie.
Semanatul necesita sol pregatit si cultura viitoare planificata de joc.
Recoltatul necesita cultura efectiv coapta si calendarul permis al hartii.
Sezoanele activate/dezactivate sunt transmise functiilor native ale culturii.
Pietrele necesita pietre prezente; fertilizarea necesita un nivel suplimentar.
Daca harta/jocul nu inregistreaza un tip nativ pentru o lucrare, filtrul ei nu
produce oferte. Modul nu inventeaza misiuni de lucru nesuportate de joc.

TARIFE / HECTAR
Arat: 20.000.
Recoltat radacinoase, inclusiv pregatirea in cadrul sarcinii: 20.000.
Semanat/plantat toate culturile: 10.000.
Strans pietre: 10.000.
Fertilizat: 5.000.
Erbicidat/plivit si lucrari usoare: 7.000.
Recoltat alte culturi: 15.000 (pastrat din cerinta initiala).
Discuitul este inclus la lucrari usoare, 7.000.
Suprafata folosita este cea a campului, nu intreaga proprietate.
Nu sunt oferite utilaje imprumutate; nu se deconteaza separat consumabilele.
Helperul foloseste accesul nativ al contractului. Costurile lui raman ale fermei.

CE A FOST VERIFICAT LOCAL
Sintaxa Lua, XML, ZIP, legaturile callback-urilor si pastrarea imaginii.
Teste simulate pentru filtrare, sezoane/maturitate, start nativ fara utilaje
imprumutate, progres fata de starea initiala, fara bani la acceptare,
colectare manuala unica, anulare fara resetarea solului, metadate in salvarea
nativa si nealterarea tarifelor contractelor obisnuite.
Aceste teste nu inlocuiesc rularea in Farming Simulator.

PROBA IN JOC
1. Plowing afiseaza doar terenuri eligibile; o cultura in crestere nu apare.
2. Selecteaza un teren si apasa Start: apare IN PROGRESS, banii nu se schimba.
3. Lucreaza manual sau cu helper. Progresul trebuie sa creasca.
4. La 100% colecteaza si verifica suma; colectarea repetata nu mai plateste.
5. Salveaza/inchide/reincarca in timpul lucrarii si dupa 100% inainte de colectare.
6. Verifica o anulare si o recoltare cu livrarea nativa.
Daca Start este refuzat, mesajul explicativ apare sub selector si in log.txt.
Trimite log.txt daca apare eroare sau progresul nu reflecta lucrarea.

MODIFICARI 0.4.1.0
Fertilizari noi: 5.000/ha. Sumele sarcinilor deja acceptate raman cele convenite.
Recoltarea poate folosi un sampler separat, bazat pe starile de cultura taiata
incarcate din harta. Nu se confunda o cultura coapta cu o lucrare terminata.
Conditiile native de livrare si colectarea manuala la final raman active.
Daca Start este refuzat, trimite mesajul afisat sub selector sau log.txt;
remedierea recoltarii trebuie confirmata in joc, nu doar prin testele locale.

CORECTARI 0.4.5.0, DUPA LOGUL DIN JOC
Plivit/erbicidat: pastrata initializarea specifica nativa, fara resetarea solului;
progresul se masoara dupa pregatire, pentru a evita impartirea la o valoare nil.
Sarcinile se creeaza prin tryGenerateMission al jocului, pe parcela ceruta,
nu prin simpla construire a obiectului. Astfel se completeaza si configuratia
de recoltare/livrare. Selectorul si limitele temporare se restaureaza imediat.
Destinatia de livrare este aleasa de mecanismul nativ, nu la un NPC.
Fertilizarea ramane 5.000/ha pentru sarcinile noi.
Proba: incearca intai Weed/Herbicide si Harvest. Daca Start este refuzat,
trimite noul log; mesajul contine acum numele starii native, nu doar un numar.

0.4.5: Erbicidarea si plivitul masoara direct suprafata cu buruieni tratabile din harta jocului. Nu folosesc calculul WeedMission cu numitor lipsa. Testat local; necesita verificare in joc.

0.4.5: Validarea foloseste contractele inregistrate, nu egalitatea obligatorie cu field.currentMission. Proprietatea, conflictele si termenul raman verificate. Meniul si logul arata starea exacta de inchidere. Pentru joburile deja esuate, apasati DECLINE si acceptati din nou. Teste locale trecute, cauza exacta a esecului anterior nu apare in log.

0.4.5: Doar weed/spray folosesc update, finishedPreparing si getIsPrepared din clasele native de baza pentru a evita verificari specifice pregatirii artificiale de buruieni. Masurarea directa, plata manuala si termenul sunt pastrate. Celelalte lucrari nu sunt modificate. Testele simuleaza FAILED dupa Start; verificarea in joc ramane necesara. Eliminati joburile FAILED vechi cu DECLINE inainte de o noua incercare.
