fix: positive special_portrait fälschlich als Sonderbild-ID behandelt #26
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
DasAoD/sfguildsv2!26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/special-portrait-sign"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Nach PR #25 zeigte VIDEL (Equilibrium) plötzlich ein Portrait — aber das falsche: das Bild einer völlig anderen Person.
Ursache
Live-Check über alle 5 Gilden zeigt:
special_portrait: 5kommt bei zwei unterschiedlichen, ganz normalen Spielern vor (VIDEL und "Better Call Saul" in Equilibrium), beide mit vollständig gefüllten übrigen Portrait-Feldern (Haare, Augen, Bart, ...). Das kann keine eindeutige Bild-ID sein — offenbar ein unabhängiges Flag mit anderer, ungeklärter Bedeutung.Der bisherige Check (
special_portrait !== 0) hat jeden Nicht-Null-Wert als Sonderbild-Referenz behandelt und dadurch für VIDEL fälschlichspecial5.webpgeladen (das Bild einer fremden Person), obwohl die normalen Portrait-Felder für eine korrekte Komposition vorhanden gewesen wären.Nur negative Werte sind tatsächlich eine Bild-ID (siehe PR #25, ZsombeyHD:
special_portrait: -259→special259.webp, verifiziert gegen sfportrait.12hp.de).Änderung
Check von
special_portrait !== 0aufspecial_portrait < 0korrigiert. Positive Werte (und 0) rendern jetzt wieder normal über die Ebenen-Komposition.Test
Die neue Bedingung gegen alle 4 bekannten Live-Datenpunkte durchgespielt: ZsombeyHD (
-259→ Sonderbild ✓), VIDEL (5), Gweneth (3), Better Call Saul (5) → alle drei letzteren korrekt als "normal rendern" erkannt. Bitte nach Merge/Deploy nochmal am echten Modal für VIDEL gegenchecken.Live-Check über alle Gilden zeigte: special_portrait: 5 kommt bei mehreren unterschiedlichen, ganz normalen Spielern vor (u.a. VIDEL und "Better Call Saul" in Equilibrium), jeweils mit vollständig gefüllten übrigen Portrait-Feldern - offenbar ein unabhängiges Flag, keine Bild-Referenz. Der bisherige Check (jeder Nicht-Null-Wert = Sonderbild) hat dadurch für ganz normale Charaktere fälschlich ein fremdes special{ID}.webp geladen (z.B. VIDEL bekam das Bild einer komplett anderen Person, ID 5, zufällig weil abs(5)=5 existiert). Nur negative Werte sind tatsächlich eine Bild-ID (siehe PR #25, ZsombeyHD: special_portrait -259 -> special259.webp, verifiziert gegen sfportrait.12hp.de). Check jetzt auf `< 0` statt `!== 0` korrigiert; positive Werte und 0 rendern wieder normal über die Ebenen-Komposition (die Felder dafür sind bei positiven Werten ja vorhanden, wie der Live-Check zeigt).