@maka/maka-cli 5.1.29 → 5.1.31

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 (166) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.d.ts +9 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js +26 -0
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/command-registry.js.map +1 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/command.d.ts +13 -7
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/command.js +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/command.js.map +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.d.ts +1 -2
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js +2 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js.map +1 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.d.ts +1 -2
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js +1 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/give.d.ts +7 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/give.js +51 -0
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/give.js.map +1 -0
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +1 -2
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +3 -0
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/lock.d.ts +1 -2
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js +1 -0
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +1 -2
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +2 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/say.d.ts +3 -11
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +7 -32
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/search.d.ts +1 -2
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +1 -0
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.d.ts +1 -2
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +1 -0
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/store.d.ts +1 -2
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/store.js +1 -0
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/store.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/take.d.ts +1 -2
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +1 -0
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.d.ts +3 -4
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +1 -1
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.d.ts +1 -2
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js +1 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/unequip.js.map +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.d.ts +1 -2
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js +34 -24
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/unlock.js.map +1 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/use.d.ts +1 -2
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js +1 -0
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/use.js.map +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/factories/command-factory.d.ts +9 -0
  53. package/bundle/typescript/src/commands/game/sideQuest/factories/{commandF.js → command-factory.js} +1 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/factories/command-factory.js.map +1 -0
  55. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.d.ts +5 -0
  56. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js +24 -0
  57. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js.map +1 -0
  58. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.d.ts +10 -0
  59. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js +36 -0
  60. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js.map +1 -0
  61. package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.d.ts +6 -0
  62. package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js +24 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/factories/puzzle-factory.js.map +1 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.d.ts +6 -0
  65. package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js +19 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/factories/room-factory.js.map +1 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/factories/{sceneSynthesizer.d.ts → scene-factory.d.ts} +2 -2
  68. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +115 -0
  69. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -0
  70. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +11 -5
  71. package/bundle/typescript/src/commands/game/sideQuest/game.js +102 -10
  72. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  73. package/bundle/typescript/src/commands/game/sideQuest/models/door.d.ts +7 -3
  74. package/bundle/typescript/src/commands/game/sideQuest/models/door.js +1 -2
  75. package/bundle/typescript/src/commands/game/sideQuest/models/door.js.map +1 -1
  76. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.d.ts +1 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js +1 -1
  78. package/bundle/typescript/src/commands/game/sideQuest/models/inventory.js.map +1 -1
  79. package/bundle/typescript/src/commands/game/sideQuest/models/item.d.ts +26 -4
  80. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +36 -4
  81. package/bundle/typescript/src/commands/game/sideQuest/models/item.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/models/npc.d.ts +22 -14
  83. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +141 -49
  84. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  85. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +16 -4
  86. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +85 -57
  87. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  88. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.d.ts +11 -2
  89. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +2 -2
  90. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +29 -6
  92. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +79 -7
  93. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  94. package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +29 -18
  95. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +82 -69
  96. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  97. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +93 -114
  98. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +130 -151
  99. package/bundle/typescript/src/commands/game/sideQuest/types/enums.d.ts +13 -7
  100. package/bundle/typescript/src/commands/game/sideQuest/types/enums.js +12 -6
  101. package/bundle/typescript/src/commands/game/sideQuest/types/enums.js.map +1 -1
  102. package/bundle/typescript/src/commands/game/sideQuest/types/{types.d.ts → player-equipment.d.ts} +8 -10
  103. package/bundle/typescript/src/commands/game/sideQuest/types/player-equipment.js +2 -0
  104. package/bundle/typescript/src/commands/game/sideQuest/types/player-equipment.js.map +1 -0
  105. package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.d.ts +6 -0
  106. package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.js +2 -0
  107. package/bundle/typescript/src/commands/game/sideQuest/types/seed/exit-seed.js.map +1 -0
  108. package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.d.ts +22 -0
  109. package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.js +2 -0
  110. package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.js.map +1 -0
  111. package/bundle/typescript/src/commands/game/sideQuest/types/seed/lifestyle-seed.d.ts +22 -0
  112. package/bundle/typescript/src/commands/game/sideQuest/types/seed/lifestyle-seed.js +2 -0
  113. package/bundle/typescript/src/commands/game/sideQuest/types/seed/lifestyle-seed.js.map +1 -0
  114. package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.d.ts +6 -0
  115. package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.js +2 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/types/seed/npc-seed.js.map +1 -0
  117. package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.d.ts +6 -0
  118. package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.js +2 -0
  119. package/bundle/typescript/src/commands/game/sideQuest/types/seed/player-seed.js.map +1 -0
  120. package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.d.ts +11 -0
  121. package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.js +2 -0
  122. package/bundle/typescript/src/commands/game/sideQuest/types/seed/puzzle-seed.js.map +1 -0
  123. package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +16 -0
  124. package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.js +2 -0
  125. package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.js.map +1 -0
  126. package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +16 -0
  127. package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.js +2 -0
  128. package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.js.map +1 -0
  129. package/bundle/typescript/src/commands/game/sideQuest/types/{abstracts.d.ts → shared/abstracts.d.ts} +12 -9
  130. package/bundle/typescript/src/commands/game/sideQuest/types/{abstracts.js → shared/abstracts.js} +7 -2
  131. package/bundle/typescript/src/commands/game/sideQuest/types/shared/abstracts.js.map +1 -0
  132. package/bundle/typescript/src/commands/game/sideQuest/types/shared/direction-enum.d.ts +8 -0
  133. package/bundle/typescript/src/commands/game/sideQuest/types/shared/direction-enum.js +10 -0
  134. package/bundle/typescript/src/commands/game/sideQuest/types/shared/direction-enum.js.map +1 -0
  135. package/bundle/typescript/src/commands/game/sideQuest/types/shared/equipment-enum.d.ts +25 -0
  136. package/bundle/typescript/src/commands/game/sideQuest/types/shared/equipment-enum.js +27 -0
  137. package/bundle/typescript/src/commands/game/sideQuest/types/shared/equipment-enum.js.map +1 -0
  138. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.d.ts +34 -0
  139. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js +38 -0
  140. package/bundle/typescript/src/commands/game/sideQuest/types/shared/item-enum.js.map +1 -0
  141. package/bundle/typescript/src/commands/game/sideQuest/ui.d.ts +6 -2
  142. package/bundle/typescript/src/commands/game/sideQuest/ui.js +48 -79
  143. package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
  144. package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.d.ts +4 -2
  145. package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js +8 -4
  146. package/bundle/typescript/src/commands/game/sideQuest/utilities/logger.js.map +1 -1
  147. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +20 -13
  148. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  149. package/bundle/typescript/src/tools/https/https.class.d.ts +1 -0
  150. package/bundle/typescript/src/tools/https/https.class.js +49 -1
  151. package/bundle/typescript/src/tools/https/https.class.js.map +1 -1
  152. package/package.json +1 -1
  153. package/bundle/typescript/src/commands/game/sideQuest/factories/commandF.d.ts +0 -10
  154. package/bundle/typescript/src/commands/game/sideQuest/factories/commandF.js.map +0 -1
  155. package/bundle/typescript/src/commands/game/sideQuest/factories/roomsF.d.ts +0 -6
  156. package/bundle/typescript/src/commands/game/sideQuest/factories/roomsF.js +0 -18
  157. package/bundle/typescript/src/commands/game/sideQuest/factories/roomsF.js.map +0 -1
  158. package/bundle/typescript/src/commands/game/sideQuest/factories/sceneSynthesizer.js +0 -77
  159. package/bundle/typescript/src/commands/game/sideQuest/factories/sceneSynthesizer.js.map +0 -1
  160. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene3.json +0 -380
  161. package/bundle/typescript/src/commands/game/sideQuest/types/abstracts.js.map +0 -1
  162. package/bundle/typescript/src/commands/game/sideQuest/types/interfaces.d.ts +0 -197
  163. package/bundle/typescript/src/commands/game/sideQuest/types/interfaces.js +0 -2
  164. package/bundle/typescript/src/commands/game/sideQuest/types/interfaces.js.map +0 -1
  165. package/bundle/typescript/src/commands/game/sideQuest/types/types.js +0 -2
  166. package/bundle/typescript/src/commands/game/sideQuest/types/types.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scene-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/scene-seed.ts"],"names":[],"mappings":""}
@@ -1,15 +1,15 @@
1
1
  import { EventEmitter } from 'events';
2
- import { Room, Player, NPC, Item, Puzzle, Door, Inventory } from '../models/_index';
3
- import { IRooms, IPlayer } from './interfaces';
4
- import { Size, Category, Rating, Direction } from './enums.js';
5
- import { PlayerEquipment } from './types.js';
6
- import { Logger } from '../utilities/logger.js';
2
+ import { Room, Player, NPC, Item, Puzzle, Door, Inventory } from '../../models/_index';
3
+ import { Size, Category, Rating } from '../shared/item-enum.js';
4
+ import { Direction } from '../shared/direction-enum';
5
+ import { PlayerEquipment } from '../player-equipment.js';
6
+ import { Logger } from '../../utilities/logger.js';
7
7
  /**
8
8
  * The Scene class serves as the container for various gameplay elements. It holds rooms, manages player
9
9
  * and NPC locations, and enables interactions between these entities.
10
10
  */
11
11
  export declare abstract class AbstractScene {
12
- protected rooms: IRooms;
12
+ protected rooms: Record<string, Room>;
13
13
  protected player: Player;
14
14
  protected logger: Logger;
15
15
  protected characterLocations: Map<string, Room>;
@@ -17,7 +17,7 @@ export declare abstract class AbstractScene {
17
17
  abstract removeActor(name: string): void;
18
18
  abstract addActor(actor: Player | NPC): void;
19
19
  abstract getPlayer(): Player;
20
- abstract getRooms(): IRooms;
20
+ abstract getRooms(): Record<string, Room>;
21
21
  abstract addRoom(room: Room): void;
22
22
  abstract removeRoom(roomName: string): boolean;
23
23
  abstract addItemToRoom(item: Item, roomName: string): void;
@@ -55,6 +55,7 @@ export declare abstract class AbstractRoom extends EventEmitter {
55
55
  * to navigate between different areas of the game world.
56
56
  */
57
57
  export declare abstract class AbstractDoor {
58
+ name: string;
58
59
  roomA: Room;
59
60
  roomB: Room;
60
61
  isLocked: boolean;
@@ -86,7 +87,6 @@ export declare abstract class AbstractInventory {
86
87
  * Each item has distinct attributes and can potentially have special functions when used.
87
88
  */
88
89
  export declare abstract class AbstractItem {
89
- uuid: string;
90
90
  name: string;
91
91
  description: string;
92
92
  size: Size;
@@ -102,14 +102,17 @@ export declare abstract class AbstractItem {
102
102
  * The Player class represents the user's character within the game world.
103
103
  * The player has a name, location, inventory for holding items, and equipment for wearing and wielding items.
104
104
  * Each player can interact with the game environment, carry items, and equip or unequip them.
105
+ *
106
+ * The Player is the base class the NPC is derived from
105
107
  */
106
- export declare abstract class AbstractPlayer implements IPlayer {
108
+ export declare abstract class AbstractPlayer extends EventEmitter {
107
109
  readonly _playerName: string;
108
110
  protected _currentLocation: Room;
109
111
  protected _inventory: Inventory;
110
112
  protected _equipment: PlayerEquipment;
111
113
  protected _maxCarryingWeight: number;
112
114
  protected _logger: Logger;
115
+ constructor();
113
116
  abstract get name(): string;
114
117
  abstract get currentLocation(): Room;
115
118
  abstract set currentLocation(room: Room);
@@ -29,6 +29,7 @@ export class AbstractRoom extends EventEmitter {
29
29
  * to navigate between different areas of the game world.
30
30
  */
31
31
  export class AbstractDoor {
32
+ name;
32
33
  roomA; // One side of the door
33
34
  roomB; // The other side of the door
34
35
  isLocked;
@@ -49,7 +50,6 @@ export class AbstractInventory {
49
50
  * Each item has distinct attributes and can potentially have special functions when used.
50
51
  */
51
52
  export class AbstractItem {
52
- uuid;
53
53
  name;
54
54
  description;
55
55
  size;
@@ -64,14 +64,19 @@ export class AbstractItem {
64
64
  * The Player class represents the user's character within the game world.
65
65
  * The player has a name, location, inventory for holding items, and equipment for wearing and wielding items.
66
66
  * Each player can interact with the game environment, carry items, and equip or unequip them.
67
+ *
68
+ * The Player is the base class the NPC is derived from
67
69
  */
68
- export class AbstractPlayer {
70
+ export class AbstractPlayer extends EventEmitter {
69
71
  _playerName;
70
72
  _currentLocation;
71
73
  _inventory;
72
74
  _equipment;
73
75
  _maxCarryingWeight;
74
76
  _logger;
77
+ constructor() {
78
+ super(); // Initialize EventEmitter
79
+ }
75
80
  }
76
81
  /**
77
82
  * The Puzzle class represents a challenge or riddle in the game that the player must solve.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstracts.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/shared/abstracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAsBtC;;;GAGG;AACH,MAAM,OAAgB,aAAa;IACvB,KAAK,CAAuB;IAC5B,MAAM,CAAS;IACf,MAAM,CAAS;IACf,kBAAkB,CAAoB;CAcjD;AAED;;;;GAIG;AACH,MAAM,OAAgB,YAAa,SAAQ,YAAY;IAC9C,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,KAAK,CAAgC;IACrC,SAAS,CAAY;IACrB,MAAM,CAAU;IAChB,QAAQ,CAAS;IACjB,WAAW,CAAU;CAW7B;AAED;;;;GAIG;AACH,MAAM,OAAgB,YAAY;IAChC,IAAI,CAAS;IACb,KAAK,CAAO,CAAE,uBAAuB;IACrC,KAAK,CAAO,CAAE,6BAA6B;IAC3C,QAAQ,CAAU;IAClB,oBAAoB,CAAU;IAC9B,MAAM,CAAS;IACf,UAAU,CAAU;CAMrB;AAED;;;GAGG;AACH,MAAM,OAAgB,iBAAiB;IAC3B,KAAK,CAAoB;IACzB,MAAM,CAAS;CAS1B;AAED;;;GAGG;AACH,MAAM,OAAgB,YAAY;IACzB,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,IAAI,CAAO;IACX,QAAQ,CAAW;IACnB,KAAK,CAAS;IACd,KAAK,CAAS;IACd,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,MAAM,CAAS;CAGvB;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,cAAe,SAAQ,YAAY;IAC9C,WAAW,CAAS;IACnB,gBAAgB,CAAO;IACvB,UAAU,CAAY;IACtB,UAAU,CAAkB;IAC5B,kBAAkB,CAAS;IAC3B,OAAO,CAAS;IAE1B;QACE,KAAK,EAAE,CAAC,CAAC,0BAA0B;IACrC,CAAC;CAsBF;AAED;;;;GAIG;AACH,MAAM,OAAgB,cAAc;IACxB,MAAM,CAAS;IACf,MAAM,CAAU;CAc3B"}
@@ -0,0 +1,8 @@
1
+ export declare enum Direction {
2
+ NORTH = "north",
3
+ EAST = "east",
4
+ SOUTH = "south",
5
+ WEST = "west",
6
+ UP = "up",
7
+ DOWN = "down"
8
+ }
@@ -0,0 +1,10 @@
1
+ export var Direction;
2
+ (function (Direction) {
3
+ Direction["NORTH"] = "north";
4
+ Direction["EAST"] = "east";
5
+ Direction["SOUTH"] = "south";
6
+ Direction["WEST"] = "west";
7
+ Direction["UP"] = "up";
8
+ Direction["DOWN"] = "down";
9
+ })(Direction || (Direction = {}));
10
+ //# sourceMappingURL=direction-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direction-enum.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/shared/direction-enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,sBAAS,CAAA;IACT,0BAAa,CAAA;AACf,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB"}
@@ -0,0 +1,25 @@
1
+ export declare enum EquipmentSlot {
2
+ Eyes = "eyes",
3
+ Skull = "skull",
4
+ Ears = "ears",
5
+ Mouth = "mouth",
6
+ Nose = "nose",
7
+ Backpack = "backpack",
8
+ LeftShoulder = "leftShoulder",
9
+ RightShoulder = "rightShoulder",
10
+ Bandolier = "bandolier",
11
+ LeftHip = "leftHip",
12
+ RightHip = "rightHip",
13
+ LeftThigh = "leftThigh",
14
+ RightThigh = "rightThigh",
15
+ LeftAnkle = "leftAnkle",
16
+ RightAnkle = "rightAnkle",
17
+ LeftBicept = "leftBicept",
18
+ RightBicept = "rightBicept",
19
+ LeftForearm = "leftForearm",
20
+ RightForearm = "rightForearm",
21
+ LeftWrist = "leftWrist",
22
+ RightWrist = "rightWrist",
23
+ LeftRing = "leftRing",
24
+ RightRing = "rightRing"
25
+ }
@@ -0,0 +1,27 @@
1
+ export var EquipmentSlot;
2
+ (function (EquipmentSlot) {
3
+ EquipmentSlot["Eyes"] = "eyes";
4
+ EquipmentSlot["Skull"] = "skull";
5
+ EquipmentSlot["Ears"] = "ears";
6
+ EquipmentSlot["Mouth"] = "mouth";
7
+ EquipmentSlot["Nose"] = "nose";
8
+ EquipmentSlot["Backpack"] = "backpack";
9
+ EquipmentSlot["LeftShoulder"] = "leftShoulder";
10
+ EquipmentSlot["RightShoulder"] = "rightShoulder";
11
+ EquipmentSlot["Bandolier"] = "bandolier";
12
+ EquipmentSlot["LeftHip"] = "leftHip";
13
+ EquipmentSlot["RightHip"] = "rightHip";
14
+ EquipmentSlot["LeftThigh"] = "leftThigh";
15
+ EquipmentSlot["RightThigh"] = "rightThigh";
16
+ EquipmentSlot["LeftAnkle"] = "leftAnkle";
17
+ EquipmentSlot["RightAnkle"] = "rightAnkle";
18
+ EquipmentSlot["LeftBicept"] = "leftBicept";
19
+ EquipmentSlot["RightBicept"] = "rightBicept";
20
+ EquipmentSlot["LeftForearm"] = "leftForearm";
21
+ EquipmentSlot["RightForearm"] = "rightForearm";
22
+ EquipmentSlot["LeftWrist"] = "leftWrist";
23
+ EquipmentSlot["RightWrist"] = "rightWrist";
24
+ EquipmentSlot["LeftRing"] = "leftRing";
25
+ EquipmentSlot["RightRing"] = "rightRing";
26
+ })(EquipmentSlot || (EquipmentSlot = {}));
27
+ //# sourceMappingURL=equipment-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment-enum.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/shared/equipment-enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAwBX;AAxBD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,0CAAyB,CAAA;IACzB,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,8CAA6B,CAAA;IAC7B,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,wCAAuB,CAAA;AACzB,CAAC,EAxBW,aAAa,KAAb,aAAa,QAwBxB"}
@@ -0,0 +1,34 @@
1
+ export declare enum Size {
2
+ Tiny = "tiny",
3
+ Small = "small",
4
+ Medium = "medium",
5
+ Large = "large",
6
+ VeryLarge = "very large"
7
+ }
8
+ export declare enum Rating {
9
+ Common = "common",
10
+ Standard = "standard",
11
+ Rare = "rare",
12
+ Legendary = "legendary",
13
+ MilitaryGrade = "military-grade"
14
+ }
15
+ export declare enum Category {
16
+ Weapon = "weapon",
17
+ Shield = "shield",
18
+ Key = "key",
19
+ Gloves = "gloves",
20
+ Helmet = "helmet",
21
+ Hat = "hat",
22
+ Boots = "boots",
23
+ LegArmor = "leg armor",
24
+ ArmArmor = "arm armor",
25
+ BodyArmor = "body armor",
26
+ Book = "book",
27
+ Cup = "cup",
28
+ Unknown = "unknown",
29
+ CurrencyContainer = "currency container",
30
+ Medical = "medical",
31
+ Consumable = "consumable",
32
+ Tool = "tool",
33
+ Vice = "vice"
34
+ }
@@ -0,0 +1,38 @@
1
+ export var Size;
2
+ (function (Size) {
3
+ Size["Tiny"] = "tiny";
4
+ Size["Small"] = "small";
5
+ Size["Medium"] = "medium";
6
+ Size["Large"] = "large";
7
+ Size["VeryLarge"] = "very large";
8
+ })(Size || (Size = {}));
9
+ export var Rating;
10
+ (function (Rating) {
11
+ Rating["Common"] = "common";
12
+ Rating["Standard"] = "standard";
13
+ Rating["Rare"] = "rare";
14
+ Rating["Legendary"] = "legendary";
15
+ Rating["MilitaryGrade"] = "military-grade";
16
+ })(Rating || (Rating = {}));
17
+ export var Category;
18
+ (function (Category) {
19
+ Category["Weapon"] = "weapon";
20
+ Category["Shield"] = "shield";
21
+ Category["Key"] = "key";
22
+ Category["Gloves"] = "gloves";
23
+ Category["Helmet"] = "helmet";
24
+ Category["Hat"] = "hat";
25
+ Category["Boots"] = "boots";
26
+ Category["LegArmor"] = "leg armor";
27
+ Category["ArmArmor"] = "arm armor";
28
+ Category["BodyArmor"] = "body armor";
29
+ Category["Book"] = "book";
30
+ Category["Cup"] = "cup";
31
+ Category["Unknown"] = "unknown";
32
+ Category["CurrencyContainer"] = "currency container";
33
+ Category["Medical"] = "medical";
34
+ Category["Consumable"] = "consumable";
35
+ Category["Tool"] = "tool";
36
+ Category["Vice"] = "vice";
37
+ })(Category || (Category = {}));
38
+ //# sourceMappingURL=item-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-enum.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/shared/item-enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,IAMX;AAND,WAAY,IAAI;IACd,qBAAa,CAAA;IACX,uBAAe,CAAA;IACf,yBAAiB,CAAA;IACjB,uBAAe,CAAA;IACf,gCAAwB,CAAA;AAC5B,CAAC,EANW,IAAI,KAAJ,IAAI,QAMf;AAED,MAAM,CAAN,IAAY,MAMX;AAND,WAAY,MAAM;IAChB,2BAAiB,CAAA;IACf,+BAAqB,CAAA;IACrB,uBAAa,CAAA;IACb,iCAAuB,CAAA;IACvB,0CAAgC,CAAA;AACpC,CAAC,EANW,MAAM,KAAN,MAAM,QAMjB;AAED,MAAM,CAAN,IAAY,QAmBX;AAnBD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACf,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,uBAAW,CAAA;IACX,2BAAe,CAAA;IACf,kCAAsB,CAAA;IACtB,kCAAsB,CAAA;IACtB,oCAAwB,CAAA;IACxB,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,+BAAmB,CAAA;IACnB,oDAAwC,CAAA;IACxC,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,yBAAa,CAAA;IACb,yBAAa,CAAA;AACjB,CAAC,EAnBW,QAAQ,KAAR,QAAQ,QAmBnB"}
@@ -1,3 +1,7 @@
1
- import { IMainGameConfig } from './types/interfaces.js';
2
- import { ISceneSeedJson } from './types/interfaces.js';
1
+ import { ISceneSeedJson } from './types/seed/scene-seed.js';
2
+ export interface IMainGameConfig {
3
+ debug?: boolean;
4
+ logFilePath: string;
5
+ useAi: boolean;
6
+ }
3
7
  export declare function main(playerName: string, sceneSeed: ISceneSeedJson, options: IMainGameConfig): Promise<void>;
@@ -1,16 +1,17 @@
1
1
  import blessed from 'blessed';
2
2
  import { capitalCase } from 'change-case';
3
3
  import Game from './game.js';
4
- import { Player } from './models/player.js';
5
- import { Door } from './models/door.js';
4
+ import { Player, Room } from './models/_index.js';
6
5
  import { Logger } from './utilities/logger.js';
7
6
  export async function main(playerName, sceneSeed, options) {
7
+ // Create a screen object
8
+ const screen = blessed.screen({
9
+ smartCSR: true,
10
+ title: 'Side Quest Adventure Game',
11
+ });
12
+ // Initialize Logger
13
+ const gameLog = Logger.getInstance(options.logFilePath, screen);
8
14
  try {
9
- // Create a screen object
10
- const screen = blessed.screen({
11
- smartCSR: true,
12
- title: 'Side Quest Adventure Game',
13
- });
14
15
  const inventoryBox = blessed.box({
15
16
  top: '0%',
16
17
  left: '75%',
@@ -81,69 +82,32 @@ export async function main(playerName, sceneSeed, options) {
81
82
  // Append the equipment box to the screen
82
83
  screen.append(equipmentBox);
83
84
  const updateEquipment = (playerEquipment) => {
84
- // Update the equipment box on the blessed screen
85
- equipmentBox.setContent(`Head: ${playerEquipment.head ? playerEquipment.head.name : 'None'}\n` +
86
- `Torso: ${playerEquipment.torso ? playerEquipment.torso.name : 'None'}\n` +
87
- `Legs: ${playerEquipment.legs ? playerEquipment.legs.name : 'None'}\n` +
88
- `Feet: ${playerEquipment.feet ? playerEquipment.feet.name : 'None'}\n` +
89
- `Arms: ${playerEquipment.arms ? playerEquipment.arms.name : 'None'}\n` +
90
- `Gloves: ${playerEquipment.gloves ? playerEquipment.gloves.name : 'None'}\n` +
91
- `Left Hand: ${playerEquipment.leftHand ? playerEquipment.leftHand.name : 'None'}\n` +
92
- `Right Hand: ${playerEquipment.rightHand ? playerEquipment.rightHand.name : 'None'}\n`);
93
- // Render the screen to reflect the changes
94
- screen.render();
95
- };
96
- // Map
97
- const exitsBox = blessed.box({
98
- top: '70%',
99
- left: '75%',
100
- width: '25%',
101
- height: '20%',
102
- border: {
103
- type: 'line'
104
- },
105
- label: ' Map ',
106
- content: 'Available exits will be shown here...',
107
- tags: true,
108
- scrollable: true,
109
- scrollbar: {
110
- ch: ' ',
111
- track: {
112
- bg: 'yellow'
113
- },
114
- style: {
115
- inverse: true
85
+ const sections = [];
86
+ const renderSlotGroup = (label, group) => {
87
+ if (!group) {
88
+ sections.push(`{bold}${label}:{/bold} None`);
89
+ return;
116
90
  }
117
- },
118
- keys: true,
119
- mouse: true,
120
- });
121
- screen.append(exitsBox);
122
- const updateExits = (room) => {
123
- let description = `Currently in: ${room.name}\n\n`;
124
- description += `----- Exits ------\n`;
125
- if (room.exits.size > 0) {
126
- room.exits.forEach((exit, key) => {
127
- if (exit instanceof Door) {
128
- const nextRoom = exit.getOtherSideToName(room);
129
- description += `${capitalCase(key)}: ${nextRoom}`;
130
- if (exit.checkIfLocked()) {
131
- description += " (Locked)";
132
- }
133
- else if (exit.checkIfLockable()) {
134
- description += ' (Unlocked)';
135
- }
136
- description += '\n';
137
- }
138
- else {
139
- description += `${capitalCase(key)}\n`; // Example: "NORTH"
140
- }
141
- });
142
- }
143
- else {
144
- description += '\nThere are no exits here.';
145
- }
146
- exitsBox.setContent(description);
91
+ const equipped = Object.entries(group)
92
+ .filter(([_, item]) => item !== null)
93
+ .map(([slot, item]) => ` ${slot}: ${item.name}`);
94
+ if (equipped.length > 0) {
95
+ sections.push(`{bold}${label}:{/bold}`);
96
+ sections.push(...equipped);
97
+ }
98
+ else {
99
+ sections.push(`{bold}${label}:{/bold} None`);
100
+ }
101
+ };
102
+ renderSlotGroup("Head", playerEquipment.head);
103
+ renderSlotGroup("Torso", playerEquipment.torso);
104
+ renderSlotGroup("Legs", playerEquipment.legs);
105
+ renderSlotGroup("Feet", playerEquipment.feet);
106
+ renderSlotGroup("Arms", playerEquipment.arms);
107
+ renderSlotGroup("Gloves", playerEquipment.gloves);
108
+ renderSlotGroup("Left Hand", playerEquipment.leftHand);
109
+ renderSlotGroup("Right Hand", playerEquipment.rightHand);
110
+ equipmentBox.setContent(sections.join('\n'));
147
111
  screen.render();
148
112
  };
149
113
  // Create a log box to display game output
@@ -195,17 +159,21 @@ export async function main(playerName, sceneSeed, options) {
195
159
  inputBox.focus();
196
160
  // Render the screen
197
161
  screen.render();
198
- // Initialize Logger
199
- const gameLog = Logger.getInstance(options.logFilePath, screen);
200
- const player = new Player({ playerName });
201
- // Create the game instance
202
162
  gameLog.write(`----->>>>>> Initializing Game`);
203
- const game = Game.getInstance(player, sceneSeed);
163
+ const nexus = new Room({
164
+ name: 'Nexus',
165
+ description: 'A featureless room where lost souls drift.',
166
+ roomType: 'void'
167
+ });
168
+ const player = new Player({ playerName, startLocation: nexus });
169
+ // Create the game instance
170
+ const game = await Game.getInstance(player, sceneSeed);
171
+ const ready = await game.init(options, screen);
204
172
  // Print welcome message or initial room description
205
- logBox.setContent(game.getWelcomeMessage()); // getWelcomeMessage should return the initial game introduction or room description
173
+ logBox.setContent(ready); // getWelcomeMessage should return the initial game introduction or room description
206
174
  updateEquipment(game.player.equipment);
207
175
  updateInventory(game.player.inventory, capitalCase(game.scene.getCurrencyType()));
208
- updateExits(game.player.currentLocation);
176
+ game.updateExits(game.player.currentLocation);
209
177
  inputBox.key(['enter'], async () => {
210
178
  const input = inputBox.getValue();
211
179
  const response = game.handleInput(input); // handleInput is the method that processes commands
@@ -217,13 +185,13 @@ export async function main(playerName, sceneSeed, options) {
217
185
  }
218
186
  // eslint-disable-next-line no-constant-condition
219
187
  if (input.split(' ')[0] === 'go' || 'lock' || 'unlock') {
220
- updateExits(game.player.currentLocation);
188
+ game.updateExits(game.player.currentLocation);
221
189
  }
222
190
  if (input.split(' ')[0] === 'clear') {
223
191
  logBox.setContent('');
224
192
  }
193
+ gameLog.write(`Input response: ${response}`);
225
194
  if (response === null) {
226
- console.log('Thanks for playing!');
227
195
  screen.render();
228
196
  gameLog.write(`<<<<<<<<--------- Terminating game`);
229
197
  process.exit(0); // Exit the game
@@ -236,7 +204,8 @@ export async function main(playerName, sceneSeed, options) {
236
204
  });
237
205
  }
238
206
  catch (error) {
239
- console.log(error);
207
+ gameLog.error(error);
208
+ gameLog.error(`<<<<<<<<--------- Terminating game`);
240
209
  process.exit(1);
241
210
  }
242
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/ui.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EACL,MAAM,EAIN,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,UAAkB,EAClB,SAAyB,EACzB,OAAwB;IAExB,yBAAyB;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,2BAA2B;KACnC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhE,IAAI,CAAC;QAEH,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;YAC/B,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;aACb;YACD,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,mCAAmC;YAC5C,IAAI,EAAE,IAAI,EAAE,oCAAoC;YAChD,UAAU,EAAE,IAAI,EAAE,4CAA4C;YAC9D,SAAS,EAAE;gBACT,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ;iBACb;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;iBACd;aACF;YACD,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,eAAe,GAAG,CAAC,eAA0B,EAAE,eAAuB,UAAU,EAAE,EAAE;YACxF,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;YAE5C,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAErB,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;oBAC1D,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,GAAG,CAAC;oBACpC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC;gBACvC,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,SAAS,CAAC,OAAO,CAAC,eAAe,YAAY,YAAY,aAAa,IAAI,CAAC,CAAC;YAE5E,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;QAGF,yCAAyC;QACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;YAC/B,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;aACb;YACD,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE;gBACT,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ;iBACb;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;iBACd;aACF;YACD,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,eAAe,GAAG,CAAC,eAAgC,EAAQ,EAAE;YACjE,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,KAAyC,EAAE,EAAE;gBACnF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC;oBAC7C,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;qBACnC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;qBACpC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,eAAe,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CAAC;YAEF,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9C,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9C,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9C,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC9C,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YAClD,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;YACvD,eAAe,CAAC,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YAEzD,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;QAIF,0CAA0C;QAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YACzB,EAAE,EAAE,QAAQ;YACZ,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;aACb;YACD,KAAK,EAAE,YAAY;YACnB,UAAU,EAAE,IAAI,EAAE,mBAAmB;YACrC,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE;gBACT,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE;oBACL,EAAE,EAAE,QAAQ;iBACb;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;iBACd;aACF;YACD,IAAI,EAAE,IAAI,EAAE,wBAAwB;YACpC,KAAK,EAAE,IAAI,EAAE,qBAAqB;YAClC,IAAI,EAAE,IAAI,CAAC,iBAAiB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtB,wCAAwC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,EAAE,IAAI,EAAE,wBAAwB;YACpC,KAAK,EAAE,IAAI,EAAE,qBAAqB;YAClC,YAAY,EAAE,IAAI,EAAE,qCAAqC;YACzD,EAAE,EAAE,IAAI;SACT,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExB,eAAe;QACf,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,oCAAoC;QACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,oBAAoB;QACpB,MAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC;YACrB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,2BAA2B;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE/C,oDAAoD;QACpD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,oFAAoF;QAE9G,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAE9C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,oDAAoD;YAE9F,iDAAiD;YACjD,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBAC3D,+DAA+D;gBAC/D,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBAClF,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAED,iDAAiD;YACjD,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACpC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAE7C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACnC,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjB,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,mDAAmD;AACnD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { Widgets } from 'blessed';
2
- import { ILogger } from '../types/interfaces.js';
3
- export declare class Logger implements ILogger {
2
+ type BlessedColor = 'black' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan' | 'white' | 'gray' | 'lightred' | 'lightgreen' | 'lightblue' | 'lightmagenta' | 'lightcyan' | 'lightgray';
3
+ export declare class Logger {
4
4
  private static instance;
5
5
  private filePath;
6
6
  private screen?;
@@ -10,5 +10,7 @@ export declare class Logger implements ILogger {
10
10
  write(message: string): void;
11
11
  error(message: string): void;
12
12
  log(message: string): void;
13
+ logWithColor(message: string, color?: BlessedColor): void;
13
14
  hasScreen(): boolean;
14
15
  }
16
+ export {};
@@ -43,18 +43,22 @@ export class Logger {
43
43
  fs.appendFileSync(this.filePath, errorMessage);
44
44
  }
45
45
  log(message) {
46
- // Retrieve logBox from the screen
47
46
  const logBox = this.screen?.children.find(child => child.type === 'box' && child.options.id === 'logBox');
48
47
  if (logBox) {
49
- logBox.setContent(logBox.content + "\n" + message);
48
+ logBox.insertBottom(message); // Supports color tags
50
49
  logBox.scrollTo(logBox.getScrollHeight());
51
50
  this.screen?.render();
52
51
  }
53
52
  else {
54
53
  this.error(`The logbox ${logBox} could not be found on screen ${this.screen}`);
55
54
  }
56
- this.write(message);
57
- // You can also keep the file writing logic here if needed
55
+ // Strip Blessed color tags before writing to file
56
+ const strippedMessage = message.replace(/\{[^}]+\}/g, '');
57
+ this.write(strippedMessage);
58
+ }
59
+ logWithColor(message, color = 'white') {
60
+ const coloredMessage = `{${color}-fg}${message}{/${color}-fg}`;
61
+ this.log(coloredMessage);
58
62
  }
59
63
  hasScreen() {
60
64
  return !!this.screen;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/logger.ts"],"names":[],"mappings":"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"}