fgjhsd
This commit is contained in:
parent
511fc9f17b
commit
18e10179ef
@ -22,9 +22,12 @@ function rarityImgs(rarity, size = 13) {
|
||||
function cardHTML(card, isFront = true) {
|
||||
if (!isFront) return `<img class="booster-slot-img" src="/images/items/rueckseite.png" alt="?" draggable="false">`;
|
||||
|
||||
const img = card?.image ? `/images/cards/${card.image}` : "/images/items/rueckseite.png";
|
||||
// image zuerst, dann icon als Fallback
|
||||
const imgFile = card?.image || card?.icon || null;
|
||||
const img = imgFile ? `/images/cards/${imgFile}` : "/images/items/rueckseite.png";
|
||||
return `
|
||||
<img class="booster-slot-img" src="${img}" alt="${card?.name || ''}" draggable="false">
|
||||
<img class="booster-slot-img" src="${img}" alt="${card?.name || ''}" draggable="false"
|
||||
onerror="this.src='/images/items/rueckseite.png'">
|
||||
${card?.attack != null ? `<span class="bs-stat-atk">${card.attack}</span>` : ""}
|
||||
${card?.defends != null ? `<span class="bs-stat-def">${card.defends}</span>` : ""}
|
||||
${card?.cooldown!= null ? `<span class="bs-stat-cd">${card.cooldown}</span>` : ""}
|
||||
@ -201,15 +204,24 @@ export async function loadEvents() {
|
||||
|
||||
/* ── Slot enthüllen – Sperre setzen BEVOR clearInterval ── */
|
||||
function revealSlot(index, card) {
|
||||
slotLocked[index] = true; // zuerst sperren
|
||||
slotLocked[index] = true; // zuerst sperren
|
||||
clearInterval(spinIntervals[index]); // dann stoppen
|
||||
delete spinIntervals[index];
|
||||
|
||||
console.log(`[Booster] Slot ${index} enthüllt:`, card);
|
||||
|
||||
const slot = body.querySelector(`#booster-slot-${index}`);
|
||||
const inner = slot.querySelector(".booster-slot-inner");
|
||||
slot.classList.remove("spinning");
|
||||
slot.classList.add("revealed");
|
||||
inner.innerHTML = cardHTML(card, true); // finale Karte setzen
|
||||
|
||||
// innerHTML setzen und danach nochmal sicherstellen (doppelte Absicherung)
|
||||
inner.innerHTML = cardHTML(card, true);
|
||||
setTimeout(() => {
|
||||
if (slot.classList.contains("revealed")) {
|
||||
inner.innerHTML = cardHTML(card, true);
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
|
||||
/* ── Stapel klicken ── */
|
||||
|
||||
@ -59,7 +59,7 @@ router.get("/booster/cards", async (req, res) => {
|
||||
if (!req.session?.user) return res.status(401).json({ error: "Nicht eingeloggt" });
|
||||
try {
|
||||
const [cards] = await db.query(
|
||||
"SELECT id, name, image, max_level, rarity, attack, defends, cooldown FROM cards ORDER BY id"
|
||||
"SELECT id, name, image, icon, max_level, rarity, attack, defends, cooldown FROM cards ORDER BY id"
|
||||
);
|
||||
res.json(cards);
|
||||
} catch (err) {
|
||||
@ -85,7 +85,7 @@ router.post("/booster/open", async (req, res) => {
|
||||
const maxAllowed = Math.max(...weights.map(w => w.maxLevel));
|
||||
|
||||
const [allCards] = await db.query(
|
||||
"SELECT id, name, image, max_level, rarity, attack, defends, cooldown FROM cards WHERE max_level <= ?",
|
||||
"SELECT id, name, image, icon, max_level, rarity, attack, defends, cooldown FROM cards WHERE max_level <= ?",
|
||||
[maxAllowed]
|
||||
);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user