@almadar/ui 5.39.0 → 5.41.0
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.
- package/dist/avl/index.cjs +405 -113
- package/dist/avl/index.js +405 -113
- package/dist/components/game/atoms/ItemSlot.d.ts +5 -2
- package/dist/components/game/molecules/DialogueBox.d.ts +0 -21
- package/dist/components/game/molecules/InventoryPanel.d.ts +0 -16
- package/dist/components/index.cjs +405 -113
- package/dist/components/index.js +405 -113
- package/dist/providers/index.cjs +405 -113
- package/dist/providers/index.js +405 -113
- package/dist/runtime/index.cjs +405 -113
- package/dist/runtime/index.js +405 -113
- package/package.json +1 -1
|
@@ -8224,7 +8224,7 @@ var init_Accordion = __esm({
|
|
|
8224
8224
|
}
|
|
8225
8225
|
});
|
|
8226
8226
|
function ActionButton({
|
|
8227
|
-
label,
|
|
8227
|
+
label = "Attack",
|
|
8228
8228
|
icon,
|
|
8229
8229
|
cooldown = 0,
|
|
8230
8230
|
disabled = false,
|
|
@@ -8411,7 +8411,7 @@ var init_ControlButton = __esm({
|
|
|
8411
8411
|
}
|
|
8412
8412
|
});
|
|
8413
8413
|
function ActionButtons({
|
|
8414
|
-
buttons,
|
|
8414
|
+
buttons = DEFAULT_BUTTONS,
|
|
8415
8415
|
onAction,
|
|
8416
8416
|
actionEvent,
|
|
8417
8417
|
layout = "horizontal",
|
|
@@ -8518,7 +8518,7 @@ function ActionButtons({
|
|
|
8518
8518
|
button.id
|
|
8519
8519
|
)) });
|
|
8520
8520
|
}
|
|
8521
|
-
var sizeMap3, layoutMap;
|
|
8521
|
+
var sizeMap3, layoutMap, DEFAULT_BUTTONS;
|
|
8522
8522
|
var init_ActionButtons = __esm({
|
|
8523
8523
|
"components/game/molecules/ActionButtons.tsx"() {
|
|
8524
8524
|
"use client";
|
|
@@ -8535,6 +8535,11 @@ var init_ActionButtons = __esm({
|
|
|
8535
8535
|
vertical: "flex flex-col gap-2",
|
|
8536
8536
|
diamond: "grid grid-cols-3 gap-1"
|
|
8537
8537
|
};
|
|
8538
|
+
DEFAULT_BUTTONS = [
|
|
8539
|
+
{ id: "jump", label: "Jump", icon: "chevron-up", variant: "primary" },
|
|
8540
|
+
{ id: "attack", label: "Attack", icon: "sword", variant: "secondary" },
|
|
8541
|
+
{ id: "dodge", label: "Dodge", icon: "wind", variant: "ghost" }
|
|
8542
|
+
];
|
|
8538
8543
|
ActionButtons.displayName = "ActionButtons";
|
|
8539
8544
|
}
|
|
8540
8545
|
});
|
|
@@ -9625,7 +9630,7 @@ function IsometricCanvas({
|
|
|
9625
9630
|
// Rendering options
|
|
9626
9631
|
scale = 0.4,
|
|
9627
9632
|
debug: debug2 = false,
|
|
9628
|
-
backgroundImage = "
|
|
9633
|
+
backgroundImage = "",
|
|
9629
9634
|
showMinimap = true,
|
|
9630
9635
|
enableCamera = true,
|
|
9631
9636
|
unitScale = 1,
|
|
@@ -10764,10 +10769,10 @@ function BattleTemplate({
|
|
|
10764
10769
|
entity,
|
|
10765
10770
|
scale = 0.45,
|
|
10766
10771
|
unitScale = 1,
|
|
10767
|
-
tiles,
|
|
10768
|
-
units,
|
|
10769
|
-
features,
|
|
10770
|
-
assetManifest,
|
|
10772
|
+
tiles = DEFAULT_BATTLE_TILES,
|
|
10773
|
+
units = DEFAULT_BATTLE_UNITS,
|
|
10774
|
+
features = DEFAULT_BATTLE_FEATURES,
|
|
10775
|
+
assetManifest = DEFAULT_BATTLE_MANIFEST,
|
|
10771
10776
|
className
|
|
10772
10777
|
}) {
|
|
10773
10778
|
const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
|
|
@@ -10793,9 +10798,62 @@ function BattleTemplate({
|
|
|
10793
10798
|
}
|
|
10794
10799
|
);
|
|
10795
10800
|
}
|
|
10801
|
+
var CDN, DEFAULT_BATTLE_TILES, DEFAULT_BATTLE_UNITS, DEFAULT_BATTLE_FEATURES, DEFAULT_BATTLE_MANIFEST;
|
|
10796
10802
|
var init_BattleTemplate = __esm({
|
|
10797
10803
|
"components/game/templates/BattleTemplate.tsx"() {
|
|
10798
10804
|
init_BattleBoard();
|
|
10805
|
+
CDN = "https://almadar-kflow-assets.web.app/shared";
|
|
10806
|
+
DEFAULT_BATTLE_TILES = [
|
|
10807
|
+
{ x: 0, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10808
|
+
{ x: 1, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10809
|
+
{ x: 2, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10810
|
+
{ x: 3, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10811
|
+
{ x: 4, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10812
|
+
{ x: 0, y: 1, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10813
|
+
{ x: 1, y: 1, terrain: "dirt", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png` },
|
|
10814
|
+
{ x: 2, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10815
|
+
{ x: 3, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10816
|
+
{ x: 4, y: 1, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10817
|
+
{ x: 0, y: 2, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10818
|
+
{ x: 1, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10819
|
+
{ x: 2, y: 2, terrain: "dirt", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png` },
|
|
10820
|
+
{ x: 3, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10821
|
+
{ x: 4, y: 2, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10822
|
+
{ x: 0, y: 3, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10823
|
+
{ x: 1, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10824
|
+
{ x: 2, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10825
|
+
{ x: 3, y: 3, terrain: "dirt", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png` },
|
|
10826
|
+
{ x: 4, y: 3, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10827
|
+
{ x: 0, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10828
|
+
{ x: 1, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10829
|
+
{ x: 2, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10830
|
+
{ x: 3, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10831
|
+
{ x: 4, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` }
|
|
10832
|
+
];
|
|
10833
|
+
DEFAULT_BATTLE_UNITS = [
|
|
10834
|
+
{ id: "u1", position: { x: 1, y: 1 }, unitType: "worker", name: "Worker", team: "player", health: 10, maxHealth: 10, sprite: `${CDN}/sprite-sheets/amir-sprite-sheet-se.png` },
|
|
10835
|
+
{ id: "u2", position: { x: 3, y: 3 }, unitType: "guardian", name: "Guardian", team: "enemy", health: 8, maxHealth: 10, sprite: `${CDN}/sprite-sheets/destroyer-sprite-sheet-sw.png` }
|
|
10836
|
+
];
|
|
10837
|
+
DEFAULT_BATTLE_FEATURES = [
|
|
10838
|
+
{ id: "f1", x: 2, y: 2, type: "gold_mine", sprite: `${CDN}/world-map/gold_mine.png` },
|
|
10839
|
+
{ id: "f2", x: 3, y: 1, type: "portal", sprite: `${CDN}/world-map/portal_open.png` }
|
|
10840
|
+
];
|
|
10841
|
+
DEFAULT_BATTLE_MANIFEST = {
|
|
10842
|
+
baseUrl: CDN,
|
|
10843
|
+
terrains: {
|
|
10844
|
+
stone: "/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png",
|
|
10845
|
+
dirt: "/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png",
|
|
10846
|
+
grass: "/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png"
|
|
10847
|
+
},
|
|
10848
|
+
units: {
|
|
10849
|
+
worker: "/sprite-sheets/amir-sprite-sheet-se.png",
|
|
10850
|
+
guardian: "/sprite-sheets/destroyer-sprite-sheet-sw.png"
|
|
10851
|
+
},
|
|
10852
|
+
features: {
|
|
10853
|
+
gold_mine: "/world-map/gold_mine.png",
|
|
10854
|
+
portal: "/world-map/portal_open.png"
|
|
10855
|
+
}
|
|
10856
|
+
};
|
|
10799
10857
|
BattleTemplate.displayName = "BattleTemplate";
|
|
10800
10858
|
}
|
|
10801
10859
|
});
|
|
@@ -18795,10 +18853,10 @@ var init_CastleBoard = __esm({
|
|
|
18795
18853
|
function CastleTemplate({
|
|
18796
18854
|
entity,
|
|
18797
18855
|
scale = 0.45,
|
|
18798
|
-
tiles,
|
|
18799
|
-
units,
|
|
18800
|
-
features,
|
|
18801
|
-
assetManifest,
|
|
18856
|
+
tiles = DEFAULT_CASTLE_TILES,
|
|
18857
|
+
units = DEFAULT_CASTLE_UNITS,
|
|
18858
|
+
features = DEFAULT_CASTLE_FEATURES,
|
|
18859
|
+
assetManifest = DEFAULT_CASTLE_MANIFEST,
|
|
18802
18860
|
className
|
|
18803
18861
|
}) {
|
|
18804
18862
|
const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
|
|
@@ -18819,9 +18877,61 @@ function CastleTemplate({
|
|
|
18819
18877
|
}
|
|
18820
18878
|
);
|
|
18821
18879
|
}
|
|
18880
|
+
var CDN2, DEFAULT_CASTLE_TILES, DEFAULT_CASTLE_UNITS, DEFAULT_CASTLE_FEATURES, DEFAULT_CASTLE_MANIFEST;
|
|
18822
18881
|
var init_CastleTemplate = __esm({
|
|
18823
18882
|
"components/game/templates/CastleTemplate.tsx"() {
|
|
18824
18883
|
init_CastleBoard();
|
|
18884
|
+
CDN2 = "https://almadar-kflow-assets.web.app/shared";
|
|
18885
|
+
DEFAULT_CASTLE_TILES = [
|
|
18886
|
+
{ x: 0, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18887
|
+
{ x: 1, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18888
|
+
{ x: 2, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18889
|
+
{ x: 3, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18890
|
+
{ x: 4, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18891
|
+
{ x: 0, y: 1, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18892
|
+
{ x: 1, y: 1, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18893
|
+
{ x: 2, y: 1, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18894
|
+
{ x: 3, y: 1, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18895
|
+
{ x: 4, y: 1, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18896
|
+
{ x: 0, y: 2, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18897
|
+
{ x: 1, y: 2, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18898
|
+
{ x: 2, y: 2, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_09.png` },
|
|
18899
|
+
{ x: 3, y: 2, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18900
|
+
{ x: 4, y: 2, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18901
|
+
{ x: 0, y: 3, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18902
|
+
{ x: 1, y: 3, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18903
|
+
{ x: 2, y: 3, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18904
|
+
{ x: 3, y: 3, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18905
|
+
{ x: 4, y: 3, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18906
|
+
{ x: 0, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18907
|
+
{ x: 1, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18908
|
+
{ x: 2, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18909
|
+
{ x: 3, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18910
|
+
{ x: 4, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` }
|
|
18911
|
+
];
|
|
18912
|
+
DEFAULT_CASTLE_UNITS = [
|
|
18913
|
+
{ id: "u1", position: { x: 1, y: 1 }, unitType: "worker", name: "Worker", team: "player", health: 10, maxHealth: 10, sprite: `${CDN2}/sprite-sheets/coordinator-sprite-sheet-se.png` },
|
|
18914
|
+
{ id: "u2", position: { x: 3, y: 3 }, unitType: "guardian", name: "Guardian", team: "player", health: 10, maxHealth: 10, sprite: `${CDN2}/sprite-sheets/forger-sprite-sheet-se.png` }
|
|
18915
|
+
];
|
|
18916
|
+
DEFAULT_CASTLE_FEATURES = [
|
|
18917
|
+
{ id: "f1", x: 2, y: 2, type: "chest", sprite: `${CDN2}/world-map/treasure_chest_closed.png` },
|
|
18918
|
+
{ id: "f2", x: 3, y: 1, type: "crystal", sprite: `${CDN2}/world-map/resonance_crystal.png` }
|
|
18919
|
+
];
|
|
18920
|
+
DEFAULT_CASTLE_MANIFEST = {
|
|
18921
|
+
baseUrl: CDN2,
|
|
18922
|
+
terrains: {
|
|
18923
|
+
wall: "/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png",
|
|
18924
|
+
floor: "/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png"
|
|
18925
|
+
},
|
|
18926
|
+
units: {
|
|
18927
|
+
worker: "/sprite-sheets/coordinator-sprite-sheet-se.png",
|
|
18928
|
+
guardian: "/sprite-sheets/forger-sprite-sheet-se.png"
|
|
18929
|
+
},
|
|
18930
|
+
features: {
|
|
18931
|
+
chest: "/world-map/treasure_chest_closed.png",
|
|
18932
|
+
crystal: "/world-map/resonance_crystal.png"
|
|
18933
|
+
}
|
|
18934
|
+
};
|
|
18825
18935
|
CastleTemplate.displayName = "CastleTemplate";
|
|
18826
18936
|
}
|
|
18827
18937
|
});
|
|
@@ -19600,7 +19710,7 @@ var init_ChartLegend = __esm({
|
|
|
19600
19710
|
}
|
|
19601
19711
|
});
|
|
19602
19712
|
function ChoiceButton({
|
|
19603
|
-
text,
|
|
19713
|
+
text = "Charge forward into the fray",
|
|
19604
19714
|
index,
|
|
19605
19715
|
disabled = false,
|
|
19606
19716
|
selected = false,
|
|
@@ -19989,7 +20099,7 @@ var init_CodeRunnerPanel = __esm({
|
|
|
19989
20099
|
}
|
|
19990
20100
|
});
|
|
19991
20101
|
function CombatLog({
|
|
19992
|
-
events: events2,
|
|
20102
|
+
events: events2 = DEFAULT_COMBAT_EVENTS,
|
|
19993
20103
|
maxVisible = 50,
|
|
19994
20104
|
autoScroll = true,
|
|
19995
20105
|
showTimestamps = false,
|
|
@@ -20040,7 +20150,7 @@ function CombatLog({
|
|
|
20040
20150
|
}) }) })
|
|
20041
20151
|
] });
|
|
20042
20152
|
}
|
|
20043
|
-
var eventIcons, eventColors, eventBadgeVariants;
|
|
20153
|
+
var eventIcons, eventColors, eventBadgeVariants, DEFAULT_COMBAT_EVENTS;
|
|
20044
20154
|
var init_CombatLog = __esm({
|
|
20045
20155
|
"components/game/molecules/CombatLog.tsx"() {
|
|
20046
20156
|
init_atoms2();
|
|
@@ -20072,6 +20182,13 @@ var init_CombatLog = __esm({
|
|
|
20072
20182
|
death: "secondary",
|
|
20073
20183
|
spawn: "secondary"
|
|
20074
20184
|
};
|
|
20185
|
+
DEFAULT_COMBAT_EVENTS = [
|
|
20186
|
+
{ id: "e1", type: "spawn", message: "Shadow Guard entered the field.", timestamp: 0, turn: 1 },
|
|
20187
|
+
{ id: "e2", type: "move", message: "Hero moved to (3, 4).", timestamp: 1, actorName: "Hero", turn: 1 },
|
|
20188
|
+
{ id: "e3", type: "attack", message: "Hero attacked Shadow Guard.", timestamp: 2, actorName: "Hero", targetName: "Shadow Guard", value: 18, turn: 2 },
|
|
20189
|
+
{ id: "e4", type: "defend", message: "Shadow Guard blocked 5 damage.", timestamp: 3, actorName: "Shadow Guard", value: 5, turn: 2 },
|
|
20190
|
+
{ id: "e5", type: "heal", message: "Hero used Health Potion.", timestamp: 4, actorName: "Hero", value: 25, turn: 3 }
|
|
20191
|
+
];
|
|
20075
20192
|
CombatLog.displayName = "CombatLog";
|
|
20076
20193
|
}
|
|
20077
20194
|
});
|
|
@@ -20087,7 +20204,7 @@ function getComboScale(combo) {
|
|
|
20087
20204
|
return "";
|
|
20088
20205
|
}
|
|
20089
20206
|
function ComboCounter({
|
|
20090
|
-
combo,
|
|
20207
|
+
combo = 5,
|
|
20091
20208
|
multiplier,
|
|
20092
20209
|
streak,
|
|
20093
20210
|
size = "md",
|
|
@@ -20532,10 +20649,11 @@ var init_CounterTemplate = __esm({
|
|
|
20532
20649
|
}
|
|
20533
20650
|
});
|
|
20534
20651
|
function ItemSlot({
|
|
20535
|
-
|
|
20536
|
-
|
|
20652
|
+
assetUrl = DEFAULT_ASSET_URL,
|
|
20653
|
+
icon = "sword",
|
|
20654
|
+
label = "Iron Sword",
|
|
20537
20655
|
quantity,
|
|
20538
|
-
rarity = "
|
|
20656
|
+
rarity = "uncommon",
|
|
20539
20657
|
empty,
|
|
20540
20658
|
size = "md",
|
|
20541
20659
|
selected,
|
|
@@ -20543,6 +20661,7 @@ function ItemSlot({
|
|
|
20543
20661
|
className
|
|
20544
20662
|
}) {
|
|
20545
20663
|
const isClickable = onClick != null;
|
|
20664
|
+
const px = assetSizeMap[size];
|
|
20546
20665
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20547
20666
|
"button",
|
|
20548
20667
|
{
|
|
@@ -20563,7 +20682,17 @@ function ItemSlot({
|
|
|
20563
20682
|
className
|
|
20564
20683
|
),
|
|
20565
20684
|
children: empty ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
20566
|
-
|
|
20685
|
+
assetUrl ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20686
|
+
"img",
|
|
20687
|
+
{
|
|
20688
|
+
src: assetUrl,
|
|
20689
|
+
alt: label,
|
|
20690
|
+
width: px,
|
|
20691
|
+
height: px,
|
|
20692
|
+
style: { imageRendering: "pixelated", objectFit: "contain" },
|
|
20693
|
+
className: "flex-shrink-0"
|
|
20694
|
+
}
|
|
20695
|
+
) : icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-shrink-0", children: typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: icon }) : /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { icon }) }) : null,
|
|
20567
20696
|
quantity != null && quantity > 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20568
20697
|
"span",
|
|
20569
20698
|
{
|
|
@@ -20579,7 +20708,7 @@ function ItemSlot({
|
|
|
20579
20708
|
}
|
|
20580
20709
|
);
|
|
20581
20710
|
}
|
|
20582
|
-
var sizeMap5, rarityBorderMap, rarityGlowMap;
|
|
20711
|
+
var sizeMap5, rarityBorderMap, rarityGlowMap, DEFAULT_ASSET_URL, assetSizeMap;
|
|
20583
20712
|
var init_ItemSlot = __esm({
|
|
20584
20713
|
"components/game/atoms/ItemSlot.tsx"() {
|
|
20585
20714
|
"use client";
|
|
@@ -20604,6 +20733,12 @@ var init_ItemSlot = __esm({
|
|
|
20604
20733
|
epic: "shadow-lg",
|
|
20605
20734
|
legendary: "shadow-lg"
|
|
20606
20735
|
};
|
|
20736
|
+
DEFAULT_ASSET_URL = "https://almadar-kflow-assets.web.app/shared/isometric-dungeon/Isometric/chestClosed_E.png";
|
|
20737
|
+
assetSizeMap = {
|
|
20738
|
+
sm: 28,
|
|
20739
|
+
md: 40,
|
|
20740
|
+
lg: 56
|
|
20741
|
+
};
|
|
20607
20742
|
ItemSlot.displayName = "ItemSlot";
|
|
20608
20743
|
}
|
|
20609
20744
|
});
|
|
@@ -20612,9 +20747,9 @@ function isValidRarity(value) {
|
|
|
20612
20747
|
return rarityValues.includes(value);
|
|
20613
20748
|
}
|
|
20614
20749
|
function CraftingRecipe({
|
|
20615
|
-
inputs,
|
|
20616
|
-
output,
|
|
20617
|
-
canCraft =
|
|
20750
|
+
inputs = DEFAULT_INPUTS,
|
|
20751
|
+
output = DEFAULT_OUTPUT,
|
|
20752
|
+
canCraft = true,
|
|
20618
20753
|
onCraft,
|
|
20619
20754
|
craftEvent,
|
|
20620
20755
|
className
|
|
@@ -20675,7 +20810,7 @@ function CraftingRecipe({
|
|
|
20675
20810
|
}
|
|
20676
20811
|
);
|
|
20677
20812
|
}
|
|
20678
|
-
var rarityValues;
|
|
20813
|
+
var rarityValues, DEFAULT_INPUTS, DEFAULT_OUTPUT;
|
|
20679
20814
|
var init_CraftingRecipe = __esm({
|
|
20680
20815
|
"components/game/molecules/CraftingRecipe.tsx"() {
|
|
20681
20816
|
"use client";
|
|
@@ -20687,6 +20822,15 @@ var init_CraftingRecipe = __esm({
|
|
|
20687
20822
|
init_Stack();
|
|
20688
20823
|
init_Icon();
|
|
20689
20824
|
rarityValues = ["common", "uncommon", "rare", "epic", "legendary"];
|
|
20825
|
+
DEFAULT_INPUTS = [
|
|
20826
|
+
{ icon: "gem", label: "Iron Ore", required: 2, available: 3 },
|
|
20827
|
+
{ icon: "flame", label: "Coal", required: 1, available: 1 }
|
|
20828
|
+
];
|
|
20829
|
+
DEFAULT_OUTPUT = {
|
|
20830
|
+
icon: "sword",
|
|
20831
|
+
label: "Iron Sword",
|
|
20832
|
+
rarity: "uncommon"
|
|
20833
|
+
};
|
|
20690
20834
|
CraftingRecipe.displayName = "CraftingRecipe";
|
|
20691
20835
|
}
|
|
20692
20836
|
});
|
|
@@ -20768,7 +20912,7 @@ var init_DPad = __esm({
|
|
|
20768
20912
|
}
|
|
20769
20913
|
});
|
|
20770
20914
|
function DamageNumber({
|
|
20771
|
-
value,
|
|
20915
|
+
value = 42,
|
|
20772
20916
|
type = "damage",
|
|
20773
20917
|
size = "md",
|
|
20774
20918
|
className
|
|
@@ -26845,8 +26989,8 @@ var init_ProgressDots = __esm({
|
|
|
26845
26989
|
}
|
|
26846
26990
|
});
|
|
26847
26991
|
function HealthBar({
|
|
26848
|
-
current,
|
|
26849
|
-
max,
|
|
26992
|
+
current = 3,
|
|
26993
|
+
max = 5,
|
|
26850
26994
|
format = "hearts",
|
|
26851
26995
|
size = "md",
|
|
26852
26996
|
className,
|
|
@@ -27066,10 +27210,10 @@ var init_StatBadge = __esm({
|
|
|
27066
27210
|
}
|
|
27067
27211
|
});
|
|
27068
27212
|
function InventoryGrid({
|
|
27069
|
-
items,
|
|
27213
|
+
items = DEFAULT_GRID_ITEMS,
|
|
27070
27214
|
columns = 4,
|
|
27071
|
-
totalSlots,
|
|
27072
|
-
selectedId,
|
|
27215
|
+
totalSlots = 12,
|
|
27216
|
+
selectedId = "",
|
|
27073
27217
|
onSelect,
|
|
27074
27218
|
selectEvent,
|
|
27075
27219
|
size = "md",
|
|
@@ -27118,7 +27262,7 @@ function InventoryGrid({
|
|
|
27118
27262
|
}
|
|
27119
27263
|
);
|
|
27120
27264
|
}
|
|
27121
|
-
var columnMap;
|
|
27265
|
+
var columnMap, DEFAULT_GRID_ITEMS;
|
|
27122
27266
|
var init_InventoryGrid = __esm({
|
|
27123
27267
|
"components/game/molecules/InventoryGrid.tsx"() {
|
|
27124
27268
|
"use client";
|
|
@@ -27135,13 +27279,19 @@ var init_InventoryGrid = __esm({
|
|
|
27135
27279
|
7: "grid-cols-7",
|
|
27136
27280
|
8: "grid-cols-8"
|
|
27137
27281
|
};
|
|
27282
|
+
DEFAULT_GRID_ITEMS = [
|
|
27283
|
+
{ id: "grid-1", icon: "sword", label: "Iron Sword", quantity: 1, rarity: "common" },
|
|
27284
|
+
{ id: "grid-2", icon: "flask-conical", label: "Health Potion", quantity: 3, rarity: "uncommon" },
|
|
27285
|
+
{ id: "grid-3", icon: "shield", label: "Wooden Shield", quantity: 1, rarity: "common" },
|
|
27286
|
+
{ id: "grid-4", icon: "gem", label: "Ruby Gem", quantity: 2, rarity: "rare" }
|
|
27287
|
+
];
|
|
27138
27288
|
InventoryGrid.displayName = "InventoryGrid";
|
|
27139
27289
|
}
|
|
27140
27290
|
});
|
|
27141
27291
|
function WaypointMarker({
|
|
27142
27292
|
label,
|
|
27143
27293
|
icon,
|
|
27144
|
-
active =
|
|
27294
|
+
active = true,
|
|
27145
27295
|
completed = false,
|
|
27146
27296
|
size = "md",
|
|
27147
27297
|
className
|
|
@@ -27209,8 +27359,8 @@ var init_WaypointMarker = __esm({
|
|
|
27209
27359
|
}
|
|
27210
27360
|
});
|
|
27211
27361
|
function QuestTracker({
|
|
27212
|
-
quests,
|
|
27213
|
-
activeQuestId,
|
|
27362
|
+
quests = DEFAULT_QUESTS,
|
|
27363
|
+
activeQuestId = "q2",
|
|
27214
27364
|
className
|
|
27215
27365
|
}) {
|
|
27216
27366
|
return /* @__PURE__ */ jsxRuntime.jsx(exports.VStack, { gap: "sm", className, children: quests.map((quest) => {
|
|
@@ -27276,6 +27426,7 @@ function QuestTracker({
|
|
|
27276
27426
|
);
|
|
27277
27427
|
}) });
|
|
27278
27428
|
}
|
|
27429
|
+
var DEFAULT_QUESTS;
|
|
27279
27430
|
var init_QuestTracker = __esm({
|
|
27280
27431
|
"components/game/molecules/QuestTracker.tsx"() {
|
|
27281
27432
|
"use client";
|
|
@@ -27285,6 +27436,11 @@ var init_QuestTracker = __esm({
|
|
|
27285
27436
|
init_Typography();
|
|
27286
27437
|
init_Box();
|
|
27287
27438
|
init_Stack();
|
|
27439
|
+
DEFAULT_QUESTS = [
|
|
27440
|
+
{ id: "q1", title: "Reach the Ancient Ruins", progress: 1, maxProgress: 1, completed: true },
|
|
27441
|
+
{ id: "q2", title: "Defeat the Shadow Guard", progress: 2, maxProgress: 5, active: true },
|
|
27442
|
+
{ id: "q3", title: "Collect 3 Crystal Shards", progress: 0, maxProgress: 3, active: false }
|
|
27443
|
+
];
|
|
27288
27444
|
QuestTracker.displayName = "QuestTracker";
|
|
27289
27445
|
}
|
|
27290
27446
|
});
|
|
@@ -27297,7 +27453,7 @@ function formatTime(seconds) {
|
|
|
27297
27453
|
return `${seconds}s`;
|
|
27298
27454
|
}
|
|
27299
27455
|
function PowerupSlots({
|
|
27300
|
-
active,
|
|
27456
|
+
active = DEFAULT_ACTIVE_POWERUPS,
|
|
27301
27457
|
maxSlots = 4,
|
|
27302
27458
|
className
|
|
27303
27459
|
}) {
|
|
@@ -27342,6 +27498,7 @@ function PowerupSlots({
|
|
|
27342
27498
|
))
|
|
27343
27499
|
] });
|
|
27344
27500
|
}
|
|
27501
|
+
var DEFAULT_ACTIVE_POWERUPS;
|
|
27345
27502
|
var init_PowerupSlots = __esm({
|
|
27346
27503
|
"components/game/molecules/PowerupSlots.tsx"() {
|
|
27347
27504
|
"use client";
|
|
@@ -27350,6 +27507,10 @@ var init_PowerupSlots = __esm({
|
|
|
27350
27507
|
init_Box();
|
|
27351
27508
|
init_Stack();
|
|
27352
27509
|
init_Typography();
|
|
27510
|
+
DEFAULT_ACTIVE_POWERUPS = [
|
|
27511
|
+
{ id: "pw1", icon: "zap", label: "Speed Boost", remainingTime: 12 },
|
|
27512
|
+
{ id: "pw2", icon: "shield", label: "Iron Shield", remainingTime: 30 }
|
|
27513
|
+
];
|
|
27353
27514
|
PowerupSlots.displayName = "PowerupSlots";
|
|
27354
27515
|
}
|
|
27355
27516
|
});
|
|
@@ -27361,7 +27522,7 @@ function GameCanvas2D({
|
|
|
27361
27522
|
tickEvent,
|
|
27362
27523
|
drawEvent,
|
|
27363
27524
|
fps = 60,
|
|
27364
|
-
backgroundImage = "
|
|
27525
|
+
backgroundImage = "",
|
|
27365
27526
|
assetBaseUrl = "https://almadar-kflow-assets.web.app/shared/",
|
|
27366
27527
|
className
|
|
27367
27528
|
}) {
|
|
@@ -27465,10 +27626,10 @@ var init_GameCanvas2D = __esm({
|
|
|
27465
27626
|
}
|
|
27466
27627
|
});
|
|
27467
27628
|
function HealthPanel({
|
|
27468
|
-
current,
|
|
27469
|
-
max,
|
|
27470
|
-
shield,
|
|
27471
|
-
label,
|
|
27629
|
+
current = 75,
|
|
27630
|
+
max = 100,
|
|
27631
|
+
shield = 20,
|
|
27632
|
+
label = "Player HP",
|
|
27472
27633
|
effects,
|
|
27473
27634
|
showNumbers = true,
|
|
27474
27635
|
size = "md",
|
|
@@ -27586,11 +27747,11 @@ var init_HealthPanel = __esm({
|
|
|
27586
27747
|
}
|
|
27587
27748
|
});
|
|
27588
27749
|
function ScoreBoard({
|
|
27589
|
-
score: rawScore,
|
|
27590
|
-
highScore: rawHighScore,
|
|
27591
|
-
combo: rawCombo,
|
|
27592
|
-
multiplier: rawMultiplier,
|
|
27593
|
-
level: rawLevel,
|
|
27750
|
+
score: rawScore = 4200,
|
|
27751
|
+
highScore: rawHighScore = 8750,
|
|
27752
|
+
combo: rawCombo = 3,
|
|
27753
|
+
multiplier: rawMultiplier = 2,
|
|
27754
|
+
level: rawLevel = 4,
|
|
27594
27755
|
className
|
|
27595
27756
|
}) {
|
|
27596
27757
|
const score = rawScore ?? 0;
|
|
@@ -27663,7 +27824,7 @@ var init_ScoreBoard = __esm({
|
|
|
27663
27824
|
}
|
|
27664
27825
|
});
|
|
27665
27826
|
function ResourceBar({
|
|
27666
|
-
resources,
|
|
27827
|
+
resources = DEFAULT_RESOURCES,
|
|
27667
27828
|
size = "md",
|
|
27668
27829
|
className
|
|
27669
27830
|
}) {
|
|
@@ -27689,17 +27850,23 @@ function ResourceBar({
|
|
|
27689
27850
|
}
|
|
27690
27851
|
);
|
|
27691
27852
|
}
|
|
27853
|
+
var DEFAULT_RESOURCES;
|
|
27692
27854
|
var init_ResourceBar = __esm({
|
|
27693
27855
|
"components/game/molecules/ResourceBar.tsx"() {
|
|
27694
27856
|
"use client";
|
|
27695
27857
|
init_cn();
|
|
27696
27858
|
init_StatBadge();
|
|
27697
27859
|
init_Box();
|
|
27860
|
+
DEFAULT_RESOURCES = [
|
|
27861
|
+
{ icon: "coins", label: "Gold", value: 320 },
|
|
27862
|
+
{ icon: "zap", label: "Energy", value: 7, max: 10 },
|
|
27863
|
+
{ icon: "gem", label: "Crystals", value: 15 }
|
|
27864
|
+
];
|
|
27698
27865
|
ResourceBar.displayName = "ResourceBar";
|
|
27699
27866
|
}
|
|
27700
27867
|
});
|
|
27701
27868
|
function TurnIndicator({
|
|
27702
|
-
currentTurn,
|
|
27869
|
+
currentTurn = 1,
|
|
27703
27870
|
maxTurns,
|
|
27704
27871
|
activeTeam,
|
|
27705
27872
|
phase,
|
|
@@ -27751,11 +27918,11 @@ var init_TurnIndicator = __esm({
|
|
|
27751
27918
|
}
|
|
27752
27919
|
});
|
|
27753
27920
|
function TurnPanel({
|
|
27754
|
-
currentTurn,
|
|
27755
|
-
maxTurns,
|
|
27756
|
-
phase,
|
|
27757
|
-
activeTeam,
|
|
27758
|
-
actions,
|
|
27921
|
+
currentTurn = 3,
|
|
27922
|
+
maxTurns = 10,
|
|
27923
|
+
phase = "Attack",
|
|
27924
|
+
activeTeam = "Heroes",
|
|
27925
|
+
actions = DEFAULT_TURN_ACTIONS,
|
|
27759
27926
|
className
|
|
27760
27927
|
}) {
|
|
27761
27928
|
const eventBus = useEventBus();
|
|
@@ -27800,6 +27967,7 @@ function TurnPanel({
|
|
|
27800
27967
|
}
|
|
27801
27968
|
);
|
|
27802
27969
|
}
|
|
27970
|
+
var DEFAULT_TURN_ACTIONS;
|
|
27803
27971
|
var init_TurnPanel = __esm({
|
|
27804
27972
|
"components/game/molecules/TurnPanel.tsx"() {
|
|
27805
27973
|
"use client";
|
|
@@ -27808,15 +27976,19 @@ var init_TurnPanel = __esm({
|
|
|
27808
27976
|
init_Button();
|
|
27809
27977
|
init_Box();
|
|
27810
27978
|
init_useEventBus();
|
|
27979
|
+
DEFAULT_TURN_ACTIONS = [
|
|
27980
|
+
{ label: "End Turn", icon: "skip-forward", event: "END_TURN" },
|
|
27981
|
+
{ label: "Forfeit", icon: "flag", event: "FORFEIT", disabled: false }
|
|
27982
|
+
];
|
|
27811
27983
|
TurnPanel.displayName = "TurnPanel";
|
|
27812
27984
|
}
|
|
27813
27985
|
});
|
|
27814
27986
|
function EnemyPlate({
|
|
27815
|
-
name,
|
|
27816
|
-
health,
|
|
27817
|
-
maxHealth,
|
|
27818
|
-
level,
|
|
27819
|
-
effects,
|
|
27987
|
+
name = "Shadow Guard",
|
|
27988
|
+
health = 80,
|
|
27989
|
+
maxHealth = 100,
|
|
27990
|
+
level = 5,
|
|
27991
|
+
effects = DEFAULT_ENEMY_EFFECTS,
|
|
27820
27992
|
className
|
|
27821
27993
|
}) {
|
|
27822
27994
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -27882,7 +28054,7 @@ function EnemyPlate({
|
|
|
27882
28054
|
}
|
|
27883
28055
|
);
|
|
27884
28056
|
}
|
|
27885
|
-
var effectVariantMap2;
|
|
28057
|
+
var effectVariantMap2, DEFAULT_ENEMY_EFFECTS;
|
|
27886
28058
|
var init_EnemyPlate = __esm({
|
|
27887
28059
|
"components/game/molecules/EnemyPlate.tsx"() {
|
|
27888
28060
|
"use client";
|
|
@@ -27896,12 +28068,15 @@ var init_EnemyPlate = __esm({
|
|
|
27896
28068
|
debuff: "danger",
|
|
27897
28069
|
neutral: "neutral"
|
|
27898
28070
|
};
|
|
28071
|
+
DEFAULT_ENEMY_EFFECTS = [
|
|
28072
|
+
{ icon: "flame", label: "Burn", variant: "debuff" }
|
|
28073
|
+
];
|
|
27899
28074
|
EnemyPlate.displayName = "EnemyPlate";
|
|
27900
28075
|
}
|
|
27901
28076
|
});
|
|
27902
28077
|
function UnitCommandBar({
|
|
27903
|
-
commands,
|
|
27904
|
-
selectedUnitId,
|
|
28078
|
+
commands = DEFAULT_COMMANDS,
|
|
28079
|
+
selectedUnitId = "unit-1",
|
|
27905
28080
|
className
|
|
27906
28081
|
}) {
|
|
27907
28082
|
const eventBus = useEventBus();
|
|
@@ -27944,6 +28119,7 @@ function UnitCommandBar({
|
|
|
27944
28119
|
}
|
|
27945
28120
|
);
|
|
27946
28121
|
}
|
|
28122
|
+
var DEFAULT_COMMANDS;
|
|
27947
28123
|
var init_UnitCommandBar = __esm({
|
|
27948
28124
|
"components/game/molecules/UnitCommandBar.tsx"() {
|
|
27949
28125
|
"use client";
|
|
@@ -27952,6 +28128,12 @@ var init_UnitCommandBar = __esm({
|
|
|
27952
28128
|
init_Box();
|
|
27953
28129
|
init_Typography();
|
|
27954
28130
|
init_useEventBus();
|
|
28131
|
+
DEFAULT_COMMANDS = [
|
|
28132
|
+
{ label: "Move", icon: "move", event: "MOVE", hotkey: "M" },
|
|
28133
|
+
{ label: "Attack", icon: "sword", event: "ATTACK", hotkey: "A" },
|
|
28134
|
+
{ label: "Defend", icon: "shield", event: "DEFEND", hotkey: "D" },
|
|
28135
|
+
{ label: "Wait", icon: "clock", event: "WAIT", hotkey: "W" }
|
|
28136
|
+
];
|
|
27955
28137
|
UnitCommandBar.displayName = "UnitCommandBar";
|
|
27956
28138
|
}
|
|
27957
28139
|
});
|
|
@@ -27985,7 +28167,7 @@ function GameHud({
|
|
|
27985
28167
|
className,
|
|
27986
28168
|
transparent = true
|
|
27987
28169
|
}) {
|
|
27988
|
-
const rawStats = propStats ?? items ?? (elements && Array.isArray(elements) ? convertElementsToStats(elements) :
|
|
28170
|
+
const rawStats = propStats ?? items ?? (elements && Array.isArray(elements) ? convertElementsToStats(elements) : DEFAULT_HUD_STATS);
|
|
27989
28171
|
const stats = Array.isArray(rawStats) ? rawStats : [];
|
|
27990
28172
|
const position = propPosition ?? "corners";
|
|
27991
28173
|
if (position === "corners") {
|
|
@@ -28010,7 +28192,7 @@ function GameHud({
|
|
|
28010
28192
|
}
|
|
28011
28193
|
);
|
|
28012
28194
|
}
|
|
28013
|
-
var positionMap;
|
|
28195
|
+
var positionMap, DEFAULT_HUD_STATS;
|
|
28014
28196
|
var init_GameHud = __esm({
|
|
28015
28197
|
"components/game/molecules/GameHud.tsx"() {
|
|
28016
28198
|
init_cn();
|
|
@@ -28020,11 +28202,17 @@ var init_GameHud = __esm({
|
|
|
28020
28202
|
bottom: "bottom-0 left-0 right-0 flex justify-between items-end p-4",
|
|
28021
28203
|
corners: "inset-0 pointer-events-none"
|
|
28022
28204
|
};
|
|
28205
|
+
DEFAULT_HUD_STATS = [
|
|
28206
|
+
{ label: "HP", value: 75, max: 100, format: "bar", variant: "danger" },
|
|
28207
|
+
{ label: "MP", value: 40, max: 60, format: "bar", variant: "primary" },
|
|
28208
|
+
{ label: "Score", value: 4200, format: "number", variant: "warning" },
|
|
28209
|
+
{ label: "Level", value: 4, format: "number", variant: "default" }
|
|
28210
|
+
];
|
|
28023
28211
|
GameHud.displayName = "GameHud";
|
|
28024
28212
|
}
|
|
28025
28213
|
});
|
|
28026
28214
|
function DialogueBox({
|
|
28027
|
-
dialogue,
|
|
28215
|
+
dialogue = DEFAULT_DIALOGUE,
|
|
28028
28216
|
typewriterSpeed = 30,
|
|
28029
28217
|
position = "bottom",
|
|
28030
28218
|
onComplete,
|
|
@@ -28207,17 +28395,27 @@ function DialogueBox({
|
|
|
28207
28395
|
}
|
|
28208
28396
|
);
|
|
28209
28397
|
}
|
|
28398
|
+
var DEFAULT_DIALOGUE;
|
|
28210
28399
|
var init_DialogueBox = __esm({
|
|
28211
28400
|
"components/game/molecules/DialogueBox.tsx"() {
|
|
28212
28401
|
"use client";
|
|
28213
28402
|
init_cn();
|
|
28214
28403
|
init_useEventBus();
|
|
28404
|
+
DEFAULT_DIALOGUE = {
|
|
28405
|
+
speaker: "Village Elder",
|
|
28406
|
+
text: "The ancient ruins hold great power \u2014 and great danger. Choose your path wisely, traveler.",
|
|
28407
|
+
choices: [
|
|
28408
|
+
{ text: "I am ready. Lead the way.", action: "ACCEPT_QUEST" },
|
|
28409
|
+
{ text: "Tell me more about the ruins.", action: "ASK_LORE" },
|
|
28410
|
+
{ text: "Perhaps another time.", action: "DECLINE" }
|
|
28411
|
+
]
|
|
28412
|
+
};
|
|
28215
28413
|
}
|
|
28216
28414
|
});
|
|
28217
28415
|
function InventoryPanel({
|
|
28218
|
-
items,
|
|
28219
|
-
slots,
|
|
28220
|
-
columns,
|
|
28416
|
+
items = DEFAULT_INVENTORY_ITEMS,
|
|
28417
|
+
slots = 12,
|
|
28418
|
+
columns = 4,
|
|
28221
28419
|
selectedSlot,
|
|
28222
28420
|
onSelectSlot,
|
|
28223
28421
|
onUseItem,
|
|
@@ -28365,25 +28563,31 @@ function InventoryPanel({
|
|
|
28365
28563
|
)
|
|
28366
28564
|
] });
|
|
28367
28565
|
}
|
|
28566
|
+
var DEFAULT_INVENTORY_ITEMS;
|
|
28368
28567
|
var init_InventoryPanel = __esm({
|
|
28369
28568
|
"components/game/molecules/InventoryPanel.tsx"() {
|
|
28370
28569
|
"use client";
|
|
28371
28570
|
init_cn();
|
|
28372
28571
|
init_useEventBus();
|
|
28572
|
+
DEFAULT_INVENTORY_ITEMS = [
|
|
28573
|
+
{ id: "item-1", type: "weapon", name: "Iron Sword", quantity: 1, description: "A sturdy iron blade." },
|
|
28574
|
+
{ id: "item-2", type: "potion", name: "Health Potion", quantity: 3, description: "Restores 50 HP." },
|
|
28575
|
+
{ id: "item-3", type: "armor", name: "Leather Helm", quantity: 1, description: "Light head protection." }
|
|
28576
|
+
];
|
|
28373
28577
|
}
|
|
28374
28578
|
});
|
|
28375
28579
|
function GameMenu({
|
|
28376
|
-
title,
|
|
28580
|
+
title = "Epic Quest",
|
|
28377
28581
|
subtitle,
|
|
28378
28582
|
options,
|
|
28379
28583
|
menuItems,
|
|
28380
28584
|
onSelect,
|
|
28381
28585
|
eventBus: eventBusProp,
|
|
28382
28586
|
background,
|
|
28383
|
-
logo,
|
|
28587
|
+
logo = "",
|
|
28384
28588
|
className
|
|
28385
28589
|
}) {
|
|
28386
|
-
const resolvedOptions = options ?? menuItems ??
|
|
28590
|
+
const resolvedOptions = options ?? menuItems ?? DEFAULT_MENU_OPTIONS;
|
|
28387
28591
|
let eventBusFromHook = null;
|
|
28388
28592
|
try {
|
|
28389
28593
|
eventBusFromHook = useEventBus();
|
|
@@ -28464,7 +28668,7 @@ function GameMenu({
|
|
|
28464
28668
|
}
|
|
28465
28669
|
);
|
|
28466
28670
|
}
|
|
28467
|
-
var variantMap3;
|
|
28671
|
+
var variantMap3, DEFAULT_MENU_OPTIONS;
|
|
28468
28672
|
var init_GameMenu = __esm({
|
|
28469
28673
|
"components/game/molecules/GameMenu.tsx"() {
|
|
28470
28674
|
"use client";
|
|
@@ -28475,6 +28679,11 @@ var init_GameMenu = __esm({
|
|
|
28475
28679
|
secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
|
|
28476
28680
|
ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
|
|
28477
28681
|
};
|
|
28682
|
+
DEFAULT_MENU_OPTIONS = [
|
|
28683
|
+
{ label: "New Game", event: "NEW_GAME", variant: "primary" },
|
|
28684
|
+
{ label: "Continue", event: "CONTINUE", variant: "secondary" },
|
|
28685
|
+
{ label: "Settings", event: "SETTINGS", variant: "ghost" }
|
|
28686
|
+
];
|
|
28478
28687
|
GameMenu.displayName = "GameMenu";
|
|
28479
28688
|
}
|
|
28480
28689
|
});
|
|
@@ -28485,19 +28694,19 @@ function formatTime2(ms) {
|
|
|
28485
28694
|
return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
|
|
28486
28695
|
}
|
|
28487
28696
|
function GameOverScreen({
|
|
28488
|
-
title,
|
|
28697
|
+
title = "Game Over",
|
|
28489
28698
|
message,
|
|
28490
|
-
stats =
|
|
28699
|
+
stats = DEFAULT_GAME_OVER_STATS,
|
|
28491
28700
|
actions,
|
|
28492
28701
|
menuItems,
|
|
28493
28702
|
onAction,
|
|
28494
28703
|
eventBus: eventBusProp,
|
|
28495
|
-
variant = "
|
|
28496
|
-
highScore,
|
|
28497
|
-
currentScore,
|
|
28704
|
+
variant = "defeat",
|
|
28705
|
+
highScore = 2e3,
|
|
28706
|
+
currentScore = 1240,
|
|
28498
28707
|
className
|
|
28499
28708
|
}) {
|
|
28500
|
-
const resolvedActions = actions ?? menuItems ??
|
|
28709
|
+
const resolvedActions = actions ?? menuItems ?? DEFAULT_GAME_OVER_ACTIONS;
|
|
28501
28710
|
let eventBusFromHook = null;
|
|
28502
28711
|
try {
|
|
28503
28712
|
eventBusFromHook = useEventBus();
|
|
@@ -28584,7 +28793,7 @@ function GameOverScreen({
|
|
|
28584
28793
|
}
|
|
28585
28794
|
);
|
|
28586
28795
|
}
|
|
28587
|
-
var variantColors, buttonVariants;
|
|
28796
|
+
var variantColors, buttonVariants, DEFAULT_GAME_OVER_ACTIONS, DEFAULT_GAME_OVER_STATS;
|
|
28588
28797
|
var init_GameOverScreen = __esm({
|
|
28589
28798
|
"components/game/molecules/GameOverScreen.tsx"() {
|
|
28590
28799
|
"use client";
|
|
@@ -28613,21 +28822,35 @@ var init_GameOverScreen = __esm({
|
|
|
28613
28822
|
secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
|
|
28614
28823
|
ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
|
|
28615
28824
|
};
|
|
28825
|
+
DEFAULT_GAME_OVER_ACTIONS = [
|
|
28826
|
+
{ label: "Play Again", event: "RESTART", variant: "primary" },
|
|
28827
|
+
{ label: "Main Menu", event: "MAIN_MENU", variant: "secondary" }
|
|
28828
|
+
];
|
|
28829
|
+
DEFAULT_GAME_OVER_STATS = [
|
|
28830
|
+
{ label: "Score", value: 1240 },
|
|
28831
|
+
{ label: "Enemies Defeated", value: 8 },
|
|
28832
|
+
{ label: "Time", value: 93e3, format: "time" }
|
|
28833
|
+
];
|
|
28616
28834
|
GameOverScreen.displayName = "GameOverScreen";
|
|
28617
28835
|
}
|
|
28618
28836
|
});
|
|
28619
28837
|
function PlatformerCanvas({
|
|
28620
28838
|
player,
|
|
28621
|
-
platforms = [
|
|
28839
|
+
platforms = [
|
|
28840
|
+
{ x: 0, y: 368, width: 800, height: 32, type: "ground" },
|
|
28841
|
+
{ x: 150, y: 280, width: 160, height: 16, type: "platform" },
|
|
28842
|
+
{ x: 420, y: 220, width: 160, height: 16, type: "platform" },
|
|
28843
|
+
{ x: 620, y: 300, width: 140, height: 16, type: "platform" }
|
|
28844
|
+
],
|
|
28622
28845
|
worldWidth = 800,
|
|
28623
28846
|
worldHeight = 400,
|
|
28624
28847
|
canvasWidth = 800,
|
|
28625
28848
|
canvasHeight = 400,
|
|
28626
28849
|
followCamera = true,
|
|
28627
|
-
bgColor,
|
|
28850
|
+
bgColor = "#5c94fc",
|
|
28628
28851
|
playerSprite = "https://almadar-kflow-assets.web.app/shared/platformer/characters/platformChar_idle.png",
|
|
28629
28852
|
tileSprites,
|
|
28630
|
-
backgroundImage = "
|
|
28853
|
+
backgroundImage = "",
|
|
28631
28854
|
assetBaseUrl = "https://almadar-kflow-assets.web.app/shared/platformer/",
|
|
28632
28855
|
leftEvent = "MOVE_LEFT",
|
|
28633
28856
|
rightEvent = "MOVE_RIGHT",
|
|
@@ -28675,10 +28898,10 @@ function PlatformerCanvas({
|
|
|
28675
28898
|
};
|
|
28676
28899
|
}, []);
|
|
28677
28900
|
const resolvedPlayer = player ?? {
|
|
28678
|
-
x:
|
|
28679
|
-
y:
|
|
28680
|
-
width:
|
|
28681
|
-
height:
|
|
28901
|
+
x: 80,
|
|
28902
|
+
y: 336,
|
|
28903
|
+
width: 32,
|
|
28904
|
+
height: 48,
|
|
28682
28905
|
facingRight: true
|
|
28683
28906
|
};
|
|
28684
28907
|
const handleKeyDown = React77.useCallback((e) => {
|
|
@@ -39388,8 +39611,8 @@ var init_DetailPanel = __esm({
|
|
|
39388
39611
|
}
|
|
39389
39612
|
});
|
|
39390
39613
|
function DialogueBubble({
|
|
39391
|
-
speaker,
|
|
39392
|
-
text,
|
|
39614
|
+
speaker = "Hero",
|
|
39615
|
+
text = "The dungeon awaits. Choose your path wisely.",
|
|
39393
39616
|
portrait = "https://almadar-kflow-assets.web.app/shared/characters/archetypes/04_hero.png",
|
|
39394
39617
|
position = "bottom",
|
|
39395
39618
|
className
|
|
@@ -39471,7 +39694,7 @@ var init_DrawerSlot = __esm({
|
|
|
39471
39694
|
}
|
|
39472
39695
|
});
|
|
39473
39696
|
function StateIndicator({
|
|
39474
|
-
state,
|
|
39697
|
+
state = "idle",
|
|
39475
39698
|
label,
|
|
39476
39699
|
size = "md",
|
|
39477
39700
|
animated = true,
|
|
@@ -42684,13 +42907,13 @@ var init_MediaGallery = __esm({
|
|
|
42684
42907
|
}
|
|
42685
42908
|
});
|
|
42686
42909
|
function MiniMap({
|
|
42687
|
-
tiles =
|
|
42688
|
-
units =
|
|
42910
|
+
tiles = DEFAULT_TILES,
|
|
42911
|
+
units = DEFAULT_UNITS,
|
|
42689
42912
|
width = 150,
|
|
42690
42913
|
height = 150,
|
|
42691
42914
|
mapWidth = 100,
|
|
42692
42915
|
mapHeight = 100,
|
|
42693
|
-
viewportRect,
|
|
42916
|
+
viewportRect = DEFAULT_VIEWPORT,
|
|
42694
42917
|
className
|
|
42695
42918
|
}) {
|
|
42696
42919
|
const canvasRef = React77__namespace.useRef(null);
|
|
@@ -42769,10 +42992,25 @@ function MiniMap({
|
|
|
42769
42992
|
}
|
|
42770
42993
|
);
|
|
42771
42994
|
}
|
|
42995
|
+
var DEFAULT_TILES, DEFAULT_UNITS, DEFAULT_VIEWPORT;
|
|
42772
42996
|
var init_MiniMap = __esm({
|
|
42773
42997
|
"components/game/atoms/MiniMap.tsx"() {
|
|
42774
42998
|
"use client";
|
|
42775
42999
|
init_cn();
|
|
43000
|
+
DEFAULT_TILES = [
|
|
43001
|
+
{ x: 10, y: 10, color: "#4ade80" },
|
|
43002
|
+
{ x: 20, y: 15, color: "#4ade80" },
|
|
43003
|
+
{ x: 30, y: 25, color: "#22c55e" },
|
|
43004
|
+
{ x: 50, y: 40, color: "#4ade80" },
|
|
43005
|
+
{ x: 60, y: 55, color: "#16a34a" },
|
|
43006
|
+
{ x: 40, y: 60, color: "#4ade80" },
|
|
43007
|
+
{ x: 70, y: 30, color: "#22c55e" },
|
|
43008
|
+
{ x: 80, y: 70, color: "#4ade80" }
|
|
43009
|
+
];
|
|
43010
|
+
DEFAULT_UNITS = [
|
|
43011
|
+
{ x: 30, y: 30, color: "#60a5fa", isPlayer: true }
|
|
43012
|
+
];
|
|
43013
|
+
DEFAULT_VIEWPORT = { x: 20, y: 20, w: 40, h: 40 };
|
|
42776
43014
|
MiniMap.displayName = "MiniMap";
|
|
42777
43015
|
}
|
|
42778
43016
|
});
|
|
@@ -43124,8 +43362,8 @@ var init_PricingPageTemplate = __esm({
|
|
|
43124
43362
|
});
|
|
43125
43363
|
function ResourceCounter({
|
|
43126
43364
|
icon,
|
|
43127
|
-
label,
|
|
43128
|
-
value,
|
|
43365
|
+
label = "Gold",
|
|
43366
|
+
value = 250,
|
|
43129
43367
|
max,
|
|
43130
43368
|
color,
|
|
43131
43369
|
size = "md",
|
|
@@ -46138,11 +46376,11 @@ var init_SplitPane = __esm({
|
|
|
46138
46376
|
});
|
|
46139
46377
|
function Sprite({
|
|
46140
46378
|
spritesheet = "https://almadar-kflow-assets.web.app/shared/isometric-blocks/Spritesheet/allTiles_sheet.png",
|
|
46141
|
-
frameWidth,
|
|
46142
|
-
frameHeight,
|
|
46143
|
-
frame,
|
|
46144
|
-
x,
|
|
46145
|
-
y,
|
|
46379
|
+
frameWidth = 64,
|
|
46380
|
+
frameHeight = 64,
|
|
46381
|
+
frame = 0,
|
|
46382
|
+
x = 0,
|
|
46383
|
+
y = 0,
|
|
46146
46384
|
scale = 1,
|
|
46147
46385
|
flipX = false,
|
|
46148
46386
|
flipY = false,
|
|
@@ -47043,11 +47281,11 @@ function formatDuration(seconds) {
|
|
|
47043
47281
|
return `${Math.round(seconds)}s`;
|
|
47044
47282
|
}
|
|
47045
47283
|
function StatusEffect({
|
|
47046
|
-
icon,
|
|
47047
|
-
label,
|
|
47048
|
-
duration,
|
|
47284
|
+
icon = "shield",
|
|
47285
|
+
label = "Shield",
|
|
47286
|
+
duration = 30,
|
|
47049
47287
|
stacks,
|
|
47050
|
-
variant = "
|
|
47288
|
+
variant = "buff",
|
|
47051
47289
|
size = "md",
|
|
47052
47290
|
className
|
|
47053
47291
|
}) {
|
|
@@ -47500,8 +47738,8 @@ function formatTime3(seconds, format) {
|
|
|
47500
47738
|
return `${mins.toString().padStart(2, "0")}:${padded}`;
|
|
47501
47739
|
}
|
|
47502
47740
|
function TimerDisplay({
|
|
47503
|
-
seconds,
|
|
47504
|
-
running,
|
|
47741
|
+
seconds = 90,
|
|
47742
|
+
running = true,
|
|
47505
47743
|
format = "mm:ss",
|
|
47506
47744
|
size = "md",
|
|
47507
47745
|
className,
|
|
@@ -48074,12 +48312,12 @@ function WorldMapTemplate({
|
|
|
48074
48312
|
entity,
|
|
48075
48313
|
scale = 0.4,
|
|
48076
48314
|
unitScale = 2.5,
|
|
48077
|
-
diamondTopY,
|
|
48315
|
+
diamondTopY = 374,
|
|
48078
48316
|
allowMoveAllHeroes = false,
|
|
48079
|
-
tiles,
|
|
48080
|
-
units,
|
|
48081
|
-
features,
|
|
48082
|
-
assetManifest,
|
|
48317
|
+
tiles = DEFAULT_WORLDMAP_TILES,
|
|
48318
|
+
units = DEFAULT_WORLDMAP_UNITS,
|
|
48319
|
+
features = DEFAULT_WORLDMAP_FEATURES,
|
|
48320
|
+
assetManifest = DEFAULT_WORLDMAP_MANIFEST,
|
|
48083
48321
|
className
|
|
48084
48322
|
}) {
|
|
48085
48323
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -48102,17 +48340,71 @@ function WorldMapTemplate({
|
|
|
48102
48340
|
}
|
|
48103
48341
|
);
|
|
48104
48342
|
}
|
|
48343
|
+
var CDN3, DEFAULT_WORLDMAP_TILES, DEFAULT_WORLDMAP_UNITS, DEFAULT_WORLDMAP_FEATURES, DEFAULT_WORLDMAP_MANIFEST;
|
|
48105
48344
|
var init_WorldMapTemplate = __esm({
|
|
48106
48345
|
"components/game/templates/WorldMapTemplate.tsx"() {
|
|
48107
48346
|
init_WorldMapBoard();
|
|
48347
|
+
CDN3 = "https://almadar-kflow-assets.web.app/shared";
|
|
48348
|
+
DEFAULT_WORLDMAP_TILES = [
|
|
48349
|
+
{ x: 0, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48350
|
+
{ x: 1, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48351
|
+
{ x: 2, y: 0, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48352
|
+
{ x: 3, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48353
|
+
{ x: 4, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48354
|
+
{ x: 0, y: 1, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48355
|
+
{ x: 1, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48356
|
+
{ x: 2, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48357
|
+
{ x: 3, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48358
|
+
{ x: 4, y: 1, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48359
|
+
{ x: 0, y: 2, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48360
|
+
{ x: 1, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48361
|
+
{ x: 2, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_03.png` },
|
|
48362
|
+
{ x: 3, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48363
|
+
{ x: 4, y: 2, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48364
|
+
{ x: 0, y: 3, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48365
|
+
{ x: 1, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48366
|
+
{ x: 2, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48367
|
+
{ x: 3, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_03.png` },
|
|
48368
|
+
{ x: 4, y: 3, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48369
|
+
{ x: 0, y: 4, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48370
|
+
{ x: 1, y: 4, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48371
|
+
{ x: 2, y: 4, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48372
|
+
{ x: 3, y: 4, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48373
|
+
{ x: 4, y: 4, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` }
|
|
48374
|
+
];
|
|
48375
|
+
DEFAULT_WORLDMAP_UNITS = [
|
|
48376
|
+
{ id: "h1", position: { x: 1, y: 1 }, unitType: "hero", name: "Amir", team: "player", health: 10, maxHealth: 10, sprite: `${CDN3}/sprite-sheets/amir-sprite-sheet-se.png` },
|
|
48377
|
+
{ id: "h2", position: { x: 3, y: 3 }, unitType: "scout", name: "Archivist", team: "player", health: 10, maxHealth: 10, sprite: `${CDN3}/sprite-sheets/archivist-sprite-sheet-se.png` }
|
|
48378
|
+
];
|
|
48379
|
+
DEFAULT_WORLDMAP_FEATURES = [
|
|
48380
|
+
{ id: "f1", x: 2, y: 2, type: "capital", sprite: `${CDN3}/scenes/world/capital.png` },
|
|
48381
|
+
{ id: "f2", x: 4, y: 2, type: "power_node", sprite: `${CDN3}/world-map/power_node.png` }
|
|
48382
|
+
];
|
|
48383
|
+
DEFAULT_WORLDMAP_MANIFEST = {
|
|
48384
|
+
baseUrl: CDN3,
|
|
48385
|
+
terrains: {
|
|
48386
|
+
grass: "/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png",
|
|
48387
|
+
water: "/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png",
|
|
48388
|
+
mountain: "/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png",
|
|
48389
|
+
road: "/isometric-blocks/PNG/Platformer tiles/platformerTile_03.png"
|
|
48390
|
+
},
|
|
48391
|
+
units: {
|
|
48392
|
+
hero: "/sprite-sheets/amir-sprite-sheet-se.png",
|
|
48393
|
+
scout: "/sprite-sheets/archivist-sprite-sheet-se.png"
|
|
48394
|
+
},
|
|
48395
|
+
features: {
|
|
48396
|
+
capital: "/scenes/world/capital.png",
|
|
48397
|
+
power_node: "/world-map/power_node.png"
|
|
48398
|
+
}
|
|
48399
|
+
};
|
|
48108
48400
|
WorldMapTemplate.displayName = "WorldMapTemplate";
|
|
48109
48401
|
}
|
|
48110
48402
|
});
|
|
48111
48403
|
function XPBar({
|
|
48112
|
-
current,
|
|
48113
|
-
max,
|
|
48114
|
-
level,
|
|
48115
|
-
showLabel =
|
|
48404
|
+
current = 350,
|
|
48405
|
+
max = 1e3,
|
|
48406
|
+
level = 5,
|
|
48407
|
+
showLabel = true,
|
|
48116
48408
|
size = "md",
|
|
48117
48409
|
animated = true,
|
|
48118
48410
|
className
|