@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
package/dist/components/index.js
CHANGED
|
@@ -8179,7 +8179,7 @@ var init_Accordion = __esm({
|
|
|
8179
8179
|
}
|
|
8180
8180
|
});
|
|
8181
8181
|
function ActionButton({
|
|
8182
|
-
label,
|
|
8182
|
+
label = "Attack",
|
|
8183
8183
|
icon,
|
|
8184
8184
|
cooldown = 0,
|
|
8185
8185
|
disabled = false,
|
|
@@ -8366,7 +8366,7 @@ var init_ControlButton = __esm({
|
|
|
8366
8366
|
}
|
|
8367
8367
|
});
|
|
8368
8368
|
function ActionButtons({
|
|
8369
|
-
buttons,
|
|
8369
|
+
buttons = DEFAULT_BUTTONS,
|
|
8370
8370
|
onAction,
|
|
8371
8371
|
actionEvent,
|
|
8372
8372
|
layout = "horizontal",
|
|
@@ -8473,7 +8473,7 @@ function ActionButtons({
|
|
|
8473
8473
|
button.id
|
|
8474
8474
|
)) });
|
|
8475
8475
|
}
|
|
8476
|
-
var sizeMap3, layoutMap;
|
|
8476
|
+
var sizeMap3, layoutMap, DEFAULT_BUTTONS;
|
|
8477
8477
|
var init_ActionButtons = __esm({
|
|
8478
8478
|
"components/game/molecules/ActionButtons.tsx"() {
|
|
8479
8479
|
"use client";
|
|
@@ -8490,6 +8490,11 @@ var init_ActionButtons = __esm({
|
|
|
8490
8490
|
vertical: "flex flex-col gap-2",
|
|
8491
8491
|
diamond: "grid grid-cols-3 gap-1"
|
|
8492
8492
|
};
|
|
8493
|
+
DEFAULT_BUTTONS = [
|
|
8494
|
+
{ id: "jump", label: "Jump", icon: "chevron-up", variant: "primary" },
|
|
8495
|
+
{ id: "attack", label: "Attack", icon: "sword", variant: "secondary" },
|
|
8496
|
+
{ id: "dodge", label: "Dodge", icon: "wind", variant: "ghost" }
|
|
8497
|
+
];
|
|
8493
8498
|
ActionButtons.displayName = "ActionButtons";
|
|
8494
8499
|
}
|
|
8495
8500
|
});
|
|
@@ -9580,7 +9585,7 @@ function IsometricCanvas({
|
|
|
9580
9585
|
// Rendering options
|
|
9581
9586
|
scale = 0.4,
|
|
9582
9587
|
debug: debug2 = false,
|
|
9583
|
-
backgroundImage = "
|
|
9588
|
+
backgroundImage = "",
|
|
9584
9589
|
showMinimap = true,
|
|
9585
9590
|
enableCamera = true,
|
|
9586
9591
|
unitScale = 1,
|
|
@@ -10719,10 +10724,10 @@ function BattleTemplate({
|
|
|
10719
10724
|
entity,
|
|
10720
10725
|
scale = 0.45,
|
|
10721
10726
|
unitScale = 1,
|
|
10722
|
-
tiles,
|
|
10723
|
-
units,
|
|
10724
|
-
features,
|
|
10725
|
-
assetManifest,
|
|
10727
|
+
tiles = DEFAULT_BATTLE_TILES,
|
|
10728
|
+
units = DEFAULT_BATTLE_UNITS,
|
|
10729
|
+
features = DEFAULT_BATTLE_FEATURES,
|
|
10730
|
+
assetManifest = DEFAULT_BATTLE_MANIFEST,
|
|
10726
10731
|
className
|
|
10727
10732
|
}) {
|
|
10728
10733
|
const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
|
|
@@ -10748,9 +10753,62 @@ function BattleTemplate({
|
|
|
10748
10753
|
}
|
|
10749
10754
|
);
|
|
10750
10755
|
}
|
|
10756
|
+
var CDN, DEFAULT_BATTLE_TILES, DEFAULT_BATTLE_UNITS, DEFAULT_BATTLE_FEATURES, DEFAULT_BATTLE_MANIFEST;
|
|
10751
10757
|
var init_BattleTemplate = __esm({
|
|
10752
10758
|
"components/game/templates/BattleTemplate.tsx"() {
|
|
10753
10759
|
init_BattleBoard();
|
|
10760
|
+
CDN = "https://almadar-kflow-assets.web.app/shared";
|
|
10761
|
+
DEFAULT_BATTLE_TILES = [
|
|
10762
|
+
{ x: 0, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10763
|
+
{ x: 1, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10764
|
+
{ x: 2, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10765
|
+
{ x: 3, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10766
|
+
{ x: 4, y: 0, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10767
|
+
{ x: 0, y: 1, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10768
|
+
{ x: 1, y: 1, terrain: "dirt", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png` },
|
|
10769
|
+
{ x: 2, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10770
|
+
{ x: 3, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10771
|
+
{ x: 4, y: 1, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10772
|
+
{ x: 0, y: 2, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10773
|
+
{ x: 1, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10774
|
+
{ x: 2, y: 2, terrain: "dirt", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png` },
|
|
10775
|
+
{ x: 3, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10776
|
+
{ x: 4, y: 2, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10777
|
+
{ x: 0, y: 3, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10778
|
+
{ x: 1, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10779
|
+
{ x: 2, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png` },
|
|
10780
|
+
{ x: 3, y: 3, terrain: "dirt", passable: true, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png` },
|
|
10781
|
+
{ x: 4, y: 3, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10782
|
+
{ x: 0, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10783
|
+
{ x: 1, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10784
|
+
{ x: 2, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10785
|
+
{ x: 3, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` },
|
|
10786
|
+
{ x: 4, y: 4, terrain: "stone", passable: false, terrainSprite: `${CDN}/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png` }
|
|
10787
|
+
];
|
|
10788
|
+
DEFAULT_BATTLE_UNITS = [
|
|
10789
|
+
{ 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` },
|
|
10790
|
+
{ 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` }
|
|
10791
|
+
];
|
|
10792
|
+
DEFAULT_BATTLE_FEATURES = [
|
|
10793
|
+
{ id: "f1", x: 2, y: 2, type: "gold_mine", sprite: `${CDN}/world-map/gold_mine.png` },
|
|
10794
|
+
{ id: "f2", x: 3, y: 1, type: "portal", sprite: `${CDN}/world-map/portal_open.png` }
|
|
10795
|
+
];
|
|
10796
|
+
DEFAULT_BATTLE_MANIFEST = {
|
|
10797
|
+
baseUrl: CDN,
|
|
10798
|
+
terrains: {
|
|
10799
|
+
stone: "/isometric-blocks/PNG/Abstract tiles/abstractTile_07.png",
|
|
10800
|
+
dirt: "/isometric-blocks/PNG/Abstract tiles/abstractTile_01.png",
|
|
10801
|
+
grass: "/isometric-blocks/PNG/Abstract tiles/abstractTile_13.png"
|
|
10802
|
+
},
|
|
10803
|
+
units: {
|
|
10804
|
+
worker: "/sprite-sheets/amir-sprite-sheet-se.png",
|
|
10805
|
+
guardian: "/sprite-sheets/destroyer-sprite-sheet-sw.png"
|
|
10806
|
+
},
|
|
10807
|
+
features: {
|
|
10808
|
+
gold_mine: "/world-map/gold_mine.png",
|
|
10809
|
+
portal: "/world-map/portal_open.png"
|
|
10810
|
+
}
|
|
10811
|
+
};
|
|
10754
10812
|
BattleTemplate.displayName = "BattleTemplate";
|
|
10755
10813
|
}
|
|
10756
10814
|
});
|
|
@@ -18750,10 +18808,10 @@ var init_CastleBoard = __esm({
|
|
|
18750
18808
|
function CastleTemplate({
|
|
18751
18809
|
entity,
|
|
18752
18810
|
scale = 0.45,
|
|
18753
|
-
tiles,
|
|
18754
|
-
units,
|
|
18755
|
-
features,
|
|
18756
|
-
assetManifest,
|
|
18811
|
+
tiles = DEFAULT_CASTLE_TILES,
|
|
18812
|
+
units = DEFAULT_CASTLE_UNITS,
|
|
18813
|
+
features = DEFAULT_CASTLE_FEATURES,
|
|
18814
|
+
assetManifest = DEFAULT_CASTLE_MANIFEST,
|
|
18757
18815
|
className
|
|
18758
18816
|
}) {
|
|
18759
18817
|
const resolved = entity && typeof entity === "object" && !Array.isArray(entity) ? entity : void 0;
|
|
@@ -18774,9 +18832,61 @@ function CastleTemplate({
|
|
|
18774
18832
|
}
|
|
18775
18833
|
);
|
|
18776
18834
|
}
|
|
18835
|
+
var CDN2, DEFAULT_CASTLE_TILES, DEFAULT_CASTLE_UNITS, DEFAULT_CASTLE_FEATURES, DEFAULT_CASTLE_MANIFEST;
|
|
18777
18836
|
var init_CastleTemplate = __esm({
|
|
18778
18837
|
"components/game/templates/CastleTemplate.tsx"() {
|
|
18779
18838
|
init_CastleBoard();
|
|
18839
|
+
CDN2 = "https://almadar-kflow-assets.web.app/shared";
|
|
18840
|
+
DEFAULT_CASTLE_TILES = [
|
|
18841
|
+
{ x: 0, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18842
|
+
{ x: 1, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18843
|
+
{ x: 2, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18844
|
+
{ x: 3, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18845
|
+
{ x: 4, y: 0, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18846
|
+
{ x: 0, y: 1, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18847
|
+
{ x: 1, y: 1, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18848
|
+
{ x: 2, y: 1, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18849
|
+
{ x: 3, y: 1, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18850
|
+
{ x: 4, y: 1, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18851
|
+
{ x: 0, y: 2, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18852
|
+
{ x: 1, y: 2, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18853
|
+
{ x: 2, y: 2, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_09.png` },
|
|
18854
|
+
{ x: 3, y: 2, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18855
|
+
{ x: 4, y: 2, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18856
|
+
{ x: 0, y: 3, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18857
|
+
{ x: 1, y: 3, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18858
|
+
{ x: 2, y: 3, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18859
|
+
{ x: 3, y: 3, terrain: "floor", passable: true, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
18860
|
+
{ x: 4, y: 3, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18861
|
+
{ x: 0, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18862
|
+
{ x: 1, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18863
|
+
{ x: 2, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18864
|
+
{ x: 3, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` },
|
|
18865
|
+
{ x: 4, y: 4, terrain: "wall", passable: false, terrainSprite: `${CDN2}/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png` }
|
|
18866
|
+
];
|
|
18867
|
+
DEFAULT_CASTLE_UNITS = [
|
|
18868
|
+
{ 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` },
|
|
18869
|
+
{ 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` }
|
|
18870
|
+
];
|
|
18871
|
+
DEFAULT_CASTLE_FEATURES = [
|
|
18872
|
+
{ id: "f1", x: 2, y: 2, type: "chest", sprite: `${CDN2}/world-map/treasure_chest_closed.png` },
|
|
18873
|
+
{ id: "f2", x: 3, y: 1, type: "crystal", sprite: `${CDN2}/world-map/resonance_crystal.png` }
|
|
18874
|
+
];
|
|
18875
|
+
DEFAULT_CASTLE_MANIFEST = {
|
|
18876
|
+
baseUrl: CDN2,
|
|
18877
|
+
terrains: {
|
|
18878
|
+
wall: "/isometric-blocks/PNG/Platformer tiles/platformerTile_05.png",
|
|
18879
|
+
floor: "/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png"
|
|
18880
|
+
},
|
|
18881
|
+
units: {
|
|
18882
|
+
worker: "/sprite-sheets/coordinator-sprite-sheet-se.png",
|
|
18883
|
+
guardian: "/sprite-sheets/forger-sprite-sheet-se.png"
|
|
18884
|
+
},
|
|
18885
|
+
features: {
|
|
18886
|
+
chest: "/world-map/treasure_chest_closed.png",
|
|
18887
|
+
crystal: "/world-map/resonance_crystal.png"
|
|
18888
|
+
}
|
|
18889
|
+
};
|
|
18780
18890
|
CastleTemplate.displayName = "CastleTemplate";
|
|
18781
18891
|
}
|
|
18782
18892
|
});
|
|
@@ -19555,7 +19665,7 @@ var init_ChartLegend = __esm({
|
|
|
19555
19665
|
}
|
|
19556
19666
|
});
|
|
19557
19667
|
function ChoiceButton({
|
|
19558
|
-
text,
|
|
19668
|
+
text = "Charge forward into the fray",
|
|
19559
19669
|
index,
|
|
19560
19670
|
disabled = false,
|
|
19561
19671
|
selected = false,
|
|
@@ -19944,7 +20054,7 @@ var init_CodeRunnerPanel = __esm({
|
|
|
19944
20054
|
}
|
|
19945
20055
|
});
|
|
19946
20056
|
function CombatLog({
|
|
19947
|
-
events: events2,
|
|
20057
|
+
events: events2 = DEFAULT_COMBAT_EVENTS,
|
|
19948
20058
|
maxVisible = 50,
|
|
19949
20059
|
autoScroll = true,
|
|
19950
20060
|
showTimestamps = false,
|
|
@@ -19995,7 +20105,7 @@ function CombatLog({
|
|
|
19995
20105
|
}) }) })
|
|
19996
20106
|
] });
|
|
19997
20107
|
}
|
|
19998
|
-
var eventIcons, eventColors, eventBadgeVariants;
|
|
20108
|
+
var eventIcons, eventColors, eventBadgeVariants, DEFAULT_COMBAT_EVENTS;
|
|
19999
20109
|
var init_CombatLog = __esm({
|
|
20000
20110
|
"components/game/molecules/CombatLog.tsx"() {
|
|
20001
20111
|
init_atoms2();
|
|
@@ -20027,6 +20137,13 @@ var init_CombatLog = __esm({
|
|
|
20027
20137
|
death: "secondary",
|
|
20028
20138
|
spawn: "secondary"
|
|
20029
20139
|
};
|
|
20140
|
+
DEFAULT_COMBAT_EVENTS = [
|
|
20141
|
+
{ id: "e1", type: "spawn", message: "Shadow Guard entered the field.", timestamp: 0, turn: 1 },
|
|
20142
|
+
{ id: "e2", type: "move", message: "Hero moved to (3, 4).", timestamp: 1, actorName: "Hero", turn: 1 },
|
|
20143
|
+
{ id: "e3", type: "attack", message: "Hero attacked Shadow Guard.", timestamp: 2, actorName: "Hero", targetName: "Shadow Guard", value: 18, turn: 2 },
|
|
20144
|
+
{ id: "e4", type: "defend", message: "Shadow Guard blocked 5 damage.", timestamp: 3, actorName: "Shadow Guard", value: 5, turn: 2 },
|
|
20145
|
+
{ id: "e5", type: "heal", message: "Hero used Health Potion.", timestamp: 4, actorName: "Hero", value: 25, turn: 3 }
|
|
20146
|
+
];
|
|
20030
20147
|
CombatLog.displayName = "CombatLog";
|
|
20031
20148
|
}
|
|
20032
20149
|
});
|
|
@@ -20042,7 +20159,7 @@ function getComboScale(combo) {
|
|
|
20042
20159
|
return "";
|
|
20043
20160
|
}
|
|
20044
20161
|
function ComboCounter({
|
|
20045
|
-
combo,
|
|
20162
|
+
combo = 5,
|
|
20046
20163
|
multiplier,
|
|
20047
20164
|
streak,
|
|
20048
20165
|
size = "md",
|
|
@@ -20487,10 +20604,11 @@ var init_CounterTemplate = __esm({
|
|
|
20487
20604
|
}
|
|
20488
20605
|
});
|
|
20489
20606
|
function ItemSlot({
|
|
20490
|
-
|
|
20491
|
-
|
|
20607
|
+
assetUrl = DEFAULT_ASSET_URL,
|
|
20608
|
+
icon = "sword",
|
|
20609
|
+
label = "Iron Sword",
|
|
20492
20610
|
quantity,
|
|
20493
|
-
rarity = "
|
|
20611
|
+
rarity = "uncommon",
|
|
20494
20612
|
empty,
|
|
20495
20613
|
size = "md",
|
|
20496
20614
|
selected,
|
|
@@ -20498,6 +20616,7 @@ function ItemSlot({
|
|
|
20498
20616
|
className
|
|
20499
20617
|
}) {
|
|
20500
20618
|
const isClickable = onClick != null;
|
|
20619
|
+
const px = assetSizeMap[size];
|
|
20501
20620
|
return /* @__PURE__ */ jsx(
|
|
20502
20621
|
"button",
|
|
20503
20622
|
{
|
|
@@ -20518,7 +20637,17 @@ function ItemSlot({
|
|
|
20518
20637
|
className
|
|
20519
20638
|
),
|
|
20520
20639
|
children: empty ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-base", children: "+" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
20521
|
-
|
|
20640
|
+
assetUrl ? /* @__PURE__ */ jsx(
|
|
20641
|
+
"img",
|
|
20642
|
+
{
|
|
20643
|
+
src: assetUrl,
|
|
20644
|
+
alt: label,
|
|
20645
|
+
width: px,
|
|
20646
|
+
height: px,
|
|
20647
|
+
style: { imageRendering: "pixelated", objectFit: "contain" },
|
|
20648
|
+
className: "flex-shrink-0"
|
|
20649
|
+
}
|
|
20650
|
+
) : icon ? /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: typeof icon === "string" ? /* @__PURE__ */ jsx(Icon, { name: icon }) : /* @__PURE__ */ jsx(Icon, { icon }) }) : null,
|
|
20522
20651
|
quantity != null && quantity > 1 && /* @__PURE__ */ jsx(
|
|
20523
20652
|
"span",
|
|
20524
20653
|
{
|
|
@@ -20534,7 +20663,7 @@ function ItemSlot({
|
|
|
20534
20663
|
}
|
|
20535
20664
|
);
|
|
20536
20665
|
}
|
|
20537
|
-
var sizeMap5, rarityBorderMap, rarityGlowMap;
|
|
20666
|
+
var sizeMap5, rarityBorderMap, rarityGlowMap, DEFAULT_ASSET_URL, assetSizeMap;
|
|
20538
20667
|
var init_ItemSlot = __esm({
|
|
20539
20668
|
"components/game/atoms/ItemSlot.tsx"() {
|
|
20540
20669
|
"use client";
|
|
@@ -20559,6 +20688,12 @@ var init_ItemSlot = __esm({
|
|
|
20559
20688
|
epic: "shadow-lg",
|
|
20560
20689
|
legendary: "shadow-lg"
|
|
20561
20690
|
};
|
|
20691
|
+
DEFAULT_ASSET_URL = "https://almadar-kflow-assets.web.app/shared/isometric-dungeon/Isometric/chestClosed_E.png";
|
|
20692
|
+
assetSizeMap = {
|
|
20693
|
+
sm: 28,
|
|
20694
|
+
md: 40,
|
|
20695
|
+
lg: 56
|
|
20696
|
+
};
|
|
20562
20697
|
ItemSlot.displayName = "ItemSlot";
|
|
20563
20698
|
}
|
|
20564
20699
|
});
|
|
@@ -20567,9 +20702,9 @@ function isValidRarity(value) {
|
|
|
20567
20702
|
return rarityValues.includes(value);
|
|
20568
20703
|
}
|
|
20569
20704
|
function CraftingRecipe({
|
|
20570
|
-
inputs,
|
|
20571
|
-
output,
|
|
20572
|
-
canCraft =
|
|
20705
|
+
inputs = DEFAULT_INPUTS,
|
|
20706
|
+
output = DEFAULT_OUTPUT,
|
|
20707
|
+
canCraft = true,
|
|
20573
20708
|
onCraft,
|
|
20574
20709
|
craftEvent,
|
|
20575
20710
|
className
|
|
@@ -20630,7 +20765,7 @@ function CraftingRecipe({
|
|
|
20630
20765
|
}
|
|
20631
20766
|
);
|
|
20632
20767
|
}
|
|
20633
|
-
var rarityValues;
|
|
20768
|
+
var rarityValues, DEFAULT_INPUTS, DEFAULT_OUTPUT;
|
|
20634
20769
|
var init_CraftingRecipe = __esm({
|
|
20635
20770
|
"components/game/molecules/CraftingRecipe.tsx"() {
|
|
20636
20771
|
"use client";
|
|
@@ -20642,6 +20777,15 @@ var init_CraftingRecipe = __esm({
|
|
|
20642
20777
|
init_Stack();
|
|
20643
20778
|
init_Icon();
|
|
20644
20779
|
rarityValues = ["common", "uncommon", "rare", "epic", "legendary"];
|
|
20780
|
+
DEFAULT_INPUTS = [
|
|
20781
|
+
{ icon: "gem", label: "Iron Ore", required: 2, available: 3 },
|
|
20782
|
+
{ icon: "flame", label: "Coal", required: 1, available: 1 }
|
|
20783
|
+
];
|
|
20784
|
+
DEFAULT_OUTPUT = {
|
|
20785
|
+
icon: "sword",
|
|
20786
|
+
label: "Iron Sword",
|
|
20787
|
+
rarity: "uncommon"
|
|
20788
|
+
};
|
|
20645
20789
|
CraftingRecipe.displayName = "CraftingRecipe";
|
|
20646
20790
|
}
|
|
20647
20791
|
});
|
|
@@ -20723,7 +20867,7 @@ var init_DPad = __esm({
|
|
|
20723
20867
|
}
|
|
20724
20868
|
});
|
|
20725
20869
|
function DamageNumber({
|
|
20726
|
-
value,
|
|
20870
|
+
value = 42,
|
|
20727
20871
|
type = "damage",
|
|
20728
20872
|
size = "md",
|
|
20729
20873
|
className
|
|
@@ -26800,8 +26944,8 @@ var init_ProgressDots = __esm({
|
|
|
26800
26944
|
}
|
|
26801
26945
|
});
|
|
26802
26946
|
function HealthBar({
|
|
26803
|
-
current,
|
|
26804
|
-
max,
|
|
26947
|
+
current = 3,
|
|
26948
|
+
max = 5,
|
|
26805
26949
|
format = "hearts",
|
|
26806
26950
|
size = "md",
|
|
26807
26951
|
className,
|
|
@@ -27021,10 +27165,10 @@ var init_StatBadge = __esm({
|
|
|
27021
27165
|
}
|
|
27022
27166
|
});
|
|
27023
27167
|
function InventoryGrid({
|
|
27024
|
-
items,
|
|
27168
|
+
items = DEFAULT_GRID_ITEMS,
|
|
27025
27169
|
columns = 4,
|
|
27026
|
-
totalSlots,
|
|
27027
|
-
selectedId,
|
|
27170
|
+
totalSlots = 12,
|
|
27171
|
+
selectedId = "",
|
|
27028
27172
|
onSelect,
|
|
27029
27173
|
selectEvent,
|
|
27030
27174
|
size = "md",
|
|
@@ -27073,7 +27217,7 @@ function InventoryGrid({
|
|
|
27073
27217
|
}
|
|
27074
27218
|
);
|
|
27075
27219
|
}
|
|
27076
|
-
var columnMap;
|
|
27220
|
+
var columnMap, DEFAULT_GRID_ITEMS;
|
|
27077
27221
|
var init_InventoryGrid = __esm({
|
|
27078
27222
|
"components/game/molecules/InventoryGrid.tsx"() {
|
|
27079
27223
|
"use client";
|
|
@@ -27090,13 +27234,19 @@ var init_InventoryGrid = __esm({
|
|
|
27090
27234
|
7: "grid-cols-7",
|
|
27091
27235
|
8: "grid-cols-8"
|
|
27092
27236
|
};
|
|
27237
|
+
DEFAULT_GRID_ITEMS = [
|
|
27238
|
+
{ id: "grid-1", icon: "sword", label: "Iron Sword", quantity: 1, rarity: "common" },
|
|
27239
|
+
{ id: "grid-2", icon: "flask-conical", label: "Health Potion", quantity: 3, rarity: "uncommon" },
|
|
27240
|
+
{ id: "grid-3", icon: "shield", label: "Wooden Shield", quantity: 1, rarity: "common" },
|
|
27241
|
+
{ id: "grid-4", icon: "gem", label: "Ruby Gem", quantity: 2, rarity: "rare" }
|
|
27242
|
+
];
|
|
27093
27243
|
InventoryGrid.displayName = "InventoryGrid";
|
|
27094
27244
|
}
|
|
27095
27245
|
});
|
|
27096
27246
|
function WaypointMarker({
|
|
27097
27247
|
label,
|
|
27098
27248
|
icon,
|
|
27099
|
-
active =
|
|
27249
|
+
active = true,
|
|
27100
27250
|
completed = false,
|
|
27101
27251
|
size = "md",
|
|
27102
27252
|
className
|
|
@@ -27164,8 +27314,8 @@ var init_WaypointMarker = __esm({
|
|
|
27164
27314
|
}
|
|
27165
27315
|
});
|
|
27166
27316
|
function QuestTracker({
|
|
27167
|
-
quests,
|
|
27168
|
-
activeQuestId,
|
|
27317
|
+
quests = DEFAULT_QUESTS,
|
|
27318
|
+
activeQuestId = "q2",
|
|
27169
27319
|
className
|
|
27170
27320
|
}) {
|
|
27171
27321
|
return /* @__PURE__ */ jsx(VStack, { gap: "sm", className, children: quests.map((quest) => {
|
|
@@ -27231,6 +27381,7 @@ function QuestTracker({
|
|
|
27231
27381
|
);
|
|
27232
27382
|
}) });
|
|
27233
27383
|
}
|
|
27384
|
+
var DEFAULT_QUESTS;
|
|
27234
27385
|
var init_QuestTracker = __esm({
|
|
27235
27386
|
"components/game/molecules/QuestTracker.tsx"() {
|
|
27236
27387
|
"use client";
|
|
@@ -27240,6 +27391,11 @@ var init_QuestTracker = __esm({
|
|
|
27240
27391
|
init_Typography();
|
|
27241
27392
|
init_Box();
|
|
27242
27393
|
init_Stack();
|
|
27394
|
+
DEFAULT_QUESTS = [
|
|
27395
|
+
{ id: "q1", title: "Reach the Ancient Ruins", progress: 1, maxProgress: 1, completed: true },
|
|
27396
|
+
{ id: "q2", title: "Defeat the Shadow Guard", progress: 2, maxProgress: 5, active: true },
|
|
27397
|
+
{ id: "q3", title: "Collect 3 Crystal Shards", progress: 0, maxProgress: 3, active: false }
|
|
27398
|
+
];
|
|
27243
27399
|
QuestTracker.displayName = "QuestTracker";
|
|
27244
27400
|
}
|
|
27245
27401
|
});
|
|
@@ -27252,7 +27408,7 @@ function formatTime(seconds) {
|
|
|
27252
27408
|
return `${seconds}s`;
|
|
27253
27409
|
}
|
|
27254
27410
|
function PowerupSlots({
|
|
27255
|
-
active,
|
|
27411
|
+
active = DEFAULT_ACTIVE_POWERUPS,
|
|
27256
27412
|
maxSlots = 4,
|
|
27257
27413
|
className
|
|
27258
27414
|
}) {
|
|
@@ -27297,6 +27453,7 @@ function PowerupSlots({
|
|
|
27297
27453
|
))
|
|
27298
27454
|
] });
|
|
27299
27455
|
}
|
|
27456
|
+
var DEFAULT_ACTIVE_POWERUPS;
|
|
27300
27457
|
var init_PowerupSlots = __esm({
|
|
27301
27458
|
"components/game/molecules/PowerupSlots.tsx"() {
|
|
27302
27459
|
"use client";
|
|
@@ -27305,6 +27462,10 @@ var init_PowerupSlots = __esm({
|
|
|
27305
27462
|
init_Box();
|
|
27306
27463
|
init_Stack();
|
|
27307
27464
|
init_Typography();
|
|
27465
|
+
DEFAULT_ACTIVE_POWERUPS = [
|
|
27466
|
+
{ id: "pw1", icon: "zap", label: "Speed Boost", remainingTime: 12 },
|
|
27467
|
+
{ id: "pw2", icon: "shield", label: "Iron Shield", remainingTime: 30 }
|
|
27468
|
+
];
|
|
27308
27469
|
PowerupSlots.displayName = "PowerupSlots";
|
|
27309
27470
|
}
|
|
27310
27471
|
});
|
|
@@ -27316,7 +27477,7 @@ function GameCanvas2D({
|
|
|
27316
27477
|
tickEvent,
|
|
27317
27478
|
drawEvent,
|
|
27318
27479
|
fps = 60,
|
|
27319
|
-
backgroundImage = "
|
|
27480
|
+
backgroundImage = "",
|
|
27320
27481
|
assetBaseUrl = "https://almadar-kflow-assets.web.app/shared/",
|
|
27321
27482
|
className
|
|
27322
27483
|
}) {
|
|
@@ -27420,10 +27581,10 @@ var init_GameCanvas2D = __esm({
|
|
|
27420
27581
|
}
|
|
27421
27582
|
});
|
|
27422
27583
|
function HealthPanel({
|
|
27423
|
-
current,
|
|
27424
|
-
max,
|
|
27425
|
-
shield,
|
|
27426
|
-
label,
|
|
27584
|
+
current = 75,
|
|
27585
|
+
max = 100,
|
|
27586
|
+
shield = 20,
|
|
27587
|
+
label = "Player HP",
|
|
27427
27588
|
effects,
|
|
27428
27589
|
showNumbers = true,
|
|
27429
27590
|
size = "md",
|
|
@@ -27541,11 +27702,11 @@ var init_HealthPanel = __esm({
|
|
|
27541
27702
|
}
|
|
27542
27703
|
});
|
|
27543
27704
|
function ScoreBoard({
|
|
27544
|
-
score: rawScore,
|
|
27545
|
-
highScore: rawHighScore,
|
|
27546
|
-
combo: rawCombo,
|
|
27547
|
-
multiplier: rawMultiplier,
|
|
27548
|
-
level: rawLevel,
|
|
27705
|
+
score: rawScore = 4200,
|
|
27706
|
+
highScore: rawHighScore = 8750,
|
|
27707
|
+
combo: rawCombo = 3,
|
|
27708
|
+
multiplier: rawMultiplier = 2,
|
|
27709
|
+
level: rawLevel = 4,
|
|
27549
27710
|
className
|
|
27550
27711
|
}) {
|
|
27551
27712
|
const score = rawScore ?? 0;
|
|
@@ -27618,7 +27779,7 @@ var init_ScoreBoard = __esm({
|
|
|
27618
27779
|
}
|
|
27619
27780
|
});
|
|
27620
27781
|
function ResourceBar({
|
|
27621
|
-
resources,
|
|
27782
|
+
resources = DEFAULT_RESOURCES,
|
|
27622
27783
|
size = "md",
|
|
27623
27784
|
className
|
|
27624
27785
|
}) {
|
|
@@ -27644,17 +27805,23 @@ function ResourceBar({
|
|
|
27644
27805
|
}
|
|
27645
27806
|
);
|
|
27646
27807
|
}
|
|
27808
|
+
var DEFAULT_RESOURCES;
|
|
27647
27809
|
var init_ResourceBar = __esm({
|
|
27648
27810
|
"components/game/molecules/ResourceBar.tsx"() {
|
|
27649
27811
|
"use client";
|
|
27650
27812
|
init_cn();
|
|
27651
27813
|
init_StatBadge();
|
|
27652
27814
|
init_Box();
|
|
27815
|
+
DEFAULT_RESOURCES = [
|
|
27816
|
+
{ icon: "coins", label: "Gold", value: 320 },
|
|
27817
|
+
{ icon: "zap", label: "Energy", value: 7, max: 10 },
|
|
27818
|
+
{ icon: "gem", label: "Crystals", value: 15 }
|
|
27819
|
+
];
|
|
27653
27820
|
ResourceBar.displayName = "ResourceBar";
|
|
27654
27821
|
}
|
|
27655
27822
|
});
|
|
27656
27823
|
function TurnIndicator({
|
|
27657
|
-
currentTurn,
|
|
27824
|
+
currentTurn = 1,
|
|
27658
27825
|
maxTurns,
|
|
27659
27826
|
activeTeam,
|
|
27660
27827
|
phase,
|
|
@@ -27706,11 +27873,11 @@ var init_TurnIndicator = __esm({
|
|
|
27706
27873
|
}
|
|
27707
27874
|
});
|
|
27708
27875
|
function TurnPanel({
|
|
27709
|
-
currentTurn,
|
|
27710
|
-
maxTurns,
|
|
27711
|
-
phase,
|
|
27712
|
-
activeTeam,
|
|
27713
|
-
actions,
|
|
27876
|
+
currentTurn = 3,
|
|
27877
|
+
maxTurns = 10,
|
|
27878
|
+
phase = "Attack",
|
|
27879
|
+
activeTeam = "Heroes",
|
|
27880
|
+
actions = DEFAULT_TURN_ACTIONS,
|
|
27714
27881
|
className
|
|
27715
27882
|
}) {
|
|
27716
27883
|
const eventBus = useEventBus();
|
|
@@ -27755,6 +27922,7 @@ function TurnPanel({
|
|
|
27755
27922
|
}
|
|
27756
27923
|
);
|
|
27757
27924
|
}
|
|
27925
|
+
var DEFAULT_TURN_ACTIONS;
|
|
27758
27926
|
var init_TurnPanel = __esm({
|
|
27759
27927
|
"components/game/molecules/TurnPanel.tsx"() {
|
|
27760
27928
|
"use client";
|
|
@@ -27763,15 +27931,19 @@ var init_TurnPanel = __esm({
|
|
|
27763
27931
|
init_Button();
|
|
27764
27932
|
init_Box();
|
|
27765
27933
|
init_useEventBus();
|
|
27934
|
+
DEFAULT_TURN_ACTIONS = [
|
|
27935
|
+
{ label: "End Turn", icon: "skip-forward", event: "END_TURN" },
|
|
27936
|
+
{ label: "Forfeit", icon: "flag", event: "FORFEIT", disabled: false }
|
|
27937
|
+
];
|
|
27766
27938
|
TurnPanel.displayName = "TurnPanel";
|
|
27767
27939
|
}
|
|
27768
27940
|
});
|
|
27769
27941
|
function EnemyPlate({
|
|
27770
|
-
name,
|
|
27771
|
-
health,
|
|
27772
|
-
maxHealth,
|
|
27773
|
-
level,
|
|
27774
|
-
effects,
|
|
27942
|
+
name = "Shadow Guard",
|
|
27943
|
+
health = 80,
|
|
27944
|
+
maxHealth = 100,
|
|
27945
|
+
level = 5,
|
|
27946
|
+
effects = DEFAULT_ENEMY_EFFECTS,
|
|
27775
27947
|
className
|
|
27776
27948
|
}) {
|
|
27777
27949
|
return /* @__PURE__ */ jsxs(
|
|
@@ -27837,7 +28009,7 @@ function EnemyPlate({
|
|
|
27837
28009
|
}
|
|
27838
28010
|
);
|
|
27839
28011
|
}
|
|
27840
|
-
var effectVariantMap2;
|
|
28012
|
+
var effectVariantMap2, DEFAULT_ENEMY_EFFECTS;
|
|
27841
28013
|
var init_EnemyPlate = __esm({
|
|
27842
28014
|
"components/game/molecules/EnemyPlate.tsx"() {
|
|
27843
28015
|
"use client";
|
|
@@ -27851,12 +28023,15 @@ var init_EnemyPlate = __esm({
|
|
|
27851
28023
|
debuff: "danger",
|
|
27852
28024
|
neutral: "neutral"
|
|
27853
28025
|
};
|
|
28026
|
+
DEFAULT_ENEMY_EFFECTS = [
|
|
28027
|
+
{ icon: "flame", label: "Burn", variant: "debuff" }
|
|
28028
|
+
];
|
|
27854
28029
|
EnemyPlate.displayName = "EnemyPlate";
|
|
27855
28030
|
}
|
|
27856
28031
|
});
|
|
27857
28032
|
function UnitCommandBar({
|
|
27858
|
-
commands,
|
|
27859
|
-
selectedUnitId,
|
|
28033
|
+
commands = DEFAULT_COMMANDS,
|
|
28034
|
+
selectedUnitId = "unit-1",
|
|
27860
28035
|
className
|
|
27861
28036
|
}) {
|
|
27862
28037
|
const eventBus = useEventBus();
|
|
@@ -27899,6 +28074,7 @@ function UnitCommandBar({
|
|
|
27899
28074
|
}
|
|
27900
28075
|
);
|
|
27901
28076
|
}
|
|
28077
|
+
var DEFAULT_COMMANDS;
|
|
27902
28078
|
var init_UnitCommandBar = __esm({
|
|
27903
28079
|
"components/game/molecules/UnitCommandBar.tsx"() {
|
|
27904
28080
|
"use client";
|
|
@@ -27907,6 +28083,12 @@ var init_UnitCommandBar = __esm({
|
|
|
27907
28083
|
init_Box();
|
|
27908
28084
|
init_Typography();
|
|
27909
28085
|
init_useEventBus();
|
|
28086
|
+
DEFAULT_COMMANDS = [
|
|
28087
|
+
{ label: "Move", icon: "move", event: "MOVE", hotkey: "M" },
|
|
28088
|
+
{ label: "Attack", icon: "sword", event: "ATTACK", hotkey: "A" },
|
|
28089
|
+
{ label: "Defend", icon: "shield", event: "DEFEND", hotkey: "D" },
|
|
28090
|
+
{ label: "Wait", icon: "clock", event: "WAIT", hotkey: "W" }
|
|
28091
|
+
];
|
|
27910
28092
|
UnitCommandBar.displayName = "UnitCommandBar";
|
|
27911
28093
|
}
|
|
27912
28094
|
});
|
|
@@ -27940,7 +28122,7 @@ function GameHud({
|
|
|
27940
28122
|
className,
|
|
27941
28123
|
transparent = true
|
|
27942
28124
|
}) {
|
|
27943
|
-
const rawStats = propStats ?? items ?? (elements && Array.isArray(elements) ? convertElementsToStats(elements) :
|
|
28125
|
+
const rawStats = propStats ?? items ?? (elements && Array.isArray(elements) ? convertElementsToStats(elements) : DEFAULT_HUD_STATS);
|
|
27944
28126
|
const stats = Array.isArray(rawStats) ? rawStats : [];
|
|
27945
28127
|
const position = propPosition ?? "corners";
|
|
27946
28128
|
if (position === "corners") {
|
|
@@ -27965,7 +28147,7 @@ function GameHud({
|
|
|
27965
28147
|
}
|
|
27966
28148
|
);
|
|
27967
28149
|
}
|
|
27968
|
-
var positionMap;
|
|
28150
|
+
var positionMap, DEFAULT_HUD_STATS;
|
|
27969
28151
|
var init_GameHud = __esm({
|
|
27970
28152
|
"components/game/molecules/GameHud.tsx"() {
|
|
27971
28153
|
init_cn();
|
|
@@ -27975,11 +28157,17 @@ var init_GameHud = __esm({
|
|
|
27975
28157
|
bottom: "bottom-0 left-0 right-0 flex justify-between items-end p-4",
|
|
27976
28158
|
corners: "inset-0 pointer-events-none"
|
|
27977
28159
|
};
|
|
28160
|
+
DEFAULT_HUD_STATS = [
|
|
28161
|
+
{ label: "HP", value: 75, max: 100, format: "bar", variant: "danger" },
|
|
28162
|
+
{ label: "MP", value: 40, max: 60, format: "bar", variant: "primary" },
|
|
28163
|
+
{ label: "Score", value: 4200, format: "number", variant: "warning" },
|
|
28164
|
+
{ label: "Level", value: 4, format: "number", variant: "default" }
|
|
28165
|
+
];
|
|
27978
28166
|
GameHud.displayName = "GameHud";
|
|
27979
28167
|
}
|
|
27980
28168
|
});
|
|
27981
28169
|
function DialogueBox({
|
|
27982
|
-
dialogue,
|
|
28170
|
+
dialogue = DEFAULT_DIALOGUE,
|
|
27983
28171
|
typewriterSpeed = 30,
|
|
27984
28172
|
position = "bottom",
|
|
27985
28173
|
onComplete,
|
|
@@ -28162,17 +28350,27 @@ function DialogueBox({
|
|
|
28162
28350
|
}
|
|
28163
28351
|
);
|
|
28164
28352
|
}
|
|
28353
|
+
var DEFAULT_DIALOGUE;
|
|
28165
28354
|
var init_DialogueBox = __esm({
|
|
28166
28355
|
"components/game/molecules/DialogueBox.tsx"() {
|
|
28167
28356
|
"use client";
|
|
28168
28357
|
init_cn();
|
|
28169
28358
|
init_useEventBus();
|
|
28359
|
+
DEFAULT_DIALOGUE = {
|
|
28360
|
+
speaker: "Village Elder",
|
|
28361
|
+
text: "The ancient ruins hold great power \u2014 and great danger. Choose your path wisely, traveler.",
|
|
28362
|
+
choices: [
|
|
28363
|
+
{ text: "I am ready. Lead the way.", action: "ACCEPT_QUEST" },
|
|
28364
|
+
{ text: "Tell me more about the ruins.", action: "ASK_LORE" },
|
|
28365
|
+
{ text: "Perhaps another time.", action: "DECLINE" }
|
|
28366
|
+
]
|
|
28367
|
+
};
|
|
28170
28368
|
}
|
|
28171
28369
|
});
|
|
28172
28370
|
function InventoryPanel({
|
|
28173
|
-
items,
|
|
28174
|
-
slots,
|
|
28175
|
-
columns,
|
|
28371
|
+
items = DEFAULT_INVENTORY_ITEMS,
|
|
28372
|
+
slots = 12,
|
|
28373
|
+
columns = 4,
|
|
28176
28374
|
selectedSlot,
|
|
28177
28375
|
onSelectSlot,
|
|
28178
28376
|
onUseItem,
|
|
@@ -28320,25 +28518,31 @@ function InventoryPanel({
|
|
|
28320
28518
|
)
|
|
28321
28519
|
] });
|
|
28322
28520
|
}
|
|
28521
|
+
var DEFAULT_INVENTORY_ITEMS;
|
|
28323
28522
|
var init_InventoryPanel = __esm({
|
|
28324
28523
|
"components/game/molecules/InventoryPanel.tsx"() {
|
|
28325
28524
|
"use client";
|
|
28326
28525
|
init_cn();
|
|
28327
28526
|
init_useEventBus();
|
|
28527
|
+
DEFAULT_INVENTORY_ITEMS = [
|
|
28528
|
+
{ id: "item-1", type: "weapon", name: "Iron Sword", quantity: 1, description: "A sturdy iron blade." },
|
|
28529
|
+
{ id: "item-2", type: "potion", name: "Health Potion", quantity: 3, description: "Restores 50 HP." },
|
|
28530
|
+
{ id: "item-3", type: "armor", name: "Leather Helm", quantity: 1, description: "Light head protection." }
|
|
28531
|
+
];
|
|
28328
28532
|
}
|
|
28329
28533
|
});
|
|
28330
28534
|
function GameMenu({
|
|
28331
|
-
title,
|
|
28535
|
+
title = "Epic Quest",
|
|
28332
28536
|
subtitle,
|
|
28333
28537
|
options,
|
|
28334
28538
|
menuItems,
|
|
28335
28539
|
onSelect,
|
|
28336
28540
|
eventBus: eventBusProp,
|
|
28337
28541
|
background,
|
|
28338
|
-
logo,
|
|
28542
|
+
logo = "",
|
|
28339
28543
|
className
|
|
28340
28544
|
}) {
|
|
28341
|
-
const resolvedOptions = options ?? menuItems ??
|
|
28545
|
+
const resolvedOptions = options ?? menuItems ?? DEFAULT_MENU_OPTIONS;
|
|
28342
28546
|
let eventBusFromHook = null;
|
|
28343
28547
|
try {
|
|
28344
28548
|
eventBusFromHook = useEventBus();
|
|
@@ -28419,7 +28623,7 @@ function GameMenu({
|
|
|
28419
28623
|
}
|
|
28420
28624
|
);
|
|
28421
28625
|
}
|
|
28422
|
-
var variantMap3;
|
|
28626
|
+
var variantMap3, DEFAULT_MENU_OPTIONS;
|
|
28423
28627
|
var init_GameMenu = __esm({
|
|
28424
28628
|
"components/game/molecules/GameMenu.tsx"() {
|
|
28425
28629
|
"use client";
|
|
@@ -28430,6 +28634,11 @@ var init_GameMenu = __esm({
|
|
|
28430
28634
|
secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
|
|
28431
28635
|
ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
|
|
28432
28636
|
};
|
|
28637
|
+
DEFAULT_MENU_OPTIONS = [
|
|
28638
|
+
{ label: "New Game", event: "NEW_GAME", variant: "primary" },
|
|
28639
|
+
{ label: "Continue", event: "CONTINUE", variant: "secondary" },
|
|
28640
|
+
{ label: "Settings", event: "SETTINGS", variant: "ghost" }
|
|
28641
|
+
];
|
|
28433
28642
|
GameMenu.displayName = "GameMenu";
|
|
28434
28643
|
}
|
|
28435
28644
|
});
|
|
@@ -28440,19 +28649,19 @@ function formatTime2(ms) {
|
|
|
28440
28649
|
return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
|
|
28441
28650
|
}
|
|
28442
28651
|
function GameOverScreen({
|
|
28443
|
-
title,
|
|
28652
|
+
title = "Game Over",
|
|
28444
28653
|
message,
|
|
28445
|
-
stats =
|
|
28654
|
+
stats = DEFAULT_GAME_OVER_STATS,
|
|
28446
28655
|
actions,
|
|
28447
28656
|
menuItems,
|
|
28448
28657
|
onAction,
|
|
28449
28658
|
eventBus: eventBusProp,
|
|
28450
|
-
variant = "
|
|
28451
|
-
highScore,
|
|
28452
|
-
currentScore,
|
|
28659
|
+
variant = "defeat",
|
|
28660
|
+
highScore = 2e3,
|
|
28661
|
+
currentScore = 1240,
|
|
28453
28662
|
className
|
|
28454
28663
|
}) {
|
|
28455
|
-
const resolvedActions = actions ?? menuItems ??
|
|
28664
|
+
const resolvedActions = actions ?? menuItems ?? DEFAULT_GAME_OVER_ACTIONS;
|
|
28456
28665
|
let eventBusFromHook = null;
|
|
28457
28666
|
try {
|
|
28458
28667
|
eventBusFromHook = useEventBus();
|
|
@@ -28539,7 +28748,7 @@ function GameOverScreen({
|
|
|
28539
28748
|
}
|
|
28540
28749
|
);
|
|
28541
28750
|
}
|
|
28542
|
-
var variantColors, buttonVariants;
|
|
28751
|
+
var variantColors, buttonVariants, DEFAULT_GAME_OVER_ACTIONS, DEFAULT_GAME_OVER_STATS;
|
|
28543
28752
|
var init_GameOverScreen = __esm({
|
|
28544
28753
|
"components/game/molecules/GameOverScreen.tsx"() {
|
|
28545
28754
|
"use client";
|
|
@@ -28568,21 +28777,35 @@ var init_GameOverScreen = __esm({
|
|
|
28568
28777
|
secondary: "bg-[var(--color-surface,#374151)] hover:bg-muted text-[var(--color-foreground)] border-muted",
|
|
28569
28778
|
ghost: "bg-transparent hover:bg-foreground/10 text-[var(--color-foreground)] border-foreground/20"
|
|
28570
28779
|
};
|
|
28780
|
+
DEFAULT_GAME_OVER_ACTIONS = [
|
|
28781
|
+
{ label: "Play Again", event: "RESTART", variant: "primary" },
|
|
28782
|
+
{ label: "Main Menu", event: "MAIN_MENU", variant: "secondary" }
|
|
28783
|
+
];
|
|
28784
|
+
DEFAULT_GAME_OVER_STATS = [
|
|
28785
|
+
{ label: "Score", value: 1240 },
|
|
28786
|
+
{ label: "Enemies Defeated", value: 8 },
|
|
28787
|
+
{ label: "Time", value: 93e3, format: "time" }
|
|
28788
|
+
];
|
|
28571
28789
|
GameOverScreen.displayName = "GameOverScreen";
|
|
28572
28790
|
}
|
|
28573
28791
|
});
|
|
28574
28792
|
function PlatformerCanvas({
|
|
28575
28793
|
player,
|
|
28576
|
-
platforms = [
|
|
28794
|
+
platforms = [
|
|
28795
|
+
{ x: 0, y: 368, width: 800, height: 32, type: "ground" },
|
|
28796
|
+
{ x: 150, y: 280, width: 160, height: 16, type: "platform" },
|
|
28797
|
+
{ x: 420, y: 220, width: 160, height: 16, type: "platform" },
|
|
28798
|
+
{ x: 620, y: 300, width: 140, height: 16, type: "platform" }
|
|
28799
|
+
],
|
|
28577
28800
|
worldWidth = 800,
|
|
28578
28801
|
worldHeight = 400,
|
|
28579
28802
|
canvasWidth = 800,
|
|
28580
28803
|
canvasHeight = 400,
|
|
28581
28804
|
followCamera = true,
|
|
28582
|
-
bgColor,
|
|
28805
|
+
bgColor = "#5c94fc",
|
|
28583
28806
|
playerSprite = "https://almadar-kflow-assets.web.app/shared/platformer/characters/platformChar_idle.png",
|
|
28584
28807
|
tileSprites,
|
|
28585
|
-
backgroundImage = "
|
|
28808
|
+
backgroundImage = "",
|
|
28586
28809
|
assetBaseUrl = "https://almadar-kflow-assets.web.app/shared/platformer/",
|
|
28587
28810
|
leftEvent = "MOVE_LEFT",
|
|
28588
28811
|
rightEvent = "MOVE_RIGHT",
|
|
@@ -28630,10 +28853,10 @@ function PlatformerCanvas({
|
|
|
28630
28853
|
};
|
|
28631
28854
|
}, []);
|
|
28632
28855
|
const resolvedPlayer = player ?? {
|
|
28633
|
-
x:
|
|
28634
|
-
y:
|
|
28635
|
-
width:
|
|
28636
|
-
height:
|
|
28856
|
+
x: 80,
|
|
28857
|
+
y: 336,
|
|
28858
|
+
width: 32,
|
|
28859
|
+
height: 48,
|
|
28637
28860
|
facingRight: true
|
|
28638
28861
|
};
|
|
28639
28862
|
const handleKeyDown = useCallback((e) => {
|
|
@@ -39343,8 +39566,8 @@ var init_DetailPanel = __esm({
|
|
|
39343
39566
|
}
|
|
39344
39567
|
});
|
|
39345
39568
|
function DialogueBubble({
|
|
39346
|
-
speaker,
|
|
39347
|
-
text,
|
|
39569
|
+
speaker = "Hero",
|
|
39570
|
+
text = "The dungeon awaits. Choose your path wisely.",
|
|
39348
39571
|
portrait = "https://almadar-kflow-assets.web.app/shared/characters/archetypes/04_hero.png",
|
|
39349
39572
|
position = "bottom",
|
|
39350
39573
|
className
|
|
@@ -39426,7 +39649,7 @@ var init_DrawerSlot = __esm({
|
|
|
39426
39649
|
}
|
|
39427
39650
|
});
|
|
39428
39651
|
function StateIndicator({
|
|
39429
|
-
state,
|
|
39652
|
+
state = "idle",
|
|
39430
39653
|
label,
|
|
39431
39654
|
size = "md",
|
|
39432
39655
|
animated = true,
|
|
@@ -42639,13 +42862,13 @@ var init_MediaGallery = __esm({
|
|
|
42639
42862
|
}
|
|
42640
42863
|
});
|
|
42641
42864
|
function MiniMap({
|
|
42642
|
-
tiles =
|
|
42643
|
-
units =
|
|
42865
|
+
tiles = DEFAULT_TILES,
|
|
42866
|
+
units = DEFAULT_UNITS,
|
|
42644
42867
|
width = 150,
|
|
42645
42868
|
height = 150,
|
|
42646
42869
|
mapWidth = 100,
|
|
42647
42870
|
mapHeight = 100,
|
|
42648
|
-
viewportRect,
|
|
42871
|
+
viewportRect = DEFAULT_VIEWPORT,
|
|
42649
42872
|
className
|
|
42650
42873
|
}) {
|
|
42651
42874
|
const canvasRef = React77.useRef(null);
|
|
@@ -42724,10 +42947,25 @@ function MiniMap({
|
|
|
42724
42947
|
}
|
|
42725
42948
|
);
|
|
42726
42949
|
}
|
|
42950
|
+
var DEFAULT_TILES, DEFAULT_UNITS, DEFAULT_VIEWPORT;
|
|
42727
42951
|
var init_MiniMap = __esm({
|
|
42728
42952
|
"components/game/atoms/MiniMap.tsx"() {
|
|
42729
42953
|
"use client";
|
|
42730
42954
|
init_cn();
|
|
42955
|
+
DEFAULT_TILES = [
|
|
42956
|
+
{ x: 10, y: 10, color: "#4ade80" },
|
|
42957
|
+
{ x: 20, y: 15, color: "#4ade80" },
|
|
42958
|
+
{ x: 30, y: 25, color: "#22c55e" },
|
|
42959
|
+
{ x: 50, y: 40, color: "#4ade80" },
|
|
42960
|
+
{ x: 60, y: 55, color: "#16a34a" },
|
|
42961
|
+
{ x: 40, y: 60, color: "#4ade80" },
|
|
42962
|
+
{ x: 70, y: 30, color: "#22c55e" },
|
|
42963
|
+
{ x: 80, y: 70, color: "#4ade80" }
|
|
42964
|
+
];
|
|
42965
|
+
DEFAULT_UNITS = [
|
|
42966
|
+
{ x: 30, y: 30, color: "#60a5fa", isPlayer: true }
|
|
42967
|
+
];
|
|
42968
|
+
DEFAULT_VIEWPORT = { x: 20, y: 20, w: 40, h: 40 };
|
|
42731
42969
|
MiniMap.displayName = "MiniMap";
|
|
42732
42970
|
}
|
|
42733
42971
|
});
|
|
@@ -43079,8 +43317,8 @@ var init_PricingPageTemplate = __esm({
|
|
|
43079
43317
|
});
|
|
43080
43318
|
function ResourceCounter({
|
|
43081
43319
|
icon,
|
|
43082
|
-
label,
|
|
43083
|
-
value,
|
|
43320
|
+
label = "Gold",
|
|
43321
|
+
value = 250,
|
|
43084
43322
|
max,
|
|
43085
43323
|
color,
|
|
43086
43324
|
size = "md",
|
|
@@ -46093,11 +46331,11 @@ var init_SplitPane = __esm({
|
|
|
46093
46331
|
});
|
|
46094
46332
|
function Sprite({
|
|
46095
46333
|
spritesheet = "https://almadar-kflow-assets.web.app/shared/isometric-blocks/Spritesheet/allTiles_sheet.png",
|
|
46096
|
-
frameWidth,
|
|
46097
|
-
frameHeight,
|
|
46098
|
-
frame,
|
|
46099
|
-
x,
|
|
46100
|
-
y,
|
|
46334
|
+
frameWidth = 64,
|
|
46335
|
+
frameHeight = 64,
|
|
46336
|
+
frame = 0,
|
|
46337
|
+
x = 0,
|
|
46338
|
+
y = 0,
|
|
46101
46339
|
scale = 1,
|
|
46102
46340
|
flipX = false,
|
|
46103
46341
|
flipY = false,
|
|
@@ -46998,11 +47236,11 @@ function formatDuration(seconds) {
|
|
|
46998
47236
|
return `${Math.round(seconds)}s`;
|
|
46999
47237
|
}
|
|
47000
47238
|
function StatusEffect({
|
|
47001
|
-
icon,
|
|
47002
|
-
label,
|
|
47003
|
-
duration,
|
|
47239
|
+
icon = "shield",
|
|
47240
|
+
label = "Shield",
|
|
47241
|
+
duration = 30,
|
|
47004
47242
|
stacks,
|
|
47005
|
-
variant = "
|
|
47243
|
+
variant = "buff",
|
|
47006
47244
|
size = "md",
|
|
47007
47245
|
className
|
|
47008
47246
|
}) {
|
|
@@ -47455,8 +47693,8 @@ function formatTime3(seconds, format) {
|
|
|
47455
47693
|
return `${mins.toString().padStart(2, "0")}:${padded}`;
|
|
47456
47694
|
}
|
|
47457
47695
|
function TimerDisplay({
|
|
47458
|
-
seconds,
|
|
47459
|
-
running,
|
|
47696
|
+
seconds = 90,
|
|
47697
|
+
running = true,
|
|
47460
47698
|
format = "mm:ss",
|
|
47461
47699
|
size = "md",
|
|
47462
47700
|
className,
|
|
@@ -48029,12 +48267,12 @@ function WorldMapTemplate({
|
|
|
48029
48267
|
entity,
|
|
48030
48268
|
scale = 0.4,
|
|
48031
48269
|
unitScale = 2.5,
|
|
48032
|
-
diamondTopY,
|
|
48270
|
+
diamondTopY = 374,
|
|
48033
48271
|
allowMoveAllHeroes = false,
|
|
48034
|
-
tiles,
|
|
48035
|
-
units,
|
|
48036
|
-
features,
|
|
48037
|
-
assetManifest,
|
|
48272
|
+
tiles = DEFAULT_WORLDMAP_TILES,
|
|
48273
|
+
units = DEFAULT_WORLDMAP_UNITS,
|
|
48274
|
+
features = DEFAULT_WORLDMAP_FEATURES,
|
|
48275
|
+
assetManifest = DEFAULT_WORLDMAP_MANIFEST,
|
|
48038
48276
|
className
|
|
48039
48277
|
}) {
|
|
48040
48278
|
return /* @__PURE__ */ jsx(
|
|
@@ -48057,17 +48295,71 @@ function WorldMapTemplate({
|
|
|
48057
48295
|
}
|
|
48058
48296
|
);
|
|
48059
48297
|
}
|
|
48298
|
+
var CDN3, DEFAULT_WORLDMAP_TILES, DEFAULT_WORLDMAP_UNITS, DEFAULT_WORLDMAP_FEATURES, DEFAULT_WORLDMAP_MANIFEST;
|
|
48060
48299
|
var init_WorldMapTemplate = __esm({
|
|
48061
48300
|
"components/game/templates/WorldMapTemplate.tsx"() {
|
|
48062
48301
|
init_WorldMapBoard();
|
|
48302
|
+
CDN3 = "https://almadar-kflow-assets.web.app/shared";
|
|
48303
|
+
DEFAULT_WORLDMAP_TILES = [
|
|
48304
|
+
{ x: 0, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48305
|
+
{ x: 1, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48306
|
+
{ x: 2, y: 0, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48307
|
+
{ x: 3, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48308
|
+
{ x: 4, y: 0, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48309
|
+
{ x: 0, y: 1, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48310
|
+
{ x: 1, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48311
|
+
{ x: 2, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48312
|
+
{ x: 3, y: 1, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48313
|
+
{ x: 4, y: 1, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48314
|
+
{ x: 0, y: 2, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48315
|
+
{ x: 1, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48316
|
+
{ x: 2, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_03.png` },
|
|
48317
|
+
{ x: 3, y: 2, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48318
|
+
{ x: 4, y: 2, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48319
|
+
{ x: 0, y: 3, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48320
|
+
{ x: 1, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48321
|
+
{ x: 2, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48322
|
+
{ x: 3, y: 3, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_03.png` },
|
|
48323
|
+
{ x: 4, y: 3, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48324
|
+
{ x: 0, y: 4, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48325
|
+
{ x: 1, y: 4, terrain: "water", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png` },
|
|
48326
|
+
{ x: 2, y: 4, terrain: "grass", passable: true, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png` },
|
|
48327
|
+
{ x: 3, y: 4, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` },
|
|
48328
|
+
{ x: 4, y: 4, terrain: "mountain", passable: false, terrainSprite: `${CDN3}/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png` }
|
|
48329
|
+
];
|
|
48330
|
+
DEFAULT_WORLDMAP_UNITS = [
|
|
48331
|
+
{ 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` },
|
|
48332
|
+
{ 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` }
|
|
48333
|
+
];
|
|
48334
|
+
DEFAULT_WORLDMAP_FEATURES = [
|
|
48335
|
+
{ id: "f1", x: 2, y: 2, type: "capital", sprite: `${CDN3}/scenes/world/capital.png` },
|
|
48336
|
+
{ id: "f2", x: 4, y: 2, type: "power_node", sprite: `${CDN3}/world-map/power_node.png` }
|
|
48337
|
+
];
|
|
48338
|
+
DEFAULT_WORLDMAP_MANIFEST = {
|
|
48339
|
+
baseUrl: CDN3,
|
|
48340
|
+
terrains: {
|
|
48341
|
+
grass: "/isometric-blocks/PNG/Platformer tiles/platformerTile_01.png",
|
|
48342
|
+
water: "/isometric-blocks/PNG/Platformer tiles/platformerTile_11.png",
|
|
48343
|
+
mountain: "/isometric-blocks/PNG/Platformer tiles/platformerTile_13.png",
|
|
48344
|
+
road: "/isometric-blocks/PNG/Platformer tiles/platformerTile_03.png"
|
|
48345
|
+
},
|
|
48346
|
+
units: {
|
|
48347
|
+
hero: "/sprite-sheets/amir-sprite-sheet-se.png",
|
|
48348
|
+
scout: "/sprite-sheets/archivist-sprite-sheet-se.png"
|
|
48349
|
+
},
|
|
48350
|
+
features: {
|
|
48351
|
+
capital: "/scenes/world/capital.png",
|
|
48352
|
+
power_node: "/world-map/power_node.png"
|
|
48353
|
+
}
|
|
48354
|
+
};
|
|
48063
48355
|
WorldMapTemplate.displayName = "WorldMapTemplate";
|
|
48064
48356
|
}
|
|
48065
48357
|
});
|
|
48066
48358
|
function XPBar({
|
|
48067
|
-
current,
|
|
48068
|
-
max,
|
|
48069
|
-
level,
|
|
48070
|
-
showLabel =
|
|
48359
|
+
current = 350,
|
|
48360
|
+
max = 1e3,
|
|
48361
|
+
level = 5,
|
|
48362
|
+
showLabel = true,
|
|
48071
48363
|
size = "md",
|
|
48072
48364
|
animated = true,
|
|
48073
48365
|
className
|