valtech-components 4.0.520 → 4.0.522

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.520";
117
+ readonly valtechComponentsVersion = "4.0.522";
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>;
@@ -63,6 +63,15 @@ interface ChristianityCombatAnimation {
63
63
  type ChristianityGalleryTypeFilter = 'all' | ChristianityCardType;
64
64
  type ChristianityScreen = 'splash' | 'home' | 'table';
65
65
  type ChristianityCatalogLoadState = 'loading' | 'ready' | 'fallback';
66
+ type ChristianityTutorialPhase = 'coin' | 'leader_pick' | 'in_progress' | 'finished';
67
+ interface ChristianityTutorialSetup {
68
+ coinWinner: ChristianitySeat;
69
+ leaderPicker: ChristianitySeat;
70
+ firstPlayer: ChristianitySeat;
71
+ availableLeaders: string[];
72
+ playerLeaderId?: string;
73
+ opponentLeaderId?: string;
74
+ }
66
75
  export declare class ChristianityGameComponent {
67
76
  private i18n;
68
77
  private readonly document;
@@ -76,6 +85,9 @@ export declare class ChristianityGameComponent {
76
85
  private combatTrailClearTimer;
77
86
  protected readonly game: import("@angular/core").WritableSignal<ChristianityGameState>;
78
87
  protected readonly screen: import("@angular/core").WritableSignal<ChristianityScreen>;
88
+ protected readonly tutorialPhase: import("@angular/core").WritableSignal<ChristianityTutorialPhase>;
89
+ protected readonly tutorialSetup: import("@angular/core").WritableSignal<ChristianityTutorialSetup>;
90
+ protected readonly showOptions: import("@angular/core").WritableSignal<boolean>;
79
91
  protected readonly catalogLoadState: import("@angular/core").WritableSignal<ChristianityCatalogLoadState>;
80
92
  protected readonly selectedHandCard: import("@angular/core").WritableSignal<string>;
81
93
  protected readonly selectedAttacker: import("@angular/core").WritableSignal<ChristianityCharacterInstance>;
@@ -108,6 +120,12 @@ export declare class ChristianityGameComponent {
108
120
  protected readonly opponent: import("@angular/core").Signal<ChristianityPlayerState>;
109
121
  protected readonly currentPlayer: import("@angular/core").Signal<ChristianityPlayerState>;
110
122
  protected readonly isOwnTurn: import("@angular/core").Signal<boolean>;
123
+ protected readonly turnBannerTitle: import("@angular/core").Signal<string>;
124
+ protected readonly turnBannerBody: import("@angular/core").Signal<string>;
125
+ protected readonly resultTitle: import("@angular/core").Signal<string>;
126
+ protected readonly resultBody: import("@angular/core").Signal<string>;
127
+ protected readonly setupTitle: import("@angular/core").Signal<string>;
128
+ protected readonly setupBody: import("@angular/core").Signal<string>;
111
129
  protected readonly winnerSeat: import("@angular/core").Signal<ChristianitySeat>;
112
130
  protected readonly hasOpponentGuards: import("@angular/core").Signal<boolean>;
113
131
  protected readonly opponentHandCount: import("@angular/core").Signal<number>;
@@ -161,6 +179,11 @@ export declare class ChristianityGameComponent {
161
179
  private createOfferingInstance;
162
180
  private createCharacterInstance;
163
181
  private findCard;
182
+ private cardById;
183
+ private tutorialLeaderCards;
184
+ private shuffleCards;
185
+ private prepareTutorialOpeningDeck;
186
+ private ensureOpeningOffering;
164
187
  private cardSortKey;
165
188
  private isClassicGalleryCard;
166
189
  protected cardDefinition(cardId: string): ChristianityCardDefinition;
@@ -250,6 +273,16 @@ export declare class ChristianityGameComponent {
250
273
  protected endTurn(): void;
251
274
  protected resetMock(): void;
252
275
  protected startTutorial(): void;
276
+ protected continueAfterCoin(): void;
277
+ protected chooseTutorialLeader(leaderId: string): void;
278
+ protected toggleOptions(): void;
279
+ protected restartTutorial(): void;
280
+ protected resignTutorial(): void;
281
+ protected returnToChristianityHome(): void;
282
+ private createTutorialSetup;
283
+ private chooseRivalTutorialLeader;
284
+ private startTutorialMatch;
285
+ private resetTransientTableState;
253
286
  protected closePreview(): void;
254
287
  protected closeInfo(): void;
255
288
  protected openOfferings(seat: ChristianitySeat): void;
@@ -284,6 +317,7 @@ export declare class ChristianityGameComponent {
284
317
  private clearBotTurn;
285
318
  private scheduleBotTurnIfNeeded;
286
319
  private runTutorialBotTurn;
320
+ private resolveBotPlays;
287
321
  private resolveBotAttack;
288
322
  private ruleMessages;
289
323
  protected inspectLeader(seat: ChristianitySeat): void;
@@ -40,7 +40,7 @@ export declare function playCardFromHand(game: ChristianityGameState, seat: Chri
40
40
  displayName?: string;
41
41
  }): ChristianityPlayCardResult;
42
42
  export declare function canUseOfferingAbility(game: ChristianityGameState, seat: ChristianitySeat, offeringInstanceId: string): boolean;
43
- export declare function resolveOfferingAbility(game: ChristianityGameState, seat: ChristianitySeat, offeringInstanceId: string): ChristianityOfferingAbilityResult;
43
+ export declare function resolveOfferingAbility(game: ChristianityGameState, seat: ChristianitySeat, offeringInstanceId: string, messages?: ChristianityRuleMessages): ChristianityOfferingAbilityResult;
44
44
  export declare function resolveAttackLeader(game: ChristianityGameState, attackerSeat: ChristianitySeat, attackerInstanceId: string, messages: ChristianityRuleMessages): ChristianityAttackResult;
45
45
  export declare function resolveAttackCharacter(game: ChristianityGameState, attackerSeat: ChristianitySeat, attackerInstanceId: string, targetInstanceId: string, messages: ChristianityRuleMessages): ChristianityAttackResult;
46
46
  export declare function advanceTurn(game: ChristianityGameState, messages: ChristianityRuleMessages): string[];
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.520";
5
+ export declare const VERSION = "4.0.522";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.520",
3
+ "version": "4.0.522",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"