feat: use player level when creating card instances in UI scenes

Updated CollectionScene, DeckBuilderScene, and FusionScene to pass the current player level (this.save.level) instead of hardcoded level 1 when creating card instances for display. This ensures cards shown in collection views, deck builder previews, and fusion interfaces reflect their actual stats based on the player's progression.
This commit is contained in:
Brian Fertig 2026-03-15 15:32:46 -06:00
parent d3f9facb4a
commit c2b5e79d08
3 changed files with 10 additions and 10 deletions

View File

@ -230,7 +230,7 @@ export class CollectionScene extends Phaser.Scene {
const owned = this.save.collection[card.id] || 0;
const lv1 = card.levels[0];
const cardInstance = this.cardManager.createInstance(card.id, 1);
const cardInstance = this.cardManager.createInstance(card.id, this.save.level || 1);
const cardObj = new CardObject(this, cx, cy, cardInstance, {
width: CARD_W, height: CARD_H, disableTooltip: true
@ -419,7 +419,7 @@ export class CollectionScene extends Phaser.Scene {
const cx = RIGHT_X + RIGHT_W / 2;
const cy = SHOWCASE_Y + SHOWCASE_H / 2;
const instance = this.cardManager.createInstance(cardData.id, 1);
const instance = this.cardManager.createInstance(cardData.id, this.save.level || 1);
this._showcaseCard = new CardObject(this, cx, cy, instance, {
width: 260, height: 357, disableTooltip: true
});

View File

@ -191,7 +191,7 @@ export class DeckBuilderScene extends Phaser.Scene {
const deckFullBlocked = deckFull && owned > 0 && remaining > 0;
// Card instance for display
const inst = this.cardManager.createInstance(card.id);
const inst = this.cardManager.createInstance(card.id, save.level || 1);
const cardObj = new CardObject(this, cx, cy, inst, { width: this.CARD_W, height: this.CARD_H });
// Only dim cards that are genuinely unavailable (not owned / no copies left).
// When the deck is merely full, keep cards at full alpha so the player can browse.

View File

@ -222,7 +222,7 @@ export class FusionScene extends Phaser.Scene {
const x = startX + col * (thumbW + gap);
const y = startY + row * (thumbH + rowGap);
const instance = this.cardManager.createInstance(cardId, 1);
const instance = this.cardManager.createInstance(cardId, this.save.level || 1);
const thumb = new CardObject(this, x, y, instance, {
width: thumbW, height: thumbH
});
@ -364,7 +364,7 @@ export class FusionScene extends Phaser.Scene {
// Back shadow cards for depth effect (tooltips disabled on shadows)
if (numShadows >= 3) {
const inst = this.cardManager.createInstance(stack.cardId, 1);
const inst = this.cardManager.createInstance(stack.cardId, this.save.level || 1);
const back = new CardObject(this, 4, 4, inst, {
width: CARD_W, height: CARD_H, disableTooltip: true
});
@ -372,7 +372,7 @@ export class FusionScene extends Phaser.Scene {
container.add(back);
}
if (numShadows >= 2) {
const inst = this.cardManager.createInstance(stack.cardId, 1);
const inst = this.cardManager.createInstance(stack.cardId, this.save.level || 1);
const mid = new CardObject(this, 2, 2, inst, {
width: CARD_W, height: CARD_H, disableTooltip: true
});
@ -381,7 +381,7 @@ export class FusionScene extends Phaser.Scene {
}
// Front card — tooltip enabled, also serves as the interactive hit area
const frontInst = this.cardManager.createInstance(stack.cardId, 1);
const frontInst = this.cardManager.createInstance(stack.cardId, this.save.level || 1);
const front = new CardObject(this, 0, 0, frontInst, {
width: CARD_W, height: CARD_H
});
@ -513,7 +513,7 @@ export class FusionScene extends Phaser.Scene {
const x = startX + col * (pw + gap);
const y = PREVIEW_TOP + 80 + row * (ph + 30);
const instance = this.cardManager.createInstance(card.id, 1);
const instance = this.cardManager.createInstance(card.id, this.save.level || 1);
const cardObj = new CardObject(this, x, y, instance, {
width: pw, height: ph
});
@ -605,7 +605,7 @@ export class FusionScene extends Phaser.Scene {
// Create 3 temporary cards at the stack position
const tempCards = [];
for (let i = 0; i < 3; i++) {
const inst = this.cardManager.createInstance(this._selectedStack.cardId, 1);
const inst = this.cardManager.createInstance(this._selectedStack.cardId, this.save.level || 1);
const card = new CardObject(this, worldX + i * 2, worldY + i * 2, inst, {
width: CARD_W, height: CARD_H, disableTooltip: true
});
@ -663,7 +663,7 @@ export class FusionScene extends Phaser.Scene {
this.tweens.add({ targets: overlay, alpha: 0.85, duration: 300 });
// Result card — starts large, spins in
const instance = this.cardManager.createInstance(resultCardDef.id, 1);
const instance = this.cardManager.createInstance(resultCardDef.id, this.save.level || 1);
const resultCard = new CardObject(this, width / 2, 420, instance, {
width: 260, height: 357, disableTooltip: true
});