valtech-components 4.0.510 → 4.0.512

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.
@@ -114,7 +114,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
114
114
  readonly botProfiles: ChessimalsBotProfile[];
115
115
  readonly challengeLadder: ChessimalsChallengeBot[];
116
116
  readonly animals: ChessimalsAnimalView[];
117
- readonly valtechComponentsVersion = "4.0.510";
117
+ readonly valtechComponentsVersion = "4.0.512";
118
118
  readonly screen: import("@angular/core").WritableSignal<"home" | "challenge" | "path" | "game">;
119
119
  readonly selectedBoardSize: import("@angular/core").WritableSignal<ChessimalsBoardSize>;
120
120
  readonly selectedLocalMode: import("@angular/core").WritableSignal<ChessimalsLocalMode>;
@@ -1,5 +1,7 @@
1
1
  import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';
2
2
  import { ChristianityCardRenderModel } from './christianity-card.component';
3
+ import { MiniGameCalloutMetadata } from './mini-game-callout.component';
4
+ import { MiniGameScorePopMetadata } from './mini-game-score-pop.component';
3
5
  import { ChristianityCardDefinition, ChristianityCardType, ChristianityCharacterInstance, ChristianityGameState, ChristianityOfferingInstance, ChristianityPlayerState, ChristianitySeat } from './types';
4
6
  import * as i0 from "@angular/core";
5
7
  interface ChristianityCardPreview {
@@ -8,7 +10,7 @@ interface ChristianityCardPreview {
8
10
  meta: string;
9
11
  body: string;
10
12
  cardId?: string;
11
- source?: 'hand' | 'board' | 'pile' | 'history' | 'offerings';
13
+ source?: 'hand' | 'board' | 'pile' | 'history' | 'offerings' | 'gallery';
12
14
  seat?: ChristianitySeat;
13
15
  offeringInstanceId?: string;
14
16
  }
@@ -42,6 +44,15 @@ interface ChristianityImpactEvent {
42
44
  seat: ChristianitySeat;
43
45
  target: 'leader' | 'battle' | 'offerings';
44
46
  }
47
+ interface ChristianityCombatTrail {
48
+ fromX: string;
49
+ fromY: string;
50
+ midX: string;
51
+ midY: string;
52
+ length: string;
53
+ angle: string;
54
+ tone: 'attack' | 'leader' | 'character';
55
+ }
45
56
  interface ChristianityCombatAnimation {
46
57
  attackerInstanceId: string;
47
58
  attackerSeat: ChristianitySeat;
@@ -62,6 +73,7 @@ export declare class ChristianityGameComponent {
62
73
  private readonly impactTimers;
63
74
  private combatResolutionTimer;
64
75
  private combatClearTimer;
76
+ private combatTrailClearTimer;
65
77
  protected readonly game: import("@angular/core").WritableSignal<ChristianityGameState>;
66
78
  protected readonly screen: import("@angular/core").WritableSignal<ChristianityScreen>;
67
79
  protected readonly catalogLoadState: import("@angular/core").WritableSignal<ChristianityCatalogLoadState>;
@@ -81,6 +93,7 @@ export declare class ChristianityGameComponent {
81
93
  protected readonly offeringsSeat: import("@angular/core").WritableSignal<ChristianitySeat>;
82
94
  protected readonly impactEvents: import("@angular/core").WritableSignal<ChristianityImpactEvent[]>;
83
95
  protected readonly combatAnimation: import("@angular/core").WritableSignal<ChristianityCombatAnimation>;
96
+ protected readonly combatTrail: import("@angular/core").WritableSignal<ChristianityCombatTrail>;
84
97
  protected readonly cardCatalog: import("@angular/core").WritableSignal<Record<string, ChristianityCardDefinition>>;
85
98
  protected readonly allCatalogCards: import("@angular/core").WritableSignal<ChristianityCardDefinition[]>;
86
99
  protected readonly catalogLoaded: import("@angular/core").WritableSignal<boolean>;
@@ -112,14 +125,19 @@ export declare class ChristianityGameComponent {
112
125
  } | {
113
126
  kind: 'offering';
114
127
  offering: ChristianityOfferingInstance;
128
+ } | {
129
+ kind: 'gallery';
130
+ cardId: string;
115
131
  })[]>;
116
132
  protected readonly canNavigatePreview: import("@angular/core").Signal<boolean>;
117
133
  protected readonly previewPositionLabel: import("@angular/core").Signal<string>;
118
134
  protected readonly previewAbilities: import("@angular/core").Signal<ChristianityPreviewAbility[]>;
119
135
  protected readonly showPreviewAbilityTabs: import("@angular/core").Signal<boolean>;
136
+ protected readonly showPreviewAbilities: import("@angular/core").Signal<boolean>;
120
137
  protected readonly canNavigatePreviewAbilities: import("@angular/core").Signal<boolean>;
121
138
  protected readonly selectedPreviewAbilityPositionLabel: import("@angular/core").Signal<string>;
122
139
  protected readonly selectedPreviewAbility: import("@angular/core").Signal<ChristianityPreviewAbility>;
140
+ protected readonly combatCallout: import("@angular/core").Signal<MiniGameCalloutMetadata>;
123
141
  protected readonly splashStatusText: import("@angular/core").Signal<string>;
124
142
  protected readonly startFeaturedCards: import("@angular/core").Signal<ChristianityCardDefinition[]>;
125
143
  protected readonly futureModes: import("@angular/core").Signal<{
@@ -187,6 +205,16 @@ export declare class ChristianityGameComponent {
187
205
  protected readyOfferings(player: ChristianityPlayerState): number;
188
206
  protected totalOfferings(player: ChristianityPlayerState): number;
189
207
  protected canPlay(card: ChristianityCardDefinition): boolean;
208
+ protected handCardActionLabel(card: ChristianityCardDefinition): string;
209
+ protected handCardTestId(cardId: string, index: number): string;
210
+ protected battleCardTestId(seat: ChristianitySeat, card: ChristianityCharacterInstance): string;
211
+ protected battleSlotTestId(seat: ChristianitySeat, index: number): string;
212
+ protected historyCardTestId(cardId: string, index: number): string;
213
+ protected offeringsDrawerTestId(seat: ChristianitySeat): string;
214
+ protected offeringListTestId(seat: ChristianitySeat): string;
215
+ protected offeringCardTestId(offering: ChristianityOfferingInstance): string;
216
+ protected offeringUseButtonTestId(offering: ChristianityOfferingInstance): string;
217
+ private testIdPart;
190
218
  protected canPlaySelected(): boolean;
191
219
  protected selectedActionLabel(): string;
192
220
  protected selectedActionDisabled(): boolean;
@@ -210,6 +238,7 @@ export declare class ChristianityGameComponent {
210
238
  private isValidAttackerInstance;
211
239
  protected selectHandCard(cardId: string): void;
212
240
  protected playSelectedCard(slotIndex?: number): void;
241
+ private firstAvailableBattleSlotIndex;
213
242
  protected playCardFromHand(cardId: string, slotIndex?: number): void;
214
243
  protected handleOfferingPile(seat: ChristianitySeat): void;
215
244
  protected selectAttacker(card: ChristianityCharacterInstance): void;
@@ -235,12 +264,20 @@ export declare class ChristianityGameComponent {
235
264
  protected setGalleryType(event: Event): void;
236
265
  protected tiltPreview(event: PointerEvent): void;
237
266
  protected resetPreviewTilt(): void;
267
+ protected impactPopProps(impact: ChristianityImpactEvent): MiniGameScorePopMetadata;
268
+ private impactPosition;
269
+ private impactLabel;
270
+ private impactToneRgb;
238
271
  private pushImpactEvent;
239
272
  private pushImpactEvents;
273
+ private combatAnimationAttacker;
274
+ private combatAnimationTargetLabel;
240
275
  protected isCombatAttacker(card: ChristianityCharacterInstance): boolean;
241
276
  protected isCombatCharacterTarget(card: ChristianityCharacterInstance): boolean;
242
277
  protected isCombatLeaderTarget(seat: ChristianitySeat): boolean;
243
278
  private startCombatAnimation;
279
+ private createCombatTrail;
280
+ private combatAnchor;
244
281
  private clearCombatTimers;
245
282
  private triggerHistoryPulse;
246
283
  private clearBotTurn;
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.510";
5
+ export declare const VERSION = "4.0.512";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.510",
3
+ "version": "4.0.512",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"