valtech-components 4.0.508 → 4.0.509

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -123,7 +123,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
123
123
  readonly botProfiles: ChessimalsBotProfile[];
124
124
  readonly challengeLadder: ChessimalsChallengeBot[];
125
125
  readonly animals: ChessimalsAnimalView[];
126
- readonly valtechComponentsVersion = "4.0.508";
126
+ readonly valtechComponentsVersion = "4.0.509";
127
127
  readonly screen: import("@angular/core").WritableSignal<"home" | "challenge" | "path" | "game">;
128
128
  readonly selectedBoardSize: import("@angular/core").WritableSignal<ChessimalsBoardSize>;
129
129
  readonly selectedLocalMode: import("@angular/core").WritableSignal<ChessimalsLocalMode>;
@@ -42,6 +42,13 @@ interface ChristianityImpactEvent {
42
42
  seat: ChristianitySeat;
43
43
  target: 'leader' | 'battle' | 'offerings';
44
44
  }
45
+ interface ChristianityCombatAnimation {
46
+ attackerInstanceId: string;
47
+ attackerSeat: ChristianitySeat;
48
+ targetInstanceId?: string;
49
+ targetSeat: ChristianitySeat;
50
+ target: 'leader' | 'character';
51
+ }
45
52
  type ChristianityGalleryTypeFilter = 'all' | ChristianityCardType;
46
53
  type ChristianityScreen = 'splash' | 'home' | 'table';
47
54
  type ChristianityCatalogLoadState = 'loading' | 'ready' | 'fallback';
@@ -53,6 +60,8 @@ export declare class ChristianityGameComponent {
53
60
  private botTurnTimer;
54
61
  private impactEventSequence;
55
62
  private readonly impactTimers;
63
+ private combatResolutionTimer;
64
+ private combatClearTimer;
56
65
  protected readonly game: import("@angular/core").WritableSignal<ChristianityGameState>;
57
66
  protected readonly screen: import("@angular/core").WritableSignal<ChristianityScreen>;
58
67
  protected readonly catalogLoadState: import("@angular/core").WritableSignal<ChristianityCatalogLoadState>;
@@ -62,6 +71,7 @@ export declare class ChristianityGameComponent {
62
71
  protected readonly selectedInfo: import("@angular/core").WritableSignal<ChristianityInfoPanel>;
63
72
  protected readonly previewTilt: import("@angular/core").WritableSignal<ChristianityPreviewTilt>;
64
73
  protected readonly selectedPreviewAbilityIndex: import("@angular/core").WritableSignal<number>;
74
+ protected readonly previewSlideDirection: import("@angular/core").WritableSignal<0 | 1 | -1>;
65
75
  protected readonly hoveredHandIndex: import("@angular/core").WritableSignal<number>;
66
76
  protected readonly draggingCardId: import("@angular/core").WritableSignal<string>;
67
77
  protected readonly draggingAttackerInstanceId: import("@angular/core").WritableSignal<string>;
@@ -70,6 +80,7 @@ export declare class ChristianityGameComponent {
70
80
  protected readonly showGallery: import("@angular/core").WritableSignal<boolean>;
71
81
  protected readonly offeringsSeat: import("@angular/core").WritableSignal<ChristianitySeat>;
72
82
  protected readonly impactEvents: import("@angular/core").WritableSignal<ChristianityImpactEvent[]>;
83
+ protected readonly combatAnimation: import("@angular/core").WritableSignal<ChristianityCombatAnimation>;
73
84
  protected readonly cardCatalog: import("@angular/core").WritableSignal<Record<string, ChristianityCardDefinition>>;
74
85
  protected readonly allCatalogCards: import("@angular/core").WritableSignal<ChristianityCardDefinition[]>;
75
86
  protected readonly catalogLoaded: import("@angular/core").WritableSignal<boolean>;
@@ -105,6 +116,9 @@ export declare class ChristianityGameComponent {
105
116
  protected readonly canNavigatePreview: import("@angular/core").Signal<boolean>;
106
117
  protected readonly previewPositionLabel: import("@angular/core").Signal<string>;
107
118
  protected readonly previewAbilities: import("@angular/core").Signal<ChristianityPreviewAbility[]>;
119
+ protected readonly showPreviewAbilityTabs: import("@angular/core").Signal<boolean>;
120
+ protected readonly canNavigatePreviewAbilities: import("@angular/core").Signal<boolean>;
121
+ protected readonly selectedPreviewAbilityPositionLabel: import("@angular/core").Signal<string>;
108
122
  protected readonly selectedPreviewAbility: import("@angular/core").Signal<ChristianityPreviewAbility>;
109
123
  protected readonly splashStatusText: import("@angular/core").Signal<string>;
110
124
  protected readonly startFeaturedCards: import("@angular/core").Signal<ChristianityCardDefinition[]>;
@@ -115,6 +129,7 @@ export declare class ChristianityGameComponent {
115
129
  protected readonly selectedCardDefinition: import("@angular/core").Signal<ChristianityCardDefinition>;
116
130
  protected readonly selectedPreviewCard: import("@angular/core").Signal<ChristianityCardDefinition>;
117
131
  protected readonly selectedPreviewRenderCard: import("@angular/core").Signal<ChristianityCardRenderModel>;
132
+ protected selectedPreviewNeighborRenderCard(direction: -1 | 1): ChristianityCardRenderModel | null;
118
133
  protected readonly previewRule: import("@angular/core").Signal<ChristianityPreviewRule>;
119
134
  protected readonly statusText: import("@angular/core").Signal<string>;
120
135
  constructor();
@@ -222,6 +237,11 @@ export declare class ChristianityGameComponent {
222
237
  protected resetPreviewTilt(): void;
223
238
  private pushImpactEvent;
224
239
  private pushImpactEvents;
240
+ protected isCombatAttacker(card: ChristianityCharacterInstance): boolean;
241
+ protected isCombatCharacterTarget(card: ChristianityCharacterInstance): boolean;
242
+ protected isCombatLeaderTarget(seat: ChristianitySeat): boolean;
243
+ private startCombatAnimation;
244
+ private clearCombatTimers;
225
245
  private triggerHistoryPulse;
226
246
  private clearBotTurn;
227
247
  private scheduleBotTurnIfNeeded;
@@ -234,6 +254,7 @@ export declare class ChristianityGameComponent {
234
254
  protected canUseOfferingAbility(offering: ChristianityOfferingInstance, seat: ChristianitySeat): boolean;
235
255
  protected useOfferingAbility(offering: ChristianityOfferingInstance, seat: ChristianitySeat): void;
236
256
  protected selectPreviewAbility(index: number): void;
257
+ protected navigatePreviewAbility(direction: -1 | 1): void;
237
258
  protected useSelectedPreviewAbility(): void;
238
259
  private selectedPreviewOffering;
239
260
  private canUsePreviewAbility;
@@ -28,6 +28,7 @@ export interface ChristianityOfferingAbilityResult {
28
28
  game: ChristianityGameState;
29
29
  resolved: boolean;
30
30
  leaderDamage: number;
31
+ reserveGain: number;
31
32
  spentOfferings: number;
32
33
  log: string[];
33
34
  }
@@ -366,6 +366,7 @@ export interface ChristianityPlayerState {
366
366
  leaderHp: number;
367
367
  leaderMaxHp: number;
368
368
  offerings: ChristianityOfferingInstance[];
369
+ temporaryOfferingReserve?: number;
369
370
  offeringPlayedThisTurn: boolean;
370
371
  hand?: string[];
371
372
  handCount?: number;
package/lib/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export declare const VERSION = "4.0.508";
5
+ export declare const VERSION = "4.0.509";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.508",
3
+ "version": "4.0.509",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"