FM27: add Staff.job, and include people with no contract in staff()

Aperta
#44 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
data

Direzione di ricerca

Start by reading the staff() implementation and how it represents contract rows and coded values; compare its output with the FM27 behavior described here. Check how current jobs and people without contracts can be distinguished, and investigate the unresolved job codes and past-job rule. Done means staff rows include a job, retain only each person's current job, and include club people without contracts with their team and job.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

No save files or real data
  • I have not attached or linked a save file, screenshot, or any real player data
What is missing

staff() has no job field, and it leaves out people who work for a club with no contract, such as the chairperson and directors. On FM27, a person's stored contract rows can also describe past jobs.

How the results compare with the game

The comparisons below used a local build, because 0.8.0 refuses this on FM27. I compared one club with the All Staff screen.

  • All 25 people on the screen appear, each with the right job and the right team, including the board and the under-18 staff.
  • People with no contract appear with has_contract false.
  • No person has more than one row, across all 12,032 rows. Before I dropped past jobs, some teams had several managers.
  • Of the 472 first teams in league tables, 370 have a manager. 93 have no staff in the save at all. The other 9 have staff but no manager, and 2 of those have an open vacancy.
Suggested approach
  • Staff.job: add a CodedValue with a StaffJob enum, on FM27 first.
  • Past jobs: keep only the row of the current job for each person.
  • No contract: add a pass for club people with no contract, and keep team_id and the job code on those rows.
What remains uncertain
  • I checked one career, from the start of the first season to early August. I will send the saves and matching screens by email.
  • Job labels come from one club's screen. Codes 26, 46, 58, 44, 62, 66, 70 and 86 are common on other clubs and have no label yet. One person hired after that screen has one of these codes, so I can check it in the game if that helps.
  • The past-job rule rests on this career. I have not seen it across a season change.
  • I do not know why 7 of those 9 first teams have no manager and no vacancy. They may be real gaps between appointments, or a current job this rule drops.
Versions
  • fmsave 0.8.0 (main at 418c837), Python 3.13.13, macOS 27.2
  • FM27 build 27.0.0+2486695
Lingua principale
Python
Stelle
28
Fork
8
Merge medio
42m
PR unite (30g)
33

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di rhiever/fmsave

Tutte le issue di rhiever/fmsave

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.