@almadar/std 16.108.0 → 16.109.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.
Files changed (90) hide show
  1. package/behaviors/registry/ui/game/2d/organisms/ui-battle-board.orb +213 -125
  2. package/behaviors/registry/ui/game/2d/organisms/ui-fishing-board.orb +2302 -705
  3. package/behaviors/registry/ui/game/2d/organisms/ui-minigolf-board.orb +7872 -1934
  4. package/behaviors/registry/ui/game/2d/organisms/ui-pinball-board.orb +2739 -3050
  5. package/behaviors/registry/ui/game/2d/organisms/ui-roguelike-board.orb +5204 -2967
  6. package/behaviors/registry/ui/game/2d/organisms/ui-sokoban-board.orb +3330 -1619
  7. package/behaviors/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +4637 -4059
  8. package/behaviors/registry/ui/game/2d/organisms/ui-tanks-board.orb +76 -103
  9. package/behaviors/registry/ui/game/2d/organisms/ui-topdown-dungeon-board.orb +4579 -4356
  10. package/behaviors/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +1164 -2247
  11. package/behaviors/registry/ui/game/2d/organisms/ui-winter-ski-board.orb +4573 -4553
  12. package/behaviors/registry/ui/game/3d/organisms/ui-arcade-board-3d.orb +379 -2
  13. package/behaviors/registry/ui/game/3d/organisms/ui-brick-sandbox-board-3d.orb +168 -1
  14. package/behaviors/registry/ui/game/3d/organisms/ui-city-board-3d.orb +801 -169
  15. package/behaviors/registry/ui/game/3d/organisms/ui-fantasy-town-board-3d.orb +1666 -702
  16. package/behaviors/registry/ui/game/3d/organisms/ui-game-board-3d.orb +1323 -514
  17. package/behaviors/registry/ui/game/3d/organisms/ui-graveyard-board-3d.orb +1186 -384
  18. package/behaviors/registry/ui/game/3d/organisms/ui-hex-strategy-board-3d.orb +342 -170
  19. package/behaviors/registry/ui/game/3d/organisms/ui-holiday-board-3d.orb +509 -3
  20. package/behaviors/registry/ui/game/3d/organisms/ui-market-board-3d.orb +632 -419
  21. package/behaviors/registry/ui/game/3d/organisms/ui-minigolf-board-3d.orb +503 -145
  22. package/behaviors/registry/ui/game/3d/organisms/ui-nature-survival-board-3d.orb +1157 -134
  23. package/behaviors/registry/ui/game/3d/organisms/ui-pirate-board-3d.orb +1203 -383
  24. package/behaviors/registry/ui/game/3d/organisms/ui-platformer-board-3d.orb +1157 -205
  25. package/behaviors/registry/ui/game/3d/organisms/ui-racing-board-3d.orb +656 -565
  26. package/behaviors/registry/ui/game/3d/organisms/ui-skatepark-board-3d.orb +1205 -137
  27. package/behaviors/registry/ui/game/3d/organisms/ui-space-board-3d.orb +1333 -513
  28. package/behaviors/registry/ui/game/3d/organisms/ui-tower-defense-board-3d.orb +332 -7
  29. package/behaviors/registry/ui/game/3d/organisms/ui-toy-track-board-3d.orb +1202 -287
  30. package/dist/behaviors/behaviors-registry.json +282 -273
  31. package/dist/behaviors/registry/ui/game/2d/organisms/ui-battle-board.orb +213 -125
  32. package/dist/behaviors/registry/ui/game/2d/organisms/ui-fishing-board.orb +2302 -705
  33. package/dist/behaviors/registry/ui/game/2d/organisms/ui-minigolf-board.orb +7872 -1934
  34. package/dist/behaviors/registry/ui/game/2d/organisms/ui-pinball-board.orb +2739 -3050
  35. package/dist/behaviors/registry/ui/game/2d/organisms/ui-roguelike-board.orb +5204 -2967
  36. package/dist/behaviors/registry/ui/game/2d/organisms/ui-sokoban-board.orb +3330 -1619
  37. package/dist/behaviors/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +4637 -4059
  38. package/dist/behaviors/registry/ui/game/2d/organisms/ui-tanks-board.orb +76 -103
  39. package/dist/behaviors/registry/ui/game/2d/organisms/ui-topdown-dungeon-board.orb +4579 -4356
  40. package/dist/behaviors/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +1164 -2247
  41. package/dist/behaviors/registry/ui/game/2d/organisms/ui-winter-ski-board.orb +4573 -4553
  42. package/dist/behaviors/registry/ui/game/3d/organisms/ui-arcade-board-3d.orb +379 -2
  43. package/dist/behaviors/registry/ui/game/3d/organisms/ui-brick-sandbox-board-3d.orb +168 -1
  44. package/dist/behaviors/registry/ui/game/3d/organisms/ui-city-board-3d.orb +801 -169
  45. package/dist/behaviors/registry/ui/game/3d/organisms/ui-fantasy-town-board-3d.orb +1666 -702
  46. package/dist/behaviors/registry/ui/game/3d/organisms/ui-game-board-3d.orb +1323 -514
  47. package/dist/behaviors/registry/ui/game/3d/organisms/ui-graveyard-board-3d.orb +1186 -384
  48. package/dist/behaviors/registry/ui/game/3d/organisms/ui-hex-strategy-board-3d.orb +342 -170
  49. package/dist/behaviors/registry/ui/game/3d/organisms/ui-holiday-board-3d.orb +509 -3
  50. package/dist/behaviors/registry/ui/game/3d/organisms/ui-market-board-3d.orb +632 -419
  51. package/dist/behaviors/registry/ui/game/3d/organisms/ui-minigolf-board-3d.orb +503 -145
  52. package/dist/behaviors/registry/ui/game/3d/organisms/ui-nature-survival-board-3d.orb +1157 -134
  53. package/dist/behaviors/registry/ui/game/3d/organisms/ui-pirate-board-3d.orb +1203 -383
  54. package/dist/behaviors/registry/ui/game/3d/organisms/ui-platformer-board-3d.orb +1157 -205
  55. package/dist/behaviors/registry/ui/game/3d/organisms/ui-racing-board-3d.orb +656 -565
  56. package/dist/behaviors/registry/ui/game/3d/organisms/ui-skatepark-board-3d.orb +1205 -137
  57. package/dist/behaviors/registry/ui/game/3d/organisms/ui-space-board-3d.orb +1333 -513
  58. package/dist/behaviors/registry/ui/game/3d/organisms/ui-tower-defense-board-3d.orb +332 -7
  59. package/dist/behaviors/registry/ui/game/3d/organisms/ui-toy-track-board-3d.orb +1202 -287
  60. package/dist/behaviors-registry.json +282 -273
  61. package/dist/registry/ui/game/2d/organisms/ui-battle-board.orb +213 -125
  62. package/dist/registry/ui/game/2d/organisms/ui-fishing-board.orb +2302 -705
  63. package/dist/registry/ui/game/2d/organisms/ui-minigolf-board.orb +7872 -1934
  64. package/dist/registry/ui/game/2d/organisms/ui-pinball-board.orb +2739 -3050
  65. package/dist/registry/ui/game/2d/organisms/ui-roguelike-board.orb +5204 -2967
  66. package/dist/registry/ui/game/2d/organisms/ui-sokoban-board.orb +3330 -1619
  67. package/dist/registry/ui/game/2d/organisms/ui-space-shmup-board.orb +4637 -4059
  68. package/dist/registry/ui/game/2d/organisms/ui-tanks-board.orb +76 -103
  69. package/dist/registry/ui/game/2d/organisms/ui-topdown-dungeon-board.orb +4579 -4356
  70. package/dist/registry/ui/game/2d/organisms/ui-uncontrolled-battle-board.orb +1164 -2247
  71. package/dist/registry/ui/game/2d/organisms/ui-winter-ski-board.orb +4573 -4553
  72. package/dist/registry/ui/game/3d/organisms/ui-arcade-board-3d.orb +379 -2
  73. package/dist/registry/ui/game/3d/organisms/ui-brick-sandbox-board-3d.orb +168 -1
  74. package/dist/registry/ui/game/3d/organisms/ui-city-board-3d.orb +801 -169
  75. package/dist/registry/ui/game/3d/organisms/ui-fantasy-town-board-3d.orb +1666 -702
  76. package/dist/registry/ui/game/3d/organisms/ui-game-board-3d.orb +1323 -514
  77. package/dist/registry/ui/game/3d/organisms/ui-graveyard-board-3d.orb +1186 -384
  78. package/dist/registry/ui/game/3d/organisms/ui-hex-strategy-board-3d.orb +342 -170
  79. package/dist/registry/ui/game/3d/organisms/ui-holiday-board-3d.orb +509 -3
  80. package/dist/registry/ui/game/3d/organisms/ui-market-board-3d.orb +632 -419
  81. package/dist/registry/ui/game/3d/organisms/ui-minigolf-board-3d.orb +503 -145
  82. package/dist/registry/ui/game/3d/organisms/ui-nature-survival-board-3d.orb +1157 -134
  83. package/dist/registry/ui/game/3d/organisms/ui-pirate-board-3d.orb +1203 -383
  84. package/dist/registry/ui/game/3d/organisms/ui-platformer-board-3d.orb +1157 -205
  85. package/dist/registry/ui/game/3d/organisms/ui-racing-board-3d.orb +656 -565
  86. package/dist/registry/ui/game/3d/organisms/ui-skatepark-board-3d.orb +1205 -137
  87. package/dist/registry/ui/game/3d/organisms/ui-space-board-3d.orb +1333 -513
  88. package/dist/registry/ui/game/3d/organisms/ui-tower-defense-board-3d.orb +332 -7
  89. package/dist/registry/ui/game/3d/organisms/ui-toy-track-board-3d.orb +1202 -287
  90. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "UncontrolledBattleBoard — game-shell composition with LOLO-driven sprite animation and combat effects; self-resolving auto-battle.",
2
+ "description": "UncontrolledBattleBoard — autonomous auto-battler: units seek and fight to the last side standing while the player spectates.",
3
3
  "name": "ui-uncontrolled-battle-board",
4
4
  "orbitals": [
5
5
  {
@@ -64,6 +64,11 @@
64
64
  "required": false,
65
65
  "type": "string"
66
66
  },
67
+ "atlas": {
68
+ "name": "atlas",
69
+ "required": false,
70
+ "type": "string"
71
+ },
67
72
  "category": {
68
73
  "name": "category",
69
74
  "required": false,
@@ -84,6 +89,11 @@
84
89
  "required": false,
85
90
  "type": "string"
86
91
  },
92
+ "sprite": {
93
+ "name": "sprite",
94
+ "required": false,
95
+ "type": "string"
96
+ },
87
97
  "style": {
88
98
  "name": "style",
89
99
  "required": false,
@@ -259,28 +269,32 @@
259
269
  "animations": [
260
270
  "static"
261
271
  ],
262
- "aspect": "8:1",
272
+ "aspect": "1:1",
273
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-explosion-pack/effects/spritesheet_regularExplosion.json",
263
274
  "category": "explosion",
264
275
  "dimension": "2d",
265
276
  "name": "explosion",
266
277
  "role": "effect",
278
+ "sprite": "regularExplosion04.png",
267
279
  "style": "",
268
280
  "thumbnailUrl": "",
269
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/effects/pixelExplosion07.png",
281
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-explosion-pack/effects/spritesheet_regularExplosion.png",
270
282
  "variant": ""
271
283
  },
272
284
  "slash": {
273
285
  "animations": [
274
286
  "static"
275
287
  ],
276
- "aspect": "8:1",
288
+ "aspect": "1:1",
289
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-explosion-pack/effects/spritesheet_particles.json",
277
290
  "category": "slash",
278
291
  "dimension": "2d",
279
292
  "name": "slash",
280
293
  "role": "effect",
294
+ "sprite": "burst.png",
281
295
  "style": "",
282
296
  "thumbnailUrl": "",
283
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/effects/slash_03.png",
297
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-explosion-pack/effects/spritesheet_particles.png",
284
298
  "variant": ""
285
299
  }
286
300
  },
@@ -290,13 +304,15 @@
290
304
  "static"
291
305
  ],
292
306
  "aspect": "1:1",
307
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.json",
293
308
  "category": "barrels",
294
309
  "dimension": "2d",
295
310
  "name": "barrels",
296
311
  "role": "decoration",
312
+ "sprite": "box.png",
297
313
  "style": "",
298
314
  "thumbnailUrl": "",
299
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/features/barrels.png",
315
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.png",
300
316
  "variant": ""
301
317
  },
302
318
  "chest": {
@@ -304,13 +320,15 @@
304
320
  "static"
305
321
  ],
306
322
  "aspect": "1:1",
323
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.json",
307
324
  "category": "chest",
308
325
  "dimension": "2d",
309
326
  "name": "chest",
310
327
  "role": "decoration",
328
+ "sprite": "box_treasure.png",
311
329
  "style": "",
312
330
  "thumbnailUrl": "",
313
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/features/chest.png",
331
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.png",
314
332
  "variant": ""
315
333
  }
316
334
  },
@@ -320,13 +338,15 @@
320
338
  "static"
321
339
  ],
322
340
  "aspect": "1:1",
341
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
323
342
  "category": "dirt",
324
343
  "dimension": "2d",
325
344
  "name": "dirt",
326
345
  "role": "tile",
346
+ "sprite": "landscapeTiles_073.png",
327
347
  "style": "",
328
348
  "thumbnailUrl": "",
329
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/dirt.png",
349
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
330
350
  "variant": ""
331
351
  },
332
352
  "grass": {
@@ -334,13 +354,15 @@
334
354
  "static"
335
355
  ],
336
356
  "aspect": "1:1",
357
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
337
358
  "category": "grass",
338
359
  "dimension": "2d",
339
360
  "name": "grass",
340
361
  "role": "tile",
362
+ "sprite": "landscapeTiles_075.png",
341
363
  "style": "",
342
364
  "thumbnailUrl": "",
343
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
365
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
344
366
  "variant": ""
345
367
  },
346
368
  "planks": {
@@ -348,13 +370,15 @@
348
370
  "static"
349
371
  ],
350
372
  "aspect": "1:1",
373
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
351
374
  "category": "planks",
352
375
  "dimension": "2d",
353
376
  "name": "planks",
354
377
  "role": "tile",
378
+ "sprite": "landscapeTiles_059.png",
355
379
  "style": "",
356
380
  "thumbnailUrl": "",
357
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
381
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
358
382
  "variant": ""
359
383
  },
360
384
  "stairs": {
@@ -362,13 +386,15 @@
362
386
  "static"
363
387
  ],
364
388
  "aspect": "1:1",
389
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
365
390
  "category": "stairs",
366
391
  "dimension": "2d",
367
392
  "name": "stairs",
368
393
  "role": "tile",
394
+ "sprite": "landscapeTiles_124.png",
369
395
  "style": "",
370
396
  "thumbnailUrl": "",
371
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stairs.png",
397
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
372
398
  "variant": ""
373
399
  },
374
400
  "stone": {
@@ -376,51 +402,49 @@
376
402
  "static"
377
403
  ],
378
404
  "aspect": "1:1",
405
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
379
406
  "category": "stone",
380
407
  "dimension": "2d",
381
408
  "name": "stone",
382
409
  "role": "tile",
410
+ "sprite": "landscapeTiles_081.png",
383
411
  "style": "",
384
412
  "thumbnailUrl": "",
385
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
413
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
386
414
  "variant": ""
387
415
  }
388
416
  },
389
417
  "units": {
390
418
  "mender": {
391
419
  "animations": [
392
- "idle",
393
- "walk",
394
- "attack",
395
- "hit",
396
- "death"
420
+ "static"
397
421
  ],
398
422
  "aspect": "1:1",
423
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
399
424
  "category": "mender",
400
425
  "dimension": "2d",
401
426
  "name": "mender",
402
427
  "role": "npc",
428
+ "sprite": "blue_body_square.png",
403
429
  "style": "",
404
430
  "thumbnailUrl": "",
405
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/units/mender.png",
431
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
406
432
  "variant": ""
407
433
  },
408
434
  "shadow": {
409
435
  "animations": [
410
- "idle",
411
- "walk",
412
- "attack",
413
- "hit",
414
- "death"
436
+ "static"
415
437
  ],
416
438
  "aspect": "1:1",
439
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
417
440
  "category": "shadow",
418
441
  "dimension": "2d",
419
442
  "name": "shadow",
420
443
  "role": "npc",
444
+ "sprite": "purple_body_rhombus.png",
421
445
  "style": "",
422
446
  "thumbnailUrl": "",
423
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/units/shadow.png",
447
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
424
448
  "variant": ""
425
449
  }
426
450
  }
@@ -444,6 +468,11 @@
444
468
  "required": false,
445
469
  "type": "string"
446
470
  },
471
+ "atlas": {
472
+ "name": "atlas",
473
+ "required": false,
474
+ "type": "string"
475
+ },
447
476
  "category": {
448
477
  "name": "category",
449
478
  "required": false,
@@ -464,6 +493,11 @@
464
493
  "required": false,
465
494
  "type": "string"
466
495
  },
496
+ "sprite": {
497
+ "name": "sprite",
498
+ "required": false,
499
+ "type": "string"
500
+ },
467
501
  "style": {
468
502
  "name": "style",
469
503
  "required": false,
@@ -507,6 +541,11 @@
507
541
  "required": false,
508
542
  "type": "string"
509
543
  },
544
+ "atlas": {
545
+ "name": "atlas",
546
+ "required": false,
547
+ "type": "string"
548
+ },
510
549
  "category": {
511
550
  "name": "category",
512
551
  "required": false,
@@ -527,6 +566,11 @@
527
566
  "required": false,
528
567
  "type": "string"
529
568
  },
569
+ "sprite": {
570
+ "name": "sprite",
571
+ "required": false,
572
+ "type": "string"
573
+ },
530
574
  "style": {
531
575
  "name": "style",
532
576
  "required": false,
@@ -570,6 +614,11 @@
570
614
  "required": false,
571
615
  "type": "string"
572
616
  },
617
+ "atlas": {
618
+ "name": "atlas",
619
+ "required": false,
620
+ "type": "string"
621
+ },
573
622
  "category": {
574
623
  "name": "category",
575
624
  "required": false,
@@ -590,6 +639,11 @@
590
639
  "required": false,
591
640
  "type": "string"
592
641
  },
642
+ "sprite": {
643
+ "name": "sprite",
644
+ "required": false,
645
+ "type": "string"
646
+ },
593
647
  "style": {
594
648
  "name": "style",
595
649
  "required": false,
@@ -633,6 +687,11 @@
633
687
  "required": false,
634
688
  "type": "string"
635
689
  },
690
+ "atlas": {
691
+ "name": "atlas",
692
+ "required": false,
693
+ "type": "string"
694
+ },
636
695
  "category": {
637
696
  "name": "category",
638
697
  "required": false,
@@ -653,6 +712,11 @@
653
712
  "required": false,
654
713
  "type": "string"
655
714
  },
715
+ "sprite": {
716
+ "name": "sprite",
717
+ "required": false,
718
+ "type": "string"
719
+ },
656
720
  "style": {
657
721
  "name": "style",
658
722
  "required": false,
@@ -699,13 +763,15 @@
699
763
  "static"
700
764
  ],
701
765
  "aspect": "1:1",
766
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.json",
702
767
  "category": "barrels",
703
- "dimension": "3d",
768
+ "dimension": "2d",
704
769
  "name": "barrels",
705
770
  "role": "decoration",
771
+ "sprite": "box.png",
706
772
  "style": "",
707
773
  "thumbnailUrl": "",
708
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/features/barrels.png",
774
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.png",
709
775
  "variant": ""
710
776
  },
711
777
  "id": "f1",
@@ -719,13 +785,15 @@
719
785
  "static"
720
786
  ],
721
787
  "aspect": "1:1",
788
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.json",
722
789
  "category": "chest",
723
- "dimension": "3d",
790
+ "dimension": "2d",
724
791
  "name": "chest",
725
792
  "role": "decoration",
793
+ "sprite": "box_treasure.png",
726
794
  "style": "",
727
795
  "thumbnailUrl": "",
728
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/features/chest.png",
796
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-block-pack/terrain/RPGblocks_spritesheet.png",
729
797
  "variant": ""
730
798
  },
731
799
  "id": "f2",
@@ -753,6 +821,11 @@
753
821
  "required": false,
754
822
  "type": "string"
755
823
  },
824
+ "atlas": {
825
+ "name": "atlas",
826
+ "required": false,
827
+ "type": "string"
828
+ },
756
829
  "category": {
757
830
  "name": "category",
758
831
  "required": false,
@@ -773,6 +846,11 @@
773
846
  "required": false,
774
847
  "type": "string"
775
848
  },
849
+ "sprite": {
850
+ "name": "sprite",
851
+ "required": false,
852
+ "type": "string"
853
+ },
776
854
  "style": {
777
855
  "name": "style",
778
856
  "required": false,
@@ -828,6 +906,11 @@
828
906
  "required": false,
829
907
  "type": "string"
830
908
  },
909
+ "atlas": {
910
+ "name": "atlas",
911
+ "required": false,
912
+ "type": "string"
913
+ },
831
914
  "category": {
832
915
  "name": "category",
833
916
  "required": false,
@@ -848,6 +931,11 @@
848
931
  "required": false,
849
932
  "type": "string"
850
933
  },
934
+ "sprite": {
935
+ "name": "sprite",
936
+ "required": false,
937
+ "type": "string"
938
+ },
851
939
  "style": {
852
940
  "name": "style",
853
941
  "required": false,
@@ -914,13 +1002,15 @@
914
1002
  "static"
915
1003
  ],
916
1004
  "aspect": "1:1",
1005
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
917
1006
  "category": "mender",
918
- "dimension": "3d",
1007
+ "dimension": "2d",
919
1008
  "name": "mender",
920
- "role": "decoration",
1009
+ "role": "npc",
1010
+ "sprite": "blue_body_square.png",
921
1011
  "style": "",
922
1012
  "thumbnailUrl": "",
923
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/units/mender.png",
1013
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
924
1014
  "variant": ""
925
1015
  },
926
1016
  "name": "Mender",
@@ -944,18 +1034,20 @@
944
1034
  "static"
945
1035
  ],
946
1036
  "aspect": "1:1",
1037
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
947
1038
  "category": "shadow",
948
- "dimension": "3d",
1039
+ "dimension": "2d",
949
1040
  "name": "shadow",
950
- "role": "decoration",
1041
+ "role": "npc",
1042
+ "sprite": "purple_body_rhombus.png",
951
1043
  "style": "",
952
1044
  "thumbnailUrl": "",
953
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/units/shadow.png",
1045
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
954
1046
  "variant": ""
955
1047
  },
956
1048
  "name": "Shadow Legion",
957
1049
  "position": {
958
- "x": 2.0,
1050
+ "x": 3.0,
959
1051
  "y": 2.0
960
1052
  },
961
1053
  "team": "enemy",
@@ -1016,6 +1108,11 @@
1016
1108
  "required": false,
1017
1109
  "type": "string"
1018
1110
  },
1111
+ "atlas": {
1112
+ "name": "atlas",
1113
+ "required": false,
1114
+ "type": "string"
1115
+ },
1019
1116
  "category": {
1020
1117
  "name": "category",
1021
1118
  "required": false,
@@ -1036,6 +1133,11 @@
1036
1133
  "required": false,
1037
1134
  "type": "string"
1038
1135
  },
1136
+ "sprite": {
1137
+ "name": "sprite",
1138
+ "required": false,
1139
+ "type": "string"
1140
+ },
1039
1141
  "style": {
1040
1142
  "name": "style",
1041
1143
  "required": false,
@@ -1105,7 +1207,7 @@
1105
1207
  "type": "[UncontrolledBattleBoardUnitsItem]"
1106
1208
  },
1107
1209
  "scale": {
1108
- "default": 0.25,
1210
+ "default": 0.6,
1109
1211
  "description": "Canvas render scale.",
1110
1212
  "label": "Scale",
1111
1213
  "tier": "presentation",
@@ -1121,13 +1223,15 @@
1121
1223
  "static"
1122
1224
  ],
1123
1225
  "aspect": "1:1",
1226
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1124
1227
  "category": "stone",
1125
1228
  "dimension": "2d",
1126
1229
  "name": "stone",
1127
1230
  "role": "tile",
1231
+ "sprite": "landscapeTiles_081.png",
1128
1232
  "style": "",
1129
1233
  "thumbnailUrl": "",
1130
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1234
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1131
1235
  "variant": ""
1132
1236
  },
1133
1237
  "x": 0.0,
@@ -1141,13 +1245,15 @@
1141
1245
  "static"
1142
1246
  ],
1143
1247
  "aspect": "1:1",
1248
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1144
1249
  "category": "planks",
1145
1250
  "dimension": "2d",
1146
1251
  "name": "planks",
1147
1252
  "role": "tile",
1253
+ "sprite": "landscapeTiles_059.png",
1148
1254
  "style": "",
1149
1255
  "thumbnailUrl": "",
1150
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
1256
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1151
1257
  "variant": ""
1152
1258
  },
1153
1259
  "x": 1.0,
@@ -1161,13 +1267,15 @@
1161
1267
  "static"
1162
1268
  ],
1163
1269
  "aspect": "1:1",
1270
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1164
1271
  "category": "stone",
1165
1272
  "dimension": "2d",
1166
1273
  "name": "stone",
1167
1274
  "role": "tile",
1275
+ "sprite": "landscapeTiles_081.png",
1168
1276
  "style": "",
1169
1277
  "thumbnailUrl": "",
1170
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1278
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1171
1279
  "variant": ""
1172
1280
  },
1173
1281
  "x": 2.0,
@@ -1181,13 +1289,15 @@
1181
1289
  "static"
1182
1290
  ],
1183
1291
  "aspect": "1:1",
1292
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1184
1293
  "category": "planks",
1185
1294
  "dimension": "2d",
1186
1295
  "name": "planks",
1187
1296
  "role": "tile",
1297
+ "sprite": "landscapeTiles_059.png",
1188
1298
  "style": "",
1189
1299
  "thumbnailUrl": "",
1190
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
1300
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1191
1301
  "variant": ""
1192
1302
  },
1193
1303
  "x": 3.0,
@@ -1201,13 +1311,15 @@
1201
1311
  "static"
1202
1312
  ],
1203
1313
  "aspect": "1:1",
1314
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1204
1315
  "category": "stone",
1205
1316
  "dimension": "2d",
1206
1317
  "name": "stone",
1207
1318
  "role": "tile",
1319
+ "sprite": "landscapeTiles_081.png",
1208
1320
  "style": "",
1209
1321
  "thumbnailUrl": "",
1210
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1322
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1211
1323
  "variant": ""
1212
1324
  },
1213
1325
  "x": 4.0,
@@ -1221,13 +1333,15 @@
1221
1333
  "static"
1222
1334
  ],
1223
1335
  "aspect": "1:1",
1336
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1224
1337
  "category": "dirt",
1225
1338
  "dimension": "2d",
1226
1339
  "name": "dirt",
1227
1340
  "role": "tile",
1341
+ "sprite": "landscapeTiles_073.png",
1228
1342
  "style": "",
1229
1343
  "thumbnailUrl": "",
1230
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/dirt.png",
1344
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1231
1345
  "variant": ""
1232
1346
  },
1233
1347
  "x": 0.0,
@@ -1241,13 +1355,15 @@
1241
1355
  "static"
1242
1356
  ],
1243
1357
  "aspect": "1:1",
1358
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1244
1359
  "category": "grass",
1245
1360
  "dimension": "2d",
1246
1361
  "name": "grass",
1247
1362
  "role": "tile",
1363
+ "sprite": "landscapeTiles_075.png",
1248
1364
  "style": "",
1249
1365
  "thumbnailUrl": "",
1250
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
1366
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1251
1367
  "variant": ""
1252
1368
  },
1253
1369
  "x": 1.0,
@@ -1261,13 +1377,15 @@
1261
1377
  "static"
1262
1378
  ],
1263
1379
  "aspect": "1:1",
1380
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1264
1381
  "category": "planks",
1265
1382
  "dimension": "2d",
1266
1383
  "name": "planks",
1267
1384
  "role": "tile",
1385
+ "sprite": "landscapeTiles_059.png",
1268
1386
  "style": "",
1269
1387
  "thumbnailUrl": "",
1270
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
1388
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1271
1389
  "variant": ""
1272
1390
  },
1273
1391
  "x": 2.0,
@@ -1281,13 +1399,15 @@
1281
1399
  "static"
1282
1400
  ],
1283
1401
  "aspect": "1:1",
1402
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1284
1403
  "category": "grass",
1285
1404
  "dimension": "2d",
1286
1405
  "name": "grass",
1287
1406
  "role": "tile",
1407
+ "sprite": "landscapeTiles_075.png",
1288
1408
  "style": "",
1289
1409
  "thumbnailUrl": "",
1290
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
1410
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1291
1411
  "variant": ""
1292
1412
  },
1293
1413
  "x": 3.0,
@@ -1301,13 +1421,15 @@
1301
1421
  "static"
1302
1422
  ],
1303
1423
  "aspect": "1:1",
1424
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1304
1425
  "category": "dirt",
1305
1426
  "dimension": "2d",
1306
1427
  "name": "dirt",
1307
1428
  "role": "tile",
1429
+ "sprite": "landscapeTiles_073.png",
1308
1430
  "style": "",
1309
1431
  "thumbnailUrl": "",
1310
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/dirt.png",
1432
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1311
1433
  "variant": ""
1312
1434
  },
1313
1435
  "x": 4.0,
@@ -1321,13 +1443,15 @@
1321
1443
  "static"
1322
1444
  ],
1323
1445
  "aspect": "1:1",
1446
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1324
1447
  "category": "stone",
1325
1448
  "dimension": "2d",
1326
1449
  "name": "stone",
1327
1450
  "role": "tile",
1451
+ "sprite": "landscapeTiles_081.png",
1328
1452
  "style": "",
1329
1453
  "thumbnailUrl": "",
1330
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1454
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1331
1455
  "variant": ""
1332
1456
  },
1333
1457
  "x": 0.0,
@@ -1341,13 +1465,15 @@
1341
1465
  "static"
1342
1466
  ],
1343
1467
  "aspect": "1:1",
1468
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1344
1469
  "category": "grass",
1345
1470
  "dimension": "2d",
1346
1471
  "name": "grass",
1347
1472
  "role": "tile",
1473
+ "sprite": "landscapeTiles_075.png",
1348
1474
  "style": "",
1349
1475
  "thumbnailUrl": "",
1350
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
1476
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1351
1477
  "variant": ""
1352
1478
  },
1353
1479
  "x": 1.0,
@@ -1361,13 +1487,15 @@
1361
1487
  "static"
1362
1488
  ],
1363
1489
  "aspect": "1:1",
1490
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1364
1491
  "category": "stairs",
1365
1492
  "dimension": "2d",
1366
1493
  "name": "stairs",
1367
1494
  "role": "tile",
1495
+ "sprite": "landscapeTiles_124.png",
1368
1496
  "style": "",
1369
1497
  "thumbnailUrl": "",
1370
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stairs.png",
1498
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1371
1499
  "variant": ""
1372
1500
  },
1373
1501
  "x": 2.0,
@@ -1381,13 +1509,15 @@
1381
1509
  "static"
1382
1510
  ],
1383
1511
  "aspect": "1:1",
1512
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1384
1513
  "category": "grass",
1385
1514
  "dimension": "2d",
1386
1515
  "name": "grass",
1387
1516
  "role": "tile",
1517
+ "sprite": "landscapeTiles_075.png",
1388
1518
  "style": "",
1389
1519
  "thumbnailUrl": "",
1390
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
1520
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1391
1521
  "variant": ""
1392
1522
  },
1393
1523
  "x": 3.0,
@@ -1401,13 +1531,15 @@
1401
1531
  "static"
1402
1532
  ],
1403
1533
  "aspect": "1:1",
1534
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1404
1535
  "category": "stone",
1405
1536
  "dimension": "2d",
1406
1537
  "name": "stone",
1407
1538
  "role": "tile",
1539
+ "sprite": "landscapeTiles_081.png",
1408
1540
  "style": "",
1409
1541
  "thumbnailUrl": "",
1410
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1542
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1411
1543
  "variant": ""
1412
1544
  },
1413
1545
  "x": 4.0,
@@ -1421,13 +1553,15 @@
1421
1553
  "static"
1422
1554
  ],
1423
1555
  "aspect": "1:1",
1556
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1424
1557
  "category": "dirt",
1425
1558
  "dimension": "2d",
1426
1559
  "name": "dirt",
1427
1560
  "role": "tile",
1561
+ "sprite": "landscapeTiles_073.png",
1428
1562
  "style": "",
1429
1563
  "thumbnailUrl": "",
1430
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/dirt.png",
1564
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1431
1565
  "variant": ""
1432
1566
  },
1433
1567
  "x": 0.0,
@@ -1441,13 +1575,15 @@
1441
1575
  "static"
1442
1576
  ],
1443
1577
  "aspect": "1:1",
1578
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1444
1579
  "category": "grass",
1445
1580
  "dimension": "2d",
1446
1581
  "name": "grass",
1447
1582
  "role": "tile",
1583
+ "sprite": "landscapeTiles_075.png",
1448
1584
  "style": "",
1449
1585
  "thumbnailUrl": "",
1450
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
1586
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1451
1587
  "variant": ""
1452
1588
  },
1453
1589
  "x": 1.0,
@@ -1461,13 +1597,15 @@
1461
1597
  "static"
1462
1598
  ],
1463
1599
  "aspect": "1:1",
1600
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1464
1601
  "category": "planks",
1465
1602
  "dimension": "2d",
1466
1603
  "name": "planks",
1467
1604
  "role": "tile",
1605
+ "sprite": "landscapeTiles_059.png",
1468
1606
  "style": "",
1469
1607
  "thumbnailUrl": "",
1470
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
1608
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1471
1609
  "variant": ""
1472
1610
  },
1473
1611
  "x": 2.0,
@@ -1481,13 +1619,15 @@
1481
1619
  "static"
1482
1620
  ],
1483
1621
  "aspect": "1:1",
1622
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1484
1623
  "category": "grass",
1485
1624
  "dimension": "2d",
1486
1625
  "name": "grass",
1487
1626
  "role": "tile",
1627
+ "sprite": "landscapeTiles_075.png",
1488
1628
  "style": "",
1489
1629
  "thumbnailUrl": "",
1490
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/grass.png",
1630
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1491
1631
  "variant": ""
1492
1632
  },
1493
1633
  "x": 3.0,
@@ -1501,13 +1641,15 @@
1501
1641
  "static"
1502
1642
  ],
1503
1643
  "aspect": "1:1",
1644
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1504
1645
  "category": "dirt",
1505
1646
  "dimension": "2d",
1506
1647
  "name": "dirt",
1507
1648
  "role": "tile",
1649
+ "sprite": "landscapeTiles_073.png",
1508
1650
  "style": "",
1509
1651
  "thumbnailUrl": "",
1510
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/dirt.png",
1652
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1511
1653
  "variant": ""
1512
1654
  },
1513
1655
  "x": 4.0,
@@ -1521,13 +1663,15 @@
1521
1663
  "static"
1522
1664
  ],
1523
1665
  "aspect": "1:1",
1666
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1524
1667
  "category": "stone",
1525
1668
  "dimension": "2d",
1526
1669
  "name": "stone",
1527
1670
  "role": "tile",
1671
+ "sprite": "landscapeTiles_081.png",
1528
1672
  "style": "",
1529
1673
  "thumbnailUrl": "",
1530
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1674
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1531
1675
  "variant": ""
1532
1676
  },
1533
1677
  "x": 0.0,
@@ -1541,13 +1685,15 @@
1541
1685
  "static"
1542
1686
  ],
1543
1687
  "aspect": "1:1",
1688
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1544
1689
  "category": "planks",
1545
1690
  "dimension": "2d",
1546
1691
  "name": "planks",
1547
1692
  "role": "tile",
1693
+ "sprite": "landscapeTiles_059.png",
1548
1694
  "style": "",
1549
1695
  "thumbnailUrl": "",
1550
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
1696
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1551
1697
  "variant": ""
1552
1698
  },
1553
1699
  "x": 1.0,
@@ -1561,13 +1707,15 @@
1561
1707
  "static"
1562
1708
  ],
1563
1709
  "aspect": "1:1",
1710
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1564
1711
  "category": "stone",
1565
1712
  "dimension": "2d",
1566
1713
  "name": "stone",
1567
1714
  "role": "tile",
1715
+ "sprite": "landscapeTiles_081.png",
1568
1716
  "style": "",
1569
1717
  "thumbnailUrl": "",
1570
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1718
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1571
1719
  "variant": ""
1572
1720
  },
1573
1721
  "x": 2.0,
@@ -1581,13 +1729,15 @@
1581
1729
  "static"
1582
1730
  ],
1583
1731
  "aspect": "1:1",
1732
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1584
1733
  "category": "planks",
1585
1734
  "dimension": "2d",
1586
1735
  "name": "planks",
1587
1736
  "role": "tile",
1737
+ "sprite": "landscapeTiles_059.png",
1588
1738
  "style": "",
1589
1739
  "thumbnailUrl": "",
1590
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/planks.png",
1740
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1591
1741
  "variant": ""
1592
1742
  },
1593
1743
  "x": 3.0,
@@ -1601,13 +1751,15 @@
1601
1751
  "static"
1602
1752
  ],
1603
1753
  "aspect": "1:1",
1754
+ "atlas": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.json",
1604
1755
  "category": "stone",
1605
1756
  "dimension": "2d",
1606
1757
  "name": "stone",
1607
1758
  "role": "tile",
1759
+ "sprite": "landscapeTiles_081.png",
1608
1760
  "style": "",
1609
1761
  "thumbnailUrl": "",
1610
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/terrain/stone.png",
1762
+ "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/kenney-isometric-tiles-base/terrain/landscapeTiles_sheet.png",
1611
1763
  "variant": ""
1612
1764
  },
1613
1765
  "x": 4.0,
@@ -1643,6 +1795,11 @@
1643
1795
  "required": false,
1644
1796
  "type": "string"
1645
1797
  },
1798
+ "atlas": {
1799
+ "name": "atlas",
1800
+ "required": false,
1801
+ "type": "string"
1802
+ },
1646
1803
  "category": {
1647
1804
  "name": "category",
1648
1805
  "required": false,
@@ -1663,6 +1820,11 @@
1663
1820
  "required": false,
1664
1821
  "type": "string"
1665
1822
  },
1823
+ "sprite": {
1824
+ "name": "sprite",
1825
+ "required": false,
1826
+ "type": "string"
1827
+ },
1666
1828
  "style": {
1667
1829
  "name": "style",
1668
1830
  "required": false,
@@ -1718,6 +1880,11 @@
1718
1880
  "required": false,
1719
1881
  "type": "string"
1720
1882
  },
1883
+ "atlas": {
1884
+ "name": "atlas",
1885
+ "required": false,
1886
+ "type": "string"
1887
+ },
1721
1888
  "category": {
1722
1889
  "name": "category",
1723
1890
  "required": false,
@@ -1738,6 +1905,11 @@
1738
1905
  "required": false,
1739
1906
  "type": "string"
1740
1907
  },
1908
+ "sprite": {
1909
+ "name": "sprite",
1910
+ "required": false,
1911
+ "type": "string"
1912
+ },
1741
1913
  "style": {
1742
1914
  "name": "style",
1743
1915
  "required": false,
@@ -1804,23 +1976,12 @@
1804
1976
  },
1805
1977
  "emits": [
1806
1978
  {
1807
- "description": "stepEvent prop emitted each battle round with attack result",
1808
- "event": "STEP",
1979
+ "description": "Emitted when one side is wiped out; drives the terminal transition",
1980
+ "event": "GAME_END",
1809
1981
  "payloadSchema": [
1810
1982
  {
1811
- "name": "attackerId",
1812
- "required": true,
1813
- "type": "string"
1814
- },
1815
- {
1816
- "name": "targetId",
1817
- "required": true,
1983
+ "name": "result",
1818
1984
  "type": "string"
1819
- },
1820
- {
1821
- "name": "damage",
1822
- "required": true,
1823
- "type": "number"
1824
1985
  }
1825
1986
  ],
1826
1987
  "scope": "external",
@@ -1889,45 +2050,30 @@
1889
2050
  "scope": "instance",
1890
2051
  "stateMachine": {
1891
2052
  "events": [
1892
- {
1893
- "key": "START",
1894
- "name": "Start"
1895
- },
1896
2053
  {
1897
2054
  "key": "INIT",
1898
2055
  "name": "Initialize"
1899
2056
  },
1900
2057
  {
1901
- "description": "playAgainEvent prop reset + restart the battle",
1902
- "key": "PLAY_AGAIN",
1903
- "name": "Play Again",
2058
+ "description": "Emitted when one side is wiped out; drives the terminal transition",
2059
+ "key": "GAME_END",
2060
+ "name": "Game End",
1904
2061
  "payloadSchema": [
1905
2062
  {
1906
- "name": "id",
2063
+ "name": "result",
1907
2064
  "type": "string"
1908
2065
  }
1909
2066
  ],
1910
2067
  "tier": "domain"
1911
2068
  },
1912
2069
  {
1913
- "description": "stepEvent prop — emitted each battle round with attack result",
1914
- "key": "STEP",
1915
- "name": "Step",
2070
+ "description": "playAgainEvent prop — reset + restart the battle",
2071
+ "key": "PLAY_AGAIN",
2072
+ "name": "Play Again",
1916
2073
  "payloadSchema": [
1917
2074
  {
1918
- "name": "attackerId",
1919
- "required": true,
1920
- "type": "string"
1921
- },
1922
- {
1923
- "name": "targetId",
1924
- "required": true,
2075
+ "name": "id",
1925
2076
  "type": "string"
1926
- },
1927
- {
1928
- "name": "damage",
1929
- "required": true,
1930
- "type": "number"
1931
2077
  }
1932
2078
  ],
1933
2079
  "tier": "domain"
@@ -1969,9 +2115,6 @@
1969
2115
  "isInitial": true,
1970
2116
  "name": "playing"
1971
2117
  },
1972
- {
1973
- "name": "menu"
1974
- },
1975
2118
  {
1976
2119
  "name": "complete"
1977
2120
  }
@@ -2026,13 +2169,15 @@
2026
2169
  "backgroundAsset": {
2027
2170
  "animations": [],
2028
2171
  "aspect": "1:1",
2172
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
2029
2173
  "category": "ui",
2030
2174
  "dimension": "2d",
2031
2175
  "name": "panel-frame",
2032
2176
  "role": "ui",
2177
+ "sprite": "panel_beige.png",
2033
2178
  "style": "adventure",
2034
2179
  "thumbnailUrl": "",
2035
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2180
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
2036
2181
  "variant": ""
2037
2182
  },
2038
2183
  "children": [
@@ -2052,240 +2197,172 @@
2052
2197
  "validMoves": "@entity.validMoves"
2053
2198
  }
2054
2199
  ],
2200
+ "fontFamily": "future",
2055
2201
  "hud": {
2056
- "children": [
2202
+ "stats": [
2057
2203
  {
2058
- "stats": [
2059
- {
2060
- "iconUrl": {
2061
- "animations": [],
2062
- "aspect": "1:1",
2063
- "category": "ui",
2064
- "dimension": "2d",
2065
- "name": "icon-coin",
2066
- "role": "ui",
2067
- "style": "adventure",
2068
- "thumbnailUrl": "",
2069
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
2070
- "variant": ""
2071
- },
2072
- "label": "Round",
2073
- "value": "@entity.turn"
2074
- },
2075
- {
2076
- "iconUrl": {
2077
- "animations": [],
2078
- "aspect": "1:1",
2079
- "category": "ui",
2080
- "dimension": "2d",
2081
- "name": "icon-health",
2082
- "role": "ui",
2083
- "style": "adventure",
2084
- "thumbnailUrl": "",
2085
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
2086
- "variant": ""
2087
- },
2088
- "label": "Allies",
2089
- "value": [
2090
- "array/len",
2204
+ "iconUrl": {
2205
+ "animations": [],
2206
+ "aspect": "1:1",
2207
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
2208
+ "category": "ui",
2209
+ "dimension": "2d",
2210
+ "name": "icon-round",
2211
+ "role": "ui",
2212
+ "sprite": "tile_coin.png",
2213
+ "style": "",
2214
+ "thumbnailUrl": "",
2215
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
2216
+ "variant": ""
2217
+ },
2218
+ "label": "Round",
2219
+ "value": "@entity.turn"
2220
+ },
2221
+ {
2222
+ "iconUrl": {
2223
+ "animations": [],
2224
+ "aspect": "1:1",
2225
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2226
+ "category": "ui",
2227
+ "dimension": "2d",
2228
+ "name": "icon-allies",
2229
+ "role": "ui",
2230
+ "sprite": "emote_heart.png",
2231
+ "style": "",
2232
+ "thumbnailUrl": "",
2233
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2234
+ "variant": ""
2235
+ },
2236
+ "label": "Allies",
2237
+ "value": [
2238
+ "array/len",
2239
+ [
2240
+ "array/filter",
2241
+ "@entity.units",
2242
+ [
2243
+ "fn",
2244
+ "u",
2091
2245
  [
2092
- "array/filter",
2093
- "@entity.units",
2246
+ "and",
2094
2247
  [
2095
- "fn",
2096
- "u",
2097
- [
2098
- "and",
2099
- [
2100
- "==",
2101
- [
2102
- "object/get",
2103
- "u",
2104
- "team"
2105
- ],
2106
- "player"
2107
- ],
2108
- [
2109
- ">",
2110
- [
2111
- "object/get",
2112
- "u",
2113
- "hp"
2114
- ],
2115
- 0.0
2116
- ]
2117
- ]
2118
- ]
2119
- ]
2120
- ]
2121
- },
2122
- {
2123
- "iconUrl": {
2124
- "animations": [],
2125
- "aspect": "1:1",
2126
- "category": "ui",
2127
- "dimension": "2d",
2128
- "name": "icon-star",
2129
- "role": "ui",
2130
- "style": "adventure",
2131
- "thumbnailUrl": "",
2132
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
2133
- "variant": ""
2134
- },
2135
- "label": "Enemies",
2136
- "value": [
2137
- "array/len",
2138
- [
2139
- "array/filter",
2140
- "@entity.units",
2248
+ "==",
2249
+ "@u.team",
2250
+ "player"
2251
+ ],
2141
2252
  [
2142
- "fn",
2143
- "u",
2144
- [
2145
- "and",
2146
- [
2147
- "==",
2148
- [
2149
- "object/get",
2150
- "u",
2151
- "team"
2152
- ],
2153
- "enemy"
2154
- ],
2155
- [
2156
- ">",
2157
- [
2158
- "object/get",
2159
- "u",
2160
- "hp"
2161
- ],
2162
- 0.0
2163
- ]
2164
- ]
2253
+ ">",
2254
+ "@u.hp",
2255
+ 0.0
2165
2256
  ]
2166
2257
  ]
2167
2258
  ]
2168
- }
2169
- ],
2170
- "type": "game-hud"
2259
+ ]
2260
+ ]
2171
2261
  },
2172
2262
  {
2173
- "label": "Player",
2174
- "src": [
2175
- "object/get",
2263
+ "iconUrl": {
2264
+ "animations": [],
2265
+ "aspect": "1:1",
2266
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2267
+ "category": "ui",
2268
+ "dimension": "2d",
2269
+ "name": "icon-enemies",
2270
+ "role": "ui",
2271
+ "sprite": "emote_anger.png",
2272
+ "style": "",
2273
+ "thumbnailUrl": "",
2274
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2275
+ "variant": ""
2276
+ },
2277
+ "label": "Enemies",
2278
+ "value": [
2279
+ "array/len",
2176
2280
  [
2177
- "array/first",
2281
+ "array/filter",
2282
+ "@entity.units",
2178
2283
  [
2179
- "array/filter",
2180
- "@entity.units",
2284
+ "fn",
2285
+ "u",
2181
2286
  [
2182
- "fn",
2183
- "u",
2287
+ "and",
2184
2288
  [
2185
2289
  "==",
2186
- [
2187
- "object/get",
2188
- "u",
2189
- "team"
2190
- ],
2191
- "player"
2290
+ "@u.team",
2291
+ "enemy"
2292
+ ],
2293
+ [
2294
+ ">",
2295
+ "@u.hp",
2296
+ 0.0
2192
2297
  ]
2193
2298
  ]
2194
2299
  ]
2195
- ],
2196
- "modelUrl"
2197
- ],
2198
- "type": "sprite"
2199
- },
2200
- {
2201
- "type": "damage-number",
2202
- "value": 0.0,
2203
- "visible": false,
2204
- "x": 0.0,
2205
- "y": 0.0
2300
+ ]
2301
+ ]
2206
2302
  }
2207
2303
  ],
2208
- "direction": "horizontal",
2209
- "gap": "md",
2210
- "justify": "between",
2211
- "type": "stack"
2304
+ "type": "game-hud"
2212
2305
  },
2213
2306
  "hudBackgroundAsset": {
2214
2307
  "animations": [],
2215
2308
  "aspect": "1:1",
2309
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
2216
2310
  "category": "ui",
2217
2311
  "dimension": "2d",
2218
2312
  "name": "panel-frame",
2219
2313
  "role": "ui",
2314
+ "sprite": "panel_beige.png",
2220
2315
  "style": "adventure",
2221
2316
  "thumbnailUrl": "",
2222
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2317
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
2223
2318
  "variant": ""
2224
2319
  },
2225
2320
  "type": "game-shell"
2226
2321
  }
2227
2322
  ]
2228
2323
  ],
2229
- "event": "START",
2230
- "from": "menu",
2324
+ "event": "INIT",
2325
+ "from": "playing",
2231
2326
  "to": "playing"
2232
2327
  },
2233
2328
  {
2234
2329
  "effects": [
2235
- [
2236
- "set",
2237
- "@entity.units",
2238
- "@config.initialUnits"
2239
- ],
2240
- [
2241
- "set",
2242
- "@entity.turn",
2243
- 1.0
2244
- ],
2245
- [
2246
- "set",
2247
- "@entity.result",
2248
- "none"
2249
- ],
2250
- [
2251
- "set",
2252
- "@entity.title",
2253
- "@config.title"
2254
- ],
2255
- [
2256
- "set",
2257
- "@entity.description",
2258
- "@config.description"
2259
- ],
2260
- [
2261
- "set",
2262
- "@entity.effects",
2263
- []
2264
- ],
2265
- [
2266
- "set",
2267
- "@entity.selectedUnitId",
2268
- ""
2269
- ],
2270
- [
2271
- "set",
2272
- "@entity.validMoves",
2273
- []
2274
- ],
2275
2330
  [
2276
2331
  "render-ui",
2277
2332
  "main",
2278
2333
  {
2334
+ "addons": {
2335
+ "action": "PLAY_AGAIN",
2336
+ "iconAsset": {
2337
+ "animations": [],
2338
+ "aspect": "1:1",
2339
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2340
+ "category": "ui",
2341
+ "dimension": "2d",
2342
+ "name": "icon-restart",
2343
+ "role": "ui",
2344
+ "sprite": "emote_swirl.png",
2345
+ "style": "",
2346
+ "thumbnailUrl": "",
2347
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2348
+ "variant": ""
2349
+ },
2350
+ "label": "Play Again",
2351
+ "type": "button",
2352
+ "variant": "primary"
2353
+ },
2279
2354
  "backgroundAsset": {
2280
2355
  "animations": [],
2281
2356
  "aspect": "1:1",
2357
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
2282
2358
  "category": "ui",
2283
2359
  "dimension": "2d",
2284
2360
  "name": "panel-frame",
2285
2361
  "role": "ui",
2362
+ "sprite": "panel_beige.png",
2286
2363
  "style": "adventure",
2287
2364
  "thumbnailUrl": "",
2288
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2365
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
2289
2366
  "variant": ""
2290
2367
  },
2291
2368
  "children": [
@@ -2305,148 +2382,160 @@
2305
2382
  "validMoves": "@entity.validMoves"
2306
2383
  }
2307
2384
  ],
2385
+ "fontFamily": "future",
2308
2386
  "hud": {
2309
- "children": [
2387
+ "stats": [
2310
2388
  {
2311
- "stats": [
2312
- {
2313
- "iconUrl": {
2314
- "animations": [],
2315
- "aspect": "1:1",
2316
- "category": "ui",
2317
- "dimension": "2d",
2318
- "name": "icon-coin",
2319
- "role": "ui",
2320
- "style": "adventure",
2321
- "thumbnailUrl": "",
2322
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
2323
- "variant": ""
2324
- },
2325
- "label": "Round",
2326
- "value": "@entity.turn"
2327
- },
2328
- {
2329
- "iconUrl": {
2330
- "animations": [],
2331
- "aspect": "1:1",
2332
- "category": "ui",
2333
- "dimension": "2d",
2334
- "name": "icon-health",
2335
- "role": "ui",
2336
- "style": "adventure",
2337
- "thumbnailUrl": "",
2338
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
2339
- "variant": ""
2340
- },
2341
- "label": "Allies",
2342
- "value": [
2343
- "array/len",
2344
- [
2345
- "array/filter",
2346
- "@entity.units",
2347
- [
2348
- "fn",
2349
- "u",
2350
- [
2351
- "and",
2352
- [
2353
- "==",
2354
- [
2355
- "object/get",
2356
- "u",
2357
- "team"
2358
- ],
2359
- "player"
2360
- ],
2361
- [
2362
- ">",
2363
- [
2364
- "object/get",
2365
- "u",
2366
- "hp"
2367
- ],
2368
- 0.0
2369
- ]
2370
- ]
2389
+ "iconUrl": {
2390
+ "animations": [],
2391
+ "aspect": "1:1",
2392
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
2393
+ "category": "ui",
2394
+ "dimension": "2d",
2395
+ "name": "icon-round",
2396
+ "role": "ui",
2397
+ "sprite": "tile_coin.png",
2398
+ "style": "",
2399
+ "thumbnailUrl": "",
2400
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
2401
+ "variant": ""
2402
+ },
2403
+ "label": "Round",
2404
+ "value": "@entity.turn"
2405
+ },
2406
+ {
2407
+ "iconUrl": {
2408
+ "animations": [],
2409
+ "aspect": "1:1",
2410
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2411
+ "category": "ui",
2412
+ "dimension": "2d",
2413
+ "name": "icon-allies",
2414
+ "role": "ui",
2415
+ "sprite": "emote_heart.png",
2416
+ "style": "",
2417
+ "thumbnailUrl": "",
2418
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2419
+ "variant": ""
2420
+ },
2421
+ "label": "Allies",
2422
+ "value": [
2423
+ "array/len",
2424
+ [
2425
+ "array/filter",
2426
+ "@entity.units",
2427
+ [
2428
+ "fn",
2429
+ "u",
2430
+ [
2431
+ "and",
2432
+ [
2433
+ "==",
2434
+ "@u.team",
2435
+ "player"
2436
+ ],
2437
+ [
2438
+ ">",
2439
+ "@u.hp",
2440
+ 0.0
2371
2441
  ]
2372
2442
  ]
2373
2443
  ]
2374
- },
2375
- {
2376
- "iconUrl": {
2377
- "animations": [],
2378
- "aspect": "1:1",
2379
- "category": "ui",
2380
- "dimension": "2d",
2381
- "name": "icon-star",
2382
- "role": "ui",
2383
- "style": "adventure",
2384
- "thumbnailUrl": "",
2385
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
2386
- "variant": ""
2387
- },
2388
- "label": "Enemies",
2389
- "value": [
2390
- "array/len",
2444
+ ]
2445
+ ]
2446
+ },
2447
+ {
2448
+ "iconUrl": {
2449
+ "animations": [],
2450
+ "aspect": "1:1",
2451
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2452
+ "category": "ui",
2453
+ "dimension": "2d",
2454
+ "name": "icon-enemies",
2455
+ "role": "ui",
2456
+ "sprite": "emote_anger.png",
2457
+ "style": "",
2458
+ "thumbnailUrl": "",
2459
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2460
+ "variant": ""
2461
+ },
2462
+ "label": "Enemies",
2463
+ "value": [
2464
+ "array/len",
2465
+ [
2466
+ "array/filter",
2467
+ "@entity.units",
2468
+ [
2469
+ "fn",
2470
+ "u",
2391
2471
  [
2392
- "array/filter",
2393
- "@entity.units",
2472
+ "and",
2394
2473
  [
2395
- "fn",
2396
- "u",
2397
- [
2398
- "and",
2399
- [
2400
- "==",
2401
- [
2402
- "object/get",
2403
- "u",
2404
- "team"
2405
- ],
2406
- "enemy"
2407
- ],
2408
- [
2409
- ">",
2410
- [
2411
- "object/get",
2412
- "u",
2413
- "hp"
2414
- ],
2415
- 0.0
2416
- ]
2417
- ]
2474
+ "==",
2475
+ "@u.team",
2476
+ "enemy"
2477
+ ],
2478
+ [
2479
+ ">",
2480
+ "@u.hp",
2481
+ 0.0
2418
2482
  ]
2419
2483
  ]
2420
2484
  ]
2421
- }
2422
- ],
2423
- "type": "game-hud"
2485
+ ]
2486
+ ]
2424
2487
  }
2425
2488
  ],
2426
- "direction": "horizontal",
2427
- "gap": "md",
2428
- "justify": "between",
2429
- "type": "stack"
2489
+ "type": "game-hud"
2430
2490
  },
2431
2491
  "hudBackgroundAsset": {
2432
2492
  "animations": [],
2433
2493
  "aspect": "1:1",
2494
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
2434
2495
  "category": "ui",
2435
2496
  "dimension": "2d",
2436
2497
  "name": "panel-frame",
2437
2498
  "role": "ui",
2499
+ "sprite": "panel_beige.png",
2438
2500
  "style": "adventure",
2439
2501
  "thumbnailUrl": "",
2440
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2502
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
2441
2503
  "variant": ""
2442
2504
  },
2505
+ "overlay": {
2506
+ "options": [
2507
+ {
2508
+ "event": "PLAY_AGAIN",
2509
+ "id": "again",
2510
+ "label": "Play Again",
2511
+ "variant": "primary"
2512
+ }
2513
+ ],
2514
+ "subtitle": "Battle complete",
2515
+ "title": [
2516
+ "if",
2517
+ [
2518
+ "!=",
2519
+ "@entity.result",
2520
+ "victory"
2521
+ ],
2522
+ "DEFEAT",
2523
+ "VICTORY"
2524
+ ],
2525
+ "type": "game-menu"
2526
+ },
2443
2527
  "type": "game-shell"
2444
2528
  }
2445
2529
  ]
2446
2530
  ],
2447
- "event": "INIT",
2531
+ "event": "GAME_END",
2448
2532
  "from": "playing",
2449
- "to": "playing"
2533
+ "guard": [
2534
+ "!=",
2535
+ "@entity.result",
2536
+ "none"
2537
+ ],
2538
+ "to": "complete"
2450
2539
  },
2451
2540
  {
2452
2541
  "effects": [
@@ -2466,1184 +2555,28 @@
2466
2555
  "none"
2467
2556
  ],
2468
2557
  [
2469
- "set",
2470
- "@entity.effects",
2471
- []
2472
- ],
2473
- [
2474
- "set",
2475
- "@entity.selectedUnitId",
2476
- ""
2477
- ],
2478
- [
2479
- "set",
2480
- "@entity.validMoves",
2481
- []
2482
- ],
2483
- [
2484
- "render-ui",
2485
- "main",
2486
- {
2487
- "backgroundAsset": {
2488
- "animations": [],
2489
- "aspect": "1:1",
2490
- "category": "ui",
2491
- "dimension": "2d",
2492
- "name": "panel-frame",
2493
- "role": "ui",
2494
- "style": "adventure",
2495
- "thumbnailUrl": "",
2496
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2497
- "variant": ""
2498
- },
2499
- "children": [
2500
- {
2501
- "assetManifest": "@config.assetManifest",
2502
- "effects": "@entity.effects",
2503
- "features": "@config.features",
2504
- "projection": "isometric",
2505
- "scale": "@config.scale",
2506
- "selectedUnitId": "@entity.selectedUnitId",
2507
- "showMinimap": true,
2508
- "tileClickEvent": "TILE_CLICK",
2509
- "tiles": "@config.tiles",
2510
- "type": "canvas-2d",
2511
- "unitClickEvent": "UNIT_CLICK",
2512
- "units": "@entity.units",
2513
- "validMoves": "@entity.validMoves"
2514
- }
2515
- ],
2516
- "hud": {
2517
- "children": [
2518
- {
2519
- "stats": [
2520
- {
2521
- "iconUrl": {
2522
- "animations": [],
2523
- "aspect": "1:1",
2524
- "category": "ui",
2525
- "dimension": "2d",
2526
- "name": "icon-coin",
2527
- "role": "ui",
2528
- "style": "adventure",
2529
- "thumbnailUrl": "",
2530
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
2531
- "variant": ""
2532
- },
2533
- "label": "Round",
2534
- "value": "@entity.turn"
2535
- },
2536
- {
2537
- "iconUrl": {
2538
- "animations": [],
2539
- "aspect": "1:1",
2540
- "category": "ui",
2541
- "dimension": "2d",
2542
- "name": "icon-health",
2543
- "role": "ui",
2544
- "style": "adventure",
2545
- "thumbnailUrl": "",
2546
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
2547
- "variant": ""
2548
- },
2549
- "label": "Allies",
2550
- "value": [
2551
- "array/len",
2552
- [
2553
- "array/filter",
2554
- "@entity.units",
2555
- [
2556
- "fn",
2557
- "u",
2558
- [
2559
- "and",
2560
- [
2561
- "==",
2562
- [
2563
- "object/get",
2564
- "u",
2565
- "team"
2566
- ],
2567
- "player"
2568
- ],
2569
- [
2570
- ">",
2571
- [
2572
- "object/get",
2573
- "u",
2574
- "hp"
2575
- ],
2576
- 0.0
2577
- ]
2578
- ]
2579
- ]
2580
- ]
2581
- ]
2582
- },
2583
- {
2584
- "iconUrl": {
2585
- "animations": [],
2586
- "aspect": "1:1",
2587
- "category": "ui",
2588
- "dimension": "2d",
2589
- "name": "icon-star",
2590
- "role": "ui",
2591
- "style": "adventure",
2592
- "thumbnailUrl": "",
2593
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
2594
- "variant": ""
2595
- },
2596
- "label": "Enemies",
2597
- "value": [
2598
- "array/len",
2599
- [
2600
- "array/filter",
2601
- "@entity.units",
2602
- [
2603
- "fn",
2604
- "u",
2605
- [
2606
- "and",
2607
- [
2608
- "==",
2609
- [
2610
- "object/get",
2611
- "u",
2612
- "team"
2613
- ],
2614
- "enemy"
2615
- ],
2616
- [
2617
- ">",
2618
- [
2619
- "object/get",
2620
- "u",
2621
- "hp"
2622
- ],
2623
- 0.0
2624
- ]
2625
- ]
2626
- ]
2627
- ]
2628
- ]
2629
- }
2630
- ],
2631
- "type": "game-hud"
2632
- }
2633
- ],
2634
- "direction": "horizontal",
2635
- "gap": "md",
2636
- "justify": "between",
2637
- "type": "stack"
2638
- },
2639
- "hudBackgroundAsset": {
2640
- "animations": [],
2641
- "aspect": "1:1",
2642
- "category": "ui",
2643
- "dimension": "2d",
2644
- "name": "panel-frame",
2645
- "role": "ui",
2646
- "style": "adventure",
2647
- "thumbnailUrl": "",
2648
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2649
- "variant": ""
2650
- },
2651
- "type": "game-shell"
2652
- }
2653
- ]
2654
- ],
2655
- "event": "PLAY_AGAIN",
2656
- "from": "playing",
2657
- "to": "playing"
2658
- },
2659
- {
2660
- "effects": [
2661
- [
2662
- "set",
2663
- "@entity.result",
2664
- "defeat"
2665
- ],
2666
- [
2667
- "render-ui",
2668
- "main",
2669
- {
2670
- "backgroundAsset": {
2671
- "animations": [],
2672
- "aspect": "1:1",
2673
- "category": "ui",
2674
- "dimension": "2d",
2675
- "name": "panel-frame",
2676
- "role": "ui",
2677
- "style": "adventure",
2678
- "thumbnailUrl": "",
2679
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2680
- "variant": ""
2681
- },
2682
- "children": [
2683
- {
2684
- "assetManifest": "@config.assetManifest",
2685
- "effects": "@entity.effects",
2686
- "features": "@config.features",
2687
- "projection": "isometric",
2688
- "scale": "@config.scale",
2689
- "selectedUnitId": "@entity.selectedUnitId",
2690
- "showMinimap": true,
2691
- "tileClickEvent": "TILE_CLICK",
2692
- "tiles": "@config.tiles",
2693
- "type": "canvas-2d",
2694
- "unitClickEvent": "UNIT_CLICK",
2695
- "units": "@entity.units",
2696
- "validMoves": "@entity.validMoves"
2697
- }
2698
- ],
2699
- "hud": {
2700
- "children": [
2701
- {
2702
- "stats": [
2703
- {
2704
- "iconUrl": {
2705
- "animations": [],
2706
- "aspect": "1:1",
2707
- "category": "ui",
2708
- "dimension": "2d",
2709
- "name": "icon-coin",
2710
- "role": "ui",
2711
- "style": "adventure",
2712
- "thumbnailUrl": "",
2713
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
2714
- "variant": ""
2715
- },
2716
- "label": "Round",
2717
- "value": "@entity.turn"
2718
- },
2719
- {
2720
- "iconUrl": {
2721
- "animations": [],
2722
- "aspect": "1:1",
2723
- "category": "ui",
2724
- "dimension": "2d",
2725
- "name": "icon-health",
2726
- "role": "ui",
2727
- "style": "adventure",
2728
- "thumbnailUrl": "",
2729
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
2730
- "variant": ""
2731
- },
2732
- "label": "Allies",
2733
- "value": [
2734
- "array/len",
2735
- [
2736
- "array/filter",
2737
- "@entity.units",
2738
- [
2739
- "fn",
2740
- "u",
2741
- [
2742
- "and",
2743
- [
2744
- "==",
2745
- [
2746
- "object/get",
2747
- "u",
2748
- "team"
2749
- ],
2750
- "player"
2751
- ],
2752
- [
2753
- ">",
2754
- [
2755
- "object/get",
2756
- "u",
2757
- "hp"
2758
- ],
2759
- 0.0
2760
- ]
2761
- ]
2762
- ]
2763
- ]
2764
- ]
2765
- },
2766
- {
2767
- "iconUrl": {
2768
- "animations": [],
2769
- "aspect": "1:1",
2770
- "category": "ui",
2771
- "dimension": "2d",
2772
- "name": "icon-star",
2773
- "role": "ui",
2774
- "style": "adventure",
2775
- "thumbnailUrl": "",
2776
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
2777
- "variant": ""
2778
- },
2779
- "label": "Enemies",
2780
- "value": [
2781
- "array/len",
2782
- [
2783
- "array/filter",
2784
- "@entity.units",
2785
- [
2786
- "fn",
2787
- "u",
2788
- [
2789
- "and",
2790
- [
2791
- "==",
2792
- [
2793
- "object/get",
2794
- "u",
2795
- "team"
2796
- ],
2797
- "enemy"
2798
- ],
2799
- [
2800
- ">",
2801
- [
2802
- "object/get",
2803
- "u",
2804
- "hp"
2805
- ],
2806
- 0.0
2807
- ]
2808
- ]
2809
- ]
2810
- ]
2811
- ]
2812
- }
2813
- ],
2814
- "type": "game-hud"
2815
- },
2816
- {
2817
- "label": "Player",
2818
- "src": [
2819
- "object/get",
2820
- [
2821
- "array/first",
2822
- [
2823
- "array/filter",
2824
- "@entity.units",
2825
- [
2826
- "fn",
2827
- "u",
2828
- [
2829
- "==",
2830
- [
2831
- "object/get",
2832
- "u",
2833
- "team"
2834
- ],
2835
- "player"
2836
- ]
2837
- ]
2838
- ]
2839
- ],
2840
- "modelUrl"
2841
- ],
2842
- "type": "sprite"
2843
- },
2844
- {
2845
- "type": "damage-number",
2846
- "value": 0.0,
2847
- "visible": false,
2848
- "x": 0.0,
2849
- "y": 0.0
2850
- }
2851
- ],
2852
- "direction": "horizontal",
2853
- "gap": "md",
2854
- "justify": "between",
2855
- "type": "stack"
2856
- },
2857
- "hudBackgroundAsset": {
2858
- "animations": [],
2859
- "aspect": "1:1",
2860
- "category": "ui",
2861
- "dimension": "2d",
2862
- "name": "panel-frame",
2863
- "role": "ui",
2864
- "style": "adventure",
2865
- "thumbnailUrl": "",
2866
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2867
- "variant": ""
2868
- },
2869
- "type": "game-shell"
2870
- }
2871
- ]
2872
- ],
2873
- "event": "STEP",
2874
- "from": "playing",
2875
- "guard": [
2876
- "==",
2877
- [
2878
- "array/len",
2879
- [
2880
- "array/filter",
2881
- "@entity.units",
2882
- [
2883
- "fn",
2884
- "u",
2885
- [
2886
- "and",
2887
- [
2888
- "==",
2889
- [
2890
- "object/get",
2891
- "u",
2892
- "team"
2893
- ],
2894
- "player"
2895
- ],
2896
- [
2897
- ">",
2898
- [
2899
- "object/get",
2900
- "u",
2901
- "hp"
2902
- ],
2903
- 0.0
2904
- ]
2905
- ]
2906
- ]
2907
- ]
2908
- ],
2909
- 0.0
2910
- ],
2911
- "to": "complete"
2912
- },
2913
- {
2914
- "effects": [
2915
- [
2916
- "set",
2917
- "@entity.result",
2918
- "victory"
2919
- ],
2920
- [
2921
- "render-ui",
2922
- "main",
2923
- {
2924
- "backgroundAsset": {
2925
- "animations": [],
2926
- "aspect": "1:1",
2927
- "category": "ui",
2928
- "dimension": "2d",
2929
- "name": "panel-frame",
2930
- "role": "ui",
2931
- "style": "adventure",
2932
- "thumbnailUrl": "",
2933
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2934
- "variant": ""
2935
- },
2936
- "children": [
2937
- {
2938
- "assetManifest": "@config.assetManifest",
2939
- "effects": "@entity.effects",
2940
- "features": "@config.features",
2941
- "projection": "isometric",
2942
- "scale": "@config.scale",
2943
- "selectedUnitId": "@entity.selectedUnitId",
2944
- "showMinimap": true,
2945
- "tileClickEvent": "TILE_CLICK",
2946
- "tiles": "@config.tiles",
2947
- "type": "canvas-2d",
2948
- "unitClickEvent": "UNIT_CLICK",
2949
- "units": "@entity.units",
2950
- "validMoves": "@entity.validMoves"
2951
- }
2952
- ],
2953
- "hud": {
2954
- "children": [
2955
- {
2956
- "stats": [
2957
- {
2958
- "iconUrl": {
2959
- "animations": [],
2960
- "aspect": "1:1",
2961
- "category": "ui",
2962
- "dimension": "2d",
2963
- "name": "icon-coin",
2964
- "role": "ui",
2965
- "style": "adventure",
2966
- "thumbnailUrl": "",
2967
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
2968
- "variant": ""
2969
- },
2970
- "label": "Round",
2971
- "value": "@entity.turn"
2972
- },
2973
- {
2974
- "iconUrl": {
2975
- "animations": [],
2976
- "aspect": "1:1",
2977
- "category": "ui",
2978
- "dimension": "2d",
2979
- "name": "icon-health",
2980
- "role": "ui",
2981
- "style": "adventure",
2982
- "thumbnailUrl": "",
2983
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
2984
- "variant": ""
2985
- },
2986
- "label": "Allies",
2987
- "value": [
2988
- "array/len",
2989
- [
2990
- "array/filter",
2991
- "@entity.units",
2992
- [
2993
- "fn",
2994
- "u",
2995
- [
2996
- "and",
2997
- [
2998
- "==",
2999
- [
3000
- "object/get",
3001
- "u",
3002
- "team"
3003
- ],
3004
- "player"
3005
- ],
3006
- [
3007
- ">",
3008
- [
3009
- "object/get",
3010
- "u",
3011
- "hp"
3012
- ],
3013
- 0.0
3014
- ]
3015
- ]
3016
- ]
3017
- ]
3018
- ]
3019
- },
3020
- {
3021
- "iconUrl": {
3022
- "animations": [],
3023
- "aspect": "1:1",
3024
- "category": "ui",
3025
- "dimension": "2d",
3026
- "name": "icon-star",
3027
- "role": "ui",
3028
- "style": "adventure",
3029
- "thumbnailUrl": "",
3030
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
3031
- "variant": ""
3032
- },
3033
- "label": "Enemies",
3034
- "value": [
3035
- "array/len",
3036
- [
3037
- "array/filter",
3038
- "@entity.units",
3039
- [
3040
- "fn",
3041
- "u",
3042
- [
3043
- "and",
3044
- [
3045
- "==",
3046
- [
3047
- "object/get",
3048
- "u",
3049
- "team"
3050
- ],
3051
- "enemy"
3052
- ],
3053
- [
3054
- ">",
3055
- [
3056
- "object/get",
3057
- "u",
3058
- "hp"
3059
- ],
3060
- 0.0
3061
- ]
3062
- ]
3063
- ]
3064
- ]
3065
- ]
3066
- }
3067
- ],
3068
- "type": "game-hud"
3069
- },
3070
- {
3071
- "label": "Player",
3072
- "src": [
3073
- "object/get",
3074
- [
3075
- "array/first",
3076
- [
3077
- "array/filter",
3078
- "@entity.units",
3079
- [
3080
- "fn",
3081
- "u",
3082
- [
3083
- "==",
3084
- [
3085
- "object/get",
3086
- "u",
3087
- "team"
3088
- ],
3089
- "player"
3090
- ]
3091
- ]
3092
- ]
3093
- ],
3094
- "modelUrl"
3095
- ],
3096
- "type": "sprite"
3097
- },
3098
- {
3099
- "type": "damage-number",
3100
- "value": 0.0,
3101
- "visible": false,
3102
- "x": 0.0,
3103
- "y": 0.0
3104
- }
3105
- ],
3106
- "direction": "horizontal",
3107
- "gap": "md",
3108
- "justify": "between",
3109
- "type": "stack"
3110
- },
3111
- "hudBackgroundAsset": {
3112
- "animations": [],
3113
- "aspect": "1:1",
3114
- "category": "ui",
3115
- "dimension": "2d",
3116
- "name": "panel-frame",
3117
- "role": "ui",
3118
- "style": "adventure",
3119
- "thumbnailUrl": "",
3120
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
3121
- "variant": ""
3122
- },
3123
- "type": "game-shell"
3124
- }
3125
- ]
3126
- ],
3127
- "event": "STEP",
3128
- "from": "playing",
3129
- "guard": [
3130
- "==",
3131
- [
3132
- "array/len",
3133
- [
3134
- "array/filter",
3135
- "@entity.units",
3136
- [
3137
- "fn",
3138
- "u",
3139
- [
3140
- "and",
3141
- [
3142
- "==",
3143
- [
3144
- "object/get",
3145
- "u",
3146
- "team"
3147
- ],
3148
- "enemy"
3149
- ],
3150
- [
3151
- ">",
3152
- [
3153
- "object/get",
3154
- "u",
3155
- "hp"
3156
- ],
3157
- 0.0
3158
- ]
3159
- ]
3160
- ]
3161
- ]
3162
- ],
3163
- 0.0
3164
- ],
3165
- "to": "complete"
3166
- },
3167
- {
3168
- "effects": [
3169
- [
3170
- "set",
3171
- "@entity.units",
3172
- [
3173
- "array/map",
3174
- "@entity.units",
3175
- [
3176
- "fn",
3177
- "u",
3178
- [
3179
- "if",
3180
- [
3181
- "==",
3182
- [
3183
- "object/get",
3184
- "u",
3185
- "id"
3186
- ],
3187
- "@payload.targetId"
3188
- ],
3189
- [
3190
- "object/merge",
3191
- "u",
3192
- {
3193
- "animation": [
3194
- "if",
3195
- [
3196
- "<=",
3197
- [
3198
- "math/max",
3199
- 0.0,
3200
- [
3201
- "-",
3202
- [
3203
- "object/get",
3204
- "u",
3205
- "hp"
3206
- ],
3207
- "@payload.damage"
3208
- ]
3209
- ],
3210
- 0.0
3211
- ],
3212
- "death",
3213
- "hit"
3214
- ],
3215
- "hp": [
3216
- "math/max",
3217
- 0.0,
3218
- [
3219
- "-",
3220
- [
3221
- "object/get",
3222
- "u",
3223
- "hp"
3224
- ],
3225
- "@payload.damage"
3226
- ]
3227
- ]
3228
- }
3229
- ],
3230
- [
3231
- "if",
3232
- [
3233
- "==",
3234
- [
3235
- "object/get",
3236
- "u",
3237
- "id"
3238
- ],
3239
- "@payload.attackerId"
3240
- ],
3241
- [
3242
- "object/merge",
3243
- "u",
3244
- {
3245
- "animation": "attack"
3246
- }
3247
- ],
3248
- "u"
3249
- ]
3250
- ]
3251
- ]
3252
- ]
3253
- ],
3254
- [
3255
- "set",
3256
- "@entity.effects",
3257
- [
3258
- "array/append",
3259
- "@entity.effects",
3260
- {
3261
- "key": "slash",
3262
- "ttl": 4.0,
3263
- "x": [
3264
- "object/get",
3265
- [
3266
- "object/get",
3267
- [
3268
- "array/find",
3269
- "@entity.units",
3270
- [
3271
- "fn",
3272
- "u",
3273
- [
3274
- "==",
3275
- [
3276
- "object/get",
3277
- "u",
3278
- "id"
3279
- ],
3280
- "@payload.targetId"
3281
- ]
3282
- ]
3283
- ],
3284
- "position"
3285
- ],
3286
- "x"
3287
- ],
3288
- "y": [
3289
- "object/get",
3290
- [
3291
- "object/get",
3292
- [
3293
- "array/find",
3294
- "@entity.units",
3295
- [
3296
- "fn",
3297
- "u",
3298
- [
3299
- "==",
3300
- [
3301
- "object/get",
3302
- "u",
3303
- "id"
3304
- ],
3305
- "@payload.targetId"
3306
- ]
3307
- ]
3308
- ],
3309
- "position"
3310
- ],
3311
- "y"
3312
- ]
3313
- }
3314
- ]
3315
- ],
3316
- [
3317
- "if",
3318
- [
3319
- "<=",
3320
- [
3321
- "object/get",
3322
- [
3323
- "array/find",
3324
- "@entity.units",
3325
- [
3326
- "fn",
3327
- "u",
3328
- [
3329
- "==",
3330
- [
3331
- "object/get",
3332
- "u",
3333
- "id"
3334
- ],
3335
- "@payload.targetId"
3336
- ]
3337
- ]
3338
- ],
3339
- "hp"
3340
- ],
3341
- 0.0
3342
- ],
3343
- [
3344
- "set",
3345
- "@entity.effects",
3346
- [
3347
- "array/append",
3348
- "@entity.effects",
3349
- {
3350
- "key": "explosion",
3351
- "ttl": 5.0,
3352
- "x": [
3353
- "object/get",
3354
- [
3355
- "object/get",
3356
- [
3357
- "array/find",
3358
- "@entity.units",
3359
- [
3360
- "fn",
3361
- "u",
3362
- [
3363
- "==",
3364
- [
3365
- "object/get",
3366
- "u",
3367
- "id"
3368
- ],
3369
- "@payload.targetId"
3370
- ]
3371
- ]
3372
- ],
3373
- "position"
3374
- ],
3375
- "x"
3376
- ],
3377
- "y": [
3378
- "object/get",
3379
- [
3380
- "object/get",
3381
- [
3382
- "array/find",
3383
- "@entity.units",
3384
- [
3385
- "fn",
3386
- "u",
3387
- [
3388
- "==",
3389
- [
3390
- "object/get",
3391
- "u",
3392
- "id"
3393
- ],
3394
- "@payload.targetId"
3395
- ]
3396
- ]
3397
- ],
3398
- "position"
3399
- ],
3400
- "y"
3401
- ]
3402
- }
3403
- ]
3404
- ],
3405
- null
3406
- ],
3407
- [
3408
- "set",
3409
- "@entity.turn",
3410
- [
3411
- "+",
3412
- "@entity.turn",
3413
- 1.0
3414
- ]
3415
- ],
3416
- [
3417
- "render-ui",
3418
- "main",
3419
- {
3420
- "backgroundAsset": {
3421
- "animations": [],
3422
- "aspect": "1:1",
3423
- "category": "ui",
3424
- "dimension": "2d",
3425
- "name": "panel-frame",
3426
- "role": "ui",
3427
- "style": "adventure",
3428
- "thumbnailUrl": "",
3429
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
3430
- "variant": ""
3431
- },
3432
- "children": [
3433
- {
3434
- "assetManifest": "@config.assetManifest",
3435
- "effects": "@entity.effects",
3436
- "features": "@config.features",
3437
- "projection": "isometric",
3438
- "scale": "@config.scale",
3439
- "selectedUnitId": "@entity.selectedUnitId",
3440
- "showMinimap": true,
3441
- "tileClickEvent": "TILE_CLICK",
3442
- "tiles": "@config.tiles",
3443
- "type": "canvas-2d",
3444
- "unitClickEvent": "UNIT_CLICK",
3445
- "units": "@entity.units",
3446
- "validMoves": "@entity.validMoves"
3447
- }
3448
- ],
3449
- "hud": {
3450
- "children": [
3451
- {
3452
- "stats": [
3453
- {
3454
- "iconUrl": {
3455
- "animations": [],
3456
- "aspect": "1:1",
3457
- "category": "ui",
3458
- "dimension": "2d",
3459
- "name": "icon-coin",
3460
- "role": "ui",
3461
- "style": "adventure",
3462
- "thumbnailUrl": "",
3463
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
3464
- "variant": ""
3465
- },
3466
- "label": "Round",
3467
- "value": "@entity.turn"
3468
- },
3469
- {
3470
- "iconUrl": {
3471
- "animations": [],
3472
- "aspect": "1:1",
3473
- "category": "ui",
3474
- "dimension": "2d",
3475
- "name": "icon-health",
3476
- "role": "ui",
3477
- "style": "adventure",
3478
- "thumbnailUrl": "",
3479
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
3480
- "variant": ""
3481
- },
3482
- "label": "Allies",
3483
- "value": [
3484
- "array/len",
3485
- [
3486
- "array/filter",
3487
- "@entity.units",
3488
- [
3489
- "fn",
3490
- "u",
3491
- [
3492
- "and",
3493
- [
3494
- "==",
3495
- [
3496
- "object/get",
3497
- "u",
3498
- "team"
3499
- ],
3500
- "player"
3501
- ],
3502
- [
3503
- ">",
3504
- [
3505
- "object/get",
3506
- "u",
3507
- "hp"
3508
- ],
3509
- 0.0
3510
- ]
3511
- ]
3512
- ]
3513
- ]
3514
- ]
3515
- },
3516
- {
3517
- "iconUrl": {
3518
- "animations": [],
3519
- "aspect": "1:1",
3520
- "category": "ui",
3521
- "dimension": "2d",
3522
- "name": "icon-star",
3523
- "role": "ui",
3524
- "style": "adventure",
3525
- "thumbnailUrl": "",
3526
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
3527
- "variant": ""
3528
- },
3529
- "label": "Enemies",
3530
- "value": [
3531
- "array/len",
3532
- [
3533
- "array/filter",
3534
- "@entity.units",
3535
- [
3536
- "fn",
3537
- "u",
3538
- [
3539
- "and",
3540
- [
3541
- "==",
3542
- [
3543
- "object/get",
3544
- "u",
3545
- "team"
3546
- ],
3547
- "enemy"
3548
- ],
3549
- [
3550
- ">",
3551
- [
3552
- "object/get",
3553
- "u",
3554
- "hp"
3555
- ],
3556
- 0.0
3557
- ]
3558
- ]
3559
- ]
3560
- ]
3561
- ]
3562
- }
3563
- ],
3564
- "type": "game-hud"
3565
- },
3566
- {
3567
- "label": "Player",
3568
- "src": [
3569
- "object/get",
3570
- [
3571
- "array/first",
3572
- [
3573
- "array/filter",
3574
- "@entity.units",
3575
- [
3576
- "fn",
3577
- "u",
3578
- [
3579
- "==",
3580
- [
3581
- "object/get",
3582
- "u",
3583
- "team"
3584
- ],
3585
- "player"
3586
- ]
3587
- ]
3588
- ]
3589
- ],
3590
- "modelUrl"
3591
- ],
3592
- "type": "sprite"
3593
- },
3594
- {
3595
- "type": "damage-number",
3596
- "value": 0.0,
3597
- "visible": false,
3598
- "x": 0.0,
3599
- "y": 0.0
3600
- }
3601
- ],
3602
- "direction": "horizontal",
3603
- "gap": "md",
3604
- "justify": "between",
3605
- "type": "stack"
3606
- },
3607
- "hudBackgroundAsset": {
3608
- "animations": [],
3609
- "aspect": "1:1",
3610
- "category": "ui",
3611
- "dimension": "2d",
3612
- "name": "panel-frame",
3613
- "role": "ui",
3614
- "style": "adventure",
3615
- "thumbnailUrl": "",
3616
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
3617
- "variant": ""
3618
- },
3619
- "type": "game-shell"
3620
- }
3621
- ]
3622
- ],
3623
- "event": "STEP",
3624
- "from": "playing",
3625
- "to": "playing"
3626
- },
3627
- {
3628
- "effects": [
2558
+ "set",
2559
+ "@entity.title",
2560
+ "@config.title"
2561
+ ],
3629
2562
  [
3630
2563
  "set",
3631
- "@entity.units",
3632
- "@config.initialUnits"
2564
+ "@entity.description",
2565
+ "@config.description"
3633
2566
  ],
3634
2567
  [
3635
2568
  "set",
3636
- "@entity.turn",
3637
- 1.0
2569
+ "@entity.effects",
2570
+ []
3638
2571
  ],
3639
2572
  [
3640
2573
  "set",
3641
- "@entity.result",
3642
- "none"
2574
+ "@entity.selectedUnitId",
2575
+ ""
3643
2576
  ],
3644
2577
  [
3645
2578
  "set",
3646
- "@entity.effects",
2579
+ "@entity.validMoves",
3647
2580
  []
3648
2581
  ],
3649
2582
  [
@@ -3653,13 +2586,15 @@
3653
2586
  "backgroundAsset": {
3654
2587
  "animations": [],
3655
2588
  "aspect": "1:1",
2589
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
3656
2590
  "category": "ui",
3657
2591
  "dimension": "2d",
3658
2592
  "name": "panel-frame",
3659
2593
  "role": "ui",
2594
+ "sprite": "panel_beige.png",
3660
2595
  "style": "adventure",
3661
2596
  "thumbnailUrl": "",
3662
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2597
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
3663
2598
  "variant": ""
3664
2599
  },
3665
2600
  "children": [
@@ -3679,157 +2614,124 @@
3679
2614
  "validMoves": "@entity.validMoves"
3680
2615
  }
3681
2616
  ],
2617
+ "fontFamily": "future",
3682
2618
  "hud": {
3683
- "children": [
2619
+ "stats": [
3684
2620
  {
3685
- "stats": [
3686
- {
3687
- "iconUrl": {
3688
- "animations": [],
3689
- "aspect": "1:1",
3690
- "category": "ui",
3691
- "dimension": "2d",
3692
- "name": "icon-coin",
3693
- "role": "ui",
3694
- "style": "adventure",
3695
- "thumbnailUrl": "",
3696
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
3697
- "variant": ""
3698
- },
3699
- "label": "Round",
3700
- "value": "@entity.turn"
3701
- },
3702
- {
3703
- "iconUrl": {
3704
- "animations": [],
3705
- "aspect": "1:1",
3706
- "category": "ui",
3707
- "dimension": "2d",
3708
- "name": "icon-health",
3709
- "role": "ui",
3710
- "style": "adventure",
3711
- "thumbnailUrl": "",
3712
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
3713
- "variant": ""
3714
- },
3715
- "label": "Allies",
3716
- "value": [
3717
- "array/len",
2621
+ "iconUrl": {
2622
+ "animations": [],
2623
+ "aspect": "1:1",
2624
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
2625
+ "category": "ui",
2626
+ "dimension": "2d",
2627
+ "name": "icon-round",
2628
+ "role": "ui",
2629
+ "sprite": "tile_coin.png",
2630
+ "style": "",
2631
+ "thumbnailUrl": "",
2632
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
2633
+ "variant": ""
2634
+ },
2635
+ "label": "Round",
2636
+ "value": "@entity.turn"
2637
+ },
2638
+ {
2639
+ "iconUrl": {
2640
+ "animations": [],
2641
+ "aspect": "1:1",
2642
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2643
+ "category": "ui",
2644
+ "dimension": "2d",
2645
+ "name": "icon-allies",
2646
+ "role": "ui",
2647
+ "sprite": "emote_heart.png",
2648
+ "style": "",
2649
+ "thumbnailUrl": "",
2650
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2651
+ "variant": ""
2652
+ },
2653
+ "label": "Allies",
2654
+ "value": [
2655
+ "array/len",
2656
+ [
2657
+ "array/filter",
2658
+ "@entity.units",
2659
+ [
2660
+ "fn",
2661
+ "u",
3718
2662
  [
3719
- "array/filter",
3720
- "@entity.units",
2663
+ "and",
3721
2664
  [
3722
- "fn",
3723
- "u",
3724
- [
3725
- "and",
3726
- [
3727
- "==",
3728
- [
3729
- "object/get",
3730
- "u",
3731
- "team"
3732
- ],
3733
- "player"
3734
- ],
3735
- [
3736
- ">",
3737
- [
3738
- "object/get",
3739
- "u",
3740
- "hp"
3741
- ],
3742
- 0.0
3743
- ]
3744
- ]
3745
- ]
3746
- ]
3747
- ]
3748
- },
3749
- {
3750
- "iconUrl": {
3751
- "animations": [],
3752
- "aspect": "1:1",
3753
- "category": "ui",
3754
- "dimension": "2d",
3755
- "name": "icon-star",
3756
- "role": "ui",
3757
- "style": "adventure",
3758
- "thumbnailUrl": "",
3759
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
3760
- "variant": ""
3761
- },
3762
- "label": "Enemies",
3763
- "value": [
3764
- "array/len",
3765
- [
3766
- "array/filter",
3767
- "@entity.units",
2665
+ "==",
2666
+ "@u.team",
2667
+ "player"
2668
+ ],
3768
2669
  [
3769
- "fn",
3770
- "u",
3771
- [
3772
- "and",
3773
- [
3774
- "==",
3775
- [
3776
- "object/get",
3777
- "u",
3778
- "team"
3779
- ],
3780
- "enemy"
3781
- ],
3782
- [
3783
- ">",
3784
- [
3785
- "object/get",
3786
- "u",
3787
- "hp"
3788
- ],
3789
- 0.0
3790
- ]
3791
- ]
2670
+ ">",
2671
+ "@u.hp",
2672
+ 0.0
3792
2673
  ]
3793
2674
  ]
3794
2675
  ]
3795
- }
3796
- ],
3797
- "type": "game-hud"
2676
+ ]
2677
+ ]
3798
2678
  },
3799
2679
  {
3800
- "action": "PLAY_AGAIN",
3801
- "iconAsset": {
2680
+ "iconUrl": {
3802
2681
  "animations": [],
3803
2682
  "aspect": "1:1",
2683
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
3804
2684
  "category": "ui",
3805
2685
  "dimension": "2d",
3806
- "name": "icon-restart",
2686
+ "name": "icon-enemies",
3807
2687
  "role": "ui",
3808
- "style": "adventure",
2688
+ "sprite": "emote_anger.png",
2689
+ "style": "",
3809
2690
  "thumbnailUrl": "",
3810
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-restart.png",
2691
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
3811
2692
  "variant": ""
3812
2693
  },
3813
- "label": "Play Again",
3814
- "type": "button",
3815
- "variant": "primary"
2694
+ "label": "Enemies",
2695
+ "value": [
2696
+ "array/len",
2697
+ [
2698
+ "array/filter",
2699
+ "@entity.units",
2700
+ [
2701
+ "fn",
2702
+ "u",
2703
+ [
2704
+ "and",
2705
+ [
2706
+ "==",
2707
+ "@u.team",
2708
+ "enemy"
2709
+ ],
2710
+ [
2711
+ ">",
2712
+ "@u.hp",
2713
+ 0.0
2714
+ ]
2715
+ ]
2716
+ ]
2717
+ ]
2718
+ ]
3816
2719
  }
3817
2720
  ],
3818
- "direction": "horizontal",
3819
- "gap": "md",
3820
- "justify": "between",
3821
- "type": "stack"
2721
+ "type": "game-hud"
3822
2722
  },
3823
2723
  "hudBackgroundAsset": {
3824
2724
  "animations": [],
3825
2725
  "aspect": "1:1",
2726
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
3826
2727
  "category": "ui",
3827
2728
  "dimension": "2d",
3828
2729
  "name": "panel-frame",
3829
2730
  "role": "ui",
2731
+ "sprite": "panel_beige.png",
3830
2732
  "style": "adventure",
3831
2733
  "thumbnailUrl": "",
3832
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2734
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
3833
2735
  "variant": ""
3834
2736
  },
3835
2737
  "type": "game-shell"
@@ -3838,7 +2740,7 @@
3838
2740
  ],
3839
2741
  "event": "PLAY_AGAIN",
3840
2742
  "from": "complete",
3841
- "to": "menu"
2743
+ "to": "playing"
3842
2744
  }
3843
2745
  ]
3844
2746
  },
@@ -3852,13 +2754,15 @@
3852
2754
  "backgroundAsset": {
3853
2755
  "animations": [],
3854
2756
  "aspect": "1:1",
2757
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
3855
2758
  "category": "ui",
3856
2759
  "dimension": "2d",
3857
2760
  "name": "panel-frame",
3858
2761
  "role": "ui",
2762
+ "sprite": "panel_beige.png",
3859
2763
  "style": "adventure",
3860
2764
  "thumbnailUrl": "",
3861
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2765
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
3862
2766
  "variant": ""
3863
2767
  },
3864
2768
  "children": [
@@ -3878,180 +2782,135 @@
3878
2782
  "validMoves": "@entity.validMoves"
3879
2783
  }
3880
2784
  ],
2785
+ "fontFamily": "future",
3881
2786
  "hud": {
3882
- "children": [
2787
+ "stats": [
3883
2788
  {
3884
- "stats": [
3885
- {
3886
- "iconUrl": {
3887
- "animations": [],
3888
- "aspect": "1:1",
3889
- "category": "ui",
3890
- "dimension": "2d",
3891
- "name": "icon-coin",
3892
- "role": "ui",
3893
- "style": "adventure",
3894
- "thumbnailUrl": "",
3895
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
3896
- "variant": ""
3897
- },
3898
- "label": "Round",
3899
- "value": "@entity.turn"
3900
- },
3901
- {
3902
- "iconUrl": {
3903
- "animations": [],
3904
- "aspect": "1:1",
3905
- "category": "ui",
3906
- "dimension": "2d",
3907
- "name": "icon-health",
3908
- "role": "ui",
3909
- "style": "adventure",
3910
- "thumbnailUrl": "",
3911
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
3912
- "variant": ""
3913
- },
3914
- "label": "Allies",
3915
- "value": [
3916
- "array/len",
2789
+ "iconUrl": {
2790
+ "animations": [],
2791
+ "aspect": "1:1",
2792
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
2793
+ "category": "ui",
2794
+ "dimension": "2d",
2795
+ "name": "icon-round",
2796
+ "role": "ui",
2797
+ "sprite": "tile_coin.png",
2798
+ "style": "",
2799
+ "thumbnailUrl": "",
2800
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
2801
+ "variant": ""
2802
+ },
2803
+ "label": "Round",
2804
+ "value": "@entity.turn"
2805
+ },
2806
+ {
2807
+ "iconUrl": {
2808
+ "animations": [],
2809
+ "aspect": "1:1",
2810
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2811
+ "category": "ui",
2812
+ "dimension": "2d",
2813
+ "name": "icon-allies",
2814
+ "role": "ui",
2815
+ "sprite": "emote_heart.png",
2816
+ "style": "",
2817
+ "thumbnailUrl": "",
2818
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2819
+ "variant": ""
2820
+ },
2821
+ "label": "Allies",
2822
+ "value": [
2823
+ "array/len",
2824
+ [
2825
+ "array/filter",
2826
+ "@entity.units",
2827
+ [
2828
+ "fn",
2829
+ "u",
3917
2830
  [
3918
- "array/filter",
3919
- "@entity.units",
2831
+ "and",
3920
2832
  [
3921
- "fn",
3922
- "u",
3923
- [
3924
- "and",
3925
- [
3926
- "==",
3927
- [
3928
- "object/get",
3929
- "u",
3930
- "team"
3931
- ],
3932
- "player"
3933
- ],
3934
- [
3935
- ">",
3936
- [
3937
- "object/get",
3938
- "u",
3939
- "hp"
3940
- ],
3941
- 0.0
3942
- ]
3943
- ]
3944
- ]
3945
- ]
3946
- ]
3947
- },
3948
- {
3949
- "iconUrl": {
3950
- "animations": [],
3951
- "aspect": "1:1",
3952
- "category": "ui",
3953
- "dimension": "2d",
3954
- "name": "icon-star",
3955
- "role": "ui",
3956
- "style": "adventure",
3957
- "thumbnailUrl": "",
3958
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
3959
- "variant": ""
3960
- },
3961
- "label": "Enemies",
3962
- "value": [
3963
- "array/len",
3964
- [
3965
- "array/filter",
3966
- "@entity.units",
2833
+ "==",
2834
+ "@u.team",
2835
+ "player"
2836
+ ],
3967
2837
  [
3968
- "fn",
3969
- "u",
3970
- [
3971
- "and",
3972
- [
3973
- "==",
3974
- [
3975
- "object/get",
3976
- "u",
3977
- "team"
3978
- ],
3979
- "enemy"
3980
- ],
3981
- [
3982
- ">",
3983
- [
3984
- "object/get",
3985
- "u",
3986
- "hp"
3987
- ],
3988
- 0.0
3989
- ]
3990
- ]
2838
+ ">",
2839
+ "@u.hp",
2840
+ 0.0
3991
2841
  ]
3992
2842
  ]
3993
2843
  ]
3994
- }
3995
- ],
3996
- "type": "game-hud"
2844
+ ]
2845
+ ]
3997
2846
  },
3998
2847
  {
3999
- "label": "Player",
4000
- "src": [
4001
- "object/get",
2848
+ "iconUrl": {
2849
+ "animations": [],
2850
+ "aspect": "1:1",
2851
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
2852
+ "category": "ui",
2853
+ "dimension": "2d",
2854
+ "name": "icon-enemies",
2855
+ "role": "ui",
2856
+ "sprite": "emote_anger.png",
2857
+ "style": "",
2858
+ "thumbnailUrl": "",
2859
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
2860
+ "variant": ""
2861
+ },
2862
+ "label": "Enemies",
2863
+ "value": [
2864
+ "array/len",
4002
2865
  [
4003
- "array/first",
2866
+ "array/filter",
2867
+ "@entity.units",
4004
2868
  [
4005
- "array/filter",
4006
- "@entity.units",
2869
+ "fn",
2870
+ "u",
4007
2871
  [
4008
- "fn",
4009
- "u",
2872
+ "and",
4010
2873
  [
4011
2874
  "==",
4012
- [
4013
- "object/get",
4014
- "u",
4015
- "team"
4016
- ],
4017
- "player"
2875
+ "@u.team",
2876
+ "enemy"
2877
+ ],
2878
+ [
2879
+ ">",
2880
+ "@u.hp",
2881
+ 0.0
4018
2882
  ]
4019
2883
  ]
4020
2884
  ]
4021
- ],
4022
- "modelUrl"
4023
- ],
4024
- "type": "sprite"
4025
- },
4026
- {
4027
- "type": "damage-number",
4028
- "value": 0.0,
4029
- "visible": false,
4030
- "x": 0.0,
4031
- "y": 0.0
2885
+ ]
2886
+ ]
4032
2887
  }
4033
2888
  ],
4034
- "direction": "horizontal",
4035
- "gap": "md",
4036
- "justify": "between",
4037
- "type": "stack"
2889
+ "type": "game-hud"
4038
2890
  },
4039
2891
  "hudBackgroundAsset": {
4040
2892
  "animations": [],
4041
2893
  "aspect": "1:1",
2894
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
4042
2895
  "category": "ui",
4043
2896
  "dimension": "2d",
4044
2897
  "name": "panel-frame",
4045
2898
  "role": "ui",
2899
+ "sprite": "panel_beige.png",
4046
2900
  "style": "adventure",
4047
2901
  "thumbnailUrl": "",
4048
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
2902
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
4049
2903
  "variant": ""
4050
2904
  },
4051
2905
  "type": "game-shell"
4052
2906
  }
4053
2907
  ]
4054
2908
  ],
2909
+ "guard": [
2910
+ "==",
2911
+ "@entity.result",
2912
+ "none"
2913
+ ],
4055
2914
  "interval": 100.0,
4056
2915
  "name": "renderTick"
4057
2916
  },
@@ -4072,20 +2931,12 @@
4072
2931
  "and",
4073
2932
  [
4074
2933
  "==",
4075
- [
4076
- "object/get",
4077
- "u",
4078
- "team"
4079
- ],
2934
+ "@u.team",
4080
2935
  "player"
4081
2936
  ],
4082
2937
  [
4083
2938
  ">",
4084
- [
4085
- "object/get",
4086
- "u",
4087
- "hp"
4088
- ],
2939
+ "@u.hp",
4089
2940
  0.0
4090
2941
  ]
4091
2942
  ],
@@ -4107,20 +2958,12 @@
4107
2958
  "and",
4108
2959
  [
4109
2960
  "==",
4110
- [
4111
- "object/get",
4112
- "e",
4113
- "team"
4114
- ],
2961
+ "@e.team",
4115
2962
  "enemy"
4116
2963
  ],
4117
2964
  [
4118
2965
  ">",
4119
- [
4120
- "object/get",
4121
- "e",
4122
- "hp"
4123
- ],
2966
+ "@e.hp",
4124
2967
  0.0
4125
2968
  ]
4126
2969
  ],
@@ -4130,12 +2973,12 @@
4130
2973
  "grid/manhattan-distance",
4131
2974
  [
4132
2975
  "object/get",
4133
- "u",
2976
+ "@e",
4134
2977
  "position"
4135
2978
  ],
4136
2979
  [
4137
2980
  "object/get",
4138
- "e",
2981
+ "@u",
4139
2982
  "position"
4140
2983
  ]
4141
2984
  ],
@@ -4149,12 +2992,12 @@
4149
2992
  ],
4150
2993
  [
4151
2994
  "object/merge",
4152
- "u",
2995
+ "@u",
4153
2996
  {
4154
2997
  "animation": "attack"
4155
2998
  }
4156
2999
  ],
4157
- "u"
3000
+ "@u"
4158
3001
  ],
4159
3002
  [
4160
3003
  "if",
@@ -4162,20 +3005,12 @@
4162
3005
  "and",
4163
3006
  [
4164
3007
  "==",
4165
- [
4166
- "object/get",
4167
- "u",
4168
- "team"
4169
- ],
3008
+ "@u.team",
4170
3009
  "enemy"
4171
3010
  ],
4172
3011
  [
4173
3012
  ">",
4174
- [
4175
- "object/get",
4176
- "u",
4177
- "hp"
4178
- ],
3013
+ "@u.hp",
4179
3014
  0.0
4180
3015
  ]
4181
3016
  ],
@@ -4197,20 +3032,12 @@
4197
3032
  "and",
4198
3033
  [
4199
3034
  "==",
4200
- [
4201
- "object/get",
4202
- "p",
4203
- "team"
4204
- ],
3035
+ "@p.team",
4205
3036
  "player"
4206
3037
  ],
4207
3038
  [
4208
3039
  ">",
4209
- [
4210
- "object/get",
4211
- "p",
4212
- "hp"
4213
- ],
3040
+ "@p.hp",
4214
3041
  0.0
4215
3042
  ]
4216
3043
  ],
@@ -4220,12 +3047,12 @@
4220
3047
  "grid/manhattan-distance",
4221
3048
  [
4222
3049
  "object/get",
4223
- "u",
3050
+ "@p",
4224
3051
  "position"
4225
3052
  ],
4226
3053
  [
4227
3054
  "object/get",
4228
- "p",
3055
+ "@u",
4229
3056
  "position"
4230
3057
  ]
4231
3058
  ],
@@ -4239,14 +3066,14 @@
4239
3066
  ],
4240
3067
  [
4241
3068
  "object/merge",
4242
- "u",
3069
+ "@u",
4243
3070
  {
4244
3071
  "animation": "attack"
4245
3072
  }
4246
3073
  ],
4247
- "u"
3074
+ "@u"
4248
3075
  ],
4249
- "u"
3076
+ "@u"
4250
3077
  ]
4251
3078
  ]
4252
3079
  ]
@@ -4266,21 +3093,13 @@
4266
3093
  [
4267
3094
  "and",
4268
3095
  [
4269
- "==",
4270
- [
4271
- "object/get",
4272
- "u",
4273
- "team"
4274
- ],
3096
+ "==",
3097
+ "@u.team",
4275
3098
  "player"
4276
3099
  ],
4277
3100
  [
4278
3101
  ">",
4279
- [
4280
- "object/get",
4281
- "u",
4282
- "hp"
4283
- ],
3102
+ "@u.hp",
4284
3103
  0.0
4285
3104
  ]
4286
3105
  ],
@@ -4302,20 +3121,12 @@
4302
3121
  "and",
4303
3122
  [
4304
3123
  "==",
4305
- [
4306
- "object/get",
4307
- "e",
4308
- "team"
4309
- ],
3124
+ "@e.team",
4310
3125
  "enemy"
4311
3126
  ],
4312
3127
  [
4313
3128
  ">",
4314
- [
4315
- "object/get",
4316
- "e",
4317
- "hp"
4318
- ],
3129
+ "@e.hp",
4319
3130
  0.0
4320
3131
  ]
4321
3132
  ],
@@ -4325,12 +3136,12 @@
4325
3136
  "grid/manhattan-distance",
4326
3137
  [
4327
3138
  "object/get",
4328
- "e",
3139
+ "@e",
4329
3140
  "position"
4330
3141
  ],
4331
3142
  [
4332
3143
  "object/get",
4333
- "u",
3144
+ "@u",
4334
3145
  "position"
4335
3146
  ]
4336
3147
  ],
@@ -4344,7 +3155,7 @@
4344
3155
  ],
4345
3156
  [
4346
3157
  "object/merge",
4347
- "u",
3158
+ "@u",
4348
3159
  {
4349
3160
  "animation": [
4350
3161
  "if",
@@ -4355,11 +3166,7 @@
4355
3166
  0.0,
4356
3167
  [
4357
3168
  "-",
4358
- [
4359
- "object/get",
4360
- "u",
4361
- "hp"
4362
- ],
3169
+ "@u.hp",
4363
3170
  [
4364
3171
  "object/get",
4365
3172
  [
@@ -4376,20 +3183,12 @@
4376
3183
  "and",
4377
3184
  [
4378
3185
  "==",
4379
- [
4380
- "object/get",
4381
- "e",
4382
- "team"
4383
- ],
3186
+ "@e.team",
4384
3187
  "enemy"
4385
3188
  ],
4386
3189
  [
4387
3190
  ">",
4388
- [
4389
- "object/get",
4390
- "e",
4391
- "hp"
4392
- ],
3191
+ "@e.hp",
4393
3192
  0.0
4394
3193
  ]
4395
3194
  ],
@@ -4399,12 +3198,12 @@
4399
3198
  "grid/manhattan-distance",
4400
3199
  [
4401
3200
  "object/get",
4402
- "e",
3201
+ "@e",
4403
3202
  "position"
4404
3203
  ],
4405
3204
  [
4406
3205
  "object/get",
4407
- "u",
3206
+ "@u",
4408
3207
  "position"
4409
3208
  ]
4410
3209
  ],
@@ -4428,11 +3227,7 @@
4428
3227
  0.0,
4429
3228
  [
4430
3229
  "-",
4431
- [
4432
- "object/get",
4433
- "u",
4434
- "hp"
4435
- ],
3230
+ "@u.hp",
4436
3231
  [
4437
3232
  "object/get",
4438
3233
  [
@@ -4449,20 +3244,12 @@
4449
3244
  "and",
4450
3245
  [
4451
3246
  "==",
4452
- [
4453
- "object/get",
4454
- "e",
4455
- "team"
4456
- ],
3247
+ "@e.team",
4457
3248
  "enemy"
4458
3249
  ],
4459
3250
  [
4460
3251
  ">",
4461
- [
4462
- "object/get",
4463
- "e",
4464
- "hp"
4465
- ],
3252
+ "@e.hp",
4466
3253
  0.0
4467
3254
  ]
4468
3255
  ],
@@ -4472,12 +3259,12 @@
4472
3259
  "grid/manhattan-distance",
4473
3260
  [
4474
3261
  "object/get",
4475
- "e",
3262
+ "@e",
4476
3263
  "position"
4477
3264
  ],
4478
3265
  [
4479
3266
  "object/get",
4480
- "u",
3267
+ "@u",
4481
3268
  "position"
4482
3269
  ]
4483
3270
  ],
@@ -4493,9 +3280,9 @@
4493
3280
  ]
4494
3281
  }
4495
3282
  ],
4496
- "u"
3283
+ "@u"
4497
3284
  ],
4498
- "u"
3285
+ "@u"
4499
3286
  ]
4500
3287
  ]
4501
3288
  ]
@@ -4515,20 +3302,12 @@
4515
3302
  "and",
4516
3303
  [
4517
3304
  "==",
4518
- [
4519
- "object/get",
4520
- "u",
4521
- "team"
4522
- ],
3305
+ "@u.team",
4523
3306
  "enemy"
4524
3307
  ],
4525
3308
  [
4526
3309
  ">",
4527
- [
4528
- "object/get",
4529
- "u",
4530
- "hp"
4531
- ],
3310
+ "@u.hp",
4532
3311
  0.0
4533
3312
  ]
4534
3313
  ],
@@ -4550,20 +3329,12 @@
4550
3329
  "and",
4551
3330
  [
4552
3331
  "==",
4553
- [
4554
- "object/get",
4555
- "p",
4556
- "team"
4557
- ],
3332
+ "@p.team",
4558
3333
  "player"
4559
3334
  ],
4560
3335
  [
4561
3336
  ">",
4562
- [
4563
- "object/get",
4564
- "p",
4565
- "hp"
4566
- ],
3337
+ "@p.hp",
4567
3338
  0.0
4568
3339
  ]
4569
3340
  ],
@@ -4573,12 +3344,12 @@
4573
3344
  "grid/manhattan-distance",
4574
3345
  [
4575
3346
  "object/get",
4576
- "p",
3347
+ "@p",
4577
3348
  "position"
4578
3349
  ],
4579
3350
  [
4580
3351
  "object/get",
4581
- "u",
3352
+ "@u",
4582
3353
  "position"
4583
3354
  ]
4584
3355
  ],
@@ -4592,7 +3363,7 @@
4592
3363
  ],
4593
3364
  [
4594
3365
  "object/merge",
4595
- "u",
3366
+ "@u",
4596
3367
  {
4597
3368
  "animation": [
4598
3369
  "if",
@@ -4603,11 +3374,7 @@
4603
3374
  0.0,
4604
3375
  [
4605
3376
  "-",
4606
- [
4607
- "object/get",
4608
- "u",
4609
- "hp"
4610
- ],
3377
+ "@u.hp",
4611
3378
  [
4612
3379
  "object/get",
4613
3380
  [
@@ -4624,20 +3391,12 @@
4624
3391
  "and",
4625
3392
  [
4626
3393
  "==",
4627
- [
4628
- "object/get",
4629
- "p",
4630
- "team"
4631
- ],
3394
+ "@p.team",
4632
3395
  "player"
4633
3396
  ],
4634
3397
  [
4635
3398
  ">",
4636
- [
4637
- "object/get",
4638
- "p",
4639
- "hp"
4640
- ],
3399
+ "@p.hp",
4641
3400
  0.0
4642
3401
  ]
4643
3402
  ],
@@ -4647,12 +3406,12 @@
4647
3406
  "grid/manhattan-distance",
4648
3407
  [
4649
3408
  "object/get",
4650
- "p",
3409
+ "@p",
4651
3410
  "position"
4652
3411
  ],
4653
3412
  [
4654
3413
  "object/get",
4655
- "u",
3414
+ "@u",
4656
3415
  "position"
4657
3416
  ]
4658
3417
  ],
@@ -4662,88 +3421,309 @@
4662
3421
  ]
4663
3422
  ]
4664
3423
  ],
4665
- "atk"
3424
+ "atk"
3425
+ ]
3426
+ ]
3427
+ ],
3428
+ 0.0
3429
+ ],
3430
+ "death",
3431
+ "hit"
3432
+ ],
3433
+ "hp": [
3434
+ "math/max",
3435
+ 0.0,
3436
+ [
3437
+ "-",
3438
+ "@u.hp",
3439
+ [
3440
+ "object/get",
3441
+ [
3442
+ "array/first",
3443
+ [
3444
+ "array/filter",
3445
+ "@entity.units",
3446
+ [
3447
+ "fn",
3448
+ "p",
3449
+ [
3450
+ "and",
3451
+ [
3452
+ "and",
3453
+ [
3454
+ "==",
3455
+ "@p.team",
3456
+ "player"
3457
+ ],
3458
+ [
3459
+ ">",
3460
+ "@p.hp",
3461
+ 0.0
3462
+ ]
3463
+ ],
3464
+ [
3465
+ "==",
3466
+ [
3467
+ "grid/manhattan-distance",
3468
+ [
3469
+ "object/get",
3470
+ "@p",
3471
+ "position"
3472
+ ],
3473
+ [
3474
+ "object/get",
3475
+ "@u",
3476
+ "position"
3477
+ ]
3478
+ ],
3479
+ 1.0
3480
+ ]
3481
+ ]
3482
+ ]
3483
+ ]
3484
+ ],
3485
+ "atk"
3486
+ ]
3487
+ ]
3488
+ ]
3489
+ }
3490
+ ],
3491
+ "@u"
3492
+ ],
3493
+ "@u"
3494
+ ]
3495
+ ]
3496
+ ]
3497
+ ],
3498
+ [
3499
+ "set",
3500
+ "@entity.units",
3501
+ [
3502
+ "array/map",
3503
+ "@entity.units",
3504
+ [
3505
+ "fn",
3506
+ "u",
3507
+ [
3508
+ "if",
3509
+ [
3510
+ "and",
3511
+ [
3512
+ "and",
3513
+ [
3514
+ "==",
3515
+ "@u.team",
3516
+ "enemy"
3517
+ ],
3518
+ [
3519
+ ">",
3520
+ "@u.hp",
3521
+ 0.0
3522
+ ]
3523
+ ],
3524
+ [
3525
+ "and",
3526
+ [
3527
+ "==",
3528
+ [
3529
+ "array/len",
3530
+ [
3531
+ "array/filter",
3532
+ "@entity.units",
3533
+ [
3534
+ "fn",
3535
+ "p",
3536
+ [
3537
+ "and",
3538
+ [
3539
+ "and",
3540
+ [
3541
+ "==",
3542
+ "@p.team",
3543
+ "player"
3544
+ ],
3545
+ [
3546
+ ">",
3547
+ "@p.hp",
3548
+ 0.0
3549
+ ]
3550
+ ],
3551
+ [
3552
+ "==",
3553
+ [
3554
+ "grid/manhattan-distance",
3555
+ [
3556
+ "object/get",
3557
+ "@p",
3558
+ "position"
3559
+ ],
3560
+ [
3561
+ "object/get",
3562
+ "@u",
3563
+ "position"
3564
+ ]
3565
+ ],
3566
+ 1.0
3567
+ ]
3568
+ ]
3569
+ ]
3570
+ ]
3571
+ ],
3572
+ 0.0
3573
+ ],
3574
+ [
3575
+ ">",
3576
+ [
3577
+ "array/len",
3578
+ [
3579
+ "array/filter",
3580
+ "@entity.units",
3581
+ [
3582
+ "fn",
3583
+ "p",
3584
+ [
3585
+ "and",
3586
+ [
3587
+ "==",
3588
+ "@p.team",
3589
+ "player"
3590
+ ],
3591
+ [
3592
+ ">",
3593
+ "@p.hp",
3594
+ 0.0
3595
+ ]
3596
+ ]
3597
+ ]
3598
+ ]
3599
+ ],
3600
+ 0.0
3601
+ ]
3602
+ ]
3603
+ ],
3604
+ [
3605
+ "let",
3606
+ [
3607
+ [
3608
+ "target",
3609
+ [
3610
+ "array/first",
3611
+ [
3612
+ "array/filter",
3613
+ "@entity.units",
3614
+ [
3615
+ "fn",
3616
+ "p",
3617
+ [
3618
+ "and",
3619
+ [
3620
+ "==",
3621
+ "@p.team",
3622
+ "player"
3623
+ ],
3624
+ [
3625
+ ">",
3626
+ "@p.hp",
3627
+ 0.0
3628
+ ]
3629
+ ]
3630
+ ]
3631
+ ]
3632
+ ]
3633
+ ]
3634
+ ],
3635
+ [
3636
+ "object/merge",
3637
+ "@u",
3638
+ {
3639
+ "position": {
3640
+ "x": [
3641
+ "math/clamp",
3642
+ [
3643
+ "+",
3644
+ [
3645
+ "object/get",
3646
+ [
3647
+ "object/get",
3648
+ "@u",
3649
+ "position"
3650
+ ],
3651
+ "x"
3652
+ ],
3653
+ [
3654
+ "math/sign",
3655
+ [
3656
+ "-",
3657
+ [
3658
+ "object/get",
3659
+ [
3660
+ "object/get",
3661
+ "@target",
3662
+ "position"
3663
+ ],
3664
+ "x"
3665
+ ],
3666
+ [
3667
+ "object/get",
3668
+ [
3669
+ "object/get",
3670
+ "@u",
3671
+ "position"
3672
+ ],
3673
+ "x"
3674
+ ]
4666
3675
  ]
4667
3676
  ]
4668
3677
  ],
4669
- 0.0
3678
+ 0.0,
3679
+ 4.0
4670
3680
  ],
4671
- "death",
4672
- "hit"
4673
- ],
4674
- "hp": [
4675
- "math/max",
4676
- 0.0,
4677
- [
4678
- "-",
4679
- [
4680
- "object/get",
4681
- "u",
4682
- "hp"
4683
- ],
3681
+ "y": [
3682
+ "math/clamp",
4684
3683
  [
4685
- "object/get",
3684
+ "+",
4686
3685
  [
4687
- "array/first",
3686
+ "object/get",
4688
3687
  [
4689
- "array/filter",
4690
- "@entity.units",
3688
+ "object/get",
3689
+ "@u",
3690
+ "position"
3691
+ ],
3692
+ "y"
3693
+ ],
3694
+ [
3695
+ "math/sign",
3696
+ [
3697
+ "-",
4691
3698
  [
4692
- "fn",
4693
- "p",
3699
+ "object/get",
4694
3700
  [
4695
- "and",
4696
- [
4697
- "and",
4698
- [
4699
- "==",
4700
- [
4701
- "object/get",
4702
- "p",
4703
- "team"
4704
- ],
4705
- "player"
4706
- ],
4707
- [
4708
- ">",
4709
- [
4710
- "object/get",
4711
- "p",
4712
- "hp"
4713
- ],
4714
- 0.0
4715
- ]
4716
- ],
4717
- [
4718
- "==",
4719
- [
4720
- "grid/manhattan-distance",
4721
- [
4722
- "object/get",
4723
- "p",
4724
- "position"
4725
- ],
4726
- [
4727
- "object/get",
4728
- "u",
4729
- "position"
4730
- ]
4731
- ],
4732
- 1.0
4733
- ]
4734
- ]
3701
+ "object/get",
3702
+ "@target",
3703
+ "position"
3704
+ ],
3705
+ "y"
3706
+ ],
3707
+ [
3708
+ "object/get",
3709
+ [
3710
+ "object/get",
3711
+ "@u",
3712
+ "position"
3713
+ ],
3714
+ "y"
4735
3715
  ]
4736
3716
  ]
4737
- ],
4738
- "atk"
4739
- ]
3717
+ ]
3718
+ ],
3719
+ 0.0,
3720
+ 4.0
4740
3721
  ]
4741
- ]
3722
+ }
4742
3723
  }
4743
- ],
4744
- "u"
3724
+ ]
4745
3725
  ],
4746
- "u"
3726
+ "@u"
4747
3727
  ]
4748
3728
  ]
4749
3729
  ]
@@ -4803,20 +3783,12 @@
4803
3783
  "and",
4804
3784
  [
4805
3785
  "==",
4806
- [
4807
- "object/get",
4808
- "u",
4809
- "team"
4810
- ],
3786
+ "@u.team",
4811
3787
  "player"
4812
3788
  ],
4813
3789
  [
4814
3790
  ">",
4815
- [
4816
- "object/get",
4817
- "u",
4818
- "hp"
4819
- ],
3791
+ "@u.hp",
4820
3792
  0.0
4821
3793
  ]
4822
3794
  ]
@@ -4842,20 +3814,12 @@
4842
3814
  "and",
4843
3815
  [
4844
3816
  "==",
4845
- [
4846
- "object/get",
4847
- "u",
4848
- "team"
4849
- ],
3817
+ "@u.team",
4850
3818
  "enemy"
4851
3819
  ],
4852
3820
  [
4853
3821
  ">",
4854
- [
4855
- "object/get",
4856
- "u",
4857
- "hp"
4858
- ],
3822
+ "@u.hp",
4859
3823
  0.0
4860
3824
  ]
4861
3825
  ]
@@ -4878,6 +3842,19 @@
4878
3842
  1.0
4879
3843
  ]
4880
3844
  ],
3845
+ [
3846
+ "if",
3847
+ [
3848
+ "!=",
3849
+ "@entity.result",
3850
+ "none"
3851
+ ],
3852
+ [
3853
+ "emit",
3854
+ "GAME_END"
3855
+ ],
3856
+ null
3857
+ ],
4881
3858
  [
4882
3859
  "render-ui",
4883
3860
  "main",
@@ -4885,13 +3862,15 @@
4885
3862
  "backgroundAsset": {
4886
3863
  "animations": [],
4887
3864
  "aspect": "1:1",
3865
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
4888
3866
  "category": "ui",
4889
3867
  "dimension": "2d",
4890
3868
  "name": "panel-frame",
4891
3869
  "role": "ui",
3870
+ "sprite": "panel_beige.png",
4892
3871
  "style": "adventure",
4893
3872
  "thumbnailUrl": "",
4894
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
3873
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
4895
3874
  "variant": ""
4896
3875
  },
4897
3876
  "children": [
@@ -4911,173 +3890,124 @@
4911
3890
  "validMoves": "@entity.validMoves"
4912
3891
  }
4913
3892
  ],
3893
+ "fontFamily": "future",
4914
3894
  "hud": {
4915
- "children": [
3895
+ "stats": [
4916
3896
  {
4917
- "stats": [
4918
- {
4919
- "iconUrl": {
4920
- "animations": [],
4921
- "aspect": "1:1",
4922
- "category": "ui",
4923
- "dimension": "2d",
4924
- "name": "icon-coin",
4925
- "role": "ui",
4926
- "style": "adventure",
4927
- "thumbnailUrl": "",
4928
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-coin.png",
4929
- "variant": ""
4930
- },
4931
- "label": "Round",
4932
- "value": "@entity.turn"
4933
- },
4934
- {
4935
- "iconUrl": {
4936
- "animations": [],
4937
- "aspect": "1:1",
4938
- "category": "ui",
4939
- "dimension": "2d",
4940
- "name": "icon-health",
4941
- "role": "ui",
4942
- "style": "adventure",
4943
- "thumbnailUrl": "",
4944
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-health.png",
4945
- "variant": ""
4946
- },
4947
- "label": "Allies",
4948
- "value": [
4949
- "array/len",
3897
+ "iconUrl": {
3898
+ "animations": [],
3899
+ "aspect": "1:1",
3900
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.json",
3901
+ "category": "ui",
3902
+ "dimension": "2d",
3903
+ "name": "icon-round",
3904
+ "role": "ui",
3905
+ "sprite": "tile_coin.png",
3906
+ "style": "",
3907
+ "thumbnailUrl": "",
3908
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-shape-characters/units/spritesheet_default.png",
3909
+ "variant": ""
3910
+ },
3911
+ "label": "Round",
3912
+ "value": "@entity.turn"
3913
+ },
3914
+ {
3915
+ "iconUrl": {
3916
+ "animations": [],
3917
+ "aspect": "1:1",
3918
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
3919
+ "category": "ui",
3920
+ "dimension": "2d",
3921
+ "name": "icon-allies",
3922
+ "role": "ui",
3923
+ "sprite": "emote_heart.png",
3924
+ "style": "",
3925
+ "thumbnailUrl": "",
3926
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
3927
+ "variant": ""
3928
+ },
3929
+ "label": "Allies",
3930
+ "value": [
3931
+ "array/len",
3932
+ [
3933
+ "array/filter",
3934
+ "@entity.units",
3935
+ [
3936
+ "fn",
3937
+ "u",
4950
3938
  [
4951
- "array/filter",
4952
- "@entity.units",
3939
+ "and",
4953
3940
  [
4954
- "fn",
4955
- "u",
4956
- [
4957
- "and",
4958
- [
4959
- "==",
4960
- [
4961
- "object/get",
4962
- "u",
4963
- "team"
4964
- ],
4965
- "player"
4966
- ],
4967
- [
4968
- ">",
4969
- [
4970
- "object/get",
4971
- "u",
4972
- "hp"
4973
- ],
4974
- 0.0
4975
- ]
4976
- ]
4977
- ]
4978
- ]
4979
- ]
4980
- },
4981
- {
4982
- "iconUrl": {
4983
- "animations": [],
4984
- "aspect": "1:1",
4985
- "category": "ui",
4986
- "dimension": "2d",
4987
- "name": "icon-star",
4988
- "role": "ui",
4989
- "style": "adventure",
4990
- "thumbnailUrl": "",
4991
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-star.png",
4992
- "variant": ""
4993
- },
4994
- "label": "Enemies",
4995
- "value": [
4996
- "array/len",
4997
- [
4998
- "array/filter",
4999
- "@entity.units",
3941
+ "==",
3942
+ "@u.team",
3943
+ "player"
3944
+ ],
5000
3945
  [
5001
- "fn",
5002
- "u",
5003
- [
5004
- "and",
5005
- [
5006
- "==",
5007
- [
5008
- "object/get",
5009
- "u",
5010
- "team"
5011
- ],
5012
- "enemy"
5013
- ],
5014
- [
5015
- ">",
5016
- [
5017
- "object/get",
5018
- "u",
5019
- "hp"
5020
- ],
5021
- 0.0
5022
- ]
5023
- ]
3946
+ ">",
3947
+ "@u.hp",
3948
+ 0.0
5024
3949
  ]
5025
3950
  ]
5026
3951
  ]
5027
- },
5028
- {
5029
- "iconUrl": {
5030
- "animations": [],
5031
- "aspect": "1:1",
5032
- "category": "ui",
5033
- "dimension": "2d",
5034
- "name": "btn-round",
5035
- "role": "ui",
5036
- "style": "adventure",
5037
- "thumbnailUrl": "",
5038
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/btn-round.png",
5039
- "variant": ""
5040
- },
5041
- "label": "Turns Played",
5042
- "value": "@entity.turn"
5043
- }
5044
- ],
5045
- "type": "game-hud"
3952
+ ]
3953
+ ]
5046
3954
  },
5047
3955
  {
5048
- "action": "PLAY_AGAIN",
5049
- "iconAsset": {
3956
+ "iconUrl": {
5050
3957
  "animations": [],
5051
3958
  "aspect": "1:1",
3959
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.json",
5052
3960
  "category": "ui",
5053
3961
  "dimension": "2d",
5054
- "name": "icon-restart",
3962
+ "name": "icon-enemies",
5055
3963
  "role": "ui",
5056
- "style": "adventure",
3964
+ "sprite": "emote_anger.png",
3965
+ "style": "",
5057
3966
  "thumbnailUrl": "",
5058
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/icon-restart.png",
3967
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-emote-pack/ui/vector_style1.png",
5059
3968
  "variant": ""
5060
3969
  },
5061
- "label": "Play Again",
5062
- "type": "button",
5063
- "variant": "secondary"
3970
+ "label": "Enemies",
3971
+ "value": [
3972
+ "array/len",
3973
+ [
3974
+ "array/filter",
3975
+ "@entity.units",
3976
+ [
3977
+ "fn",
3978
+ "u",
3979
+ [
3980
+ "and",
3981
+ [
3982
+ "==",
3983
+ "@u.team",
3984
+ "enemy"
3985
+ ],
3986
+ [
3987
+ ">",
3988
+ "@u.hp",
3989
+ 0.0
3990
+ ]
3991
+ ]
3992
+ ]
3993
+ ]
3994
+ ]
5064
3995
  }
5065
3996
  ],
5066
- "direction": "horizontal",
5067
- "gap": "md",
5068
- "justify": "between",
5069
- "type": "stack"
3997
+ "type": "game-hud"
5070
3998
  },
5071
3999
  "hudBackgroundAsset": {
5072
4000
  "animations": [],
5073
4001
  "aspect": "1:1",
4002
+ "atlas": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.json",
5074
4003
  "category": "ui",
5075
4004
  "dimension": "2d",
5076
4005
  "name": "panel-frame",
5077
4006
  "role": "ui",
4007
+ "sprite": "panel_beige.png",
5078
4008
  "style": "adventure",
5079
4009
  "thumbnailUrl": "",
5080
- "url": "https://almadar-kflow-assets.web.app/shared/ui-uncontrolled-battle-board/default/ui/panel-frame.png",
4010
+ "url": "https://almadar-kflow-assets.web.app/shared/_shared/kenney-ui-adventure-pack/ui/uipack_rpg_sheet.png",
5081
4011
  "variant": ""
5082
4012
  },
5083
4013
  "type": "game-shell"
@@ -5092,76 +4022,63 @@
5092
4022
  "none"
5093
4023
  ],
5094
4024
  [
5095
- ">",
4025
+ "and",
5096
4026
  [
5097
- "array/len",
4027
+ ">",
5098
4028
  [
5099
- "array/filter",
5100
- "@entity.units",
4029
+ "array/len",
5101
4030
  [
5102
- "fn",
5103
- "u",
4031
+ "array/filter",
4032
+ "@entity.units",
5104
4033
  [
5105
- "and",
4034
+ "fn",
4035
+ "u",
5106
4036
  [
5107
- "==",
4037
+ "and",
5108
4038
  [
5109
- "object/get",
5110
- "u",
5111
- "team"
4039
+ "==",
4040
+ "@u.team",
4041
+ "player"
5112
4042
  ],
5113
- "player"
5114
- ],
5115
- [
5116
- ">",
5117
4043
  [
5118
- "object/get",
5119
- "u",
5120
- "hp"
5121
- ],
5122
- 0.0
4044
+ ">",
4045
+ "@u.hp",
4046
+ 0.0
4047
+ ]
5123
4048
  ]
5124
4049
  ]
5125
4050
  ]
5126
- ]
4051
+ ],
4052
+ 0.0
5127
4053
  ],
5128
- 0.0
5129
- ],
5130
- [
5131
- ">",
5132
4054
  [
5133
- "array/len",
4055
+ ">",
5134
4056
  [
5135
- "array/filter",
5136
- "@entity.units",
4057
+ "array/len",
5137
4058
  [
5138
- "fn",
5139
- "u",
4059
+ "array/filter",
4060
+ "@entity.units",
5140
4061
  [
5141
- "and",
4062
+ "fn",
4063
+ "u",
5142
4064
  [
5143
- "==",
4065
+ "and",
5144
4066
  [
5145
- "object/get",
5146
- "u",
5147
- "team"
4067
+ "==",
4068
+ "@u.team",
4069
+ "enemy"
5148
4070
  ],
5149
- "enemy"
5150
- ],
5151
- [
5152
- ">",
5153
4071
  [
5154
- "object/get",
5155
- "u",
5156
- "hp"
5157
- ],
5158
- 0.0
4072
+ ">",
4073
+ "@u.hp",
4074
+ 0.0
4075
+ ]
5159
4076
  ]
5160
4077
  ]
5161
4078
  ]
5162
- ]
5163
- ],
5164
- 0.0
4079
+ ],
4080
+ 0.0
4081
+ ]
5165
4082
  ]
5166
4083
  ],
5167
4084
  "interval": 2000.0,