@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.
- package/LICENSE +19 -0
- package/lib/Game/Map.d.ts +58 -5
- package/lib/Game/Map.js +185 -80
- package/lib/Game/Map.js.map +1 -1
- package/lib/Game/WorldMaps.d.ts +3 -2
- package/lib/Game/WorldMaps.js +6 -11
- package/lib/Game/WorldMaps.js.map +1 -1
- package/lib/Gui/DialogGui.d.ts +1 -1
- package/lib/Gui/DialogGui.js +12 -13
- package/lib/Gui/DialogGui.js.map +1 -1
- package/lib/Gui/Gui.js +2 -6
- package/lib/Gui/Gui.js.map +1 -1
- package/lib/Gui/MenuGui.js +4 -8
- package/lib/Gui/MenuGui.js.map +1 -1
- package/lib/Gui/NotificationGui.js +4 -8
- package/lib/Gui/NotificationGui.js.map +1 -1
- package/lib/Gui/ShopGui.js +4 -8
- package/lib/Gui/ShopGui.js.map +1 -1
- package/lib/Gui/index.js +6 -13
- package/lib/Gui/index.js.map +1 -1
- package/lib/Interfaces/Gui.js +1 -2
- package/lib/Interfaces/StateStore.js +1 -2
- package/lib/MatchMaker.js +28 -46
- package/lib/MatchMaker.js.map +1 -1
- package/lib/Monitor/index.js +3 -5
- package/lib/Monitor/index.js.map +1 -1
- package/lib/Player/BattleManager.js +17 -16
- package/lib/Player/BattleManager.js.map +1 -1
- package/lib/Player/ClassManager.js +6 -10
- package/lib/Player/ClassManager.js.map +1 -1
- package/lib/Player/ComponentManager.d.ts +4 -4
- package/lib/Player/ComponentManager.js +37 -24
- package/lib/Player/ComponentManager.js.map +1 -1
- package/lib/Player/EffectManager.js +8 -12
- package/lib/Player/EffectManager.js.map +1 -1
- package/lib/Player/ElementManager.js +5 -9
- package/lib/Player/ElementManager.js.map +1 -1
- package/lib/Player/GoldManager.js +1 -5
- package/lib/Player/GoldManager.js.map +1 -1
- package/lib/Player/GuiManager.js +17 -15
- package/lib/Player/GuiManager.js.map +1 -1
- package/lib/Player/ItemFixture.js +1 -5
- package/lib/Player/ItemFixture.js.map +1 -1
- package/lib/Player/ItemManager.d.ts +3 -3
- package/lib/Player/ItemManager.js +29 -31
- package/lib/Player/ItemManager.js.map +1 -1
- package/lib/Player/MoveManager.d.ts +7 -6
- package/lib/Player/MoveManager.js +67 -74
- package/lib/Player/MoveManager.js.map +1 -1
- package/lib/Player/ParameterManager.js +10 -14
- package/lib/Player/ParameterManager.js.map +1 -1
- package/lib/Player/Player.d.ts +7 -1
- package/lib/Player/Player.js +193 -191
- package/lib/Player/Player.js.map +1 -1
- package/lib/Player/SkillManager.js +18 -22
- package/lib/Player/SkillManager.js.map +1 -1
- package/lib/Player/StateManager.js +9 -13
- package/lib/Player/StateManager.js.map +1 -1
- package/lib/Player/VariableManager.js +1 -5
- package/lib/Player/VariableManager.js.map +1 -1
- package/lib/Query.d.ts +2 -1
- package/lib/Query.js +19 -15
- package/lib/Query.js.map +1 -1
- package/lib/RpgServer.d.ts +11 -3
- package/lib/RpgServer.js +1 -2
- package/lib/Scenes/Map.d.ts +27 -4
- package/lib/Scenes/Map.js +117 -122
- package/lib/Scenes/Map.js.map +1 -1
- package/lib/decorators/event.js +4 -7
- package/lib/decorators/event.js.map +1 -1
- package/lib/decorators/map.d.ts +1 -1
- package/lib/decorators/map.js +5 -9
- package/lib/decorators/map.js.map +1 -1
- package/lib/entry-point.js +59 -65
- package/lib/entry-point.js.map +1 -1
- package/lib/express/api.d.ts +3 -0
- package/lib/express/api.js +105 -0
- package/lib/express/api.js.map +1 -0
- package/lib/express/errors/NotAuthorized.d.ts +4 -0
- package/lib/express/errors/NotAuthorized.js +7 -0
- package/lib/express/errors/NotAuthorized.js.map +1 -0
- package/lib/express/errors/NotFound.d.ts +4 -0
- package/lib/express/errors/NotFound.js +7 -0
- package/lib/express/errors/NotFound.js.map +1 -0
- package/lib/express/server.js +20 -5
- package/lib/express/server.js.map +1 -1
- package/lib/index.js +15 -68
- package/lib/index.js.map +1 -1
- package/lib/logs/index.js +5 -11
- package/lib/logs/index.js.map +1 -1
- package/lib/logs/item.js +11 -15
- package/lib/logs/item.js.map +1 -1
- package/lib/logs/log.js +1 -5
- package/lib/logs/log.js.map +1 -1
- package/lib/logs/skill.js +6 -10
- package/lib/logs/skill.js.map +1 -1
- package/lib/logs/state.js +5 -9
- package/lib/logs/state.js.map +1 -1
- package/lib/models/Item.js +1 -2
- package/lib/presets/index.js +28 -36
- package/lib/presets/index.js.map +1 -1
- package/lib/server.d.ts +23 -2
- package/lib/server.js +227 -134
- package/lib/server.js.map +1 -1
- package/package.json +24 -16
- package/src/Game/Map.ts +513 -0
- package/src/Game/WorldMaps.ts +45 -0
- package/src/Gui/DialogGui.ts +67 -0
- package/src/Gui/Gui.ts +45 -0
- package/src/Gui/MenuGui.ts +26 -0
- package/src/Gui/NotificationGui.ts +10 -0
- package/src/Gui/ShopGui.ts +43 -0
- package/src/Gui/index.ts +13 -0
- package/src/Interfaces/Gui.ts +4 -0
- package/src/Interfaces/StateStore.ts +5 -0
- package/src/MatchMaker.ts +63 -0
- package/src/Monitor/index.ts +78 -0
- package/src/Player/BattleManager.ts +123 -0
- package/src/Player/ClassManager.ts +72 -0
- package/src/Player/ComponentManager.ts +538 -0
- package/src/Player/EffectManager.ts +94 -0
- package/src/Player/ElementManager.ts +142 -0
- package/src/Player/GoldManager.ts +26 -0
- package/src/Player/GuiManager.ts +308 -0
- package/src/Player/ItemFixture.ts +24 -0
- package/src/Player/ItemManager.ts +474 -0
- package/src/Player/MoveManager.ts +635 -0
- package/src/Player/ParameterManager.ts +468 -0
- package/src/Player/Player.ts +931 -0
- package/src/Player/SkillManager.ts +229 -0
- package/src/Player/StateManager.ts +230 -0
- package/src/Player/VariableManager.ts +55 -0
- package/src/Query.ts +172 -0
- package/src/RpgServer.ts +429 -0
- package/src/Scenes/Map.ts +302 -0
- package/src/decorators/event.ts +57 -0
- package/src/decorators/map.ts +223 -0
- package/src/entry-point.ts +102 -0
- package/src/express/api.ts +118 -0
- package/src/express/errors/NotAuthorized.ts +6 -0
- package/src/express/errors/NotFound.ts +6 -0
- package/src/express/server.ts +93 -0
- package/src/index.ts +28 -0
- package/src/logs/index.ts +11 -0
- package/src/logs/item.ts +31 -0
- package/src/logs/log.ts +3 -0
- package/src/logs/skill.ts +16 -0
- package/src/logs/state.ts +13 -0
- package/src/models/Item.ts +11 -0
- package/src/presets/index.ts +71 -0
- package/src/server.ts +394 -0
- package/tsconfig.json +27 -0
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const ItemFixture_1 = require("./ItemFixture");
|
|
6
|
-
const { arrayUniq, applyMixins } = common_1.Utils;
|
|
7
|
-
class ElementManager extends ItemFixture_1.ItemFixture {
|
|
1
|
+
import { Utils } from '@rpgjs/common';
|
|
2
|
+
import { ItemFixture } from './ItemFixture';
|
|
3
|
+
const { arrayUniq, applyMixins } = Utils;
|
|
4
|
+
export class ElementManager extends ItemFixture {
|
|
8
5
|
/**
|
|
9
6
|
* Recovers the player's elements defense on inventory. This list is generated from the `elementsDefense` property defined on the weapons or armors equipped.
|
|
10
7
|
* If several items have the same element, only the highest rate will be taken into account.
|
|
@@ -119,6 +116,5 @@ class ElementManager extends ItemFixture_1.ItemFixture {
|
|
|
119
116
|
return coefficient;
|
|
120
117
|
}
|
|
121
118
|
}
|
|
122
|
-
|
|
123
|
-
applyMixins(ElementManager, [ItemFixture_1.ItemFixture]);
|
|
119
|
+
applyMixins(ElementManager, [ItemFixture]);
|
|
124
120
|
//# sourceMappingURL=ElementManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementManager.js","sourceRoot":"","sources":["../../src/Player/ElementManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ElementManager.js","sourceRoot":"","sources":["../../src/Player/ElementManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAO,eAAe,CAAA;AAGtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,EACF,SAAS,EACT,WAAW,EACd,GAAG,KAAK,CAAA;AAET,MAAM,OAAO,cAAe,SAAQ,WAAW;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkCI;IACL,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC;IAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4BI;IACL,IAAI,kBAAkB;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAY,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;SAC/E;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACnC,CAAC;IAED,IAAI,kBAAkB,CAAC,GAAG;QACtB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAA;IAClC,CAAC;IAED;;;;;;;;;;SAUK;IACL,IAAI,QAAQ;QACR,IAAI,QAAQ,GAAQ,EAAE,CAAA;QACtB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;aAC7C;SACJ;QACD,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAED,mBAAmB,CAAC,WAAsB;QACtC,MAAM,iBAAiB,GAAQ,WAAW,CAAC,QAAQ,CAAA;QACnD,MAAM,cAAc,GAAQ,IAAI,CAAC,kBAAkB,CAAA;QACnD,IAAI,WAAW,GAAG,CAAC,CAAA;QAEnB,KAAK,IAAI,UAAU,IAAI,iBAAiB,EAAE;YACtC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;YACjF,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;YAC1F,IAAI,CAAC,aAAa;gBAAE,SAAQ;YAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;YAClD,IAAI,CAAC,EAAE,EAAE;gBACL,OAAO,WAAW,CAAA;aACrB;YACD,WAAW,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;SAChF;QACD,OAAO,WAAW,CAAA;IACtB,CAAC;CACJ;AASD,WAAW,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GoldManager = void 0;
|
|
4
|
-
class GoldManager {
|
|
1
|
+
export class GoldManager {
|
|
5
2
|
constructor() {
|
|
6
3
|
this._gold = 0;
|
|
7
4
|
}
|
|
@@ -27,5 +24,4 @@ class GoldManager {
|
|
|
27
24
|
return this._gold;
|
|
28
25
|
}
|
|
29
26
|
}
|
|
30
|
-
exports.GoldManager = GoldManager;
|
|
31
27
|
//# sourceMappingURL=GoldManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoldManager.js","sourceRoot":"","sources":["../../src/Player/GoldManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GoldManager.js","sourceRoot":"","sources":["../../src/Player/GoldManager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAAxB;QACY,UAAK,GAAW,CAAC,CAAA;IAwB7B,CAAC;IAtBI;;;;;;;;;;;QAWI;IACL,IAAI,IAAI,CAAC,GAAW;QAChB,IAAI,GAAG,GAAG,CAAC,EAAE;YACT,GAAG,GAAG,CAAC,CAAA;SACV;QACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;IACpB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CACJ"}
|
package/lib/Player/GuiManager.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const common_1 = require("@rpgjs/common");
|
|
5
|
-
const Gui_1 = require("../Gui");
|
|
6
|
-
class GuiManager {
|
|
1
|
+
import { Utils } from '@rpgjs/common';
|
|
2
|
+
import { Gui, DialogGui, MenuGui, ShopGui, NotificationGui } from '../Gui';
|
|
3
|
+
export class GuiManager {
|
|
7
4
|
/**
|
|
8
5
|
* Show a text. This is a graphical interface already built. Opens the GUI named `rpg-dialog`
|
|
9
6
|
*
|
|
@@ -90,7 +87,7 @@ class GuiManager {
|
|
|
90
87
|
* @memberof GuiManager
|
|
91
88
|
*/
|
|
92
89
|
showText(msg, options = {}) {
|
|
93
|
-
const gui = new
|
|
90
|
+
const gui = new DialogGui(this);
|
|
94
91
|
this._gui[gui.id] = gui;
|
|
95
92
|
return gui.openDialog(msg, options);
|
|
96
93
|
}
|
|
@@ -118,7 +115,10 @@ class GuiManager {
|
|
|
118
115
|
*/
|
|
119
116
|
showChoices(msg, choices, options) {
|
|
120
117
|
return this
|
|
121
|
-
.showText(msg,
|
|
118
|
+
.showText(msg, {
|
|
119
|
+
choices,
|
|
120
|
+
...options
|
|
121
|
+
})
|
|
122
122
|
.then((indexSelected) => {
|
|
123
123
|
if (!choices[indexSelected])
|
|
124
124
|
return null;
|
|
@@ -139,9 +139,12 @@ class GuiManager {
|
|
|
139
139
|
* @memberof GuiManager
|
|
140
140
|
*/
|
|
141
141
|
showNotification(message, options = {}) {
|
|
142
|
-
const gui = new
|
|
142
|
+
const gui = new NotificationGui(this);
|
|
143
143
|
this._gui[gui.id] = gui;
|
|
144
|
-
const data =
|
|
144
|
+
const data = {
|
|
145
|
+
message,
|
|
146
|
+
...options
|
|
147
|
+
};
|
|
145
148
|
return gui.open(data);
|
|
146
149
|
}
|
|
147
150
|
/**
|
|
@@ -153,7 +156,7 @@ class GuiManager {
|
|
|
153
156
|
* @memberof GuiManager
|
|
154
157
|
*/
|
|
155
158
|
callMainMenu() {
|
|
156
|
-
const gui = new
|
|
159
|
+
const gui = new MenuGui(this);
|
|
157
160
|
this._gui[gui.id] = gui;
|
|
158
161
|
return gui.open();
|
|
159
162
|
}
|
|
@@ -166,7 +169,7 @@ class GuiManager {
|
|
|
166
169
|
* @memberof GuiManager
|
|
167
170
|
*/
|
|
168
171
|
callShop(items) {
|
|
169
|
-
const gui = new
|
|
172
|
+
const gui = new ShopGui(this);
|
|
170
173
|
this._gui[gui.id] = gui;
|
|
171
174
|
return gui.open(items);
|
|
172
175
|
}
|
|
@@ -206,7 +209,7 @@ class GuiManager {
|
|
|
206
209
|
* @memberof GuiManager
|
|
207
210
|
*/
|
|
208
211
|
gui(guiId) {
|
|
209
|
-
const gui = new
|
|
212
|
+
const gui = new Gui(guiId, this);
|
|
210
213
|
this._gui[guiId] = gui;
|
|
211
214
|
return gui;
|
|
212
215
|
}
|
|
@@ -227,7 +230,7 @@ class GuiManager {
|
|
|
227
230
|
}
|
|
228
231
|
}
|
|
229
232
|
_attachedGui(players, display) {
|
|
230
|
-
if (!
|
|
233
|
+
if (!Utils.isArray(players)) {
|
|
231
234
|
players = [players];
|
|
232
235
|
}
|
|
233
236
|
this.emit('gui.tooltip', {
|
|
@@ -285,5 +288,4 @@ class GuiManager {
|
|
|
285
288
|
this._attachedGui(_players, false);
|
|
286
289
|
}
|
|
287
290
|
}
|
|
288
|
-
exports.GuiManager = GuiManager;
|
|
289
291
|
//# sourceMappingURL=GuiManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuiManager.js","sourceRoot":"","sources":["../../src/Player/GuiManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GuiManager.js","sourceRoot":"","sources":["../../src/Player/GuiManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ItemFixture = void 0;
|
|
4
|
-
class ItemFixture {
|
|
1
|
+
export class ItemFixture {
|
|
5
2
|
getFeature(name, prop) {
|
|
6
3
|
const array = {};
|
|
7
4
|
for (let item of this.equipments) {
|
|
@@ -19,5 +16,4 @@ class ItemFixture {
|
|
|
19
16
|
return Object.values(array);
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
|
-
exports.ItemFixture = ItemFixture;
|
|
23
19
|
//# sourceMappingURL=ItemFixture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemFixture.js","sourceRoot":"","sources":["../../src/Player/ItemFixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ItemFixture.js","sourceRoot":"","sources":["../../src/Player/ItemFixture.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACV,UAAU,CAAC,IAAI,EAAE,IAAI;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;gBACZ,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;oBACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAChC,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;wBAAE,SAAQ;oBACzC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAAA;iBAC/B;aACJ;SACJ;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;CACJ"}
|
|
@@ -2,12 +2,12 @@ import { ItemModel } from '../models/Item';
|
|
|
2
2
|
import { EffectManager } from './EffectManager';
|
|
3
3
|
import { GoldManager } from './GoldManager';
|
|
4
4
|
import { StateManager } from './StateManager';
|
|
5
|
-
|
|
5
|
+
type ItemClass = {
|
|
6
6
|
new (...args: any[]): any;
|
|
7
7
|
price?: number;
|
|
8
8
|
_type?: string;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
type Inventory = {
|
|
11
11
|
nb: number;
|
|
12
12
|
item: ItemModel;
|
|
13
13
|
};
|
|
@@ -67,7 +67,7 @@ export declare class ItemManager {
|
|
|
67
67
|
* player.addItem(Potion, 5)
|
|
68
68
|
* ```
|
|
69
69
|
*/
|
|
70
|
-
addItem(itemClass: ItemClass, nb?: number): Inventory;
|
|
70
|
+
addItem(itemClass: ItemClass | string, nb?: number): Inventory;
|
|
71
71
|
/**
|
|
72
72
|
* Deletes an item. Decreases the value `nb`. If the number falls to 0, then the item is removed from the inventory. The method then returns `undefined`
|
|
73
73
|
*
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const presets_1 = require("../presets");
|
|
11
|
-
const { isString, isInstanceOf, applyMixins } = common_1.Utils;
|
|
12
|
-
class ItemManager {
|
|
1
|
+
import { Utils } from '@rpgjs/common';
|
|
2
|
+
import { Effect } from '@rpgjs/database';
|
|
3
|
+
import { ItemLog } from '../logs';
|
|
4
|
+
import { EffectManager } from './EffectManager';
|
|
5
|
+
import { GoldManager } from './GoldManager';
|
|
6
|
+
import { StateManager } from './StateManager';
|
|
7
|
+
import { ATK, PDEF, SDEF } from '../presets';
|
|
8
|
+
const { isString, isInstanceOf, applyMixins } = Utils;
|
|
9
|
+
export class ItemManager {
|
|
13
10
|
constructor() {
|
|
14
11
|
this.equipments = [];
|
|
15
12
|
}
|
|
@@ -79,6 +76,8 @@ class ItemManager {
|
|
|
79
76
|
* ```
|
|
80
77
|
*/
|
|
81
78
|
addItem(itemClass, nb = 1) {
|
|
79
|
+
if (isString(itemClass))
|
|
80
|
+
itemClass = this.databaseById(itemClass);
|
|
82
81
|
let itemIndex = this._getItemIndex(itemClass);
|
|
83
82
|
if (itemIndex != -1) {
|
|
84
83
|
this.items[itemIndex].nb += nb;
|
|
@@ -130,7 +129,7 @@ class ItemManager {
|
|
|
130
129
|
removeItem(itemClass, nb = 1) {
|
|
131
130
|
const itemIndex = this._getItemIndex(itemClass);
|
|
132
131
|
if (itemIndex == -1) {
|
|
133
|
-
throw
|
|
132
|
+
throw ItemLog.notInInventory(itemClass);
|
|
134
133
|
}
|
|
135
134
|
const currentNb = this.items[itemIndex].nb;
|
|
136
135
|
const { item } = this.items[itemIndex];
|
|
@@ -188,11 +187,11 @@ class ItemManager {
|
|
|
188
187
|
itemClass = this.databaseById(itemClass);
|
|
189
188
|
const ItemClass = itemClass;
|
|
190
189
|
if (!ItemClass.price) {
|
|
191
|
-
throw
|
|
190
|
+
throw ItemLog.haveNotPrice(itemClass);
|
|
192
191
|
}
|
|
193
192
|
const totalPrice = nb * ItemClass.price;
|
|
194
193
|
if (this.gold < totalPrice) {
|
|
195
|
-
throw
|
|
194
|
+
throw ItemLog.notEnoughGold(itemClass, nb);
|
|
196
195
|
}
|
|
197
196
|
this.gold -= totalPrice;
|
|
198
197
|
return this.addItem(ItemClass, nb);
|
|
@@ -252,14 +251,14 @@ class ItemManager {
|
|
|
252
251
|
const ItemClass = itemClass;
|
|
253
252
|
const inventory = this.getItem(ItemClass);
|
|
254
253
|
if (!inventory) {
|
|
255
|
-
throw
|
|
254
|
+
throw ItemLog.notInInventory(itemClass);
|
|
256
255
|
}
|
|
257
256
|
const { item, nb } = inventory;
|
|
258
257
|
if (nb - nbToSell < 0) {
|
|
259
|
-
throw
|
|
258
|
+
throw ItemLog.tooManyToSell(itemClass, nbToSell, nb);
|
|
260
259
|
}
|
|
261
260
|
if (!ItemClass.price) {
|
|
262
|
-
throw
|
|
261
|
+
throw ItemLog.haveNotPrice(itemClass);
|
|
263
262
|
}
|
|
264
263
|
this.gold += (ItemClass.price / 2) * nbToSell;
|
|
265
264
|
this.removeItem(ItemClass, nbToSell);
|
|
@@ -280,13 +279,13 @@ class ItemManager {
|
|
|
280
279
|
return nb;
|
|
281
280
|
}
|
|
282
281
|
get atk() {
|
|
283
|
-
return this.getParamItem(
|
|
282
|
+
return this.getParamItem(ATK);
|
|
284
283
|
}
|
|
285
284
|
get pdef() {
|
|
286
|
-
return this.getParamItem(
|
|
285
|
+
return this.getParamItem(PDEF);
|
|
287
286
|
}
|
|
288
287
|
get sdef() {
|
|
289
|
-
return this.getParamItem(
|
|
288
|
+
return this.getParamItem(SDEF);
|
|
290
289
|
}
|
|
291
290
|
/**
|
|
292
291
|
* Use an object. Applies effects and states. Removes the object from the inventory then
|
|
@@ -351,21 +350,21 @@ class ItemManager {
|
|
|
351
350
|
*/
|
|
352
351
|
useItem(itemClass) {
|
|
353
352
|
const inventory = this.getItem(itemClass);
|
|
354
|
-
if (this.hasEffect(
|
|
355
|
-
throw
|
|
353
|
+
if (this.hasEffect(Effect.CAN_NOT_ITEM)) {
|
|
354
|
+
throw ItemLog.restriction(itemClass);
|
|
356
355
|
}
|
|
357
356
|
if (!inventory) {
|
|
358
|
-
throw
|
|
357
|
+
throw ItemLog.notInInventory(itemClass);
|
|
359
358
|
}
|
|
360
359
|
const { item } = inventory;
|
|
361
360
|
if (item.consumable === false) {
|
|
362
|
-
throw
|
|
361
|
+
throw ItemLog.notUseItem(itemClass);
|
|
363
362
|
}
|
|
364
363
|
const hitRate = item.hitRate || 1;
|
|
365
364
|
if (Math.random() > hitRate) {
|
|
366
365
|
this.removeItem(itemClass);
|
|
367
366
|
this['execMethod']('onUseFailed', [this], item);
|
|
368
|
-
throw
|
|
367
|
+
throw ItemLog.chanceToUseFailed(itemClass);
|
|
369
368
|
}
|
|
370
369
|
this.applyEffect(item);
|
|
371
370
|
this.applyStates(this, item);
|
|
@@ -425,14 +424,14 @@ class ItemManager {
|
|
|
425
424
|
equip(itemClass, equip = true) {
|
|
426
425
|
const inventory = this.getItem(itemClass);
|
|
427
426
|
if (!inventory) {
|
|
428
|
-
throw
|
|
427
|
+
throw ItemLog.notInInventory(itemClass);
|
|
429
428
|
}
|
|
430
429
|
if (itemClass._type == 'item') {
|
|
431
|
-
throw
|
|
430
|
+
throw ItemLog.invalidToEquiped(itemClass);
|
|
432
431
|
}
|
|
433
432
|
const { item } = inventory;
|
|
434
433
|
if (item.equipped && equip) {
|
|
435
|
-
throw
|
|
434
|
+
throw ItemLog.isAlreadyEquiped(itemClass);
|
|
436
435
|
}
|
|
437
436
|
item.equipped = equip;
|
|
438
437
|
if (!equip) {
|
|
@@ -445,6 +444,5 @@ class ItemManager {
|
|
|
445
444
|
this['execMethod']('onEquip', [this, equip], item);
|
|
446
445
|
}
|
|
447
446
|
}
|
|
448
|
-
|
|
449
|
-
applyMixins(ItemManager, [GoldManager_1.GoldManager, StateManager_1.StateManager, EffectManager_1.EffectManager]);
|
|
447
|
+
applyMixins(ItemManager, [GoldManager, StateManager, EffectManager]);
|
|
450
448
|
//# sourceMappingURL=ItemManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemManager.js","sourceRoot":"","sources":["../../src/Player/ItemManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ItemManager.js","sourceRoot":"","sources":["../../src/Player/ItemManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Direction, RpgShape, Vector2d } from '@rpgjs/common';
|
|
2
2
|
import { Behavior, ClientMode, MoveMode, MoveTo, PositionXY, SocketEvents } from '@rpgjs/types';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
|
4
4
|
import { RpgServerEngine } from '../server';
|
|
5
5
|
import { RpgEvent, RpgPlayer } from './Player';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
type CallbackTileMove = (player: RpgPlayer, map: any) => Direction[];
|
|
7
|
+
type CallbackTurnMove = (player: RpgPlayer, map: any) => string;
|
|
8
|
+
type Routes = (string | Promise<any> | Direction | Direction[] | Function)[];
|
|
9
9
|
export declare enum Frequency {
|
|
10
10
|
Lowest = 600,
|
|
11
11
|
Lower = 400,
|
|
@@ -82,7 +82,7 @@ declare class MoveList {
|
|
|
82
82
|
}
|
|
83
83
|
export declare const Move: MoveList;
|
|
84
84
|
export declare class MoveManager {
|
|
85
|
-
private
|
|
85
|
+
private movingSubscription;
|
|
86
86
|
private _infiniteRoutes;
|
|
87
87
|
private _finishRoute;
|
|
88
88
|
/**
|
|
@@ -318,7 +318,7 @@ export declare class MoveManager {
|
|
|
318
318
|
setMoveMode(mode: MoveMode): void;
|
|
319
319
|
}
|
|
320
320
|
export interface MoveManager {
|
|
321
|
-
moveByDirection: (direction: Direction, deltaTimeInt: number) => boolean
|
|
321
|
+
moveByDirection: (direction: Direction, deltaTimeInt: number) => Promise<boolean>;
|
|
322
322
|
changeDirection: (direction: Direction) => boolean;
|
|
323
323
|
getCurrentMap: any;
|
|
324
324
|
checkCollision: boolean;
|
|
@@ -328,5 +328,6 @@ export interface MoveManager {
|
|
|
328
328
|
id: string;
|
|
329
329
|
server: RpgServerEngine;
|
|
330
330
|
position: Vector2d;
|
|
331
|
+
_destroy$: Subject<void>;
|
|
331
332
|
}
|
|
332
333
|
export {};
|