feat: echte Item-Icons im Charakter-Modal statt Platzhalter-Emojis #13
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!13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/item-icons"
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?
Zusammenfassung
Ersetzt die Emoji-Platzhalter pro Ausrüstungsslot im Charakter-Modal durch echte Item-Icons, die aus den Unity-Asset-Bundles des Spiels geripped wurden.
public/assets/images/items/, aufgeteilt in Warrior/Mage/Scout (je eigenes Set für klassenspezifische Slots: Hat/BreastPlate/Gloves/FootWear/Belt/Weapon) sowie geteilte Bundles für Ring/Amulett/Talisman/Schild.includes/item_icons.php: löst Slot +model_id/color/classeines Items per Datei-Glob (statt starrer Namenskonstruktion, da die Sprite-Dateinamen nicht durchgängig gleich aufgebaut sind) auf eine Icon-Datei auf.api/player_character.php: hängt pro Ausrüstungsgegenstand einicon-Feld mit dem aufgelösten Pfad an.public/assets/js/guild.js:buildEquipTile()rendert jetzt ein<img>; fehlt/bricht das Bild, fällt es automatisch auf das bisherige Emoji zurück (onerror).public/assets/css/guild.css: neue.char-slot-icon-img-Regel (passt sich der bestehenden 72px-Slot-Kachel an).Klassen-Zuordnung
Die 9 "Hybrid"-Klassen haben keine eigenen Ausrüstungs-Grafiken, sondern nutzen laut
sf-apisItem::can_be_used_by()(github.com/the-marenga/sf-api) eine der drei Basis-Klassen für Waffe bzw. Rüstung getrennt — das übernimmt automatisch dasclass-Feld, das schon inchar_data_jsongespeichert wird (kein zusätzlicher Code für die Zuordnung nötig):Test
Portraits
Bewusst nicht Teil dieses PRs — wird separat angegangen (Rohmaterial für die Portrait-Sprites liegt bereits vor, siehe Chatverlauf).