valtech-components 4.0.505 → 4.0.506

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.505";
126
+ readonly valtechComponentsVersion = "4.0.506";
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>;
@@ -8,7 +8,9 @@ interface ChristianityCardPreview {
8
8
  meta: string;
9
9
  body: string;
10
10
  cardId?: string;
11
- source?: 'hand' | 'board' | 'pile' | 'history';
11
+ source?: 'hand' | 'board' | 'pile' | 'history' | 'offerings';
12
+ seat?: ChristianitySeat;
13
+ offeringInstanceId?: string;
12
14
  }
13
15
  interface ChristianityInfoPanel {
14
16
  title: string;
@@ -21,6 +23,12 @@ interface ChristianityPreviewRule {
21
23
  title: string;
22
24
  body: string;
23
25
  }
26
+ interface ChristianityPreviewAbility {
27
+ index: number;
28
+ title: string;
29
+ body: string;
30
+ canUse: boolean;
31
+ }
24
32
  interface ChristianityPreviewTilt {
25
33
  rotateX: number;
26
34
  rotateY: number;
@@ -53,6 +61,7 @@ export declare class ChristianityGameComponent {
53
61
  protected readonly selectedPreview: import("@angular/core").WritableSignal<ChristianityCardPreview>;
54
62
  protected readonly selectedInfo: import("@angular/core").WritableSignal<ChristianityInfoPanel>;
55
63
  protected readonly previewTilt: import("@angular/core").WritableSignal<ChristianityPreviewTilt>;
64
+ protected readonly selectedPreviewAbilityIndex: import("@angular/core").WritableSignal<number>;
56
65
  protected readonly hoveredHandIndex: import("@angular/core").WritableSignal<number>;
57
66
  protected readonly draggingCardId: import("@angular/core").WritableSignal<string>;
58
67
  protected readonly draggingAttackerInstanceId: import("@angular/core").WritableSignal<string>;
@@ -86,8 +95,17 @@ export declare class ChristianityGameComponent {
86
95
  label: string;
87
96
  }[]>;
88
97
  protected readonly hasModalOverlay: import("@angular/core").Signal<boolean>;
89
- protected readonly canNavigateHistoryPreview: import("@angular/core").Signal<boolean>;
90
- protected readonly historyPreviewPositionLabel: import("@angular/core").Signal<string>;
98
+ protected readonly previewCarouselItems: import("@angular/core").Signal<({
99
+ kind: 'history';
100
+ cardId: string;
101
+ } | {
102
+ kind: 'offering';
103
+ offering: ChristianityOfferingInstance;
104
+ })[]>;
105
+ protected readonly canNavigatePreview: import("@angular/core").Signal<boolean>;
106
+ protected readonly previewPositionLabel: import("@angular/core").Signal<string>;
107
+ protected readonly previewAbilities: import("@angular/core").Signal<ChristianityPreviewAbility[]>;
108
+ protected readonly selectedPreviewAbility: import("@angular/core").Signal<ChristianityPreviewAbility>;
91
109
  protected readonly splashStatusText: import("@angular/core").Signal<string>;
92
110
  protected readonly startFeaturedCards: import("@angular/core").Signal<ChristianityCardDefinition[]>;
93
111
  protected readonly futureModes: import("@angular/core").Signal<{
@@ -139,6 +157,7 @@ export declare class ChristianityGameComponent {
139
157
  protected attackTargetDropIds(): string[];
140
158
  protected opponentTargetDropId(card: ChristianityCharacterInstance): string;
141
159
  protected topHistoryCard(): ChristianityCardDefinition | null;
160
+ protected topOffering(seat: ChristianitySeat): ChristianityOfferingInstance | null;
142
161
  protected activePlaceCard(): ChristianityCardDefinition | null;
143
162
  protected isOpponentLeaderTarget(): boolean;
144
163
  protected isOpponentCharacterTarget(card: ChristianityCharacterInstance): boolean;
@@ -194,7 +213,9 @@ export declare class ChristianityGameComponent {
194
213
  protected closeOfferings(): void;
195
214
  protected openGallery(): void;
196
215
  protected closeGallery(): void;
197
- protected navigateHistoryPreview(direction: -1 | 1): void;
216
+ protected navigatePreview(direction: -1 | 1): void;
217
+ private currentPreviewCarouselItems;
218
+ private currentPreviewCarouselIndex;
198
219
  protected setGallerySearch(event: Event): void;
199
220
  protected setGalleryType(event: Event): void;
200
221
  protected tiltPreview(event: PointerEvent): void;
@@ -212,6 +233,10 @@ export declare class ChristianityGameComponent {
212
233
  protected offeringAbilityText(offering: ChristianityOfferingInstance): string;
213
234
  protected canUseOfferingAbility(offering: ChristianityOfferingInstance, seat: ChristianitySeat): boolean;
214
235
  protected useOfferingAbility(offering: ChristianityOfferingInstance, seat: ChristianitySeat): void;
236
+ protected selectPreviewAbility(index: number): void;
237
+ protected useSelectedPreviewAbility(): void;
238
+ private selectedPreviewOffering;
239
+ private canUsePreviewAbility;
215
240
  protected inspectDeck(): void;
216
241
  protected inspectPlaceZone(): void;
217
242
  protected inspectHowToPlay(): void;
@@ -24,6 +24,13 @@ export interface ChristianityAttackResult {
24
24
  targetDamage: number;
25
25
  log: string[];
26
26
  }
27
+ export interface ChristianityOfferingAbilityResult {
28
+ game: ChristianityGameState;
29
+ resolved: boolean;
30
+ leaderDamage: number;
31
+ spentOfferings: number;
32
+ log: string[];
33
+ }
27
34
  export declare function readyOfferings(player: ChristianityPlayerState): number;
28
35
  export declare function totalOfferings(player: ChristianityPlayerState): number;
29
36
  export declare function canPlayCard(game: ChristianityGameState, seat: ChristianitySeat, card: ChristianityCardDefinition): boolean;
@@ -31,6 +38,8 @@ export declare function playCardFromHand(game: ChristianityGameState, seat: Chri
31
38
  slotIndex?: number;
32
39
  displayName?: string;
33
40
  }): ChristianityPlayCardResult;
41
+ export declare function canUseOfferingAbility(game: ChristianityGameState, seat: ChristianitySeat, offeringInstanceId: string): boolean;
42
+ export declare function resolveOfferingAbility(game: ChristianityGameState, seat: ChristianitySeat, offeringInstanceId: string): ChristianityOfferingAbilityResult;
34
43
  export declare function resolveAttackLeader(game: ChristianityGameState, attackerSeat: ChristianitySeat, attackerInstanceId: string, messages: ChristianityRuleMessages): ChristianityAttackResult;
35
44
  export declare function resolveAttackCharacter(game: ChristianityGameState, attackerSeat: ChristianitySeat, attackerInstanceId: string, targetInstanceId: string, messages: ChristianityRuleMessages): ChristianityAttackResult;
36
45
  export declare function advanceTurn(game: ChristianityGameState, messages: ChristianityRuleMessages): string[];
@@ -348,6 +348,7 @@ export interface ChristianityOfferingInstance {
348
348
  abilityName?: string;
349
349
  abilityText?: string;
350
350
  abilityCost?: number;
351
+ abilityUsedThisTurn?: boolean;
351
352
  }
352
353
  export interface ChristianityPlayerState {
353
354
  seat: ChristianitySeat;
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.505";
5
+ export declare const VERSION = "4.0.506";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.505",
3
+ "version": "4.0.506",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"