working piclets list
Browse files
src/lib/components/Battle/ActionButtons.svelte
CHANGED
@@ -44,7 +44,6 @@
|
|
44 |
onViewChange={handleViewChange}
|
45 |
moves={playerPiclet.moves}
|
46 |
{availablePiclets}
|
47 |
-
{playerPiclet}
|
48 |
{enemyPiclet}
|
49 |
{isWildBattle}
|
50 |
onMoveSelected={handleMoveSelected}
|
|
|
44 |
onViewChange={handleViewChange}
|
45 |
moves={playerPiclet.moves}
|
46 |
{availablePiclets}
|
|
|
47 |
{enemyPiclet}
|
48 |
{isWildBattle}
|
49 |
onMoveSelected={handleMoveSelected}
|
src/lib/components/Battle/ActionViewSelector.svelte
CHANGED
@@ -7,7 +7,6 @@
|
|
7 |
export let onViewChange: (view: ActionView) => void;
|
8 |
export let moves: BattleMove[] = [];
|
9 |
export let availablePiclets: PicletInstance[] = [];
|
10 |
-
export let playerPiclet: PicletInstance;
|
11 |
export let enemyPiclet: PicletInstance | null = null;
|
12 |
export let isWildBattle: boolean = false;
|
13 |
export let onMoveSelected: (move: BattleMove) => void = () => {};
|
|
|
7 |
export let onViewChange: (view: ActionView) => void;
|
8 |
export let moves: BattleMove[] = [];
|
9 |
export let availablePiclets: PicletInstance[] = [];
|
|
|
10 |
export let enemyPiclet: PicletInstance | null = null;
|
11 |
export let isWildBattle: boolean = false;
|
12 |
export let onMoveSelected: (move: BattleMove) => void = () => {};
|
src/lib/components/Battle/BattleControls.svelte
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
<script lang="ts">
|
2 |
import type { PicletInstance } from '$lib/db/schema';
|
3 |
-
import { db } from '$lib/db';
|
4 |
import ActionButtons from './ActionButtons.svelte';
|
5 |
import TypewriterText from './TypewriterText.svelte';
|
6 |
|
@@ -11,24 +10,13 @@
|
|
11 |
export let isWildBattle: boolean;
|
12 |
export let playerPiclet: PicletInstance;
|
13 |
export let enemyPiclet: PicletInstance;
|
|
|
14 |
export let onAction: (action: string) => void;
|
15 |
export let onMoveSelect: (move: any) => void;
|
16 |
export let onPicletSelect: (piclet: PicletInstance) => void;
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
// Load player's roster
|
21 |
-
async function loadRoster() {
|
22 |
-
const roster = await db.picletInstances
|
23 |
-
.where('isInRoster')
|
24 |
-
.equals(1)
|
25 |
-
.toArray();
|
26 |
-
availablePiclets = roster.filter(p => p.currentHp > 0 && p.id !== playerPiclet.id);
|
27 |
-
}
|
28 |
-
|
29 |
-
$: if (battlePhase === 'picletSelect') {
|
30 |
-
loadRoster();
|
31 |
-
}
|
32 |
</script>
|
33 |
|
34 |
<div class="battle-controls">
|
|
|
1 |
<script lang="ts">
|
2 |
import type { PicletInstance } from '$lib/db/schema';
|
|
|
3 |
import ActionButtons from './ActionButtons.svelte';
|
4 |
import TypewriterText from './TypewriterText.svelte';
|
5 |
|
|
|
10 |
export let isWildBattle: boolean;
|
11 |
export let playerPiclet: PicletInstance;
|
12 |
export let enemyPiclet: PicletInstance;
|
13 |
+
export let rosterPiclets: PicletInstance[] = [];
|
14 |
export let onAction: (action: string) => void;
|
15 |
export let onMoveSelect: (move: any) => void;
|
16 |
export let onPicletSelect: (piclet: PicletInstance) => void;
|
17 |
|
18 |
+
// Use the roster passed from parent instead of loading it here
|
19 |
+
$: availablePiclets = rosterPiclets;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
</script>
|
21 |
|
22 |
<div class="battle-controls">
|
src/lib/components/Pages/Battle.svelte
CHANGED
@@ -9,6 +9,7 @@
|
|
9 |
export let enemyPiclet: PicletInstance;
|
10 |
export let isWildBattle: boolean = true;
|
11 |
export let onBattleEnd: (result: any) => void = () => {};
|
|
|
12 |
|
13 |
// Battle state
|
14 |
let currentMessage = isWildBattle
|
@@ -139,6 +140,7 @@
|
|
139 |
{isWildBattle}
|
140 |
{playerPiclet}
|
141 |
{enemyPiclet}
|
|
|
142 |
onAction={handleAction}
|
143 |
onMoveSelect={handleMoveSelect}
|
144 |
onPicletSelect={handlePicletSelect}
|
|
|
9 |
export let enemyPiclet: PicletInstance;
|
10 |
export let isWildBattle: boolean = true;
|
11 |
export let onBattleEnd: (result: any) => void = () => {};
|
12 |
+
export let rosterPiclets: PicletInstance[] = []; // All roster piclets passed from parent
|
13 |
|
14 |
// Battle state
|
15 |
let currentMessage = isWildBattle
|
|
|
140 |
{isWildBattle}
|
141 |
{playerPiclet}
|
142 |
{enemyPiclet}
|
143 |
+
{rosterPiclets}
|
144 |
onAction={handleAction}
|
145 |
onMoveSelect={handleMoveSelect}
|
146 |
onPicletSelect={handlePicletSelect}
|
src/lib/components/Pages/Encounters.svelte
CHANGED
@@ -19,6 +19,7 @@
|
|
19 |
let battlePlayerPiclet: PicletInstance | null = null;
|
20 |
let battleEnemyPiclet: PicletInstance | null = null;
|
21 |
let battleIsWild = true;
|
|
|
22 |
|
23 |
onMount(async () => {
|
24 |
await loadEncounters();
|
@@ -197,6 +198,7 @@
|
|
197 |
battlePlayerPiclet = healthyPiclets[0];
|
198 |
battleEnemyPiclet = enemyPiclet;
|
199 |
battleIsWild = true;
|
|
|
200 |
showBattle = true;
|
201 |
uiStore.enterBattle();
|
202 |
} catch (error) {
|
@@ -344,6 +346,7 @@
|
|
344 |
playerPiclet={battlePlayerPiclet}
|
345 |
enemyPiclet={battleEnemyPiclet}
|
346 |
isWildBattle={battleIsWild}
|
|
|
347 |
onBattleEnd={handleBattleEnd}
|
348 |
/>
|
349 |
{:else}
|
|
|
19 |
let battlePlayerPiclet: PicletInstance | null = null;
|
20 |
let battleEnemyPiclet: PicletInstance | null = null;
|
21 |
let battleIsWild = true;
|
22 |
+
let battleRosterPiclets: PicletInstance[] = [];
|
23 |
|
24 |
onMount(async () => {
|
25 |
await loadEncounters();
|
|
|
198 |
battlePlayerPiclet = healthyPiclets[0];
|
199 |
battleEnemyPiclet = enemyPiclet;
|
200 |
battleIsWild = true;
|
201 |
+
battleRosterPiclets = rosterPiclets; // Pass all roster piclets
|
202 |
showBattle = true;
|
203 |
uiStore.enterBattle();
|
204 |
} catch (error) {
|
|
|
346 |
playerPiclet={battlePlayerPiclet}
|
347 |
enemyPiclet={battleEnemyPiclet}
|
348 |
isWildBattle={battleIsWild}
|
349 |
+
rosterPiclets={battleRosterPiclets}
|
350 |
onBattleEnd={handleBattleEnd}
|
351 |
/>
|
352 |
{:else}
|