@rpgjs/server 3.3.2 → 4.0.0-beta.3

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 (152) hide show
  1. package/LICENSE +19 -0
  2. package/lib/Game/Map.d.ts +58 -5
  3. package/lib/Game/Map.js +185 -80
  4. package/lib/Game/Map.js.map +1 -1
  5. package/lib/Game/WorldMaps.d.ts +3 -2
  6. package/lib/Game/WorldMaps.js +6 -11
  7. package/lib/Game/WorldMaps.js.map +1 -1
  8. package/lib/Gui/DialogGui.d.ts +1 -1
  9. package/lib/Gui/DialogGui.js +12 -13
  10. package/lib/Gui/DialogGui.js.map +1 -1
  11. package/lib/Gui/Gui.js +2 -6
  12. package/lib/Gui/Gui.js.map +1 -1
  13. package/lib/Gui/MenuGui.js +4 -8
  14. package/lib/Gui/MenuGui.js.map +1 -1
  15. package/lib/Gui/NotificationGui.js +4 -8
  16. package/lib/Gui/NotificationGui.js.map +1 -1
  17. package/lib/Gui/ShopGui.js +4 -8
  18. package/lib/Gui/ShopGui.js.map +1 -1
  19. package/lib/Gui/index.js +6 -13
  20. package/lib/Gui/index.js.map +1 -1
  21. package/lib/Interfaces/Gui.js +1 -2
  22. package/lib/Interfaces/StateStore.js +1 -2
  23. package/lib/MatchMaker.js +28 -46
  24. package/lib/MatchMaker.js.map +1 -1
  25. package/lib/Monitor/index.js +3 -5
  26. package/lib/Monitor/index.js.map +1 -1
  27. package/lib/Player/BattleManager.js +17 -16
  28. package/lib/Player/BattleManager.js.map +1 -1
  29. package/lib/Player/ClassManager.js +6 -10
  30. package/lib/Player/ClassManager.js.map +1 -1
  31. package/lib/Player/ComponentManager.d.ts +4 -4
  32. package/lib/Player/ComponentManager.js +37 -24
  33. package/lib/Player/ComponentManager.js.map +1 -1
  34. package/lib/Player/EffectManager.js +8 -12
  35. package/lib/Player/EffectManager.js.map +1 -1
  36. package/lib/Player/ElementManager.js +5 -9
  37. package/lib/Player/ElementManager.js.map +1 -1
  38. package/lib/Player/GoldManager.js +1 -5
  39. package/lib/Player/GoldManager.js.map +1 -1
  40. package/lib/Player/GuiManager.js +17 -15
  41. package/lib/Player/GuiManager.js.map +1 -1
  42. package/lib/Player/ItemFixture.js +1 -5
  43. package/lib/Player/ItemFixture.js.map +1 -1
  44. package/lib/Player/ItemManager.d.ts +3 -3
  45. package/lib/Player/ItemManager.js +29 -31
  46. package/lib/Player/ItemManager.js.map +1 -1
  47. package/lib/Player/MoveManager.d.ts +7 -6
  48. package/lib/Player/MoveManager.js +67 -74
  49. package/lib/Player/MoveManager.js.map +1 -1
  50. package/lib/Player/ParameterManager.js +10 -14
  51. package/lib/Player/ParameterManager.js.map +1 -1
  52. package/lib/Player/Player.d.ts +7 -1
  53. package/lib/Player/Player.js +193 -191
  54. package/lib/Player/Player.js.map +1 -1
  55. package/lib/Player/SkillManager.js +18 -22
  56. package/lib/Player/SkillManager.js.map +1 -1
  57. package/lib/Player/StateManager.js +9 -13
  58. package/lib/Player/StateManager.js.map +1 -1
  59. package/lib/Player/VariableManager.js +1 -5
  60. package/lib/Player/VariableManager.js.map +1 -1
  61. package/lib/Query.d.ts +2 -1
  62. package/lib/Query.js +19 -15
  63. package/lib/Query.js.map +1 -1
  64. package/lib/RpgServer.d.ts +11 -3
  65. package/lib/RpgServer.js +1 -2
  66. package/lib/Scenes/Map.d.ts +27 -4
  67. package/lib/Scenes/Map.js +117 -122
  68. package/lib/Scenes/Map.js.map +1 -1
  69. package/lib/decorators/event.js +4 -7
  70. package/lib/decorators/event.js.map +1 -1
  71. package/lib/decorators/map.d.ts +1 -1
  72. package/lib/decorators/map.js +5 -9
  73. package/lib/decorators/map.js.map +1 -1
  74. package/lib/entry-point.js +59 -65
  75. package/lib/entry-point.js.map +1 -1
  76. package/lib/express/api.d.ts +3 -0
  77. package/lib/express/api.js +105 -0
  78. package/lib/express/api.js.map +1 -0
  79. package/lib/express/errors/NotAuthorized.d.ts +4 -0
  80. package/lib/express/errors/NotAuthorized.js +7 -0
  81. package/lib/express/errors/NotAuthorized.js.map +1 -0
  82. package/lib/express/errors/NotFound.d.ts +4 -0
  83. package/lib/express/errors/NotFound.js +7 -0
  84. package/lib/express/errors/NotFound.js.map +1 -0
  85. package/lib/express/server.js +20 -5
  86. package/lib/express/server.js.map +1 -1
  87. package/lib/index.js +15 -68
  88. package/lib/index.js.map +1 -1
  89. package/lib/logs/index.js +5 -11
  90. package/lib/logs/index.js.map +1 -1
  91. package/lib/logs/item.js +11 -15
  92. package/lib/logs/item.js.map +1 -1
  93. package/lib/logs/log.js +1 -5
  94. package/lib/logs/log.js.map +1 -1
  95. package/lib/logs/skill.js +6 -10
  96. package/lib/logs/skill.js.map +1 -1
  97. package/lib/logs/state.js +5 -9
  98. package/lib/logs/state.js.map +1 -1
  99. package/lib/models/Item.js +1 -2
  100. package/lib/presets/index.js +28 -36
  101. package/lib/presets/index.js.map +1 -1
  102. package/lib/server.d.ts +23 -2
  103. package/lib/server.js +227 -134
  104. package/lib/server.js.map +1 -1
  105. package/package.json +24 -16
  106. package/src/Game/Map.ts +513 -0
  107. package/src/Game/WorldMaps.ts +45 -0
  108. package/src/Gui/DialogGui.ts +67 -0
  109. package/src/Gui/Gui.ts +45 -0
  110. package/src/Gui/MenuGui.ts +26 -0
  111. package/src/Gui/NotificationGui.ts +10 -0
  112. package/src/Gui/ShopGui.ts +43 -0
  113. package/src/Gui/index.ts +13 -0
  114. package/src/Interfaces/Gui.ts +4 -0
  115. package/src/Interfaces/StateStore.ts +5 -0
  116. package/src/MatchMaker.ts +63 -0
  117. package/src/Monitor/index.ts +78 -0
  118. package/src/Player/BattleManager.ts +123 -0
  119. package/src/Player/ClassManager.ts +72 -0
  120. package/src/Player/ComponentManager.ts +538 -0
  121. package/src/Player/EffectManager.ts +94 -0
  122. package/src/Player/ElementManager.ts +142 -0
  123. package/src/Player/GoldManager.ts +26 -0
  124. package/src/Player/GuiManager.ts +308 -0
  125. package/src/Player/ItemFixture.ts +24 -0
  126. package/src/Player/ItemManager.ts +474 -0
  127. package/src/Player/MoveManager.ts +635 -0
  128. package/src/Player/ParameterManager.ts +468 -0
  129. package/src/Player/Player.ts +931 -0
  130. package/src/Player/SkillManager.ts +229 -0
  131. package/src/Player/StateManager.ts +230 -0
  132. package/src/Player/VariableManager.ts +55 -0
  133. package/src/Query.ts +172 -0
  134. package/src/RpgServer.ts +429 -0
  135. package/src/Scenes/Map.ts +302 -0
  136. package/src/decorators/event.ts +57 -0
  137. package/src/decorators/map.ts +223 -0
  138. package/src/entry-point.ts +102 -0
  139. package/src/express/api.ts +118 -0
  140. package/src/express/errors/NotAuthorized.ts +6 -0
  141. package/src/express/errors/NotFound.ts +6 -0
  142. package/src/express/server.ts +93 -0
  143. package/src/index.ts +28 -0
  144. package/src/logs/index.ts +11 -0
  145. package/src/logs/item.ts +31 -0
  146. package/src/logs/log.ts +3 -0
  147. package/src/logs/skill.ts +16 -0
  148. package/src/logs/state.ts +13 -0
  149. package/src/models/Item.ts +11 -0
  150. package/src/presets/index.ts +71 -0
  151. package/src/server.ts +394 -0
  152. package/tsconfig.json +27 -0
@@ -1,38 +1,23 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.RpgEvent = exports.EventMode = exports.RpgPlayer = exports.layoutSchema = exports.componentSchema = void 0;
16
- const common_1 = require("@rpgjs/common");
17
- const simple_room_1 = require("simple-room");
18
- const Query_1 = require("../Query");
19
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
20
- const ItemManager_1 = require("./ItemManager");
21
- const GoldManager_1 = require("./GoldManager");
22
- const StateManager_1 = require("./StateManager");
23
- const SkillManager_1 = require("./SkillManager");
24
- const ParameterManager_1 = require("./ParameterManager");
25
- const EffectManager_1 = require("./EffectManager");
26
- const ClassManager_1 = require("./ClassManager");
27
- const ElementManager_1 = require("./ElementManager");
28
- const GuiManager_1 = require("./GuiManager");
29
- const VariableManager_1 = require("./VariableManager");
30
- const MoveManager_1 = require("./MoveManager");
31
- const BattleManager_1 = require("./BattleManager");
32
- const presets_1 = require("../presets");
33
- const types_1 = require("@rpgjs/types");
34
- const ComponentManager_1 = require("./ComponentManager");
35
- const { isPromise, applyMixins, isString } = common_1.Utils;
1
+ import { RpgCommonPlayer, Utils, RpgPlugin, RpgCommonMap, Direction } from '@rpgjs/common';
2
+ import { Room } from 'simple-room';
3
+ import { Query } from '../Query';
4
+ import merge from 'lodash.merge';
5
+ import { ItemManager } from './ItemManager';
6
+ import { GoldManager } from './GoldManager';
7
+ import { StateManager } from './StateManager';
8
+ import { SkillManager } from './SkillManager';
9
+ import { ParameterManager } from './ParameterManager';
10
+ import { EffectManager } from './EffectManager';
11
+ import { ClassManager } from './ClassManager';
12
+ import { ElementManager } from './ElementManager';
13
+ import { GuiManager } from './GuiManager';
14
+ import { VariableManager } from './VariableManager';
15
+ import { Frequency, MoveManager, Speed } from './MoveManager';
16
+ import { BattleManager } from './BattleManager';
17
+ import { MAXHP, MAXSP, STR, INT, DEX, AGI, MAXHP_CURVE, MAXSP_CURVE, STR_CURVE, INT_CURVE, DEX_CURVE, AGI_CURVE } from '../presets';
18
+ import { SocketEvents, SocketMethods } from '@rpgjs/types';
19
+ import { ComponentManager } from './ComponentManager';
20
+ const { isPromise, applyMixins, isString } = Utils;
36
21
  const itemSchemas = {
37
22
  name: String,
38
23
  description: String,
@@ -40,8 +25,8 @@ const itemSchemas = {
40
25
  consumable: Boolean,
41
26
  id: String
42
27
  };
43
- exports.componentSchema = { id: String, value: String };
44
- exports.layoutSchema = {
28
+ export const componentSchema = { id: String, value: String };
29
+ export const layoutSchema = {
45
30
  width: Number,
46
31
  height: Number,
47
32
  marginBottom: Number,
@@ -49,7 +34,7 @@ exports.layoutSchema = {
49
34
  marginLeft: Number,
50
35
  marginRight: Number,
51
36
  lines: [{
52
- col: [exports.componentSchema]
37
+ col: [componentSchema]
53
38
  }]
54
39
  };
55
40
  const playerSchemas = {
@@ -77,11 +62,11 @@ const playerSchemas = {
77
62
  states: [{ name: String, description: String, id: String }],
78
63
  effects: [String],
79
64
  layout: {
80
- top: exports.layoutSchema,
81
- bottom: exports.layoutSchema,
82
- left: exports.layoutSchema,
83
- right: exports.layoutSchema,
84
- center: exports.layoutSchema
65
+ top: layoutSchema,
66
+ bottom: layoutSchema,
67
+ left: layoutSchema,
68
+ right: layoutSchema,
69
+ center: layoutSchema
85
70
  },
86
71
  action: Number,
87
72
  map: String,
@@ -116,7 +101,7 @@ const playerSchemas = {
116
101
  const layoutObject = {
117
102
  lines: []
118
103
  };
119
- class RpgPlayer extends common_1.RpgCommonPlayer {
104
+ class RpgPlayer extends RpgCommonPlayer {
120
105
  constructor(gameEngine, playerId) {
121
106
  super(gameEngine, playerId);
122
107
  this.type = 'player';
@@ -161,8 +146,8 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
161
146
  this.skills = [];
162
147
  this.gold = 0;
163
148
  this.exp = 0;
164
- this.speed = MoveManager_1.Speed.Normal;
165
- this.frequency = MoveManager_1.Frequency.None;
149
+ this.speed = Speed.Normal;
150
+ this.frequency = Frequency.None;
166
151
  this.canMove = true;
167
152
  this.through = false;
168
153
  this.throughOtherPlayer = true;
@@ -172,12 +157,12 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
172
157
  this._gui = {};
173
158
  this._elementsEfficiency = [];
174
159
  this._statesEfficiency = [];
175
- this.addParameter(presets_1.MAXHP, presets_1.MAXHP_CURVE);
176
- this.addParameter(presets_1.MAXSP, presets_1.MAXSP_CURVE);
177
- this.addParameter(presets_1.STR, presets_1.STR_CURVE);
178
- this.addParameter(presets_1.INT, presets_1.INT_CURVE);
179
- this.addParameter(presets_1.DEX, presets_1.DEX_CURVE);
180
- this.addParameter(presets_1.AGI, presets_1.AGI_CURVE);
160
+ this.addParameter(MAXHP, MAXHP_CURVE);
161
+ this.addParameter(MAXSP, MAXSP_CURVE);
162
+ this.addParameter(STR, STR_CURVE);
163
+ this.addParameter(INT, INT_CURVE);
164
+ this.addParameter(DEX, DEX_CURVE);
165
+ this.addParameter(AGI, AGI_CURVE);
181
166
  this.allRecovery();
182
167
  }
183
168
  _init() {
@@ -192,7 +177,10 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
192
177
  });
193
178
  }
194
179
  get schema() {
195
- return Object.assign(Object.assign({}, RpgPlayer.schemas), this.server['playerProps']);
180
+ return {
181
+ ...RpgPlayer.schemas,
182
+ ...this.server['playerProps']
183
+ };
196
184
  }
197
185
  /**
198
186
  * ```ts
@@ -225,69 +213,67 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
225
213
  changeMap(mapId, positions) {
226
214
  return this.server.sceneMap.changeMap(mapId, this, positions);
227
215
  }
228
- autoChangeMap(nextPosition) {
229
- return __awaiter(this, void 0, void 0, function* () {
230
- const map = this.getCurrentMap();
231
- const worldMaps = map === null || map === void 0 ? void 0 : map.getInWorldMaps();
232
- let ret = false;
233
- if (worldMaps && map) {
234
- const direction = this.getDirection();
235
- const marginLeftRight = map.tileWidth / 2;
236
- const marginTopDown = map.tileHeight / 2;
237
- const changeMap = (adjacent, to) => __awaiter(this, void 0, void 0, function* () {
238
- if (this.touchSide) {
239
- return false;
240
- }
241
- this.touchSide = true;
242
- const [nextMap] = worldMaps.getAdjacentMaps(map, adjacent);
243
- if (!nextMap)
244
- return false;
245
- const id = nextMap.id;
246
- const nextMapInfo = worldMaps.getMapInfo(id);
247
- return !!(yield this.changeMap(id, to(nextMapInfo)));
248
- });
249
- if (nextPosition.x < marginLeftRight && direction == common_1.Direction.Left) {
250
- ret = yield changeMap({
251
- x: map.worldX - 1,
252
- y: this.worldPositionY + 1
253
- }, nextMapInfo => ({
254
- x: (nextMapInfo.width) - this.wHitbox - marginLeftRight,
255
- y: map.worldY - nextMapInfo.y + nextPosition.y
256
- }));
257
- }
258
- else if (nextPosition.x > map.widthPx - this.wHitbox - marginLeftRight && direction == common_1.Direction.Right) {
259
- ret = yield changeMap({
260
- x: map.worldX + map.widthPx + 1,
261
- y: this.worldPositionY + 1
262
- }, nextMapInfo => ({
263
- x: marginLeftRight,
264
- y: map.worldY - nextMapInfo.y + nextPosition.y
265
- }));
266
- }
267
- else if (nextPosition.y < marginTopDown && direction == common_1.Direction.Up) {
268
- ret = yield changeMap({
269
- x: this.worldPositionX + 1,
270
- y: map.worldY - 1
271
- }, nextMapInfo => ({
272
- x: map.worldX - nextMapInfo.x + nextPosition.x,
273
- y: (nextMapInfo.height) - this.hHitbox - marginTopDown,
274
- }));
275
- }
276
- else if (nextPosition.y > map.heightPx - this.hHitbox - marginTopDown && direction == common_1.Direction.Down) {
277
- ret = yield changeMap({
278
- x: this.worldPositionX + 1,
279
- y: map.worldY + map.heightPx + 1
280
- }, nextMapInfo => ({
281
- x: map.worldX - nextMapInfo.x + nextPosition.x,
282
- y: marginTopDown,
283
- }));
284
- }
285
- else {
286
- this.touchSide = false;
216
+ async autoChangeMap(nextPosition) {
217
+ const map = this.getCurrentMap();
218
+ const worldMaps = map?.getInWorldMaps();
219
+ let ret = false;
220
+ if (worldMaps && map) {
221
+ const direction = this.getDirection();
222
+ const marginLeftRight = map.tileWidth / 2;
223
+ const marginTopDown = map.tileHeight / 2;
224
+ const changeMap = async (adjacent, to) => {
225
+ if (this.touchSide) {
226
+ return false;
287
227
  }
228
+ this.touchSide = true;
229
+ const [nextMap] = worldMaps.getAdjacentMaps(map, adjacent);
230
+ if (!nextMap)
231
+ return false;
232
+ const id = nextMap.id;
233
+ const nextMapInfo = worldMaps.getMapInfo(id);
234
+ return !!(await this.changeMap(id, to(nextMapInfo)));
235
+ };
236
+ if (nextPosition.x < marginLeftRight && direction == Direction.Left) {
237
+ ret = await changeMap({
238
+ x: map.worldX - 1,
239
+ y: this.worldPositionY + 1
240
+ }, nextMapInfo => ({
241
+ x: (nextMapInfo.width) - this.wHitbox - marginLeftRight,
242
+ y: map.worldY - nextMapInfo.y + nextPosition.y
243
+ }));
288
244
  }
289
- return ret;
290
- });
245
+ else if (nextPosition.x > map.widthPx - this.wHitbox - marginLeftRight && direction == Direction.Right) {
246
+ ret = await changeMap({
247
+ x: map.worldX + map.widthPx + 1,
248
+ y: this.worldPositionY + 1
249
+ }, nextMapInfo => ({
250
+ x: marginLeftRight,
251
+ y: map.worldY - nextMapInfo.y + nextPosition.y
252
+ }));
253
+ }
254
+ else if (nextPosition.y < marginTopDown && direction == Direction.Up) {
255
+ ret = await changeMap({
256
+ x: this.worldPositionX + 1,
257
+ y: map.worldY - 1
258
+ }, nextMapInfo => ({
259
+ x: map.worldX - nextMapInfo.x + nextPosition.x,
260
+ y: (nextMapInfo.height) - this.hHitbox - marginTopDown,
261
+ }));
262
+ }
263
+ else if (nextPosition.y > map.heightPx - this.hHitbox - marginTopDown && direction == Direction.Down) {
264
+ ret = await changeMap({
265
+ x: this.worldPositionX + 1,
266
+ y: map.worldY + map.heightPx + 1
267
+ }, nextMapInfo => ({
268
+ x: map.worldX - nextMapInfo.x + nextPosition.x,
269
+ y: marginTopDown,
270
+ }));
271
+ }
272
+ else {
273
+ this.touchSide = false;
274
+ }
275
+ }
276
+ return ret;
291
277
  }
292
278
  /**
293
279
  * Dynamically create an event in Scenario mode on the current map
@@ -325,7 +311,7 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
325
311
  if (!mapInstance) {
326
312
  throw 'The player is not assigned to any map';
327
313
  }
328
- if (!common_1.Utils.isArray(eventsList)) {
314
+ if (!Utils.isArray(eventsList)) {
329
315
  eventsList = [eventsList];
330
316
  }
331
317
  let eventsListMode = eventsList;
@@ -341,7 +327,7 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
341
327
  this.events[key] = events[key];
342
328
  this.events[key].execMethod('onInit', [this]);
343
329
  // force to get Proxy object to sync with client
344
- ret = Object.assign(Object.assign({}, ret), { [key]: this.events[key] });
330
+ ret = { ...ret, [key]: this.events[key] };
345
331
  }
346
332
  return ret;
347
333
  }
@@ -387,23 +373,20 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
387
373
  * @returns {Promise<{ {x: number, y: number, z: number} }>}
388
374
  * @memberof Player
389
375
  */
390
- teleport(positions) {
391
- var _a;
392
- return __awaiter(this, void 0, void 0, function* () {
393
- if (isString(positions))
394
- positions = (_a = this.getCurrentMap()) === null || _a === void 0 ? void 0 : _a.getPositionByShape(shape => shape.name == positions || shape.getType() == positions);
395
- if (!positions)
396
- positions = { x: 0, y: 0, z: 0 };
397
- if (!positions.z)
398
- positions.z = 0;
399
- this.teleported++;
400
- this.position = positions;
401
- // delete last frame positions because when the character is teleported, no server reconciliation is needed on the client side
402
- this._lastFramePositions = undefined;
403
- // force interaction with event or shape
404
- yield this.isCollided(this.position);
405
- return positions;
406
- });
376
+ async teleport(positions) {
377
+ if (isString(positions))
378
+ positions = this.getCurrentMap()?.getPositionByShape(shape => shape.name == positions || shape.getType() == positions);
379
+ if (!positions)
380
+ positions = { x: 0, y: 0, z: 0 };
381
+ if (!positions.z)
382
+ positions.z = 0;
383
+ this.teleported++;
384
+ this.position = positions;
385
+ // delete last frame positions because when the character is teleported, no server reconciliation is needed on the client side
386
+ this._lastFramePositions = undefined;
387
+ // force interaction with event or shape
388
+ await this.isCollided(this.position);
389
+ return positions;
407
390
  }
408
391
  /**
409
392
  * Load the saved data with the method save()
@@ -426,7 +409,7 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
426
409
  const getData = (id) => new (this.databaseById(id))();
427
410
  for (let key in json) {
428
411
  const val = json[key];
429
- if (common_1.Utils.isObject(val) && val.hasOwnProperty('0')) {
412
+ if (Utils.isObject(val) && val.hasOwnProperty('0')) {
430
413
  json[key] = Object.values(val);
431
414
  }
432
415
  }
@@ -447,7 +430,7 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
447
430
  json.skills = json.skills.map(skill => getData(skill.id));
448
431
  if (json.variables)
449
432
  json.variables = new Map(json.variables);
450
- lodash_merge_1.default(this, json);
433
+ merge(this, json);
451
434
  this.position = json.position;
452
435
  if (json.map) {
453
436
  this.map = '';
@@ -493,8 +476,8 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
493
476
  };
494
477
  }
495
478
  toJSON() {
496
- const { permanentObject } = simple_room_1.Room.toDict(this.schema);
497
- const snapshot = simple_room_1.Room.extractObjectOfRoom(this, permanentObject);
479
+ const { permanentObject } = Room.toDict(this.schema);
480
+ const snapshot = Room.extractObjectOfRoom(this, permanentObject);
498
481
  snapshot.variables = [...this.variables];
499
482
  return snapshot;
500
483
  }
@@ -530,19 +513,40 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
530
513
  return this._getMap(this.map);
531
514
  }
532
515
  loadScene(name, data) {
533
- this.emit('loadScene', {
516
+ this.emit(SocketEvents.LoadScene, {
534
517
  name,
535
518
  data
536
519
  });
537
520
  }
521
+ emitSceneMap() {
522
+ const mapInstance = this.getCurrentMap();
523
+ if (!mapInstance) {
524
+ throw '[Emit] The player is not assigned to any map';
525
+ }
526
+ let { data: serializeMap } = Object.assign({}, mapInstance);
527
+ delete serializeMap.shapes;
528
+ delete serializeMap.events;
529
+ delete serializeMap._events;
530
+ for (let layer of serializeMap.layers) {
531
+ delete layer.map;
532
+ }
533
+ this.loadScene('map', {
534
+ id: mapInstance.id,
535
+ sounds: mapInstance.sounds,
536
+ ...serializeMap
537
+ });
538
+ }
539
+ gameReload() {
540
+ this.emit(SocketEvents.GameReload);
541
+ }
538
542
  changeServer(url, port) {
539
- this.emit('changeServer', {
543
+ this.emit(SocketEvents.ChangeServer, {
540
544
  url,
541
545
  port
542
546
  });
543
547
  }
544
548
  _getMap(id) {
545
- return common_1.RpgCommonMap.buffer.get(id);
549
+ return RpgCommonMap.buffer.get(id);
546
550
  }
547
551
  /**
548
552
  * Calls the showAnimation() method on the client side to display an animation on the player
@@ -596,7 +600,7 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
596
600
  showAnimation(graphic, animationName, replaceGraphic = false) {
597
601
  this.emitToMap('callMethod', {
598
602
  objectId: this.playerId,
599
- name: types_1.SocketMethods.ShowAnimation,
603
+ name: SocketMethods.ShowAnimation,
600
604
  params: [graphic, animationName, replaceGraphic]
601
605
  });
602
606
  }
@@ -633,9 +637,9 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
633
637
  else {
634
638
  this.following = otherPlayer;
635
639
  }
636
- this.emit(types_1.SocketEvents.CallMethod, {
640
+ this.emit(SocketEvents.CallMethod, {
637
641
  objectId: this.playerId,
638
- name: types_1.SocketMethods.CameraFollow,
642
+ name: SocketMethods.CameraFollow,
639
643
  params: [otherPlayer.id, options]
640
644
  });
641
645
  }
@@ -697,14 +701,12 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
697
701
  this._socket.removeAllListeners(key);
698
702
  }
699
703
  emitToMap(key, value) {
700
- Query_1.Query.getPlayersOfMap(this.map).forEach(player => player.emit(key, value));
704
+ Query.getPlayersOfMap(this.map).forEach(player => player.emit(key, value));
701
705
  }
702
- execMethod(methodName, methodData = []) {
703
- return __awaiter(this, void 0, void 0, function* () {
704
- const ret = yield common_1.RpgPlugin.emit(`Server.${methodName}`, [this, ...methodData], true);
705
- this.syncChanges();
706
- return ret;
707
- });
706
+ async execMethod(methodName, methodData = []) {
707
+ const ret = await RpgPlugin.emit(`Server.${methodName}`, [this, ...methodData], true);
708
+ this.syncChanges();
709
+ return ret;
708
710
  }
709
711
  _triggerHook(name, val) {
710
712
  if (this[name])
@@ -758,65 +760,65 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
758
760
  playSound(soundId, allMap = false) {
759
761
  const obj = {
760
762
  objectId: this.playerId,
761
- name: types_1.SocketMethods.PlaySound,
763
+ name: SocketMethods.PlaySound,
762
764
  params: [soundId]
763
765
  };
764
766
  if (!allMap) {
765
- this.emit(types_1.SocketEvents.CallMethod, obj);
767
+ this.emit(SocketEvents.CallMethod, obj);
766
768
  return;
767
769
  }
768
- this.emitToMap(types_1.SocketEvents.CallMethod, obj);
770
+ this.emitToMap(SocketEvents.CallMethod, obj);
769
771
  }
770
772
  }
771
- exports.RpgPlayer = RpgPlayer;
772
- RpgPlayer.schemas = Object.assign(Object.assign({}, playerSchemas), { events: [playerSchemas] });
773
+ RpgPlayer.schemas = {
774
+ ...playerSchemas,
775
+ events: [playerSchemas]
776
+ };
777
+ export { RpgPlayer };
773
778
  applyMixins(RpgPlayer, [
774
- ItemManager_1.ItemManager,
775
- GoldManager_1.GoldManager,
776
- StateManager_1.StateManager,
777
- SkillManager_1.SkillManager,
778
- ParameterManager_1.ParameterManager,
779
- EffectManager_1.EffectManager,
780
- ClassManager_1.ClassManager,
781
- ElementManager_1.ElementManager,
782
- GuiManager_1.GuiManager,
783
- VariableManager_1.VariableManager,
784
- MoveManager_1.MoveManager,
785
- BattleManager_1.BattleManager,
786
- ComponentManager_1.ComponentManager
779
+ ItemManager,
780
+ GoldManager,
781
+ StateManager,
782
+ SkillManager,
783
+ ParameterManager,
784
+ EffectManager,
785
+ ClassManager,
786
+ ElementManager,
787
+ GuiManager,
788
+ VariableManager,
789
+ MoveManager,
790
+ BattleManager,
791
+ ComponentManager
787
792
  ]);
788
- var EventMode;
793
+ export var EventMode;
789
794
  (function (EventMode) {
790
795
  EventMode["Shared"] = "shared";
791
796
  EventMode["Scenario"] = "scenario";
792
- })(EventMode = exports.EventMode || (exports.EventMode = {}));
793
- class RpgEvent extends RpgPlayer {
797
+ })(EventMode || (EventMode = {}));
798
+ export class RpgEvent extends RpgPlayer {
794
799
  constructor() {
795
800
  super(...arguments);
796
801
  this.type = 'event';
797
802
  this.properties = {};
798
803
  }
799
- execMethod(methodName, methodData = []) {
800
- return __awaiter(this, void 0, void 0, function* () {
801
- if (!this[methodName]) {
802
- return;
803
- }
804
- const ret = this[methodName](...methodData);
805
- const sync = () => {
806
- const player = methodData[0];
807
- if (player instanceof RpgPlayer) {
808
- player.syncChanges();
809
- }
810
- };
811
- if (common_1.Utils.isPromise(ret)) {
812
- ret.then(sync);
813
- }
814
- else {
815
- sync();
804
+ async execMethod(methodName, methodData = []) {
805
+ if (!this[methodName]) {
806
+ return;
807
+ }
808
+ const ret = this[methodName](...methodData);
809
+ const sync = () => {
810
+ const player = methodData[0];
811
+ if (player instanceof RpgPlayer) {
812
+ player.syncChanges();
816
813
  }
817
- return ret;
818
- });
814
+ };
815
+ if (Utils.isPromise(ret)) {
816
+ ret.then(sync);
817
+ }
818
+ else {
819
+ sync();
820
+ }
821
+ return ret;
819
822
  }
820
823
  }
821
- exports.RpgEvent = RpgEvent;
822
824
  //# sourceMappingURL=Player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":"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"}