@maka/maka-cli 5.1.28 → 5.1.30

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 (167) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/_index.d.ts +1 -0
  3. package/bundle/typescript/src/commands/_index.js +1 -1
  4. package/bundle/typescript/src/commands/_index.js.map +1 -1
  5. package/bundle/typescript/src/commands/ai.js +0 -1
  6. package/bundle/typescript/src/commands/ai.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/command.d.ts +12 -6
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/command.js +1 -1
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/command.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.d.ts +1 -2
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js +2 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/drop.js.map +1 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.d.ts +1 -2
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js +1 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/equip.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +1 -2
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +3 -0
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/lock.d.ts +1 -2
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js +1 -0
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/lock.js.map +1 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/look.d.ts +1 -2
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +2 -1
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/say.d.ts +3 -4
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +5 -3
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/search.d.ts +1 -2
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +1 -0
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.d.ts +1 -2
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js +1 -0
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/solve.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/store.d.ts +1 -2
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/store.js +1 -0
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/store.js.map +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/take.d.ts +1 -2
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +1 -0
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.d.ts +9 -0
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js +52 -0
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/talk.js.map +1 -0
  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 +1 -0
  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 +9 -0
  59. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js +33 -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 +116 -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 +7 -5
  71. package/bundle/typescript/src/commands/game/sideQuest/game.js +40 -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 +25 -4
  80. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +27 -13
  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 +15 -12
  83. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +97 -29
  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 -56
  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 +78 -6
  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 +25 -17
  95. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +76 -68
  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 +55 -108
  98. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +131 -151
  99. package/bundle/typescript/src/commands/game/sideQuest/types/enums.d.ts +16 -7
  100. package/bundle/typescript/src/commands/game/sideQuest/types/enums.js +15 -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} +13 -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 +47 -25
  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 +19 -12
  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 +4 -1
  150. package/bundle/typescript/src/tools/https/https.class.js +67 -12
  151. package/bundle/typescript/src/tools/https/https.class.js.map +1 -1
  152. package/bundle/typescript/src/tools/https/https.interface.d.ts +2 -1
  153. package/package.json +1 -1
  154. package/bundle/typescript/src/commands/game/sideQuest/factories/commandF.d.ts +0 -10
  155. package/bundle/typescript/src/commands/game/sideQuest/factories/commandF.js.map +0 -1
  156. package/bundle/typescript/src/commands/game/sideQuest/factories/roomsF.d.ts +0 -6
  157. package/bundle/typescript/src/commands/game/sideQuest/factories/roomsF.js +0 -18
  158. package/bundle/typescript/src/commands/game/sideQuest/factories/roomsF.js.map +0 -1
  159. package/bundle/typescript/src/commands/game/sideQuest/factories/sceneSynthesizer.js +0 -77
  160. package/bundle/typescript/src/commands/game/sideQuest/factories/sceneSynthesizer.js.map +0 -1
  161. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene3.json +0 -380
  162. package/bundle/typescript/src/commands/game/sideQuest/types/abstracts.js.map +0 -1
  163. package/bundle/typescript/src/commands/game/sideQuest/types/interfaces.d.ts +0 -197
  164. package/bundle/typescript/src/commands/game/sideQuest/types/interfaces.js +0 -2
  165. package/bundle/typescript/src/commands/game/sideQuest/types/interfaces.js.map +0 -1
  166. package/bundle/typescript/src/commands/game/sideQuest/types/types.js +0 -2
  167. package/bundle/typescript/src/commands/game/sideQuest/types/types.js.map +0 -1
@@ -1,7 +1,5 @@
1
1
  import { Item } from '../models/item.js';
2
- import { IRoomConfiguration } from './interfaces.js';
3
2
  export type Inventory = Item[];
4
- export type RoomConfiguration = IRoomConfiguration[];
5
3
  export type HeadEquipment = {
6
4
  eyes: Item | null;
7
5
  skull: Item | null;
@@ -42,12 +40,12 @@ export type RightHandEquipment = {
42
40
  ring: Item | null;
43
41
  };
44
42
  export type PlayerEquipment = {
45
- head: Item | null;
46
- torso: Item | null;
47
- legs: Item | null;
48
- feet: Item | null;
49
- arms: Item | null;
50
- gloves: Item | null;
51
- leftHand: Item | null;
52
- rightHand: Item | null;
43
+ head: HeadEquipment | null;
44
+ torso: TorsoEquipment | null;
45
+ legs: LegEquipment | null;
46
+ feet: FeetEquipment | null;
47
+ arms: ArmsEquipment | null;
48
+ gloves: GlovesEquipment | null;
49
+ leftHand: LeftHandEquipment | null;
50
+ rightHand: RightHandEquipment | null;
53
51
  };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=player-equipment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-equipment.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/types/player-equipment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface IExitSeedJson {
2
+ direction: string;
3
+ targetRoom: string;
4
+ keyRequired?: string;
5
+ doorName?: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exit-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/exit-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { Size, Category, Rating } from '../shared/item-enum.js';
2
+ export interface IItemSeedJson {
3
+ name: string;
4
+ description: string;
5
+ content?: string;
6
+ size: keyof typeof Size;
7
+ category: keyof typeof Category;
8
+ shape: string;
9
+ color: string;
10
+ texture: string;
11
+ rating: keyof typeof Rating;
12
+ weight: number;
13
+ details?: string;
14
+ currencyAmount?: number;
15
+ satisfiesLifestyle?: {
16
+ addictionTypes?: string[];
17
+ habitTags?: string[];
18
+ };
19
+ room?: string;
20
+ heldBy?: string;
21
+ owner?: string;
22
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=item-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/item-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export interface LifestyleChoice {
2
+ type: 'residence' | 'employment' | 'vice';
3
+ metadata: ResidenceChoice | EmploymentChoice | ViceChoice;
4
+ }
5
+ export interface ResidenceChoice {
6
+ tier: 'Street' | 'Squatter' | 'Low' | 'Medium' | 'High' | 'Luxury' | 'Custom';
7
+ location?: string;
8
+ description?: string;
9
+ }
10
+ export interface EmploymentChoice {
11
+ jobTitle: string;
12
+ employer?: string;
13
+ SINRegistered?: boolean;
14
+ description?: string;
15
+ }
16
+ export interface ViceChoice {
17
+ addictions?: AddictionType[];
18
+ mentalHealthFlags?: MentalHealthFlag[];
19
+ }
20
+ export type AddictionType = 'Alcohol' | 'Cigarettes' | 'Cigars' | 'BTLs' | 'Jazz' | 'Cram' | 'Long Haul' | 'Novacoke' | 'Psyche' | 'Deepweed' | 'Kamikaze' | 'Zen' | 'Bliss' | 'Nitro' | 'Laés' | 'Tempo' | 'Other';
21
+ export type MentalHealthFlag = 'Paranoia' | 'Depression' | 'PTSD' | 'Insomnia' | 'Violent Impulses' | 'Compulsive Behavior' | 'Other';
22
+ export type LifestyleChoices = LifestyleChoice[];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lifestyle-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifestyle-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/lifestyle-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { IPlayerSeedJson } from './player-seed.js';
2
+ export interface INPCSeedJson {
3
+ dialogue?: string[];
4
+ description?: string;
5
+ player: IPlayerSeedJson;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=npc-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npc-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/npc-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { LifestyleChoice } from './lifestyle-seed.js';
2
+ export interface IPlayerSeedJson {
3
+ name: string;
4
+ startLocation: string;
5
+ lifestyleChoices: LifestyleChoice[];
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=player-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/player-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export interface IPuzzleSeedJson {
2
+ name: string;
3
+ room: string;
4
+ riddle: string;
5
+ requiredPhrase?: string;
6
+ requiredItem?: string;
7
+ rewardItem?: string;
8
+ successMessage?: string;
9
+ failureMessage?: string;
10
+ hobbyTags?: string[];
11
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=puzzle-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzle-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/puzzle-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { IExitSeedJson } from './exit-seed.js';
2
+ export interface IRoomSeedJson {
3
+ name: string;
4
+ description: string;
5
+ roomType: string;
6
+ isStartRoom?: boolean;
7
+ owner?: string;
8
+ tags?: string[];
9
+ exits: IExitSeedJson[];
10
+ supportedLifestyles?: {
11
+ residenceTiers?: string[];
12
+ employmentTags?: string[];
13
+ addictionTypes?: string[];
14
+ habitTags?: string[];
15
+ };
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=room-seed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room-seed.js","sourceRoot":"","sources":["../../../../../../../../src/commands/game/sideQuest/types/seed/room-seed.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { IRoomSeedJson } from './room-seed.js';
2
+ import { INPCSeedJson } from './npc-seed.js';
3
+ import { IItemSeedJson } from './item-seed.js';
4
+ import { IPuzzleSeedJson } from './puzzle-seed.js';
5
+ export interface ISceneSeedJson {
6
+ name: string;
7
+ currency: {
8
+ type: string;
9
+ authorityRoomTags: string[];
10
+ };
11
+ rooms: IRoomSeedJson[];
12
+ npcs: INPCSeedJson[];
13
+ items: IItemSeedJson[];
14
+ puzzles: IPuzzleSeedJson[];
15
+ residenceTiers: string[];
16
+ }
@@ -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);
@@ -123,6 +126,7 @@ export declare abstract class AbstractPlayer implements IPlayer {
123
126
  abstract removeInventory(item: Item): boolean;
124
127
  abstract equip(item: Item): string;
125
128
  abstract unequip(input: string): string;
129
+ abstract hear(actor: Player, message: string): void;
126
130
  }
127
131
  /**
128
132
  * The Puzzle class represents a challenge or riddle in the game that the player must solve.
@@ -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, Door, 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,16 +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
85
+ const sections = [];
86
+ const renderSlotGroup = (label, group) => {
87
+ if (!group) {
88
+ sections.push(`{bold}${label}:{/bold} None`);
89
+ return;
90
+ }
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'));
94
111
  screen.render();
95
112
  };
96
113
  // Map
@@ -195,14 +212,18 @@ export async function main(playerName, sceneSeed, options) {
195
212
  inputBox.focus();
196
213
  // Render the screen
197
214
  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
215
  gameLog.write(`----->>>>>> Initializing Game`);
203
- const game = Game.getInstance(player, sceneSeed);
216
+ const nexus = new Room({
217
+ name: 'Nexus',
218
+ description: 'A featureless room where lost souls drift.',
219
+ roomType: 'void'
220
+ });
221
+ const player = new Player({ playerName, startLocation: nexus });
222
+ // Create the game instance
223
+ const game = await Game.getInstance(player, sceneSeed);
224
+ const ready = await game.init(options, screen);
204
225
  // Print welcome message or initial room description
205
- logBox.setContent(game.getWelcomeMessage()); // getWelcomeMessage should return the initial game introduction or room description
226
+ logBox.setContent(ready); // getWelcomeMessage should return the initial game introduction or room description
206
227
  updateEquipment(game.player.equipment);
207
228
  updateInventory(game.player.inventory, capitalCase(game.scene.getCurrencyType()));
208
229
  updateExits(game.player.currentLocation);
@@ -222,8 +243,8 @@ export async function main(playerName, sceneSeed, options) {
222
243
  if (input.split(' ')[0] === 'clear') {
223
244
  logBox.setContent('');
224
245
  }
246
+ gameLog.write(`Input response: ${response}`);
225
247
  if (response === null) {
226
- console.log('Thanks for playing!');
227
248
  screen.render();
228
249
  gameLog.write(`<<<<<<<<--------- Terminating game`);
229
250
  process.exit(0); // Exit the game
@@ -236,7 +257,8 @@ export async function main(playerName, sceneSeed, options) {
236
257
  });
237
258
  }
238
259
  catch (error) {
239
- console.log(error);
260
+ gameLog.error(error);
261
+ gameLog.error(`<<<<<<<<--------- Terminating game`);
240
262
  process.exit(1);
241
263
  }
242
264
  }