Loading
Lade/Simuliere...
(Bitte das Browserfenster nicht schließen!)
x
⚠️

Spielerentwicklung-Tracker, MaxPot-Chip & die finale Card-Welle

Tino H. Tino H.

Eine neue Seite und ein Schwung Detailarbeit auf den bestehenden: players_development.php zeigt dir die kumulative Stärke-Entwicklung jedes aktiven Spielers seit Spielstart, game.php und player.php sind die letzten DataTables losgeworden, ein neuer 🎯 Max Pot.-Chip macht ausgereizte Spieler unabhängig vom Scout-Level sichtbar — und unter der Haube haben wir das Demo-Spielerlebnis für Cookie-User repariert.

📈 Neue Seite: Spielerentwicklung-Tracker

  • Im Seitenmenü unter „Beste Spieler" findest du jetzt Spielerentwicklung — eine AJAX-gefilterte Player-Card-Grid mit allen aktiven Spielern der Liga (ohne Draft-Pool, ohne Karriereende)
  • Pro Spieler wird die älteste oldstaerke aus der player_progression-Tabelle als Start-OVR verwendet — daraus ergibt sich die kumulative Aufwertung/Abwertung seit dem ersten Saisonwechsel, prominent als bunter Δ-Chip auf jeder Karte (grün/rot/grau)
  • Sortier-Pills: Aufwertung (Default ↓), aktueller OVR/POT, Start-OVR, Alter, Name. Positions-Filter, Mini-Pager, persistenter State via localStorage — gleicher UX-Standard wie players.php / players_stats.php
  • Performance-Trick: das Start-OVR wird über eine einzige GROUP BY player + MIN(id)-Pre-Aggregation als LEFT JOIN aufgelöst statt mit einem korrelierten Subquery pro Row — der erste Wurf brauchte 5+ Sekunden pro Sortier-Klick, jetzt sind es <100 ms auf einer ~3500-Spieler-Liga
  • 5-Schritt-Tutorial mit explizitem W1-Hinweis: ohne Saisonübergang stehen noch keine Daten fest, dann liest alles „+0" — sobald die erste Saison vorbei ist, füllt sich die Liste automatisch

🎯 Persistent „Max Pot."-Chip auf jeder Player-Card

  • Sobald staerke >= potential ist (Spieler hat sein Limit erreicht), erscheint ein dezenter gold-amber Chip „🎯 Max Pot." im Badges-Cluster neben Rookie/Retire/Injury
  • Sichtbar unabhängig vom Scout-Director-Level — wer auf Lvl 3 sitzt und nur Pot-Sterne sieht, weiß jetzt trotzdem auf einen Blick, wer sein Potenzial schon ausgereizt hat. Reine Binär-Info, kein exakter Pot-Wert-Reveal
  • Eingebaut in alle Card-Render-Sites: players_pcard.php, team_pcard.php, contracts.php, _contracts_blocks.php und der player.php Hero-Card-Statusrow. Karriereende-Spieler bekommen den Chip nicht — redundant zum Retire-Icon

🃏 game.php — finale 7 DataTables raus

  • 📊 Spielübersicht ist jetzt eine Vergleichs-Card im H2H-Stil: pro Stat-Zeile [Away-Wert] ━━━ [Home-Wert] mit proportional gesplittetem Farbbalken in beiden Team-Farben, plus Sektions-Divider 🛡️ Defense / 🥅 Special Teams / 🤕 Injuries
  • Spieler-Statistiken pro Team: die 3 alten OFF/DEF/SPE-Tabellen sind in eine filterbare .gpc-grid pro Team gemerged. Drei Toolbars: Positions-Filter, Positionsgruppen-Filter (Alle/OFF/DEF/SPE — farbcodiert), Sort-Pills (Pos/TD/Ru Yds/Pa Yds/Rec Yds/T/S/Int/FG), plus zusätzlicher Statistik-Filter (zeigt nur Spieler mit ≥ 1 in der gewählten Stat — z.B. „nur Spieler mit mindestens einem Touchdown")
  • Per-Spieler-Card mit positions-aware Stat-Pill-Block (Pills mit Wert = 0 werden ausgeblendet), Phase-farbcodierter Left-Border, Game-MVP-Highlight läuft jetzt über document.querySelectorAll('.gpc-card[data-pid=...]') statt jQuery-Row-Painter
  • Die Dev-Debug-Box (lokal) nutzt jetzt die Snapshot-Werte aus der schedule-Row (ovr_home, off_home …) statt der Live-Team-Werte. Damit zeigt die Hero-Card und der Debug-Block dieselbe OVR, statt 82 oben und 73,89 unten

📋 player.php — alle Tabellen umgebaut, Action-Toolbar in die Hero-Card

  • 7 legacy DataTables sind raus: Renewal-Offers, Player-BIA, Awards, Statistiken, Entwicklung, Verletzungen, History — alles jetzt Cards. Die player-history-Lokalisierungslogik (über 20 verschiedene Action-Patterns) bleibt 1:1 erhalten
  • Die Player-BIA-Strip ist komplett entfallen — sie dupliziert nur, was schon in der Hero-Card oben steht. Stattdessen wurden alle Action-Buttons (Favorit, Sign FA, Trade-Offer, Quick-Resign, Negotiate, Release, Persuade) in die Hero-Card direkt unter den Stat-Tiles integriert, kontextabhängig sichtbar
  • Sortierbar nach Saison + Woche in der Awards-, Injury- und History-Card-Liste

📝 contracts.php + Auslaufende Verträge

  • Auf contracts.php tauchen jetzt auch Karriereende-Spieler in der Vertragsübersicht auf — ihre Restverträge zählen weiterhin gegen den Cap, also gehören sie in die Übersicht. Visuell deutlich abgegrenzt: dunklerer Grau-Rahmen, diagonale Schraffur, filter: saturate(0.6) und Retire-Badge im Header
  • Das gemeinsame Partial _contracts_blocks.php (start.php + team.php) ist auf das pcard-Vokabular migriert: 📋 Auslaufende Verträge mit Negotiate/Quick-Resign/Release-Actions, 🪦 Karriereende-Spieler mit Release + Persuade (Gold-CTA) — Negotiate/Quick-Resign machen bei Retirern keinen Sinn und sind raus

🔍 Demo-Modus für Cookie-User repariert

  • Bisher griff der Demo-Fallback nur, wenn der Cookie komplett leer war — Visitors mit einem alten oder kaputten eigenen Spiel im Cookie landeten auf einer leeren Shell statt der Demo
  • Neu: ein kurzlebiges ff_demo_session-Cookie (2 h TTL, jeder Demo-Hit refresht). ?demo=1 setzt es, jeder Navigationsschritt bleibt in der Demo, ?exitdemo=1 (Banner-CTA) oder ein Wechsel via ?continuegame=ID / ?changegame=1 löscht es
  • Zusätzlich ein Hollow-Game-Safety-Net im header_connect.php: wenn das eigene Spiel im Cookie 0 Spielerzeilen hat (kaputter Zustand), wird es ignoriert und auf Demo durchgegriffen

🐛 Sammelsurium

  • players.php: zwei neue Filter-Checkboxen „ohne Draft-Spieler" und „ohne Free Agents" (mutually exclusive zu „nur Draft" / „nur FA"); bei „nur Draft" + „nur FA" gleichzeitig wird jetzt korrekt per OR gefiltert statt 0 Ergebnisse zu liefern
  • Stärke „? n/a"-Bug: gedraftete Rookies mit draft=2 wurden fälschlich durch den Draft-Scout-v2-Render geschickt und zeigten dauerhaft „? n/a" statt ihrer echten Stärke. Gate jetzt strikt auf draft=1 (nur Draft-Pool)
  • EOS-Forecast (franchise.php) berücksichtigt jetzt die Kosten der Draft-Scout-Abteilung für die restlichen Saison-Wochen — bei mehreren Scouts machte das vorher mehrere Millionen Diskrepanz aus
  • Scouting v2 Auto-Priority: wenn die Automatik vor Phase 3 aktiviert ist, materialisiert der Phase-3-Generator die Auto-Pick-IDs in team.scouting_priority und sperrt die Liste ab W21. Davor wurde der Boost zwar applied, aber die UI zeigte „0 / 24 Slots belegt" — verwirrend bis zur Unbenutzbarkeit
  • Notification-Bar Dismiss: sticky Tab-Leisten auf draft.php und team.php waren beim Schließen einer Benachrichtigung mitten im Bild hängen geblieben — jetzt rutschen sie korrekt unter den Newsticker
  • Team-Schedule-Highlight: am Saisonende (kein „nächstes Spiel" mehr) wurden alle 25 gespielten User-Team-Spiele in color2 hervorgehoben. Jetzt: kein Highlight, wenn kein nächstes Spiel mehr ansteht
  • Entwicklung-Roh-HTML: die grund-Spalte enthält serverseitig gebautes <font color="green">…</font>-Markup — wurde auf team.php und player.php fälschlich escaped und als Roh-Text angezeigt. Jetzt korrekt als Farb-Reasons gerendert
  • Vertragsverhandlungs-Overlay: POT zeigte „?" statt der Sterne bei Scout Director Lvl 2-3 — Gate war off-by-one. Jetzt konsistent mit allen anderen Player-Cards

Mit dem Spielerentwicklung-Tracker hast du endlich einen einzigen Ort, an dem du sehen kannst, welche Talente sich in deinem Spiel am stärksten verbessert haben — und der MaxPot-Chip macht endlich klar, wer aus dem Wachstum schon raus ist, ohne dass du auf Scout Director Lvl 4 hochziehen musst. Plus: zwei der drei zentralen Spiel-Detail-Seiten (game.php, player.php) sind jetzt komplett tabellenfrei, mobile-first und konsistent mit dem Rest der App.

« Blog

NFL Shop