@rpgjs/server 4.0.0-beta.9 → 4.0.0-rc.10
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.
- package/CHANGELOG.md +32 -0
- package/lib/Game/EventManager.d.ts +53 -0
- package/lib/Game/EventManager.js +93 -0
- package/lib/Game/EventManager.js.map +1 -0
- package/lib/Game/Map.d.ts +6 -30
- package/lib/Game/Map.js +26 -61
- package/lib/Game/Map.js.map +1 -1
- package/lib/Gui/MenuGui.js +2 -2
- package/lib/Gui/MenuGui.js.map +1 -1
- package/lib/Player/BattleManager.d.ts +5 -5
- package/lib/Player/BattleManager.js +8 -7
- package/lib/Player/BattleManager.js.map +1 -1
- package/lib/Player/ClassManager.d.ts +11 -4
- package/lib/Player/ClassManager.js +7 -3
- package/lib/Player/ClassManager.js.map +1 -1
- package/lib/Player/EffectManager.d.ts +2 -2
- package/lib/Player/EffectManager.js +6 -6
- package/lib/Player/EffectManager.js.map +1 -1
- package/lib/Player/ElementManager.d.ts +4 -1
- package/lib/Player/ElementManager.js.map +1 -1
- package/lib/Player/ItemManager.d.ts +21 -0
- package/lib/Player/ItemManager.js +22 -1
- package/lib/Player/ItemManager.js.map +1 -1
- package/lib/Player/MoveManager.js +27 -14
- package/lib/Player/MoveManager.js.map +1 -1
- package/lib/Player/ParameterManager.d.ts +2 -1
- package/lib/Player/ParameterManager.js +15 -4
- package/lib/Player/ParameterManager.js.map +1 -1
- package/lib/Player/Player.d.ts +150 -54
- package/lib/Player/Player.js +142 -58
- package/lib/Player/Player.js.map +1 -1
- package/lib/Player/SkillManager.d.ts +13 -8
- package/lib/Player/SkillManager.js +14 -12
- package/lib/Player/SkillManager.js.map +1 -1
- package/lib/Player/StateManager.d.ts +11 -6
- package/lib/Player/StateManager.js +21 -6
- package/lib/Player/StateManager.js.map +1 -1
- package/lib/RpgServer.d.ts +42 -2
- package/lib/Scenes/Map.d.ts +3 -0
- package/lib/Scenes/Map.js +4 -0
- package/lib/Scenes/Map.js.map +1 -1
- package/lib/decorators/event.d.ts +1 -1
- package/lib/decorators/event.js +2 -1
- package/lib/decorators/event.js.map +1 -1
- package/lib/decorators/map.d.ts +5 -2
- package/lib/decorators/map.js.map +1 -1
- package/lib/express/server.js +5 -1
- package/lib/express/server.js.map +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/models/Item.d.ts +1 -1
- package/lib/server.d.ts +3 -6
- package/lib/server.js +9 -8
- package/lib/server.js.map +1 -1
- package/package.json +8 -7
- package/src/Game/EventManager.ts +110 -0
- package/src/Game/Map.ts +37 -69
- package/src/Gui/MenuGui.ts +3 -3
- package/src/Player/BattleManager.ts +10 -9
- package/src/Player/ClassManager.ts +13 -7
- package/src/Player/EffectManager.ts +6 -5
- package/src/Player/ElementManager.ts +4 -1
- package/src/Player/ItemManager.ts +47 -26
- package/src/Player/MoveManager.ts +35 -15
- package/src/Player/ParameterManager.ts +19 -8
- package/src/Player/Player.ts +170 -57
- package/src/Player/SkillManager.ts +23 -21
- package/src/Player/StateManager.ts +30 -11
- package/src/RpgServer.ts +42 -2
- package/src/Scenes/Map.ts +4 -0
- package/src/decorators/event.ts +2 -1
- package/src/decorators/map.ts +5 -2
- package/src/express/server.ts +9 -3
- package/src/index.ts +10 -8
- package/src/models/Item.ts +1 -1
- package/src/server.ts +11 -8
package/lib/Player/Player.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RpgCommonPlayer, RpgCommonGame } from '@rpgjs/common';
|
|
2
|
+
import { WorldClass } from 'simple-room';
|
|
2
3
|
import { RpgMap, EventPosOption } from '../Game/Map';
|
|
3
4
|
import { ItemManager } from './ItemManager';
|
|
4
5
|
import { GoldManager } from './GoldManager';
|
|
@@ -12,8 +13,10 @@ import { GuiManager } from './GuiManager';
|
|
|
12
13
|
import { VariableManager } from './VariableManager';
|
|
13
14
|
import { MoveManager } from './MoveManager';
|
|
14
15
|
import { BattleManager } from './BattleManager';
|
|
16
|
+
import { RpgServerEngine } from '../server';
|
|
15
17
|
import { CameraOptions, PositionXY_OptionalZ, LayoutObject } from '@rpgjs/types';
|
|
16
18
|
import { ComponentManager } from './ComponentManager';
|
|
19
|
+
import { EventManager, EventMode } from '../Game/EventManager';
|
|
17
20
|
export interface Position {
|
|
18
21
|
x: number;
|
|
19
22
|
y: number;
|
|
@@ -50,45 +53,82 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
50
53
|
teleported: {
|
|
51
54
|
$permanent: boolean;
|
|
52
55
|
};
|
|
56
|
+
deleted: {
|
|
57
|
+
$permanent: boolean;
|
|
58
|
+
};
|
|
53
59
|
param: ObjectConstructor;
|
|
54
60
|
hp: NumberConstructor;
|
|
55
61
|
sp: NumberConstructor;
|
|
56
62
|
gold: NumberConstructor;
|
|
57
|
-
level:
|
|
63
|
+
level: {
|
|
64
|
+
$effects: string[];
|
|
65
|
+
};
|
|
66
|
+
expForNextlevel: {
|
|
67
|
+
$permanent: boolean;
|
|
68
|
+
};
|
|
58
69
|
exp: NumberConstructor;
|
|
59
70
|
name: StringConstructor;
|
|
60
|
-
expForNextlevel: NumberConstructor;
|
|
61
71
|
items: {
|
|
62
72
|
nb: NumberConstructor;
|
|
63
73
|
item: {
|
|
64
|
-
name:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
74
|
+
name: {
|
|
75
|
+
$permanent: boolean;
|
|
76
|
+
};
|
|
77
|
+
description: {
|
|
78
|
+
$permanent: boolean;
|
|
79
|
+
};
|
|
68
80
|
id: StringConstructor;
|
|
81
|
+
price: {
|
|
82
|
+
$permanent: boolean;
|
|
83
|
+
};
|
|
84
|
+
consumable: {
|
|
85
|
+
$permanent: boolean;
|
|
86
|
+
};
|
|
69
87
|
};
|
|
70
88
|
}[];
|
|
71
89
|
_class: {
|
|
72
|
-
name:
|
|
73
|
-
|
|
90
|
+
name: {
|
|
91
|
+
$permanent: boolean;
|
|
92
|
+
};
|
|
93
|
+
description: {
|
|
94
|
+
$permanent: boolean;
|
|
95
|
+
};
|
|
74
96
|
id: StringConstructor;
|
|
75
97
|
};
|
|
76
98
|
equipments: {
|
|
77
|
-
name:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
99
|
+
name: {
|
|
100
|
+
$permanent: boolean;
|
|
101
|
+
};
|
|
102
|
+
description: {
|
|
103
|
+
$permanent: boolean;
|
|
104
|
+
};
|
|
81
105
|
id: StringConstructor;
|
|
106
|
+
price: {
|
|
107
|
+
$permanent: boolean;
|
|
108
|
+
};
|
|
109
|
+
consumable: {
|
|
110
|
+
$permanent: boolean;
|
|
111
|
+
};
|
|
82
112
|
}[];
|
|
83
113
|
skills: {
|
|
84
|
-
name:
|
|
85
|
-
|
|
86
|
-
|
|
114
|
+
name: {
|
|
115
|
+
$permanent: boolean;
|
|
116
|
+
};
|
|
117
|
+
description: {
|
|
118
|
+
$permanent: boolean;
|
|
119
|
+
};
|
|
87
120
|
id: StringConstructor;
|
|
121
|
+
spCost: {
|
|
122
|
+
$permanent: boolean;
|
|
123
|
+
};
|
|
88
124
|
}[];
|
|
89
125
|
states: {
|
|
90
|
-
name:
|
|
91
|
-
|
|
126
|
+
name: {
|
|
127
|
+
$permanent: boolean;
|
|
128
|
+
};
|
|
129
|
+
description: {
|
|
130
|
+
$permanent: boolean;
|
|
131
|
+
};
|
|
92
132
|
id: StringConstructor;
|
|
93
133
|
}[];
|
|
94
134
|
effects: StringConstructor[];
|
|
@@ -202,45 +242,82 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
202
242
|
teleported: {
|
|
203
243
|
$permanent: boolean;
|
|
204
244
|
};
|
|
245
|
+
deleted: {
|
|
246
|
+
$permanent: boolean;
|
|
247
|
+
};
|
|
205
248
|
param: ObjectConstructor;
|
|
206
249
|
hp: NumberConstructor;
|
|
207
250
|
sp: NumberConstructor;
|
|
208
251
|
gold: NumberConstructor;
|
|
209
|
-
level:
|
|
252
|
+
level: {
|
|
253
|
+
$effects: string[];
|
|
254
|
+
};
|
|
255
|
+
expForNextlevel: {
|
|
256
|
+
$permanent: boolean;
|
|
257
|
+
};
|
|
210
258
|
exp: NumberConstructor;
|
|
211
259
|
name: StringConstructor;
|
|
212
|
-
expForNextlevel: NumberConstructor;
|
|
213
260
|
items: {
|
|
214
261
|
nb: NumberConstructor;
|
|
215
262
|
item: {
|
|
216
|
-
name:
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
263
|
+
name: {
|
|
264
|
+
$permanent: boolean;
|
|
265
|
+
};
|
|
266
|
+
description: {
|
|
267
|
+
$permanent: boolean;
|
|
268
|
+
};
|
|
220
269
|
id: StringConstructor;
|
|
270
|
+
price: {
|
|
271
|
+
$permanent: boolean;
|
|
272
|
+
};
|
|
273
|
+
consumable: {
|
|
274
|
+
$permanent: boolean;
|
|
275
|
+
};
|
|
221
276
|
};
|
|
222
277
|
}[];
|
|
223
278
|
_class: {
|
|
224
|
-
name:
|
|
225
|
-
|
|
279
|
+
name: {
|
|
280
|
+
$permanent: boolean;
|
|
281
|
+
};
|
|
282
|
+
description: {
|
|
283
|
+
$permanent: boolean;
|
|
284
|
+
};
|
|
226
285
|
id: StringConstructor;
|
|
227
286
|
};
|
|
228
287
|
equipments: {
|
|
229
|
-
name:
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
288
|
+
name: {
|
|
289
|
+
$permanent: boolean;
|
|
290
|
+
};
|
|
291
|
+
description: {
|
|
292
|
+
$permanent: boolean;
|
|
293
|
+
};
|
|
233
294
|
id: StringConstructor;
|
|
295
|
+
price: {
|
|
296
|
+
$permanent: boolean;
|
|
297
|
+
};
|
|
298
|
+
consumable: {
|
|
299
|
+
$permanent: boolean;
|
|
300
|
+
};
|
|
234
301
|
}[];
|
|
235
302
|
skills: {
|
|
236
|
-
name:
|
|
237
|
-
|
|
238
|
-
|
|
303
|
+
name: {
|
|
304
|
+
$permanent: boolean;
|
|
305
|
+
};
|
|
306
|
+
description: {
|
|
307
|
+
$permanent: boolean;
|
|
308
|
+
};
|
|
239
309
|
id: StringConstructor;
|
|
310
|
+
spCost: {
|
|
311
|
+
$permanent: boolean;
|
|
312
|
+
};
|
|
240
313
|
}[];
|
|
241
314
|
states: {
|
|
242
|
-
name:
|
|
243
|
-
|
|
315
|
+
name: {
|
|
316
|
+
$permanent: boolean;
|
|
317
|
+
};
|
|
318
|
+
description: {
|
|
319
|
+
$permanent: boolean;
|
|
320
|
+
};
|
|
244
321
|
id: StringConstructor;
|
|
245
322
|
}[];
|
|
246
323
|
effects: StringConstructor[];
|
|
@@ -352,16 +429,28 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
352
429
|
_rooms: never[];
|
|
353
430
|
session: string | null;
|
|
354
431
|
prevMap: string;
|
|
432
|
+
/**
|
|
433
|
+
* ```ts
|
|
434
|
+
* retreive the server instance
|
|
435
|
+
* ```
|
|
436
|
+
* @title Server Instance
|
|
437
|
+
* @prop {RpgServerEngine} player.server
|
|
438
|
+
* @memberof Player
|
|
439
|
+
* */
|
|
440
|
+
server: RpgServerEngine;
|
|
355
441
|
private touchSide;
|
|
356
442
|
otherPossessedPlayer: RpgPlayer | RpgEvent | null;
|
|
357
443
|
following: RpgPlayer | RpgEvent | null;
|
|
444
|
+
private _dataLoading;
|
|
358
445
|
_lastFramePositions: {
|
|
359
446
|
frame: number;
|
|
360
447
|
position: Position;
|
|
361
448
|
} | undefined;
|
|
362
449
|
constructor(gameEngine: RpgCommonGame, playerId: string);
|
|
363
450
|
get otherPlayersCollision(): RpgPlayer[];
|
|
451
|
+
get world(): WorldClass | undefined;
|
|
364
452
|
teleported: number;
|
|
453
|
+
deleted: boolean;
|
|
365
454
|
_init(): void;
|
|
366
455
|
private get schema();
|
|
367
456
|
/**
|
|
@@ -426,16 +515,6 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
426
515
|
createDynamicEvent(eventsList: EventPosOption | EventPosOption[], forceMode?: boolean): {
|
|
427
516
|
[eventId: string]: RpgEvent;
|
|
428
517
|
};
|
|
429
|
-
/**
|
|
430
|
-
* Removes an event from the map (Scenario Mode). Returns false if the event is not found
|
|
431
|
-
* @title Remove Event
|
|
432
|
-
* @since 3.0.0-beta.4
|
|
433
|
-
* @method player.removeEvent(eventId)
|
|
434
|
-
* @param {string} eventId Event Name
|
|
435
|
-
* @returns {boolean}
|
|
436
|
-
* @memberof Player
|
|
437
|
-
*/
|
|
438
|
-
removeEvent(eventId: string): boolean;
|
|
439
518
|
/**
|
|
440
519
|
* Allows to change the positions of the player on the current map.
|
|
441
520
|
* You can put the X and Y positions or the name of the created shape on Tiled Map Editor.
|
|
@@ -476,10 +555,10 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
476
555
|
* @title Load progress
|
|
477
556
|
* @method player.load(json)
|
|
478
557
|
* @param {string} json The JSON sent by the method save()
|
|
479
|
-
* @returns {
|
|
558
|
+
* @returns {Promise<boolean | RpgMap | null>}
|
|
480
559
|
* @memberof Player
|
|
481
560
|
*/
|
|
482
|
-
load(json: any):
|
|
561
|
+
load(json: any): Promise<boolean | RpgMap | null>;
|
|
483
562
|
/**
|
|
484
563
|
* Returns a JSON with all the data to keep in memory. Then use the `load()` method to load the data
|
|
485
564
|
*
|
|
@@ -572,6 +651,7 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
572
651
|
* This is useful, if for example, you want to make an animated character (sword stroke when pressing a key)
|
|
573
652
|
* When the animation is finished, the original graphic is displayed again
|
|
574
653
|
*
|
|
654
|
+
*
|
|
575
655
|
* ```ts
|
|
576
656
|
* player.showAnimation('sword_stroke', 'default', true)
|
|
577
657
|
* ```
|
|
@@ -582,6 +662,10 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
582
662
|
* player.showAnimation(['body', 'sword_stroke'], 'default', true)
|
|
583
663
|
* ```
|
|
584
664
|
*
|
|
665
|
+
* ::: tip
|
|
666
|
+
* For this to work, the animations must have been previously defined in `setGraphic`.
|
|
667
|
+
* :::
|
|
668
|
+
*
|
|
585
669
|
* @title Show Animation
|
|
586
670
|
* @method player.showAnimation(graphic,animationName,replaceGraphic=false)
|
|
587
671
|
* @param {string | string[]} graphic spritesheet identifier
|
|
@@ -659,8 +743,9 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
659
743
|
* @memberof Player
|
|
660
744
|
*/
|
|
661
745
|
off(key: string): void;
|
|
746
|
+
disconnect(): void;
|
|
662
747
|
emitToMap(key: string, value: any): void;
|
|
663
|
-
execMethod(methodName: string, methodData?: never[]): Promise<any
|
|
748
|
+
execMethod(methodName: string, methodData?: never[], target?: any): Promise<any>;
|
|
664
749
|
_triggerHook(name: any, val?: any): void;
|
|
665
750
|
private _eventChanges;
|
|
666
751
|
/**
|
|
@@ -692,22 +777,18 @@ export declare class RpgPlayer extends RpgCommonPlayer {
|
|
|
692
777
|
* @title Play Sound
|
|
693
778
|
* @method player.playSound(soundId,allMap=false)
|
|
694
779
|
* @param {string} soundId Sound identifier, defined on the client side
|
|
695
|
-
* @param {boolean} [
|
|
780
|
+
* @param {boolean} [forEveryone=false] Indicate if the sound is heard by the players on the map
|
|
696
781
|
* @since 3.0.0-alpha.9
|
|
697
782
|
* @returns {void}
|
|
698
783
|
* @memberof Player
|
|
699
784
|
*/
|
|
700
|
-
playSound(soundId: string,
|
|
785
|
+
playSound(soundId: string, forEveryone?: boolean): void;
|
|
701
786
|
}
|
|
702
|
-
export interface RpgPlayer extends ItemManager, GoldManager, StateManager, SkillManager, ParameterManager, EffectManager, ClassManager, ElementManager, GuiManager, VariableManager, MoveManager, BattleManager, ComponentManager {
|
|
787
|
+
export interface RpgPlayer extends EventManager, ItemManager, GoldManager, StateManager, SkillManager, ParameterManager, EffectManager, ClassManager, ElementManager, GuiManager, VariableManager, MoveManager, BattleManager, ComponentManager {
|
|
703
788
|
_socket: any;
|
|
704
789
|
vision: any;
|
|
705
790
|
attachShape: any;
|
|
706
791
|
}
|
|
707
|
-
export declare enum EventMode {
|
|
708
|
-
Shared = "shared",
|
|
709
|
-
Scenario = "scenario"
|
|
710
|
-
}
|
|
711
792
|
export interface RpgClassEvent<T> {
|
|
712
793
|
_name: string;
|
|
713
794
|
new (): T;
|
|
@@ -715,5 +796,20 @@ export interface RpgClassEvent<T> {
|
|
|
715
796
|
export declare class RpgEvent extends RpgPlayer {
|
|
716
797
|
readonly type: string;
|
|
717
798
|
properties: any;
|
|
799
|
+
mode: EventMode;
|
|
800
|
+
playerRelated: RpgPlayer | null;
|
|
801
|
+
constructor(gameEngine: RpgCommonGame, playerId: string);
|
|
718
802
|
execMethod(methodName: string, methodData?: never[]): Promise<any>;
|
|
803
|
+
changeRoomState(path: string): void;
|
|
804
|
+
/**
|
|
805
|
+
* Deletes the event from the map (in shared or scenario mode)
|
|
806
|
+
*
|
|
807
|
+
* @title Remove
|
|
808
|
+
* @since 4.0.0
|
|
809
|
+
* @method event.remove()
|
|
810
|
+
* @returns {boolean} true if the event has been removed. If false, the event is not on the map
|
|
811
|
+
* @memberof RpgEvent
|
|
812
|
+
*/
|
|
813
|
+
remove(): boolean;
|
|
814
|
+
emitToMap(key: string, value: any): void;
|
|
719
815
|
}
|