@rpgjs/server 4.2.2 → 5.0.0-alpha.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 (219) hide show
  1. package/{lib → dist}/Gui/DialogGui.d.ts +1 -2
  2. package/{lib → dist}/Gui/Gui.d.ts +1 -2
  3. package/dist/Player/BattleManager.d.ts +22 -0
  4. package/dist/Player/ClassManager.d.ts +18 -0
  5. package/dist/Player/Event.d.ts +0 -0
  6. package/dist/Player/ItemManager.d.ts +17 -0
  7. package/dist/Player/MoveManager.d.ts +177 -0
  8. package/dist/Player/ParameterManager.d.ts +42 -0
  9. package/dist/Player/Player.d.ts +73 -0
  10. package/dist/Player/SkillManager.d.ts +23 -0
  11. package/dist/Player/StateManager.d.ts +39 -0
  12. package/{lib → dist}/RpgServer.d.ts +34 -17
  13. package/dist/RpgServerEngine.d.ts +5 -0
  14. package/dist/core/context.d.ts +2 -0
  15. package/dist/core/inject.d.ts +5 -0
  16. package/dist/core/setup.d.ts +6 -0
  17. package/dist/index.d.ts +9 -0
  18. package/dist/index.js +29673 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/module.d.ts +2 -0
  21. package/dist/rooms/lobby.d.ts +6 -0
  22. package/dist/rooms/map.d.ts +110 -0
  23. package/package.json +16 -38
  24. package/src/Gui/DialogGui.ts +3 -4
  25. package/src/Gui/Gui.ts +4 -6
  26. package/src/Player/BattleManager.ts +108 -99
  27. package/src/Player/ClassManager.ts +47 -46
  28. package/src/Player/ComponentManager.ts +26 -535
  29. package/src/Player/EffectManager.ts +44 -59
  30. package/src/Player/ElementManager.ts +70 -72
  31. package/src/Player/Event.ts +0 -0
  32. package/src/Player/GoldManager.ts +24 -6
  33. package/src/Player/GuiManager.ts +106 -97
  34. package/src/Player/ItemFixture.ts +22 -17
  35. package/src/Player/ItemManager.ts +234 -225
  36. package/src/Player/MoveManager.ts +1047 -457
  37. package/src/Player/ParameterManager.ts +59 -37
  38. package/src/Player/Player.ts +272 -1058
  39. package/src/Player/SkillManager.ts +146 -137
  40. package/src/Player/StateManager.ts +124 -98
  41. package/src/Player/VariableManager.ts +23 -3
  42. package/src/RpgServer.ts +38 -14
  43. package/src/RpgServerEngine.ts +7 -0
  44. package/src/core/context.ts +3 -0
  45. package/src/core/inject.ts +17 -0
  46. package/src/core/setup.ts +20 -0
  47. package/src/index.ts +9 -31
  48. package/src/module.ts +32 -0
  49. package/src/presets/index.ts +1 -3
  50. package/src/rooms/lobby.ts +24 -0
  51. package/src/rooms/map.ts +311 -0
  52. package/tsconfig.json +26 -23
  53. package/vite.config.ts +21 -0
  54. package/CHANGELOG.md +0 -163
  55. package/LICENSE +0 -19
  56. package/browser/manifest.json +0 -7
  57. package/browser/rpg.server.js +0 -22372
  58. package/browser/rpg.server.umd.cjs +0 -22403
  59. package/lib/Game/EventManager.d.ts +0 -54
  60. package/lib/Game/EventManager.js +0 -107
  61. package/lib/Game/EventManager.js.map +0 -1
  62. package/lib/Game/Map.d.ts +0 -191
  63. package/lib/Game/Map.js +0 -414
  64. package/lib/Game/Map.js.map +0 -1
  65. package/lib/Game/WorldMaps.d.ts +0 -17
  66. package/lib/Game/WorldMaps.js +0 -28
  67. package/lib/Game/WorldMaps.js.map +0 -1
  68. package/lib/Gui/DialogGui.js +0 -57
  69. package/lib/Gui/DialogGui.js.map +0 -1
  70. package/lib/Gui/Gui.js +0 -37
  71. package/lib/Gui/Gui.js.map +0 -1
  72. package/lib/Gui/MenuGui.js +0 -23
  73. package/lib/Gui/MenuGui.js.map +0 -1
  74. package/lib/Gui/NotificationGui.js +0 -8
  75. package/lib/Gui/NotificationGui.js.map +0 -1
  76. package/lib/Gui/ShopGui.js +0 -40
  77. package/lib/Gui/ShopGui.js.map +0 -1
  78. package/lib/Gui/index.js +0 -7
  79. package/lib/Gui/index.js.map +0 -1
  80. package/lib/Interfaces/Gui.d.ts +0 -4
  81. package/lib/Interfaces/Gui.js +0 -2
  82. package/lib/Interfaces/Gui.js.map +0 -1
  83. package/lib/Interfaces/StateStore.d.ts +0 -5
  84. package/lib/Interfaces/StateStore.js +0 -2
  85. package/lib/Interfaces/StateStore.js.map +0 -1
  86. package/lib/MatchMaker.d.ts +0 -24
  87. package/lib/MatchMaker.js +0 -42
  88. package/lib/MatchMaker.js.map +0 -1
  89. package/lib/Monitor/index.d.ts +0 -17
  90. package/lib/Monitor/index.js +0 -72
  91. package/lib/Monitor/index.js.map +0 -1
  92. package/lib/Player/BattleManager.d.ts +0 -36
  93. package/lib/Player/BattleManager.js +0 -101
  94. package/lib/Player/BattleManager.js.map +0 -1
  95. package/lib/Player/ClassManager.d.ts +0 -47
  96. package/lib/Player/ClassManager.js +0 -65
  97. package/lib/Player/ClassManager.js.map +0 -1
  98. package/lib/Player/ComponentManager.d.ts +0 -397
  99. package/lib/Player/ComponentManager.js +0 -505
  100. package/lib/Player/ComponentManager.js.map +0 -1
  101. package/lib/Player/EffectManager.d.ts +0 -46
  102. package/lib/Player/EffectManager.js +0 -75
  103. package/lib/Player/EffectManager.js.map +0 -1
  104. package/lib/Player/ElementManager.d.ts +0 -108
  105. package/lib/Player/ElementManager.js +0 -120
  106. package/lib/Player/ElementManager.js.map +0 -1
  107. package/lib/Player/GoldManager.d.ts +0 -17
  108. package/lib/Player/GoldManager.js +0 -27
  109. package/lib/Player/GoldManager.js.map +0 -1
  110. package/lib/Player/GuiManager.d.ts +0 -247
  111. package/lib/Player/GuiManager.js +0 -291
  112. package/lib/Player/GuiManager.js.map +0 -1
  113. package/lib/Player/ItemFixture.d.ts +0 -7
  114. package/lib/Player/ItemFixture.js +0 -19
  115. package/lib/Player/ItemFixture.js.map +0 -1
  116. package/lib/Player/ItemManager.d.ts +0 -331
  117. package/lib/Player/ItemManager.js +0 -475
  118. package/lib/Player/ItemManager.js.map +0 -1
  119. package/lib/Player/MoveManager.d.ts +0 -333
  120. package/lib/Player/MoveManager.js +0 -450
  121. package/lib/Player/MoveManager.js.map +0 -1
  122. package/lib/Player/ParameterManager.d.ts +0 -316
  123. package/lib/Player/ParameterManager.js +0 -408
  124. package/lib/Player/ParameterManager.js.map +0 -1
  125. package/lib/Player/Player.d.ts +0 -828
  126. package/lib/Player/Player.js +0 -927
  127. package/lib/Player/Player.js.map +0 -1
  128. package/lib/Player/SkillManager.d.ts +0 -163
  129. package/lib/Player/SkillManager.js +0 -223
  130. package/lib/Player/SkillManager.js.map +0 -1
  131. package/lib/Player/StateManager.d.ts +0 -185
  132. package/lib/Player/StateManager.js +0 -228
  133. package/lib/Player/StateManager.js.map +0 -1
  134. package/lib/Player/VariableManager.d.ts +0 -46
  135. package/lib/Player/VariableManager.js +0 -52
  136. package/lib/Player/VariableManager.js.map +0 -1
  137. package/lib/Query.d.ts +0 -127
  138. package/lib/Query.js +0 -159
  139. package/lib/Query.js.map +0 -1
  140. package/lib/RpgServer.js +0 -2
  141. package/lib/RpgServer.js.map +0 -1
  142. package/lib/Scenes/Map.d.ts +0 -136
  143. package/lib/Scenes/Map.js +0 -273
  144. package/lib/Scenes/Map.js.map +0 -1
  145. package/lib/decorators/event.d.ts +0 -43
  146. package/lib/decorators/event.js +0 -13
  147. package/lib/decorators/event.js.map +0 -1
  148. package/lib/decorators/map.d.ts +0 -178
  149. package/lib/decorators/map.js +0 -43
  150. package/lib/decorators/map.js.map +0 -1
  151. package/lib/entry-point.d.ts +0 -34
  152. package/lib/entry-point.js +0 -70
  153. package/lib/entry-point.js.map +0 -1
  154. package/lib/express/api.d.ts +0 -3
  155. package/lib/express/api.js +0 -105
  156. package/lib/express/api.js.map +0 -1
  157. package/lib/express/errors/NotAuthorized.d.ts +0 -4
  158. package/lib/express/errors/NotAuthorized.js +0 -7
  159. package/lib/express/errors/NotAuthorized.js.map +0 -1
  160. package/lib/express/errors/NotFound.d.ts +0 -4
  161. package/lib/express/errors/NotFound.js +0 -7
  162. package/lib/express/errors/NotFound.js.map +0 -1
  163. package/lib/express/server.d.ts +0 -16
  164. package/lib/express/server.js +0 -65
  165. package/lib/express/server.js.map +0 -1
  166. package/lib/index.d.ts +0 -20
  167. package/lib/index.js +0 -19
  168. package/lib/index.js.map +0 -1
  169. package/lib/inject.d.ts +0 -22
  170. package/lib/inject.js +0 -29
  171. package/lib/inject.js.map +0 -1
  172. package/lib/logs/index.js +0 -6
  173. package/lib/logs/index.js.map +0 -1
  174. package/lib/logs/item.js +0 -34
  175. package/lib/logs/item.js.map +0 -1
  176. package/lib/logs/log.js +0 -7
  177. package/lib/logs/log.js.map +0 -1
  178. package/lib/logs/skill.js +0 -19
  179. package/lib/logs/skill.js.map +0 -1
  180. package/lib/logs/state.js +0 -13
  181. package/lib/logs/state.js.map +0 -1
  182. package/lib/models/Item.d.ts +0 -10
  183. package/lib/models/Item.js +0 -2
  184. package/lib/models/Item.js.map +0 -1
  185. package/lib/presets/index.js +0 -65
  186. package/lib/presets/index.js.map +0 -1
  187. package/lib/server.d.ts +0 -137
  188. package/lib/server.js +0 -443
  189. package/lib/server.js.map +0 -1
  190. package/rpg.toml +0 -14
  191. package/src/Game/EventManager.ts +0 -125
  192. package/src/Game/Map.ts +0 -495
  193. package/src/Game/WorldMaps.ts +0 -45
  194. package/src/Interfaces/Gui.ts +0 -4
  195. package/src/Interfaces/StateStore.ts +0 -5
  196. package/src/MatchMaker.ts +0 -65
  197. package/src/Monitor/index.ts +0 -78
  198. package/src/Query.ts +0 -172
  199. package/src/Scenes/Map.ts +0 -310
  200. package/src/decorators/event.ts +0 -58
  201. package/src/decorators/map.ts +0 -226
  202. package/src/entry-point.ts +0 -111
  203. package/src/express/api.ts +0 -118
  204. package/src/express/errors/NotAuthorized.ts +0 -6
  205. package/src/express/errors/NotFound.ts +0 -6
  206. package/src/express/server.ts +0 -87
  207. package/src/inject.ts +0 -33
  208. package/src/models/Item.ts +0 -11
  209. package/src/server.ts +0 -459
  210. /package/{lib → dist}/Gui/MenuGui.d.ts +0 -0
  211. /package/{lib → dist}/Gui/NotificationGui.d.ts +0 -0
  212. /package/{lib → dist}/Gui/ShopGui.d.ts +0 -0
  213. /package/{lib → dist}/Gui/index.d.ts +0 -0
  214. /package/{lib → dist}/logs/index.d.ts +0 -0
  215. /package/{lib → dist}/logs/item.d.ts +0 -0
  216. /package/{lib → dist}/logs/log.d.ts +0 -0
  217. /package/{lib → dist}/logs/skill.d.ts +0 -0
  218. /package/{lib → dist}/logs/state.d.ts +0 -0
  219. /package/{lib → dist}/presets/index.d.ts +0 -0
@@ -1,43 +0,0 @@
1
- import { componentSchema, RpgPlayer } from '../Player/Player.js';
2
- export function MapData(options) {
3
- return (target) => {
4
- target.file = options.file;
5
- target.id = options.id;
6
- target.type = 'map';
7
- target.prototype.name = options.name;
8
- target.prototype.file = options.file;
9
- target.prototype.id = options.id;
10
- target.prototype.sounds = options.sounds;
11
- target.prototype.lowMemory = options.lowMemory;
12
- target.prototype.$schema = {};
13
- if (options.syncSchema) {
14
- target.prototype.$schema = options.syncSchema;
15
- }
16
- if (!target.prototype.$schema.shapes) {
17
- target.prototype.$schema.shapes = [
18
- {
19
- type: String,
20
- name: String,
21
- x: Number,
22
- y: Number,
23
- width: Number,
24
- height: Number,
25
- properties: {
26
- collision: Boolean
27
- },
28
- polygon: [{ x: Number, y: Number }],
29
- rotation: Number,
30
- components: [componentSchema]
31
- }
32
- ];
33
- }
34
- if (!target.prototype.$schema.users) {
35
- target.prototype.$schema.users = [RpgPlayer.schemas];
36
- }
37
- if (!target.prototype.$schema.events) {
38
- target.prototype.$schema.events = [RpgPlayer.schemas];
39
- }
40
- target.prototype._events = options.events;
41
- };
42
- }
43
- //# sourceMappingURL=map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/decorators/map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAqL7D,MAAM,UAAU,OAAO,CAAC,OAAmB;IACvC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACtB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAA;QACnB,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACpC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QAChC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACxC,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;QAE7B,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAA;SAChD;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG;gBAC9B;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM;oBACZ,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,MAAM;oBACT,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE;wBACR,SAAS,EAAE,OAAO;qBACrB;oBACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;oBACnC,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,CAAC,eAAe,CAAC;iBAChC;aACJ,CAAA;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE;YACjC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;SACvD;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;SACxD;QAED,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7C,CAAC,CAAA;AACL,CAAC"}
@@ -1,34 +0,0 @@
1
- import { ModuleType } from '@rpgjs/common';
2
- import { RpgServerEngine } from './server';
3
- interface RpgServerEntryPointOptions {
4
- /**
5
- * Represents socket io but you can put something else (which is of the same scheme as socket io)
6
- *
7
- * @prop {SocketIO or other} io
8
- * @memberof RpgServerEntryPoint
9
- * */
10
- io: any;
11
- /**
12
- * It allows you to know where the maps are located. Usually put `__dirname` for the current directory.
13
- *
14
- * ```ts
15
- * basePath: __dirname
16
- * ```
17
- *
18
- * @prop {string} basePath
19
- * @memberof RpgServerEntryPoint
20
- * */
21
- basePath: string;
22
- standalone?: boolean;
23
- /**
24
- * The general configurations of the game.
25
- *
26
- * @prop {object} [globalConfig]
27
- * @memberof RpgServerEntryPoint
28
- * */
29
- globalConfig?: any;
30
- workers?: any;
31
- envs?: object;
32
- }
33
- export default function (modules: ModuleType[], options: RpgServerEntryPointOptions): Promise<RpgServerEngine>;
34
- export {};
@@ -1,70 +0,0 @@
1
- import { RpgCommonGame, HookServer, loadModules, GameSide, RpgPlugin, InjectContext } from '@rpgjs/common';
2
- import { RpgServerEngine } from './server.js';
3
- import { RpgMatchMaker } from './MatchMaker.js';
4
- import { inject, setInject } from './inject.js';
5
- export default async function (modules, options) {
6
- const context = new InjectContext();
7
- setInject(context);
8
- inject(RpgCommonGame, [GameSide.Server]);
9
- if (!options.globalConfig)
10
- options.globalConfig = {};
11
- const relations = {
12
- onConnected: HookServer.PlayerConnected,
13
- onInput: HookServer.PlayerInput,
14
- onJoinMap: HookServer.PlayerJoinMap,
15
- onLeaveMap: HookServer.PlayerLeaveMap,
16
- onLevelUp: HookServer.PlayerLevelUp,
17
- onDead: HookServer.PlayerDead,
18
- onDisconnected: HookServer.PlayerDisconnected,
19
- onInShape: HookServer.PlayerInShape,
20
- onOutShape: HookServer.PlayerOutShape,
21
- onMove: HookServer.PlayerMove,
22
- canChangeMap: HookServer.PlayerCanChangeMap
23
- };
24
- const relationsEngine = {
25
- onStart: HookServer.Start,
26
- onStep: HookServer.Step,
27
- auth: HookServer.Auth
28
- };
29
- const { playerProps } = await loadModules(modules, {
30
- side: 'server',
31
- relations: {
32
- player: relations,
33
- engine: relationsEngine,
34
- scalability: {
35
- onConnected: HookServer.ScalabilityPlayerConnected,
36
- doChangeServer: HookServer.ScalabilityChangeServer
37
- }
38
- }
39
- }, (mod) => {
40
- const { scalability } = mod;
41
- if (scalability) {
42
- const { hooks, stateStore, matchMaker } = scalability;
43
- const matchMakerInstance = new RpgMatchMaker(matchMaker);
44
- RpgPlugin.on(HookServer.Start, () => {
45
- return stateStore.connect();
46
- });
47
- mod.scalability._hooks = {};
48
- for (let hookName in hooks) {
49
- let originalHook = mod.scalability.hooks[hookName];
50
- mod.scalability._hooks[hookName] = function (player) {
51
- return originalHook(stateStore, matchMakerInstance, player);
52
- };
53
- }
54
- }
55
- return mod;
56
- });
57
- const serverEngine = inject(RpgServerEngine, [
58
- options.io, {
59
- debug: {},
60
- updateRate: 10,
61
- stepRate: 60,
62
- timeoutInterval: 0,
63
- countConnections: false,
64
- playerProps,
65
- ...options
66
- }
67
- ]);
68
- return serverEngine;
69
- }
70
- //# sourceMappingURL=entry-point.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../src/entry-point.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Router } from 'express';
2
- import { RpgServerEngine } from '../server';
3
- export declare function api(rpgServer: RpgServerEngine): Router;
@@ -1,105 +0,0 @@
1
- import { Router } from 'express';
2
- import { Query } from '../Query.js';
3
- import { NotAuthorized } from './errors/NotAuthorized.js';
4
- import { NotFound } from './errors/NotFound.js';
5
- export function api(rpgServer) {
6
- const router = new Router();
7
- router.use((req, res, next) => {
8
- try {
9
- const apiConfig = rpgServer.globalConfig.api || {};
10
- const enabled = apiConfig.enabled === undefined ? false : apiConfig.enabled;
11
- const { dev } = req.query;
12
- if (process.env.NODE_ENV === 'development' && dev) {
13
- return next();
14
- }
15
- if (!enabled) {
16
- throw new NotAuthorized('API disabled');
17
- }
18
- const authSecret = apiConfig.authSecret;
19
- if (!authSecret) {
20
- throw new NotAuthorized('API secret not defined');
21
- }
22
- // headers
23
- const authHeader = req.headers.authorization;
24
- if (!authHeader) {
25
- throw new NotAuthorized('Authorization header not defined');
26
- }
27
- const [type, token] = authHeader.split(' ');
28
- if (type !== 'Bearer') {
29
- throw new NotAuthorized('Authorization type not supported');
30
- }
31
- if (token !== authSecret) {
32
- throw new NotAuthorized('Authorization token not valid');
33
- }
34
- next();
35
- }
36
- catch (err) {
37
- next(err);
38
- }
39
- });
40
- router.get('/players', (req, res) => {
41
- const players = Query.getPlayers();
42
- res.json(players);
43
- });
44
- router.put('/maps', (req, res, next) => {
45
- try {
46
- const { mapId, data, mapFile } = req.body;
47
- const maps = rpgServer.sceneMap.getMaps();
48
- const findMap = maps.find(map => {
49
- if (mapId) {
50
- return map.id === mapId;
51
- }
52
- else if (mapFile) {
53
- return map.file === mapFile;
54
- }
55
- });
56
- if (findMap) {
57
- const map = Query.getRoom(findMap.id);
58
- map.update(data);
59
- res.json({ success: true });
60
- }
61
- else {
62
- throw new NotFound('Map not found');
63
- }
64
- }
65
- catch (err) {
66
- next(err);
67
- }
68
- });
69
- router.put('/tilesets', async (req, res, next) => {
70
- try {
71
- const { data, tilesetId } = req.body;
72
- const maps = Query.getRooms();
73
- for (let [id, map] of maps) {
74
- const findTileset = map.tilesets.find(tileset => tileset.name === tilesetId);
75
- if (findTileset) {
76
- await map.updateTileset(data);
77
- }
78
- }
79
- res.json({ success: true });
80
- }
81
- catch (err) {
82
- next(err);
83
- }
84
- });
85
- router.put('/worlds', (req, res, next) => {
86
- try {
87
- const { worldId, data } = req.body;
88
- const sceneMap = rpgServer.sceneMap;
89
- const world = sceneMap.getWorldMaps(worldId);
90
- if (world) {
91
- sceneMap.deleteWorldMaps(worldId);
92
- sceneMap.createDynamicWorldMaps(data);
93
- res.json({ success: true });
94
- }
95
- else {
96
- throw new NotFound('World not found');
97
- }
98
- }
99
- catch (err) {
100
- next(err);
101
- }
102
- });
103
- return router;
104
- }
105
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/express/api.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare class NotAuthorized extends Error {
2
- status: number;
3
- constructor(message?: string);
4
- }
@@ -1,7 +0,0 @@
1
- export class NotAuthorized extends Error {
2
- constructor(message) {
3
- super(message || 'Not authorized');
4
- this.status = 401;
5
- }
6
- }
7
- //# sourceMappingURL=NotAuthorized.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotAuthorized.js","sourceRoot":"","sources":["../../../src/express/errors/NotAuthorized.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEpC,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAA;QAFtC,WAAM,GAAG,GAAG,CAAA;IAGZ,CAAC;CACJ"}
@@ -1,4 +0,0 @@
1
- export declare class NotFound extends Error {
2
- status: number;
3
- constructor(message?: string);
4
- }
@@ -1,7 +0,0 @@
1
- export class NotFound extends Error {
2
- constructor(message) {
3
- super(message || 'Not found');
4
- this.status = 404;
5
- }
6
- }
7
- //# sourceMappingURL=NotFound.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotFound.js","sourceRoot":"","sources":["../../../src/express/errors/NotFound.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAE/B,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,CAAA;QAFjC,WAAM,GAAG,GAAG,CAAA;IAGZ,CAAC;CACJ"}
@@ -1,16 +0,0 @@
1
- /// <reference types="node" />
2
- import http from 'http';
3
- import express from 'express';
4
- import { ModuleType } from '@rpgjs/common';
5
- import { RpgServerEngine } from '../server';
6
- type ExpressServerOptions = {
7
- basePath: string;
8
- globalConfig?: any;
9
- envs?: object;
10
- };
11
- export declare function expressServer(modules: ModuleType[], options: ExpressServerOptions): Promise<{
12
- app: express.Express;
13
- server: http.Server;
14
- game: RpgServerEngine;
15
- }>;
16
- export {};
@@ -1,65 +0,0 @@
1
- import http from 'http';
2
- import path from 'path';
3
- import express from 'express';
4
- import cors from 'cors';
5
- import { Server } from 'socket.io';
6
- import entryPoint from '../entry-point.js';
7
- import PrettyError from 'pretty-error';
8
- import { api } from './api.js';
9
- export function expressServer(modules, options) {
10
- return new Promise((resolve, reject) => {
11
- const envs = options.envs || {};
12
- const { express: expressConfig = {} } = options.globalConfig || {};
13
- const dirname = options.basePath;
14
- const PORT = process.env.PORT || expressConfig.port || 3000;
15
- const pe = new PrettyError();
16
- const app = express();
17
- const server = http.createServer(app);
18
- const io = new Server(server, {
19
- maxHttpBufferSize: 1e10,
20
- cors: {
21
- origin: "*",
22
- methods: ["GET", "POST"]
23
- },
24
- ...(expressConfig.socketIo || {})
25
- });
26
- // @ts-ignore
27
- const isBuilt = !!envs.VITE_BUILT;
28
- // @ts-ignore
29
- const hasStatic = process.env.STATIC_DIRECTORY_ENABLED;
30
- const staticDirectory = isBuilt ? expressConfig.static ?? '' : 'dist';
31
- // @ts-ignore
32
- const staticEnabled = (isBuilt && hasStatic === undefined) || hasStatic === 'true';
33
- app.use(express.json(expressConfig.json));
34
- app.use(cors(expressConfig.cors));
35
- if (staticEnabled || expressConfig.static) {
36
- app.use('/', express.static(path.join(dirname, '..', staticDirectory, 'client')));
37
- }
38
- let rpgGame;
39
- async function start() {
40
- rpgGame = await entryPoint(modules, { io, ...options });
41
- rpgGame.app = app;
42
- rpgGame.start();
43
- app.use('/api', api(rpgGame));
44
- app.use((err, req, res, next) => {
45
- const status = err.status || 500;
46
- res.status(status).json({ error: err.message });
47
- });
48
- resolve({
49
- app,
50
- server,
51
- game: rpgGame
52
- });
53
- }
54
- // @ts-ignore
55
- const serverPort = !isBuilt ? (envs.VITE_SERVER_URL || '').split(':')[1] || PORT : PORT;
56
- server.listen(serverPort, start);
57
- process.on('uncaughtException', function (error) {
58
- console.log(pe.render(error));
59
- });
60
- process.on('unhandledRejection', function (reason) {
61
- console.log(pe.render(reason));
62
- });
63
- });
64
- }
65
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/express/server.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts DELETED
@@ -1,20 +0,0 @@
1
- export { default as entryPoint } from './entry-point';
2
- export { Direction, Input, Control, RpgPlugin, HookServer, HookClient, RpgModule, RpgShape, ShapePositioning, AbstractObject } from '@rpgjs/common';
3
- export type { RpgServer, RpgPlayerHooks, RpgServerEngineHooks } from './RpgServer';
4
- export { EventData } from './decorators/event';
5
- export { MapData } from './decorators/map';
6
- export { RpgPlayer, RpgEvent } from './Player/Player';
7
- export { EventMode } from './Game/EventManager';
8
- export { RpgMap } from './Game/Map';
9
- export { RpgWorldMaps } from './Game/WorldMaps';
10
- export { Query, Query as RpgWorld } from './Query';
11
- export { default as Monitor } from './Monitor';
12
- export * as Presets from './presets';
13
- export { Move, Frequency, Speed } from './Player/MoveManager';
14
- export { RpgServerEngine } from './server';
15
- export { SceneMap as RpgSceneMap, type RpgClassMap } from './Scenes/Map';
16
- export { RpgMatchMaker } from './MatchMaker';
17
- export type { IStoreState } from './Interfaces/StateStore';
18
- export { Components } from './Player/ComponentManager';
19
- export { Gui } from './Gui/Gui';
20
- export { inject } from './inject';
package/lib/index.js DELETED
@@ -1,19 +0,0 @@
1
- export { default as entryPoint } from './entry-point.js';
2
- export { Direction, Input, Control, RpgPlugin, HookServer, HookClient, RpgModule, RpgShape, ShapePositioning, AbstractObject } from '@rpgjs/common';
3
- export { EventData } from './decorators/event.js';
4
- export { MapData } from './decorators/map.js';
5
- export { RpgPlayer, RpgEvent } from './Player/Player.js';
6
- export { EventMode } from './Game/EventManager.js';
7
- export { RpgMap } from './Game/Map.js';
8
- export { RpgWorldMaps } from './Game/WorldMaps.js';
9
- export { Query, Query as RpgWorld } from './Query.js';
10
- export { default as Monitor } from './Monitor/index.js';
11
- export * as Presets from './presets/index.js';
12
- export { Move, Frequency, Speed } from './Player/MoveManager.js';
13
- export { RpgServerEngine } from './server.js';
14
- export { SceneMap as RpgSceneMap } from './Scenes/Map.js';
15
- export { RpgMatchMaker } from './MatchMaker.js';
16
- export { Components } from './Player/ComponentManager.js';
17
- export { Gui } from './Gui/Gui.js';
18
- export { inject } from './inject.js';
19
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EACH,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACjB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAoB,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
package/lib/inject.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import { InjectContext } from "@rpgjs/common";
2
- /**
3
- * Dependency injection function for RPGJS server side.
4
- *
5
- * The server-side `inject` function is designed for retrieving instances of server-related classes in the RPGJS framework.
6
- * This function is crucial for accessing singleton instances of classes like `RpgServerEngine` on the server. It facilitates
7
- * a clean and efficient approach to handling dependencies within server modules, contributing to a more organized codebase.
8
- *
9
- * @template T The class type that you want to retrieve an instance of, specific to server-side modules.
10
- * @returns {T} Returns the singleton instance of the specified class, ensuring consistent server-side behavior and state management.
11
- * @since 4.2.0
12
- *
13
- * @example
14
- * ```ts
15
- * // Example of injecting the RpgServerEngine
16
- * import { inject, RpgServerEngine } from '@rpgjs/server'
17
- * const server = inject(RpgServerEngine)
18
- * ```
19
- */
20
- export declare function inject<T>(service: new (...args: any[]) => T, args?: any[]): T;
21
- export declare function setInject(context: InjectContext): void;
22
- export declare function clearInject(): void;
package/lib/inject.js DELETED
@@ -1,29 +0,0 @@
1
- let instanceContext = null;
2
- /**
3
- * Dependency injection function for RPGJS server side.
4
- *
5
- * The server-side `inject` function is designed for retrieving instances of server-related classes in the RPGJS framework.
6
- * This function is crucial for accessing singleton instances of classes like `RpgServerEngine` on the server. It facilitates
7
- * a clean and efficient approach to handling dependencies within server modules, contributing to a more organized codebase.
8
- *
9
- * @template T The class type that you want to retrieve an instance of, specific to server-side modules.
10
- * @returns {T} Returns the singleton instance of the specified class, ensuring consistent server-side behavior and state management.
11
- * @since 4.2.0
12
- *
13
- * @example
14
- * ```ts
15
- * // Example of injecting the RpgServerEngine
16
- * import { inject, RpgServerEngine } from '@rpgjs/server'
17
- * const server = inject(RpgServerEngine)
18
- * ```
19
- */
20
- export function inject(service, args = []) {
21
- return instanceContext.inject(service, args);
22
- }
23
- export function setInject(context) {
24
- instanceContext = context;
25
- }
26
- export function clearInject() {
27
- instanceContext = null;
28
- }
29
- //# sourceMappingURL=inject.js.map
package/lib/inject.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"AAEA,IAAI,eAAe,GAAyB,IAAI,CAAA;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,MAAM,CAAI,OAAkC,EAAE,OAAc,EAAE;IAC1E,OAAO,eAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC5C,eAAe,GAAG,OAAO,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,eAAe,GAAG,IAAI,CAAA;AAC1B,CAAC"}
package/lib/logs/index.js DELETED
@@ -1,6 +0,0 @@
1
- import { ItemLog } from './item.js';
2
- import { SkillLog } from './skill.js';
3
- import { StateLog } from './state.js';
4
- import { Log } from './log.js';
5
- export { ItemLog, SkillLog, StateLog, Log };
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,OAAO,EACH,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,GAAG,EACN,CAAA"}
package/lib/logs/item.js DELETED
@@ -1,34 +0,0 @@
1
- import { Log } from './log.js';
2
- export class ItemLog {
3
- static notInInventory(itemClass) {
4
- return new Log('ITEM_NOT_INVENTORY', `The item ${itemClass.name} is not in inventory`);
5
- }
6
- static notUseItem(itemClass) {
7
- return new Log('NOT_USE_ITEM', `The player cannot use the ${itemClass.name} item.`);
8
- }
9
- static chanceToUseFailed(itemClass) {
10
- return new Log('USE_CHANCE_ITEM_FAILED', `Chance to use the ${itemClass.name} item has failed`);
11
- }
12
- static invalidToEquiped(itemClass) {
13
- return new Log('INVALID_ITEM_TO_EQUIP', `The item ${itemClass.name} is not a weapon or armor`);
14
- }
15
- static canNotEquip(itemClass) {
16
- return new Log('CANNOT_EQUIP', `The item ${itemClass.name} cannot be equiped`);
17
- }
18
- static isAlreadyEquiped(itemClass) {
19
- return new Log('ITEM_ALREADY_EQUIPED', `The item ${itemClass.name} is already equiped`);
20
- }
21
- static haveNotPrice(itemClass) {
22
- return new Log('NOT_PRICE', `Define a price > 0 to buy ${itemClass.name}`);
23
- }
24
- static notEnoughGold(itemClass, nb) {
25
- return new Log('NOT_ENOUGH_GOLD', `not enough gold to buy ${nb} ${itemClass.name}`);
26
- }
27
- static tooManyToSell(itemClass, nbToSell, nb) {
28
- return new Log('TOO_MANY_ITEM_TO_SELL', `Too many items to sell: ${nbToSell} ${itemClass.name}, only ${nb} in inventory`);
29
- }
30
- static restriction(itemClass) {
31
- return new Log('RESTRICTION_ITEM', `A state blocks the use of the ${itemClass.name} skill`);
32
- }
33
- }
34
- //# sourceMappingURL=item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../src/logs/item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,OAAO,OAAO;IAChB,MAAM,CAAC,cAAc,CAAC,SAAS;QAC3B,OAAO,IAAI,GAAG,CAAC,oBAAoB,EAAE,YAAY,SAAS,CAAC,IAAI,sBAAsB,CAAC,CAAA;IAC1F,CAAC;IACD,MAAM,CAAC,UAAU,CAAC,SAAS;QACvB,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,6BAA6B,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAA;IACvF,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,SAAS;QAC9B,OAAO,IAAI,GAAG,CAAC,wBAAwB,EAAE,qBAAqB,SAAS,CAAC,IAAI,kBAAkB,CAAC,CAAA;IACnG,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS;QAC7B,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,YAAY,SAAS,CAAC,IAAI,2BAA2B,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,SAAS;QACxB,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,YAAY,SAAS,CAAC,IAAI,oBAAoB,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS;QAC7B,OAAO,IAAI,GAAG,CAAC,sBAAsB,EAAE,YAAY,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAA;IAC3F,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,SAAS;QACzB,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,6BAA6B,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE;QAC9B,OAAO,IAAI,GAAG,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IACvF,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACxC,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,2BAA2B,QAAQ,IAAI,SAAS,CAAC,IAAI,UAAU,EAAE,eAAe,CAAC,CAAA;IAC7H,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,SAAS;QACxB,OAAO,IAAI,GAAG,CAAC,kBAAkB,EAAE,iCAAiC,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAA;IAC/F,CAAC;CACJ"}
package/lib/logs/log.js DELETED
@@ -1,7 +0,0 @@
1
- export class Log {
2
- constructor(id, msg) {
3
- this.id = id;
4
- this.msg = msg;
5
- }
6
- }
7
- //# sourceMappingURL=log.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/logs/log.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;IACZ,YAAoB,EAAU,EAAU,GAAW;QAA/B,OAAE,GAAF,EAAE,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;CAC1D"}
package/lib/logs/skill.js DELETED
@@ -1,19 +0,0 @@
1
- import { Log } from './log.js';
2
- export class SkillLog {
3
- static notLearned(skillClass) {
4
- return new Log('SKILL_NOT_LEARNED', `the skill ${skillClass.name} is not learned`);
5
- }
6
- static notEnoughSp(skillClass, skillSp, playerSp) {
7
- return new Log('NOT_ENOUGH_SP', `not enough SP to use ${skillClass.name} skill. ${skillSp} Skill'SP is is greater than ${playerSp} Player'SP`);
8
- }
9
- static chanceToUseFailed(skillClass) {
10
- return new Log('USE_CHANCE_SKILL_FAILED', `Chance to use the ${skillClass.name} skill has failed`);
11
- }
12
- static restriction(skillClass) {
13
- return new Log('RESTRICTION_SKILL', `A state blocks the use of the ${skillClass.name} skill`);
14
- }
15
- static alreadyLearned(skillClass) {
16
- return new Log('SKILL_ALREADY_LEARNED', `The ${skillClass.name} skill is already learned`);
17
- }
18
- }
19
- //# sourceMappingURL=skill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/logs/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,OAAO,QAAQ;IACjB,MAAM,CAAC,UAAU,CAAC,UAAU;QACxB,OAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,aAAa,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAA;IACtF,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;QAC5C,OAAO,IAAI,GAAG,CAAC,eAAe,EAAE,wBAAwB,UAAU,CAAC,IAAI,WAAW,OAAO,gCAAgC,QAAQ,YAAY,CAAC,CAAA;IAClJ,CAAC;IACD,MAAM,CAAC,iBAAiB,CAAC,UAAU;QAC/B,OAAO,IAAI,GAAG,CAAC,yBAAyB,EAAE,qBAAqB,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IACtG,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,UAAU;QACzB,OAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,iCAAiC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAA;IACjG,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,UAAU;QAC5B,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,OAAO,UAAU,CAAC,IAAI,2BAA2B,CAAC,CAAA;IAC9F,CAAC;CACJ"}
package/lib/logs/state.js DELETED
@@ -1,13 +0,0 @@
1
- import { Log } from './log.js';
2
- export class StateLog {
3
- static addFailed(stateClass) {
4
- return new Log('ADD_STATE_FAILED', `Adding the ${stateClass.name} state has failed`);
5
- }
6
- static removeFailed(stateClass) {
7
- return new Log('REMOVE_STATE_FAILED', `Removing the ${stateClass.name} state has failed`);
8
- }
9
- static notApplied(stateClass) {
10
- return new Log('STATE_NOT_APPLIED', `State ${stateClass.name} does not exist`);
11
- }
12
- }
13
- //# sourceMappingURL=state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/logs/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,OAAO,QAAQ;IACjB,MAAM,CAAC,SAAS,CAAC,UAAU;QACvB,OAAO,IAAI,GAAG,CAAC,kBAAkB,EAAE,cAAc,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IACxF,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,UAAU;QAC1B,OAAO,IAAI,GAAG,CAAC,qBAAqB,EAAE,gBAAgB,UAAU,CAAC,IAAI,mBAAmB,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,CAAC,UAAU,CAAC,UAAU;QACxB,OAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,SAAS,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAA;IAClF,CAAC;CACJ"}
@@ -1,10 +0,0 @@
1
- import { ItemOptions } from '@rpgjs/database';
2
- import { RpgPlayer } from '../Player/Player';
3
- export interface ItemModel extends ItemOptions {
4
- id?: string;
5
- equipped?: boolean;
6
- onUseFailed?: (player: RpgPlayer) => {};
7
- onUse?: (player: RpgPlayer) => {};
8
- onAdd?: (player: RpgPlayer) => {};
9
- onRemove?: (player: RpgPlayer) => {};
10
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../src/models/Item.ts"],"names":[],"mappings":""}